Library for the Robotics RedBee™RFID Reader.
robotics_rfid_reader.h@0:9765e979a653, 2021-11-10 (annotated)
- Committer:
- Sebastien Prouff
- Date:
- Wed Nov 10 16:46:03 2021 +0100
- Revision:
- 0:9765e979a653
initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Sebastien Prouff |
0:9765e979a653 | 1 | #ifndef ROBOTICS_RFID_READER_H |
Sebastien Prouff |
0:9765e979a653 | 2 | #define ROBOTICS_RFID_READER_H |
Sebastien Prouff |
0:9765e979a653 | 3 | |
Sebastien Prouff |
0:9765e979a653 | 4 | |
Sebastien Prouff |
0:9765e979a653 | 5 | /** |
Sebastien Prouff |
0:9765e979a653 | 6 | * @file robotics_rfid_reader.h |
Sebastien Prouff |
0:9765e979a653 | 7 | * @author sepro |
Sebastien Prouff |
0:9765e979a653 | 8 | * @version 1.0 |
Sebastien Prouff |
0:9765e979a653 | 9 | * @class RoboticsRfidReader |
Sebastien Prouff |
0:9765e979a653 | 10 | * @date 31/01/2021 |
Sebastien Prouff |
0:9765e979a653 | 11 | */ |
Sebastien Prouff |
0:9765e979a653 | 12 | |
Sebastien Prouff |
0:9765e979a653 | 13 | #include "mbed.h" |
Sebastien Prouff |
0:9765e979a653 | 14 | |
Sebastien Prouff |
0:9765e979a653 | 15 | /** |
Sebastien Prouff |
0:9765e979a653 | 16 | * Example |
Sebastien Prouff |
0:9765e979a653 | 17 | * @code |
Sebastien Prouff |
0:9765e979a653 | 18 | * #define ID_BADGE "1 7 221 87 161" |
Sebastien Prouff |
0:9765e979a653 | 19 | * RoboticsRfidReader myRfid(D1, D0); |
Sebastien Prouff |
0:9765e979a653 | 20 | * |
Sebastien Prouff |
0:9765e979a653 | 21 | * int main() { |
Sebastien Prouff |
0:9765e979a653 | 22 | * unsigned char buffer[30]; |
Sebastien Prouff |
0:9765e979a653 | 23 | * bool lineRead; |
Sebastien Prouff |
0:9765e979a653 | 24 | * printf("RFID TEST \r\n"); |
Sebastien Prouff |
0:9765e979a653 | 25 | * |
Sebastien Prouff |
0:9765e979a653 | 26 | * while (true) { |
Sebastien Prouff |
0:9765e979a653 | 27 | * lineRead = myRfid.rfidRead(buffer); |
Sebastien Prouff |
0:9765e979a653 | 28 | * if (lineRead) { |
Sebastien Prouff |
0:9765e979a653 | 29 | * printf("buffer : %s", buffer); |
Sebastien Prouff |
0:9765e979a653 | 30 | * printf("\r\n"); |
Sebastien Prouff |
0:9765e979a653 | 31 | * if (strstr((char *)tampon, ID_BADGE))) { |
Sebastien Prouff |
0:9765e979a653 | 32 | * printf(" OK \r\n"); |
Sebastien Prouff |
0:9765e979a653 | 33 | * } else { |
Sebastien Prouff |
0:9765e979a653 | 34 | * printf(" NOK \r\n"); |
Sebastien Prouff |
0:9765e979a653 | 35 | * } |
Sebastien Prouff |
0:9765e979a653 | 36 | * } |
Sebastien Prouff |
0:9765e979a653 | 37 | * } |
Sebastien Prouff |
0:9765e979a653 | 38 | * } |
Sebastien Prouff |
0:9765e979a653 | 39 | * @endcode |
Sebastien Prouff |
0:9765e979a653 | 40 | */ |
Sebastien Prouff |
0:9765e979a653 | 41 | |
Sebastien Prouff |
0:9765e979a653 | 42 | class RoboticsRfidReader { |
Sebastien Prouff |
0:9765e979a653 | 43 | |
Sebastien Prouff |
0:9765e979a653 | 44 | public: |
Sebastien Prouff |
0:9765e979a653 | 45 | /** |
Sebastien Prouff |
0:9765e979a653 | 46 | * @brief RoboticsRfid constructor |
Sebastien Prouff |
0:9765e979a653 | 47 | * @param Tx : Tx pin |
Sebastien Prouff |
0:9765e979a653 | 48 | * @param Rx : Rx Pin |
Sebastien Prouff |
0:9765e979a653 | 49 | */ |
Sebastien Prouff |
0:9765e979a653 | 50 | RoboticsRfidReader(PinName Tx, PinName Rx); |
Sebastien Prouff |
0:9765e979a653 | 51 | |
Sebastien Prouff |
0:9765e979a653 | 52 | /** |
Sebastien Prouff |
0:9765e979a653 | 53 | * @brief Non blockin readin on serial. '\n' for End Of Line |
Sebastien Prouff |
0:9765e979a653 | 54 | * @param tampon : reception buffer |
Sebastien Prouff |
0:9765e979a653 | 55 | * @return true if the read is complete, false otherwise |
Sebastien Prouff |
0:9765e979a653 | 56 | * tampon will contain the string (in a char* ) |
Sebastien Prouff |
0:9765e979a653 | 57 | * |
Sebastien Prouff |
0:9765e979a653 | 58 | */ |
Sebastien Prouff |
0:9765e979a653 | 59 | bool rfidRead(unsigned char *tampon); |
Sebastien Prouff |
0:9765e979a653 | 60 | |
Sebastien Prouff |
0:9765e979a653 | 61 | private: |
Sebastien Prouff |
0:9765e979a653 | 62 | UnbufferedSerial _rfid; |
Sebastien Prouff |
0:9765e979a653 | 63 | unsigned char _c; |
Sebastien Prouff |
0:9765e979a653 | 64 | }; |
Sebastien Prouff |
0:9765e979a653 | 65 | |
Sebastien Prouff |
0:9765e979a653 | 66 | #endif |