mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-03-16 18:13:13 +08:00
lf tune: allow float, added parse_getfloat to utils
This commit is contained in:
parent
eb7268cd98
commit
390d0ab525
3 changed files with 12 additions and 3 deletions
|
@ -231,12 +231,12 @@ int CmdLFTune(const char *Cmd) {
|
|||
}
|
||||
break;
|
||||
case 'f': {
|
||||
int freq = param_get32ex(Cmd, cmdp + 1, 125, 10);
|
||||
divisor = LF_FREQ2DIV(freq);
|
||||
if (divisor < 19) {
|
||||
float freq = param_getfloat(Cmd, cmdp + 1, 125);
|
||||
if ((freq < 47) || (freq > 600)) {
|
||||
PrintAndLogEx(ERR, "freq must be between 47 and 600");
|
||||
return PM3_EINVARG;
|
||||
}
|
||||
divisor = LF_FREQ2DIV(freq);
|
||||
cmdp += 2;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -551,6 +551,14 @@ uint64_t param_get64ex(const char *line, int paramnum, int deflt, int base) {
|
|||
return deflt;
|
||||
}
|
||||
|
||||
float param_getfloat(const char *line, int paramnum, float deflt) {
|
||||
int bg, en;
|
||||
if (!param_getptr(line, &bg, &en, paramnum))
|
||||
return strtof(&line[bg], NULL);
|
||||
else
|
||||
return deflt;
|
||||
}
|
||||
|
||||
int param_gethex(const char *line, int paramnum, uint8_t *data, int hexcnt) {
|
||||
int bg, en, i;
|
||||
uint32_t temp;
|
||||
|
|
|
@ -68,6 +68,7 @@ uint8_t param_get8(const char *line, int paramnum);
|
|||
uint8_t param_get8ex(const char *line, int paramnum, int deflt, int base);
|
||||
uint32_t param_get32ex(const char *line, int paramnum, int deflt, int base);
|
||||
uint64_t param_get64ex(const char *line, int paramnum, int deflt, int base);
|
||||
float param_getfloat(const char *line, int paramnum, float deflt);
|
||||
uint8_t param_getdec(const char *line, int paramnum, uint8_t *destination);
|
||||
uint8_t param_isdec(const char *line, int paramnum);
|
||||
int param_gethex(const char *line, int paramnum, uint8_t *data, int hexcnt);
|
||||
|
|
Loading…
Reference in a new issue