Compare commits
2 commits
73d80312aa
...
a438cb13d4
Author | SHA1 | Date | |
---|---|---|---|
a438cb13d4 | |||
aaa2b6553c |
2 changed files with 18 additions and 9 deletions
|
@ -30,7 +30,15 @@ struct uidNode {
|
||||||
|
|
||||||
class RFID {
|
class RFID {
|
||||||
public:
|
public:
|
||||||
RFID() : comData{}, sd(SD) {};
|
/***
|
||||||
|
* Use the main SPI port and NFC chip select by default, but allow choosing
|
||||||
|
* an alternate chip select and/or SPI bus if needed to allow multiple
|
||||||
|
* RFID readers in parallel.
|
||||||
|
*/
|
||||||
|
explicit RFID(const uint8_t chipSelect = pin_NFC1_CS, SPIClass &spiBus = SPI) :
|
||||||
|
driverPin(chipSelect), driverSpi(driverPin, spiBus),
|
||||||
|
mfrc(driverSpi), comData{}, sd(SD) {};
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
/***
|
/***
|
||||||
* Check if any new tags are present or have left. Only one event is reported
|
* Check if any new tags are present or have left. Only one event is reported
|
||||||
|
@ -54,9 +62,9 @@ private:
|
||||||
uidNode* activeTags = nullptr;
|
uidNode* activeTags = nullptr;
|
||||||
uidNode* nextFreeTagSlot = activeTagsArray;
|
uidNode* nextFreeTagSlot = activeTagsArray;
|
||||||
|
|
||||||
MFRC522DriverPinSimple driverPin{pin_NFC1_CS};
|
MFRC522DriverPinSimple driverPin;
|
||||||
MFRC522DriverSPI driverSpi{driverPin};
|
MFRC522DriverSPI driverSpi;
|
||||||
MFRC522 mfrc{driverSpi};
|
MFRC522 mfrc;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Array used to read and write blocks to the tags. Blocks are 16 bytes but
|
* Array used to read and write blocks to the tags. Blocks are 16 bytes but
|
||||||
|
|
11
src/main.cpp
11
src/main.cpp
|
@ -68,12 +68,13 @@ __attribute__((noreturn)) int main() {
|
||||||
|
|
||||||
tagEvent = rfid.checkTags();
|
tagEvent = rfid.checkTags();
|
||||||
if (tagEvent) {
|
if (tagEvent) {
|
||||||
tagEvent = 4;
|
|
||||||
Com::sendFigUpdate(tagEvent);
|
Com::sendFigUpdate(tagEvent);
|
||||||
/* Start the audio first because of the possible WAV parsing delay. */
|
/* Currently, we only play effects when placing a new figurine. */
|
||||||
speaker.playNewSound(tagEvent);
|
if (!isIdGone(tagEvent)) {
|
||||||
lcd.startNewAnim(tagEvent);
|
/* Start the audio first as WAV parsing might delay playback. */
|
||||||
|
speaker.playNewSound(tagEvent);
|
||||||
|
lcd.startNewAnim(tagEvent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: Drop delay, WFE+timer interrupt(s) ? */
|
/* TODO: Drop delay, WFE+timer interrupt(s) ? */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue