MCPcopy Create free account
hub / github.com/BruceDevices/firmware / optionsMenu

Method optionsMenu

src/core/menu_items/RFIDMenu.cpp:16–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14#include "modules/rfid/emv_reader.hpp"
15#endif
16void RFIDMenu::optionsMenu() {
17 options = {
18#if !defined(REMOVE_RFID_HW_INTERFACE) // Remove Hardware interface menu due to lack of external GPIO
19 {"Read tag", [=]() { TagOMatic(); } },
20#ifndef LITE_VERSION
21 {"Read EMV", [=]() { EMVReader(); } },
22 {"Read 125kHz", [=]() { RFID125(); } },
23#endif
24 {"Scan tags", [=]() { TagOMatic(TagOMatic::SCAN_MODE); } },
25 {"Load file", [=]() { TagOMatic(TagOMatic::LOAD_MODE); } },
26 {"Erase data", [=]() { TagOMatic(TagOMatic::ERASE_MODE); } },
27 {"Write NDEF", [=]() { TagOMatic(TagOMatic::WRITE_NDEF_MODE); }},
28#endif
29#ifndef LITE_VERSION
30 {"Amiibolink", [=]() { Amiibo(); } },
31#endif
32 {"Chameleon", [=]() { Chameleon(); } },
33#ifndef LITE_VERSION
34 {"PN532 BLE", [=]() { Pn532ble(); } },
35#if !defined(REMOVE_RFID_HW_INTERFACE) // Remove Hardware interface menu due to lack of external GPIO
36 {"PN532 UART", [=]() { PN532KillerTools(); } },
37#endif
38#endif
39 {"Config", [this]() { configMenu(); } },
40 };
41
42#if !defined(REMOVE_RFID_HW_INTERFACE)
43#ifndef LITE_VERSION
44 if (bruceConfigPins.rfidModule == PN532_I2C_MODULE) {
45 // Added SRIX Menu only if PN is set to i2c mode
46 options.insert(options.begin() + 3, {"SRIX Tool", [=]() { PN532_SRIX(); }});
47 }
48#endif
49#endif
50
51 addOptionToMainMenu();
52
53 vTaskDelay(pdMS_TO_TICKS(200));
54
55 String txt = "RFID";
56 if (bruceConfigPins.rfidModule == M5_RFID2_MODULE) txt += " (RFID2)";
57#ifdef M5STICK
58 else if (bruceConfigPins.rfidModule == PN532_I2C_MODULE) txt += " (PN532-G33)";
59 else if (bruceConfigPins.rfidModule == PN532_I2C_SPI_MODULE) txt += " (PN532-G36)";
60#else
61 else if (bruceConfigPins.rfidModule == PN532_I2C_MODULE) txt += " (PN532-I2C)";
62#endif
63 else if (bruceConfigPins.rfidModule == PN532_SPI_MODULE) txt += " (PN532-SPI)";
64 else if (bruceConfigPins.rfidModule == RC522_SPI_MODULE) txt += " (RC522-SPI)";
65 loopOptions(options, MENU_TYPE_SUBMENU, txt.c_str());
66}
67
68void RFIDMenu::configMenu() {
69 options = {

Callers

nothing calls this directly

Calls 11

TagOMaticClass · 0.85
EMVReaderClass · 0.85
RFID125Class · 0.85
AmiiboClass · 0.85
ChameleonClass · 0.85
Pn532bleClass · 0.85
PN532KillerToolsClass · 0.85
PN532_SRIXFunction · 0.85
addOptionToMainMenuFunction · 0.85
loopOptionsFunction · 0.50
beginMethod · 0.45

Tested by

no test coverage detected