X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/472345daee388f8d6786ead2f04b4ae0ff0462d4..refs/pull/938/head:/client/cmdhw.c diff --git a/client/cmdhw.c b/client/cmdhw.c index f994e938..b7fa874d 100644 --- a/client/cmdhw.c +++ b/client/cmdhw.c @@ -20,7 +20,8 @@ #include "cmdmain.h" #include "cmddata.h" -/* low-level hardware control */ + +static uint32_t hw_capabilities = 0; static int CmdHelp(const char *Cmd); @@ -334,10 +335,10 @@ int CmdFPGAOff(const char *Cmd) int CmdLCD(const char *Cmd) { - int i, j; + unsigned int i, j; UsbCommand c={CMD_LCD}; - sscanf(Cmd, "%x %d", &i, &j); + sscanf(Cmd, "%x %u", &i, &j); while (j--) { c.arg[0] = i & 0x1ff; SendCommand(&c); @@ -403,6 +404,10 @@ int CmdTune(const char *Cmd) return CmdTuneSamples(Cmd); } +bool PM3hasSmartcardSlot(void) { + return (hw_capabilities & HAS_SMARTCARD_SLOT); +} + int CmdVersion(const char *Cmd) { @@ -411,10 +416,11 @@ int CmdVersion(const char *Cmd) UsbCommand resp = {0, {0, 0, 0}}; SendCommand(&c); - if (WaitForResponseTimeout(CMD_ACK,&resp,1000)) { + if (WaitForResponseTimeout(CMD_ACK, &resp, 1000)) { PrintAndLog("Prox/RFID mark3 RFID instrument"); PrintAndLog((char*)resp.d.asBytes); lookupChipID(resp.arg[0], resp.arg[1]); + hw_capabilities = resp.arg[2]; } return 0; }