Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

EMC_SPINDLE_MODULE Class Reference

#include <emcio.hh>

Inheritance diagram for EMC_SPINDLE_MODULE:

Inheritance graph
[legend]
Collaboration diagram for EMC_SPINDLE_MODULE:

Collaboration graph
[legend]

Public Methods

 EMC_SPINDLE_MODULE (void)
 ~EMC_SPINDLE_MODULE (void)
void DECISION_PROCESS (void)
void PRE_PROCESS (void)
void POST_PROCESS (void)
void INIT (EMC_SPINDLE_INIT *)
void HALT (EMC_SPINDLE_HALT *)
void ABORT (EMC_SPINDLE_ABORT *)
void REPORT_ERROR (RCS_CMD_MSG *)
void SPINDLE_FORWARD (EMC_SPINDLE_FORWARD *)
void SPINDLE_REVERSE (EMC_SPINDLE_REVERSE *)
void SPINDLE_ON (EMC_SPINDLE_ON *)
void SPINDLE_STOP (EMC_SPINDLE_STOP *)
void SPINDLE_INCREASE (EMC_SPINDLE_INCREASE *)
void SPINDLE_DECREASE (EMC_SPINDLE_DECREASE *)
void SPINDLE_CONSTANT (EMC_SPINDLE_CONSTANT *)
void SPINDLE_BRAKE_RELEASE (EMC_SPINDLE_BRAKE_RELEASE *)
void SPINDLE_BRAKE_ENGAGE (EMC_SPINDLE_BRAKE_ENGAGE *)
void SPINDLE_ENABLE (EMC_SPINDLE_ENABLE *)
void SPINDLE_DISABLE (EMC_SPINDLE_DISABLE *)

Data Fields

EMC_SPINDLE_STAT spindleStatus

Constructor & Destructor Documentation

EMC_SPINDLE_MODULE::EMC_SPINDLE_MODULE void   
 

Definition at line 138 of file bridgeportspin.cc.

00139 {
00140   setErrorLogChannel(new NML(nmlErrorFormat, "emcError", "spindle", EMC_NMLFILE));
00141 
00142   setCmdChannel(new RCS_CMD_CHANNEL(emcFormat, "spindleCmd", "spindle", EMC_NMLFILE));
00143 
00144   setStatChannel(new RCS_STAT_CHANNEL(emcFormat, "spindleSts", "spindle", EMC_NMLFILE), &spindleStatus);
00145 }

EMC_SPINDLE_MODULE::~EMC_SPINDLE_MODULE void   
 

Definition at line 149 of file bridgeportspin.cc.

00150 {
00151 }


Member Function Documentation

void EMC_SPINDLE_MODULE::ABORT EMC_SPINDLE_ABORT   cmdIn
 

Definition at line 261 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00262 {
00263   if (STATE_MATCH(NEW_COMMAND))
00264     {
00265       // stop spindle, brake it, make constant
00266       spindleStop();
00267       spindleBrake(1);
00268       spindleConstant();
00269 
00270       status = RCS_DONE;
00271       stateNext(S0);
00272     }
00273   else if (STATE_MATCH(S0))
00274     {
00275       // idle
00276     }
00277 }

void EMC_SPINDLE_MODULE::DECISION_PROCESS void   
 

Definition at line 153 of file bridgeportspin.cc.

00154 {
00155   switch (commandInData->type)
00156     {
00157     case EMC_SPINDLE_INIT_TYPE:
00158       INIT((EMC_SPINDLE_INIT *) commandInData);
00159       break;
00160 
00161     case EMC_SPINDLE_HALT_TYPE:
00162       HALT((EMC_SPINDLE_HALT *) commandInData);
00163       break;
00164 
00165     case EMC_SPINDLE_ABORT_TYPE:
00166       ABORT((EMC_SPINDLE_ABORT *) commandInData);
00167       break;
00168 
00169     case EMC_SPINDLE_FORWARD_TYPE:
00170       SPINDLE_FORWARD((EMC_SPINDLE_FORWARD *) commandInData);
00171       break;
00172 
00173     case EMC_SPINDLE_REVERSE_TYPE:
00174       SPINDLE_REVERSE((EMC_SPINDLE_REVERSE *) commandInData);
00175       break;
00176 
00177     case EMC_SPINDLE_STOP_TYPE:
00178       SPINDLE_STOP((EMC_SPINDLE_STOP *) commandInData);
00179       break;
00180 
00181     case EMC_SPINDLE_INCREASE_TYPE:
00182       SPINDLE_INCREASE((EMC_SPINDLE_INCREASE *) commandInData);
00183       break;
00184 
00185     case EMC_SPINDLE_DECREASE_TYPE:
00186       SPINDLE_DECREASE((EMC_SPINDLE_DECREASE *) commandInData);
00187       break;
00188 
00189     case EMC_SPINDLE_CONSTANT_TYPE:
00190       SPINDLE_CONSTANT((EMC_SPINDLE_CONSTANT *) commandInData);
00191       break;
00192 
00193     case EMC_SPINDLE_BRAKE_RELEASE_TYPE:
00194       SPINDLE_BRAKE_RELEASE((EMC_SPINDLE_BRAKE_RELEASE *) commandInData);
00195       break;
00196 
00197     case EMC_SPINDLE_BRAKE_ENGAGE_TYPE:
00198       SPINDLE_BRAKE_ENGAGE((EMC_SPINDLE_BRAKE_ENGAGE *) commandInData);
00199       break;
00200 
00201     default:
00202       REPORT_ERROR(commandInData);
00203       break;
00204     }
00205 }

void EMC_SPINDLE_MODULE::HALT EMC_SPINDLE_HALT   cmdIn
 

Definition at line 243 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00244 {
00245   if (STATE_MATCH(NEW_COMMAND))
00246     {
00247       // stop spindle, brake it, make constant
00248       spindleStop();
00249       spindleBrake(1);
00250       spindleConstant();
00251 
00252       status = RCS_DONE;
00253       stateNext(S0);
00254     }
00255   else if (STATE_MATCH(S0))
00256     {
00257       // idle
00258     }
00259 }

void EMC_SPINDLE_MODULE::INIT EMC_SPINDLE_INIT   cmdIn
 

Definition at line 222 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00223 {
00224   if (STATE_MATCH(NEW_COMMAND))
00225     {
00226       // load params from ini file
00227       iniSpindle(EMC_INIFILE);
00228 
00229       // stop spindle, brake it, make constant
00230       spindleStop();
00231       spindleBrake(1);
00232       spindleConstant();
00233 
00234       status = RCS_DONE;
00235       stateNext(S0);
00236     }
00237   else if (STATE_MATCH(S0))
00238     {
00239       // idle
00240     }
00241 }

void EMC_SPINDLE_MODULE::POST_PROCESS void   
 

Definition at line 211 of file bridgeportspin.cc.

00212 {
00213   // sync status vars with sensors
00214   spindleStatus.speed = 0.0;    // no speed sensor
00215   spindleStatus.direction = isSpindleDirection();
00216   spindleStatus.brake = isSpindleBrake();
00217   spindleStatus.increasing = isSpindleIncrease() ? 1 :
00218     isSpindleDecrease() ? -1 : 0;
00219   spindleStatus.enabled = (spindleStatus.direction != 0);
00220 }

void EMC_SPINDLE_MODULE::PRE_PROCESS void   
 

Definition at line 207 of file bridgeportspin.cc.

00208 {
00209 }

void EMC_SPINDLE_MODULE::REPORT_ERROR RCS_CMD_MSG   cmdIn
 

Definition at line 279 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00280 {
00281   if (STATE_MATCH(NEW_COMMAND))
00282     {
00283       rcs_print_error("EMC_SPINDLE_MODULE: unknown command %d\n",
00284                       cmdIn->type);
00285       status = RCS_ERROR;
00286       stateNext(S0);
00287     }
00288   else if (STATE_MATCH(S0))
00289     {
00290       // idle
00291     }
00292 }

void EMC_SPINDLE_MODULE::SPINDLE_BRAKE_ENGAGE EMC_SPINDLE_BRAKE_ENGAGE   cmdIn
 

Definition at line 399 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00400 {
00401   if (STATE_MATCH(NEW_COMMAND))
00402     {
00403       spindleBrake(1);
00404 
00405       status = RCS_DONE;
00406       stateNext(S0);
00407     }
00408   else if (STATE_MATCH(S0))
00409     {
00410       // idle
00411     }
00412 }

void EMC_SPINDLE_MODULE::SPINDLE_BRAKE_RELEASE EMC_SPINDLE_BRAKE_RELEASE   cmdIn
 

Definition at line 384 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00385 {
00386   if (STATE_MATCH(NEW_COMMAND))
00387     {
00388       spindleBrake(0);
00389 
00390       status = RCS_DONE;
00391       stateNext(S0);
00392     }
00393   else if (STATE_MATCH(S0))
00394     {
00395       // idle
00396     }
00397 }

void EMC_SPINDLE_MODULE::SPINDLE_CONSTANT EMC_SPINDLE_CONSTANT   cmdIn
 

Definition at line 369 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00370 {
00371   if (STATE_MATCH(NEW_COMMAND))
00372     {
00373       spindleConstant();
00374 
00375       status = RCS_DONE;
00376       stateNext(S0);
00377     }
00378   else if (STATE_MATCH(S0))
00379     {
00380       // idle
00381     }
00382 }

void EMC_SPINDLE_MODULE::SPINDLE_DECREASE EMC_SPINDLE_DECREASE   cmdIn
 

Definition at line 354 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00355 {
00356   if (STATE_MATCH(NEW_COMMAND))
00357     {
00358       spindleDecrease();
00359 
00360       status = RCS_DONE;
00361       stateNext(S0);
00362     }
00363   else if (STATE_MATCH(S0))
00364     {
00365       // idle
00366     }
00367 }

void EMC_SPINDLE_MODULE::SPINDLE_DISABLE EMC_SPINDLE_DISABLE  
 

void EMC_SPINDLE_MODULE::SPINDLE_ENABLE EMC_SPINDLE_ENABLE  
 

void EMC_SPINDLE_MODULE::SPINDLE_FORWARD EMC_SPINDLE_FORWARD   cmdIn
 

Definition at line 294 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00295 {
00296   if (STATE_MATCH(NEW_COMMAND))
00297     {
00298       spindleForward();
00299 
00300       status = RCS_DONE;
00301       stateNext(S0);
00302     }
00303   else if (STATE_MATCH(S0))
00304     {
00305       // idle
00306     }
00307 }

void EMC_SPINDLE_MODULE::SPINDLE_INCREASE EMC_SPINDLE_INCREASE   cmdIn
 

Definition at line 339 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00340 {
00341   if (STATE_MATCH(NEW_COMMAND))
00342     {
00343       spindleIncrease();
00344 
00345       status = RCS_DONE;
00346       stateNext(S0);
00347     }
00348   else if (STATE_MATCH(S0))
00349     {
00350       // idle
00351     }
00352 }

void EMC_SPINDLE_MODULE::SPINDLE_ON EMC_SPINDLE_ON  
 

void EMC_SPINDLE_MODULE::SPINDLE_REVERSE EMC_SPINDLE_REVERSE   cmdIn
 

Definition at line 309 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00310 {
00311   if (STATE_MATCH(NEW_COMMAND))
00312     {
00313       spindleReverse();
00314 
00315       status = RCS_DONE;
00316       stateNext(S0);
00317     }
00318   else if (STATE_MATCH(S0))
00319     {
00320       // idle
00321     }
00322 }

void EMC_SPINDLE_MODULE::SPINDLE_STOP EMC_SPINDLE_STOP   cmdIn
 

Definition at line 324 of file bridgeportspin.cc.

Referenced by DECISION_PROCESS().

00325 {
00326   if (STATE_MATCH(NEW_COMMAND))
00327     {
00328       spindleStop();
00329 
00330       status = RCS_DONE;
00331       stateNext(S0);
00332     }
00333   else if (STATE_MATCH(S0))
00334     {
00335       // idle
00336     }
00337 }


Field Documentation

EMC_SPINDLE_STAT EMC_SPINDLE_MODULE::spindleStatus
 

Definition at line 147 of file emcio.hh.


The documentation for this class was generated from the following files:
Generated on Sun Dec 2 15:28:57 2001 for EMC by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001