Jean Mercier
/
jmSwitch
Read up to 8 debounced switches from serial port
Diff: jmSwitch.h
- Revision:
- 0:f3a5f6fe1c03
diff -r 000000000000 -r f3a5f6fe1c03 jmSwitch.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jmSwitch.h Sat Feb 12 16:46:49 2011 +0000 @@ -0,0 +1,77 @@ +/************************************************************************* + * @file jmSwitch.h + * @brief Command Line Interface Module for reading switches + * Up to 8 switches can be defined on any digital mbed Pin. + * Provide debounce and edge detection + * @version 1.0 + * @date Feb 2, 2011 + + Command Line Interface + Format: command name (arg info)min..max values [optional argument] + swRead (Switch id)0..3 Return Message: GPPS0 id pin debounce state + swInit (Switch id)0..7 (Pin number)0..432 (debounce interval)1..255 + Initialize a Limit Switch Process and return Message: GPPS0 id pin debounce state + GPPS0 Return 8 Message: GPPS0 id pin debounce state + + Module Events + On closing of switch, Return Message: GPPS0 id pin debounce state + On Opening of switch, Return Message: GPPS0 id pin debounce state +*/ + +#ifndef jmSwitchDef + #define jmSwitchDef 1 + #include "stdint.h" + #include "LPC17xx.h" + + #define switchQty 8 // max switch qty + + // Module Data Structure + extern struct StructSwitch{ + uint16_t pin; + uint8_t debounce; + uint8_t state; + uint8_t eggTimer; + uint32_t bitValue; + LPC_GPIO_TypeDef *port; + }sSwitch[switchQty]; +#endif + +// Module Prototypes +void SwitchEdgeDetect(void); +void cli_SwitchInit(void); +void cli_SwitchRead(void); +void cli_GPPS0(); +void rGPPS0(unsigned int id); +void SwitchModuleReset(void); + +//-------------------------- CLIG PLUGS -------------------- +// CLIG-INCLUDE +/* +#include "jmSwitch.h" + +*/ + +// CLIG-INIT +/* + SwitchModuleReset(); +*/ + +// CLIG-TIMER +/* + // Module jmSwitch + for(i=0;i<switchQty;i++)if(sSwitch[i].eggTimer>0)sSwitch[i].eggTimer--; +*/ + +// CLIG-CMD +/* +swRead cli_SwitchRead(); +swInit cli_SwitchInit(); +GPPS0 cli_GPPS0(); +*/ + +// CLIG-SM +/* + SwitchEdgeDetect(); +*/ + +//-------------------------- END CLIG PLUGS --------------------