diff --git a/Aime_Redaer.h b/Aime_Reader.h similarity index 98% rename from Aime_Redaer.h rename to Aime_Reader.h index 4ff2e16..b79a584 100644 --- a/Aime_Redaer.h +++ b/Aime_Reader.h @@ -58,14 +58,12 @@ uint8_t KeyA[6], KeyB[6]; enum { CMD_GET_FW_VERSION = 0x30, CMD_GET_HW_VERSION = 0x32, - // Card read CMD_START_POLLING = 0x40, CMD_STOP_POLLING = 0x41, CMD_CARD_DETECT = 0x42, CMD_CARD_SELECT = 0x43, CMD_CARD_HALT = 0x44, - // MIFARE CMD_MIFARE_KEY_SET_A = 0x50, CMD_MIFARE_AUTHORIZE_A = 0x51, @@ -73,24 +71,20 @@ enum { CMD_MIFARE_WRITE = 0x53, CMD_MIFARE_KEY_SET_B = 0x54, CMD_MIFARE_AUTHORIZE_B = 0x55, - // Boot,update CMD_TO_UPDATER_MODE = 0x60, CMD_SEND_HEX_DATA = 0x61, CMD_TO_NORMAL_MODE = 0x62, CMD_SEND_BINDATA_INIT = 0x63, CMD_SEND_BINDATA_EXEC = 0x64, - // FeliCa CMD_FELICA_PUSH = 0x70, CMD_FELICA_THROUGH = 0x71, - CMD_FELICA_THROUGH_POLL = 0x00, CMD_FELICA_THROUGH_READ = 0x06, CMD_FELICA_THROUGH_WRITE = 0x08, CMD_FELICA_THROUGH_GET_SYSTEM_CODE = 0x0C, CMD_FELICA_THROUGH_NDA_A4 = 0xA4, - // LED board CMD_EXT_BOARD_LED = 0x80, CMD_EXT_BOARD_LED_RGB = 0x81, @@ -142,8 +136,8 @@ typedef union { uint8_t numService; uint8_t serviceCodeList[2]; uint8_t numBlock; - uint8_t blockList[1][2]; // CMD_FELICA_THROUGH_READ - uint8_t blockData[16]; // CMD_FELICA_THROUGH_WRITE + uint8_t blockList[1][2]; // CMD_FELICA_THROUGH_READ + uint8_t blockData[16]; // CMD_FELICA_THROUGH_WRITE }; uint8_t felica_payload[1]; }; @@ -340,7 +334,7 @@ void nfc_mifare_read() { res_init(0x10); if (!nfc.mifareclassic_ReadDataBlock(req.block_no, res.block)) { res_init(); - res.status = ERROR_CARD_DETECT_TIMEOUT; // TODO + res.status = ERROR_CARD_DETECT_TIMEOUT; } } diff --git a/Arduino-Aime-Reader.ino b/Arduino-Aime-Reader.ino index a7bd5ce..9116b79 100644 --- a/Arduino-Aime-Reader.ino +++ b/Arduino-Aime-Reader.ino @@ -1,95 +1,94 @@ -#define high_baudrate - -#include "Aime_Redaer.h" - -void setup() { - FastLED.addLeds(leds, NUM_LEDS); - FastLED.setBrightness(50); - FastLED.showColor(0); - nfc.begin(); - while (!nfc.getFirmwareVersion()) { - FastLED.showColor(0xFF0000); - delay(500); - FastLED.showColor(0); - delay(500); - } - nfc.setPassiveActivationRetries(0x10); - nfc.SAMConfig(); - memset(req.bytes, 0, sizeof(req.bytes)); - memset(res.bytes, 0, sizeof(res.bytes)); - - SerialDevice.begin(baudrate); - FastLED.showColor(BootColor); -} - -void loop() { - switch (packet_read()) { - case 0: - break; - - case CMD_TO_NORMAL_MODE: - sys_to_normal_mode(); - break; - case CMD_GET_FW_VERSION: - sys_get_fw_version(); - break; - case CMD_GET_HW_VERSION: - sys_get_hw_version(); - break; - - // Card read - case CMD_START_POLLING: - nfc_start_polling(); - break; - case CMD_STOP_POLLING: - nfc_stop_polling(); - break; - case CMD_CARD_DETECT: - nfc_card_detect(); - break; - - // MIFARE - case CMD_MIFARE_KEY_SET_A: - memcpy(KeyA, req.key, 6); - res_init(); - break; - - case CMD_MIFARE_KEY_SET_B: - res_init(); - memcpy(KeyB, req.key, 6); - break; - - case CMD_MIFARE_AUTHORIZE_A: - nfc_mifare_authorize_a(); - break; - - case CMD_MIFARE_AUTHORIZE_B: - nfc_mifare_authorize_b(); - break; - - case CMD_MIFARE_READ: - nfc_mifare_read(); - break; - - // FeliCa - case CMD_FELICA_THROUGH: - nfc_felica_through(); - break; - - // LED - case CMD_EXT_BOARD_LED_RGB: - FastLED.showColor(CRGB(req.color_payload[0], req.color_payload[1], req.color_payload[2])); - break; - - case CMD_EXT_BOARD_INFO: - sys_get_led_info(); - break; - - case CMD_EXT_BOARD_LED_RGB_UNKNOWN: - break; - - default: - res_init(); - } - packet_write(); -} +#define high_baudrate +#include "Aime_Reader.h" + +void setup() { + FastLED.addLeds(leds, NUM_LEDS); + FastLED.setBrightness(50); + FastLED.showColor(0); + nfc.begin(); + while (!nfc.getFirmwareVersion()) { + FastLED.showColor(0xFF0000); + delay(500); + FastLED.showColor(0); + delay(500); + } + nfc.setPassiveActivationRetries(0x10); + nfc.SAMConfig(); + memset(req.bytes, 0, sizeof(req.bytes)); + memset(res.bytes, 0, sizeof(res.bytes)); + + SerialDevice.begin(baudrate); + FastLED.showColor(BootColor); +} + +void loop() { + switch (packet_read()) { + case 0: + break; + + case CMD_TO_NORMAL_MODE: + sys_to_normal_mode(); + break; + case CMD_GET_FW_VERSION: + sys_get_fw_version(); + break; + case CMD_GET_HW_VERSION: + sys_get_hw_version(); + break; + + // Card read + case CMD_START_POLLING: + nfc_start_polling(); + break; + case CMD_STOP_POLLING: + nfc_stop_polling(); + break; + case CMD_CARD_DETECT: + nfc_card_detect(); + break; + + // MIFARE + case CMD_MIFARE_KEY_SET_A: + memcpy(KeyA, req.key, 6); + res_init(); + break; + + case CMD_MIFARE_KEY_SET_B: + res_init(); + memcpy(KeyB, req.key, 6); + break; + + case CMD_MIFARE_AUTHORIZE_A: + nfc_mifare_authorize_a(); + break; + + case CMD_MIFARE_AUTHORIZE_B: + nfc_mifare_authorize_b(); + break; + + case CMD_MIFARE_READ: + nfc_mifare_read(); + break; + + // FeliCa + case CMD_FELICA_THROUGH: + nfc_felica_through(); + break; + + // LED + case CMD_EXT_BOARD_LED_RGB: + FastLED.showColor(CRGB(req.color_payload[0], req.color_payload[1], req.color_payload[2])); + break; + + case CMD_EXT_BOARD_INFO: + sys_get_led_info(); + break; + + case CMD_EXT_BOARD_LED_RGB_UNKNOWN: + break; + + default: + res_init(); + } + packet_write(); +}