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
70 uint8_t m_Data[SIZE_PACKET];
72 uint8_t m_TagNumber[7];
81 static const uint8_t MIFARE_ULTRALIGHT = 1;
82 static const uint8_t MIFARE_1K = 2;
83 static const uint8_t MIFARE_4K = 3;
85 static const uint8_t CMD_RESET = 0x80;
86 static const uint8_t CMD_VERSION = 0x81;
87 static const uint8_t CMD_SEEK_TAG = 0x82;
88 static const uint8_t CMD_SELECT_TAG = 0x83;
89 static const uint8_t CMD_AUTHENTICATE = 0x85;
90 static const uint8_t CMD_READ16 = 0x86;
91 static const uint8_t CMD_READ_VALUE = 0x87;
92 static const uint8_t CMD_WRITE16 = 0x89;
93 static const uint8_t CMD_WRITE_VALUE = 0x8a;
94 static const uint8_t CMD_WRITE4 = 0x8b;
95 static const uint8_t CMD_WRITE_KEY = 0x8c;
96 static const uint8_t CMD_INC_VALUE = 0x8d;
97 static const uint8_t CMD_DEC_VALUE = 0x8e;
98 static const uint8_t CMD_ANTENNA_POWER = 0x90;
99 static const uint8_t CMD_READ_PORT = 0x91;
100 static const uint8_t CMD_WRITE_PORT = 0x92;
101 static const uint8_t CMD_HALT_TAG = 0x93;
102 static const uint8_t CMD_SET_BAUD = 0x94;
103 static const uint8_t CMD_SLEEP = 0x96;
111 SM130 (
int bus,
int devAddr,
int rst,
int dready);
152 mraa_gpio_context m_resetPinCtx;
153 mraa_gpio_context m_dataReadyPinCtx;
157 mraa_i2c_context m_i2Ctx;
159 void arrayToHex (
char *s, uint8_t array[], uint8_t len);
160 char toHex (uint8_t b);
162 uint16_t i2cRecievePacket (uint32_t len);
163 mraa_result_t i2cTransmitPacket (uint32_t len);
164 mraa_result_t sendCommand (uint8_t cmd);
std::string name()
Definition: sm130.h:146
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:141
SM130(int bus, int devAddr, int rst, int dready)
Definition: sm130.cxx:42
uint8_t getPacketLength()
Definition: sm130.h:136
API for SM130 RFID reader module.
Definition: sm130.h:68