Generic driver for the RWD RFID Modules from IB Technology.
RWDModule.h@0:a893227b988a, 2010-07-12 (annotated)
- Committer:
- donatien
- Date:
- Mon Jul 12 09:31:45 2010 +0000
- Revision:
- 0:a893227b988a
- Child:
- 1:e96aaf4d5c55
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:a893227b988a | 1 | |
donatien | 0:a893227b988a | 2 | #ifndef RWD_MODULE_H |
donatien | 0:a893227b988a | 3 | #define RWD_MODULE_H |
donatien | 0:a893227b988a | 4 | |
donatien | 0:a893227b988a | 5 | #include "mbed.h" |
donatien | 0:a893227b988a | 6 | |
donatien | 0:a893227b988a | 7 | typedef unsigned char byte; |
donatien | 0:a893227b988a | 8 | |
donatien | 0:a893227b988a | 9 | class RWDModule |
donatien | 0:a893227b988a | 10 | { |
donatien | 0:a893227b988a | 11 | public: |
donatien | 0:a893227b988a | 12 | RWDModule(PinName tx, PinName rx, PinName cts); |
donatien | 0:a893227b988a | 13 | virtual ~RWDModule(); |
donatien | 0:a893227b988a | 14 | |
donatien | 0:a893227b988a | 15 | |
donatien | 0:a893227b988a | 16 | //protected: |
donatien | 0:a893227b988a | 17 | void command(byte cmd, const byte* params, int paramsLen, byte* resp, int respLen, byte ackOk, byte ackOkMask); //Ack Byte is not included in the resp buf |
donatien | 0:a893227b988a | 18 | |
donatien | 0:a893227b988a | 19 | bool ready(); //Rady for a command / response is available |
donatien | 0:a893227b988a | 20 | |
donatien | 0:a893227b988a | 21 | bool result(byte* pAck = NULL); |
donatien | 0:a893227b988a | 22 | |
donatien | 0:a893227b988a | 23 | private: |
donatien | 0:a893227b988a | 24 | void intClearToSend(); |
donatien | 0:a893227b988a | 25 | void intTx(); |
donatien | 0:a893227b988a | 26 | void intRx(); |
donatien | 0:a893227b988a | 27 | |
donatien | 0:a893227b988a | 28 | Serial m_serial; |
donatien | 0:a893227b988a | 29 | InterruptIn m_cts; |
donatien | 0:a893227b988a | 30 | |
donatien | 0:a893227b988a | 31 | // byte m_buf[64]; |
donatien | 0:a893227b988a | 32 | byte m_cmd; |
donatien | 0:a893227b988a | 33 | byte* m_paramsBuf; |
donatien | 0:a893227b988a | 34 | byte* m_respBuf; |
donatien | 0:a893227b988a | 35 | int m_pos; |
donatien | 0:a893227b988a | 36 | int m_paramsLen; |
donatien | 0:a893227b988a | 37 | int m_respLen; |
donatien | 0:a893227b988a | 38 | |
donatien | 0:a893227b988a | 39 | byte m_ackOk; |
donatien | 0:a893227b988a | 40 | byte m_ackOkMask; |
donatien | 0:a893227b988a | 41 | |
donatien | 0:a893227b988a | 42 | byte m_ack; |
donatien | 0:a893227b988a | 43 | |
donatien | 0:a893227b988a | 44 | enum |
donatien | 0:a893227b988a | 45 | { |
donatien | 0:a893227b988a | 46 | READY, |
donatien | 0:a893227b988a | 47 | CMD_QUEUED, |
donatien | 0:a893227b988a | 48 | SENDING_CMD, |
donatien | 0:a893227b988a | 49 | WAITING_FOR_ACK, |
donatien | 0:a893227b988a | 50 | RECEIVING_ACK |
donatien | 0:a893227b988a | 51 | } m_state; |
donatien | 0:a893227b988a | 52 | |
donatien | 0:a893227b988a | 53 | }; |
donatien | 0:a893227b988a | 54 | |
donatien | 0:a893227b988a | 55 | #endif |