Jean Mercier
/
jmBridge
2 bit Bridge Driver
jmBridge.h@0:bfa30f27fe9d, 2011-02-19 (annotated)
- Committer:
- jm
- Date:
- Sat Feb 19 01:30:54 2011 +0000
- Revision:
- 0:bfa30f27fe9d
jmBridge Module
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jm | 0:bfa30f27fe9d | 1 | /************************************************************************* |
jm | 0:bfa30f27fe9d | 2 | * @file jmBridge.h |
jm | 0:bfa30f27fe9d | 3 | * @brief Bridge control on mbed DIP5 to 30. |
jm | 0:bfa30f27fe9d | 4 | * Up to 4Bridges can be controlled at the same time. |
jm | 0:bfa30f27fe9d | 5 | * |
jm | 0:bfa30f27fe9d | 6 | * @version 1.0 |
jm | 0:bfa30f27fe9d | 7 | * @date Feb 18, 2011 |
jm | 0:bfa30f27fe9d | 8 | */ |
jm | 0:bfa30f27fe9d | 9 | |
jm | 0:bfa30f27fe9d | 10 | /* |
jm | 0:bfa30f27fe9d | 11 | * Module Command Line Interface |
jm | 0:bfa30f27fe9d | 12 | Format: command name (arg info)min..max values [optional argument] |
jm | 0:bfa30f27fe9d | 13 | |
jm | 0:bfa30f27fe9d | 14 | bridge (Bridge ID)0..3 (PinA)0..432 (PinB)0..432 (Direction)0..1 (tOn)0..255 (tOff)0..255 (Cycles)[1..65535] |
jm | 0:bfa30f27fe9d | 15 | |
jm | 0:bfa30f27fe9d | 16 | * Module Events |
jm | 0:bfa30f27fe9d | 17 | On terminating cycles, send Message: GPPBR id PinA PinB tOn tOff status |
jm | 0:bfa30f27fe9d | 18 | |
jm | 0:bfa30f27fe9d | 19 | * Module Feedback and Help messages may be enabled/disabled by Command Lines. |
jm | 0:bfa30f27fe9d | 20 | feedback (enable/disable)0..1 |
jm | 0:bfa30f27fe9d | 21 | help (enable/disable)0..1 |
jm | 0:bfa30f27fe9d | 22 | */ |
jm | 0:bfa30f27fe9d | 23 | |
jm | 0:bfa30f27fe9d | 24 | #ifndef Bridgedef |
jm | 0:bfa30f27fe9d | 25 | #define Bridgedef 1 |
jm | 0:bfa30f27fe9d | 26 | |
jm | 0:bfa30f27fe9d | 27 | #define bridgeQty 4 // max number of Bridge |
jm | 0:bfa30f27fe9d | 28 | |
jm | 0:bfa30f27fe9d | 29 | #include "LPC17xx.h" |
jm | 0:bfa30f27fe9d | 30 | |
jm | 0:bfa30f27fe9d | 31 | // Module Data Structure |
jm | 0:bfa30f27fe9d | 32 | extern struct StructBridge{ |
jm | 0:bfa30f27fe9d | 33 | uint8_t active; |
jm | 0:bfa30f27fe9d | 34 | uint8_t direction; |
jm | 0:bfa30f27fe9d | 35 | uint8_t tOff; |
jm | 0:bfa30f27fe9d | 36 | uint8_t tOn; |
jm | 0:bfa30f27fe9d | 37 | uint8_t state; |
jm | 0:bfa30f27fe9d | 38 | uint16_t pinA; |
jm | 0:bfa30f27fe9d | 39 | uint16_t pinB; |
jm | 0:bfa30f27fe9d | 40 | uint16_t eggTimer; |
jm | 0:bfa30f27fe9d | 41 | uint16_t cycles; |
jm | 0:bfa30f27fe9d | 42 | uint32_t dirBitValue; |
jm | 0:bfa30f27fe9d | 43 | LPC_GPIO_TypeDef * dirPort; |
jm | 0:bfa30f27fe9d | 44 | uint32_t driveBitValue; |
jm | 0:bfa30f27fe9d | 45 | LPC_GPIO_TypeDef * drivePort; |
jm | 0:bfa30f27fe9d | 46 | }sBridge[bridgeQty]; |
jm | 0:bfa30f27fe9d | 47 | |
jm | 0:bfa30f27fe9d | 48 | #endif |
jm | 0:bfa30f27fe9d | 49 | |
jm | 0:bfa30f27fe9d | 50 | // Module Prototypes |
jm | 0:bfa30f27fe9d | 51 | void cli_Bridge(void); |
jm | 0:bfa30f27fe9d | 52 | void BridgeInit(void); |
jm | 0:bfa30f27fe9d | 53 | void BridgeSM(void); |
jm | 0:bfa30f27fe9d | 54 | void cli_BridgeDC(void); |
jm | 0:bfa30f27fe9d | 55 | void cli_GPPBD(void); |
jm | 0:bfa30f27fe9d | 56 | void rGPPBD(unsigned int id); |
jm | 0:bfa30f27fe9d | 57 | |
jm | 0:bfa30f27fe9d | 58 | //-------------------------- CLIG PLUGS -------------------- |
jm | 0:bfa30f27fe9d | 59 | // CLIG-INCLUDE |
jm | 0:bfa30f27fe9d | 60 | /* |
jm | 0:bfa30f27fe9d | 61 | #include "jmBridge.h" |
jm | 0:bfa30f27fe9d | 62 | */ |
jm | 0:bfa30f27fe9d | 63 | |
jm | 0:bfa30f27fe9d | 64 | // CLIG-CMD |
jm | 0:bfa30f27fe9d | 65 | /* |
jm | 0:bfa30f27fe9d | 66 | bridge cli_Bridge(); |
jm | 0:bfa30f27fe9d | 67 | GPPBD cli_GPPBD(); |
jm | 0:bfa30f27fe9d | 68 | bridgeDC cli_BridgeDC(); |
jm | 0:bfa30f27fe9d | 69 | */ |
jm | 0:bfa30f27fe9d | 70 | |
jm | 0:bfa30f27fe9d | 71 | // CLIG-INIT |
jm | 0:bfa30f27fe9d | 72 | /* |
jm | 0:bfa30f27fe9d | 73 | BridgeInit(); |
jm | 0:bfa30f27fe9d | 74 | */ |
jm | 0:bfa30f27fe9d | 75 | |
jm | 0:bfa30f27fe9d | 76 | // CLIG-TIMER |
jm | 0:bfa30f27fe9d | 77 | /* |
jm | 0:bfa30f27fe9d | 78 | // Module jmBridge |
jm | 0:bfa30f27fe9d | 79 | for(i=0;i<bridgeQty;i++)if(sBridge[i].eggTimer>0)sBridge[i].eggTimer--; |
jm | 0:bfa30f27fe9d | 80 | */ |
jm | 0:bfa30f27fe9d | 81 | |
jm | 0:bfa30f27fe9d | 82 | // CLIG-SM |
jm | 0:bfa30f27fe9d | 83 | /* |
jm | 0:bfa30f27fe9d | 84 | BridgeSM(); |
jm | 0:bfa30f27fe9d | 85 | */ |
jm | 0:bfa30f27fe9d | 86 |