additional Q5 lf t55xx fixes

This commit is contained in:
marshmellow42 2015-12-14 17:36:08 -05:00
parent 6ca1477c74
commit af5384bc90

View file

@ -183,7 +183,6 @@ int CmdT55xxSetConfig(const char *Cmd) {
uint8_t bitRate = 0; uint8_t bitRate = 0;
uint8_t rates[9] = {8,16,32,40,50,64,100,128,0}; uint8_t rates[9] = {8,16,32,40,50,64,100,128,0};
uint8_t cmdp = 0; uint8_t cmdp = 0;
config.Q5 = FALSE;
bool errors = FALSE; bool errors = FALSE;
while(param_getchar(Cmd, cmdp) != 0x00 && !errors) while(param_getchar(Cmd, cmdp) != 0x00 && !errors)
{ {
@ -672,6 +671,15 @@ bool testQ5Modulation(uint8_t mode, uint8_t modread){
return FALSE; return FALSE;
} }
int convertQ5bitRate(uint8_t bitRateRead) {
uint8_t expected[] = {8, 16, 32, 40, 50, 64, 100, 128};
for (int i=0; i<8; i++)
if (expected[i] == bitRateRead)
return i;
return -1;
}
bool testQ5(uint8_t mode, uint8_t *offset, int *fndBitRate, uint8_t clk){ bool testQ5(uint8_t mode, uint8_t *offset, int *fndBitRate, uint8_t clk){
if ( DemodBufferLen < 64 ) return FALSE; if ( DemodBufferLen < 64 ) return FALSE;
@ -703,7 +711,8 @@ bool testQ5(uint8_t mode, uint8_t *offset, int *fndBitRate, uint8_t clk){
//test modulation //test modulation
if (!testQ5Modulation(mode, modread)) continue; if (!testQ5Modulation(mode, modread)) continue;
if (bitRate != clk) continue; if (bitRate != clk) continue;
*fndBitRate = bitRate; *fndBitRate = convertQ5bitRate(bitRate);
if (*fndBitRate < 0) continue;
*offset = idx; *offset = idx;
return TRUE; return TRUE;
@ -1109,44 +1118,25 @@ int AquireData( uint8_t page, uint8_t block, bool pwdmode, uint32_t password ){
return 1; return 1;
} }
char * GetBitRateStr(uint32_t id){ char * GetBitRateStr(uint32_t id) {
static char buf[25]; static char buf[25];
char *retStr = buf; char *retStr = buf;
switch (id){ switch (id) {
case 0: case 0: snprintf(retStr,sizeof(buf),"%d - RF/8",id); break;
snprintf(retStr,sizeof(buf),"%d - RF/8",id); case 1: snprintf(retStr,sizeof(buf),"%d - RF/16",id); break;
break; case 2: snprintf(retStr,sizeof(buf),"%d - RF/32",id); break;
case 1: case 3: snprintf(retStr,sizeof(buf),"%d - RF/40",id); break;
snprintf(retStr,sizeof(buf),"%d - RF/16",id); case 4: snprintf(retStr,sizeof(buf),"%d - RF/50",id); break;
break; case 5: snprintf(retStr,sizeof(buf),"%d - RF/64",id); break;
case 2: case 6: snprintf(retStr,sizeof(buf),"%d - RF/100",id); break;
snprintf(retStr,sizeof(buf),"%d - RF/32",id); case 7: snprintf(retStr,sizeof(buf),"%d - RF/128",id); break;
break; default: snprintf(retStr,sizeof(buf),"%d - (Unknown)",id); break;
case 3: }
snprintf(retStr,sizeof(buf),"%d - RF/40",id);
break;
case 4:
snprintf(retStr,sizeof(buf),"%d - RF/50",id);
break;
case 5:
snprintf(retStr,sizeof(buf),"%d - RF/64",id);
break;
case 6:
snprintf(retStr,sizeof(buf),"%d - RF/100",id);
break;
case 7:
snprintf(retStr,sizeof(buf),"%d - RF/128",id);
break;
default:
snprintf(retStr,sizeof(buf),"%d - (Unknown)",id);
break;
}
return buf; return buf;
} }
char * GetSaferStr(uint32_t id){ char * GetSaferStr(uint32_t id) {
static char buf[40]; static char buf[40];
char *retStr = buf; char *retStr = buf;