diff --git a/CompileTime.h b/CompileTime.h new file mode 100644 index 0000000..7f8d1b2 --- /dev/null +++ b/CompileTime.h @@ -0,0 +1,60 @@ +#define COMPUTE_BUILD_YEAR ( \ + (__DATE__[ 7] - '0') * 1000 + \ + (__DATE__[ 8] - '0') * 100 + \ + (__DATE__[ 9] - '0') * 10 + \ + (__DATE__[10] - '0') \ +) + + +#define COMPUTE_BUILD_DAY ( \ + ((__DATE__[4] >= '0') ? (__DATE__[4] - '0') * 10 : 0) + \ + (__DATE__[5] - '0') \ +) + + +#define BUILD_MONTH_IS_JAN (__DATE__[0] == 'J' && __DATE__[1] == 'a' && __DATE__[2] == 'n') +#define BUILD_MONTH_IS_FEB (__DATE__[0] == 'F') +#define BUILD_MONTH_IS_MAR (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'r') +#define BUILD_MONTH_IS_APR (__DATE__[0] == 'A' && __DATE__[1] == 'p') +#define BUILD_MONTH_IS_MAY (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'y') +#define BUILD_MONTH_IS_JUN (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'n') +#define BUILD_MONTH_IS_JUL (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'l') +#define BUILD_MONTH_IS_AUG (__DATE__[0] == 'A' && __DATE__[1] == 'u') +#define BUILD_MONTH_IS_SEP (__DATE__[0] == 'S') +#define BUILD_MONTH_IS_OCT (__DATE__[0] == 'O') +#define BUILD_MONTH_IS_NOV (__DATE__[0] == 'N') +#define BUILD_MONTH_IS_DEC (__DATE__[0] == 'D') + + +#define COMPUTE_BUILD_MONTH ( \ + (BUILD_MONTH_IS_JAN) ? 1 : \ + (BUILD_MONTH_IS_FEB) ? 2 : \ + (BUILD_MONTH_IS_MAR) ? 3 : \ + (BUILD_MONTH_IS_APR) ? 4 : \ + (BUILD_MONTH_IS_MAY) ? 5 : \ + (BUILD_MONTH_IS_JUN) ? 6 : \ + (BUILD_MONTH_IS_JUL) ? 7 : \ + (BUILD_MONTH_IS_AUG) ? 8 : \ + (BUILD_MONTH_IS_SEP) ? 9 : \ + (BUILD_MONTH_IS_OCT) ? 10 : \ + (BUILD_MONTH_IS_NOV) ? 11 : \ + (BUILD_MONTH_IS_DEC) ? 12 : \ + /* error default */ 99 \ +) + +#define COMPUTE_BUILD_HOUR ((__TIME__[0] - '0') * 10 + __TIME__[1] - '0') +#define COMPUTE_BUILD_MIN ((__TIME__[3] - '0') * 10 + __TIME__[4] - '0') +#define COMPUTE_BUILD_SEC ((__TIME__[6] - '0') * 10 + __TIME__[7] - '0') + + +#define BUILD_DATE_IS_BAD (__DATE__[0] == '?') + +#define BUILD_YEAR ((BUILD_DATE_IS_BAD) ? 99 : COMPUTE_BUILD_YEAR) +#define BUILD_MONTH ((BUILD_DATE_IS_BAD) ? 99 : COMPUTE_BUILD_MONTH) +#define BUILD_DAY ((BUILD_DATE_IS_BAD) ? 99 : COMPUTE_BUILD_DAY) + +#define BUILD_TIME_IS_BAD (__TIME__[0] == '?') + +#define BUILD_HOUR ((BUILD_TIME_IS_BAD) ? 99 : COMPUTE_BUILD_HOUR) +#define BUILD_MIN ((BUILD_TIME_IS_BAD) ? 99 : COMPUTE_BUILD_MIN) +#define BUILD_SEC ((BUILD_TIME_IS_BAD) ? 99 : COMPUTE_BUILD_SEC) diff --git a/Debug.h b/Debug.h index 33ec14e..d781631 100644 --- a/Debug.h +++ b/Debug.h @@ -1,8 +1,6 @@ #ifndef DEBUG_H #define DEBUG_H -#define DEBUG - #include extern "C" { diff --git a/ext/rfid/MFRC522.cpp b/ext/rfid/MFRC522.cpp new file mode 100644 index 0000000..0dcdee6 --- /dev/null +++ b/ext/rfid/MFRC522.cpp @@ -0,0 +1,30 @@ +#include "MFRC522.h" + +void MFRC522::init() { + + + debugMod(NAME, "init"); + + spi::init(); + + //os_delay_us(5000); + + // Reset baud rates + writeReg8(Register::TX_MODE_REG, 0x00); + writeReg8(Register::RX_MODE_REG, 0x00); + // Reset ModWidthReg + writeReg8(Register::MOD_WIDTH_REG, 0x26); + + writeReg8(Register::T_MODE_REG, 0x80); + writeReg8(Register::T_PRESCALER_REG, 0xA9); + writeReg8(Register::T_RELOAD_REG_L, 0xE8); + writeReg8(Register::T_RELOAD_REG_H, 0x03); + writeReg8(Register::TX_AUTO_REG, 0x40); + writeReg8(Register::MODE_REG, 0x3D); // very important. set CRC preset to 0x6363 by setting bit 0 and clearing bit 1 in MODE_REG + + antennaOn(); + + writeReg8(Register::COMMAND_REG, Command::IDLE); + + +} diff --git a/io/IO.h b/io/IO.h index e74352b..b4c2af3 100644 --- a/io/IO.h +++ b/io/IO.h @@ -79,6 +79,10 @@ public: } + + + + }; #endif // IO_H