Jean Mercier
/
jmAll
Command all jmCLIG modules from serial port
main.cpp
- Committer:
- jm
- Date:
- 2011-02-12
- Revision:
- 0:9112e09912db
File content as of revision 0:9112e09912db:
/************************************************************************* * @file main.cpp * * @version 1.0 * @date Feb 12, 2011 */ #include "mbed.h" // Basic includes #include "jmInterpreter.h" #include "jmRingBuffer.h" #include "jmCommands.h" #include "jmMessages.h" #include "LPC17xx.h" LPC_GPIO_TypeDef *jmGPIO[5] ={LPC_GPIO0,LPC_GPIO1,LPC_GPIO2,LPC_GPIO3,LPC_GPIO4}; // CLIG-INCLUDE #include "jmLPC17xx_gpio.h" #include "jmMotor.h" #include "jmPulse.h" #include "jmStepper.h" #include "jmStepperAxis.h" #include "jmSwitch.h" // Initializations void Inits(){ InitCommandLineRingBuffer(); InitMessages(); cli_version(); // CLIG-INIT MotorInit(); PulseInit(); StepperInit(); StepperAxisInit(); SwitchModuleReset(); } // EggTimer tickers for modules void eggTimers(){ int i; // CLIG-TIMER // Module jmMotor for(i=0;i<motorQty;i++)if(sMotor[i].eggTimer>0)sMotor[i].eggTimer--; // Module jmPulse for(i=0;i<pulseQty;i++)if(sPulse[i].eggTimer>0)sPulse[i].eggTimer--; // Module jmStepper for(i=0;i<stepperQty;i++)if(sStepper[i].eggTimer>0)sStepper[i].eggTimer--; // Module jmSwitch for(i=0;i<switchQty;i++)if(sSwitch[i].eggTimer>0)sSwitch[i].eggTimer--; } int main() { unsigned char c; Serial pc(USBTX, USBRX); // communication medium pc.baud(115200); // 115200 bauds, 8bits, 1 stop, no control flow Ticker tick; // enable system ticks tick.attach_us(&eggTimers,1000); // enable and select granularity for egg timers Inits(); // initialization while(true){ if( pc.readable()){ // something to read ? c= pc.getc(); // read one char if(Echo) printf("%c",c); // echo it ? switch(c){ // process it case 8 : DelChar(pLine); // remove last one break; case 10 : Insert(c,pLine); // end of line Interpret();// process line break; default : Insert(c,pLine); // insert char in command line buffer } } // if // CLIG-SM MotorSM(); PulseSM(); StepperSM(); StepperAxisSM(); SwitchEdgeDetect(); }// while }// main