30 #include <mraa/gpio.h>
35 #define SIZE_PAYLOAD 18 // maximum payload size of I2C packet
36 #define SIZE_PACKET (SIZE_PAYLOAD + 2) // total I2C packet size, including length uint8_t and checksum
50 uint8_t m_Data[SIZE_PACKET];
52 uint8_t m_TagNumber[7];
61 static const uint8_t MIFARE_ULTRALIGHT = 1;
62 static const uint8_t MIFARE_1K = 2;
63 static const uint8_t MIFARE_4K = 3;
65 static const uint8_t CMD_RESET = 0x80;
66 static const uint8_t CMD_VERSION = 0x81;
67 static const uint8_t CMD_SEEK_TAG = 0x82;
68 static const uint8_t CMD_SELECT_TAG = 0x83;
69 static const uint8_t CMD_AUTHENTICATE = 0x85;
70 static const uint8_t CMD_READ16 = 0x86;
71 static const uint8_t CMD_READ_VALUE = 0x87;
72 static const uint8_t CMD_WRITE16 = 0x89;
73 static const uint8_t CMD_WRITE_VALUE = 0x8a;
74 static const uint8_t CMD_WRITE4 = 0x8b;
75 static const uint8_t CMD_WRITE_KEY = 0x8c;
76 static const uint8_t CMD_INC_VALUE = 0x8d;
77 static const uint8_t CMD_DEC_VALUE = 0x8e;
78 static const uint8_t CMD_ANTENNA_POWER = 0x90;
79 static const uint8_t CMD_READ_PORT = 0x91;
80 static const uint8_t CMD_WRITE_PORT = 0x92;
81 static const uint8_t CMD_HALT_TAG = 0x93;
82 static const uint8_t CMD_SET_BAUD = 0x94;
83 static const uint8_t CMD_SLEEP = 0x96;
91 SM130 (
int bus,
int devAddr,
int rst,
int dready);
132 mraa_gpio_context m_resetPinCtx;
133 mraa_gpio_context m_dataReadyPinCtx;
137 mraa_i2c_context m_i2Ctx;
139 void arrayToHex (
char *s, uint8_t array[], uint8_t len);
140 char toHex (uint8_t b);
142 uint16_t i2cRecievePacket (uint32_t len);
143 mraa_result_t i2cTransmitPacket (uint32_t len);
144 mraa_result_t sendCommand (uint8_t cmd);
std::string name()
Definition: sm130.h:126
const char * getFirmwareVersion()
Definition: sm130.cxx:96
~SM130()
Definition: sm130.cxx:78
uint8_t available()
Definition: sm130.cxx:109
uint8_t getCommand()
Definition: sm130.h:121
SM130(int bus, int devAddr, int rst, int dready)
Definition: sm130.cxx:42
uint8_t getPacketLength()
Definition: sm130.h:116
C++ API for SM130 RFID reader module.
Definition: sm130.h:48