Generic driver for the RWD RFID Modules from IB Technology.

Dependents:   RSEDP_DPDemo

Committer:
donatien
Date:
Mon Jul 12 09:31:45 2010 +0000
Revision:
0:a893227b988a
Child:
1:e96aaf4d5c55

        

Who changed what in which revision?

UserRevisionLine numberNew 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