pm3 report compiled capabilities

This commit is contained in:
Philippe Teuwen 2019-05-01 17:19:37 +02:00
commit bc6d9f4074
2 changed files with 103 additions and 0 deletions

View file

@ -436,6 +436,84 @@ void SendCapabilities(void) {
capabilities.baudrate = USART_BAUD_RATE;
else
capabilities.baudrate = 0; // no real baudrate for USB-CDC
#ifdef WITH_FLASH
capabilities.compiled_with_flash = true;
#else
capabilities.compiled_with_flash = false;
#endif
#ifdef WITH_SMARTCARD
capabilities.compiled_with_smartcard = true;
#else
capabilities.compiled_with_smartcard = false;
#endif
#ifdef WITH_FPC
capabilities.compiled_with_fpc = true;
#else
capabilities.compiled_with_fpc = false;
#endif
#ifdef WITH_FPC_HOST
capabilities.compiled_with_fpc_host = true;
#else
capabilities.compiled_with_fpc_host = false;
#endif
#ifdef WITH_LF
capabilities.compiled_with_lf = true;
#else
capabilities.compiled_with_lf = false;
#endif
#ifdef WITH_HITAG
capabilities.compiled_with_hitag = true;
#else
capabilities.compiled_with_hitag = false;
#endif
#ifdef WITH_HFSNIFF
capabilities.compiled_with_hfsniff = true;
#else
capabilities.compiled_with_hfsniff = false;
#endif
#ifdef WITH_ISO14443a
capabilities.compiled_with_iso14443a = true;
#else
capabilities.compiled_with_iso14443a = false;
#endif
#ifdef WITH_ISO14443b
capabilities.compiled_with_iso14443b = true;
#else
capabilities.compiled_with_iso14443b = false;
#endif
#ifdef WITH_ISO15693
capabilities.compiled_with_iso15693 = true;
#else
capabilities.compiled_with_iso15693 = false;
#endif
#ifdef WITH_FELICA
capabilities.compiled_with_felica = true;
#else
capabilities.compiled_with_felica = false;
#endif
#ifdef WITH_LEGICRF
capabilities.compiled_with_legicrf = true;
#else
capabilities.compiled_with_legicrf = false;
#endif
#ifdef WITH_ICLASS
capabilities.compiled_with_iclass = true;
#else
capabilities.compiled_with_iclass = false;
#endif
#ifdef WITH_LCD
capabilities.compiled_with_lcd = true;
#else
capabilities.compiled_with_lcd = false;
#endif
// TODO
// capabilities.hw_available_flash
// capabilities.hw_available_smartcard
// capabilities.hw_available_fpc_host
reply_ng(CMD_CAPABILITIES, PM3_SUCCESS, (uint8_t *)&capabilities, sizeof(capabilities));
}

View file

@ -141,6 +141,31 @@ typedef struct {
typedef struct {
uint32_t baudrate;
bool via_fpc;
// rdv4
bool compiled_with_flash;
bool compiled_with_smartcard;
bool compiled_with_fpc;
bool compiled_with_fpc_host;
// lf
bool compiled_with_lf;
bool compiled_with_hitag;
// hf
bool compiled_with_hfsniff;
bool compiled_with_iso14443a;
bool compiled_with_iso14443b;
bool compiled_with_iso15693;
bool compiled_with_felica;
bool compiled_with_legicrf;
bool compiled_with_iclass;
// misc
bool compiled_with_lcd;
// Following are not yet implemented:
// rdv4
bool hw_available_flash;
bool hw_available_smartcard;
// rdv4 bt addon
bool hw_available_fpc_host;
} PACKED capabilities_t;
extern capabilities_t pm3_capabilities;