better smoothing in the envelope command and also allow for other raw demod to accept a larger clock as in param

This commit is contained in:
iceman1001 2023-07-22 17:34:27 +02:00
parent ef03d0bee0
commit eaf8aac217

View file

@ -740,7 +740,7 @@ static int Cmdaskbiphdemod(const char *Cmd) {
}; };
CLIExecWithReturn(ctx, Cmd, argtable, true); CLIExecWithReturn(ctx, Cmd, argtable, true);
uint8_t clk = (uint8_t)arg_get_int_def(ctx, 1, 0) & 0xFF; uint16_t clk = (uint16_t)arg_get_int_def(ctx, 1, 0);
bool invert = arg_get_lit(ctx, 2); bool invert = arg_get_lit(ctx, 2);
int offset = arg_get_int_def(ctx, 3, 0); int offset = arg_get_int_def(ctx, 3, 0);
uint8_t max_err = (uint8_t)arg_get_int_def(ctx, 4, 50) & 0xFF; uint8_t max_err = (uint8_t)arg_get_int_def(ctx, 4, 50) & 0xFF;
@ -1397,7 +1397,7 @@ static int CmdNRZrawDemod(const char *Cmd) {
}; };
CLIExecWithReturn(ctx, Cmd, argtable, true); CLIExecWithReturn(ctx, Cmd, argtable, true);
uint8_t clk = (uint8_t)arg_get_int_def(ctx, 1, 0) & 0xFF; uint16_t clk = (uint16_t)arg_get_int_def(ctx, 1, 0);
bool invert = arg_get_lit(ctx, 2); bool invert = arg_get_lit(ctx, 2);
uint8_t max_err = (uint8_t)arg_get_int_def(ctx, 3, 100) & 0xFF; uint8_t max_err = (uint8_t)arg_get_int_def(ctx, 3, 100) & 0xFF;
CLIParserFree(ctx); CLIParserFree(ctx);
@ -1427,7 +1427,7 @@ int CmdPSK1rawDemod(const char *Cmd) {
}; };
CLIExecWithReturn(ctx, Cmd, argtable, true); CLIExecWithReturn(ctx, Cmd, argtable, true);
uint8_t clk = (uint8_t)arg_get_int_def(ctx, 1, 0) & 0xFF; uint16_t clk = (uint16_t)arg_get_int_def(ctx, 1, 0);
bool invert = arg_get_lit(ctx, 2); bool invert = arg_get_lit(ctx, 2);
uint8_t max_err = (uint8_t)arg_get_int_def(ctx, 3, 100) & 0xFF; uint8_t max_err = (uint8_t)arg_get_int_def(ctx, 3, 100) & 0xFF;
CLIParserFree(ctx); CLIParserFree(ctx);
@ -3370,14 +3370,19 @@ static int envelope_square(const int *in, int *out, size_t len) {
return PM3_EINVARG; return PM3_EINVARG;
} }
for (size_t i = 0; i < len - 5; i++) {
if (in[i] == 0 && in[i + 1] == 0 && in[i + 2] == 0 && in[i + 3] == 0 && in[i + 4] == 0) { size_t i = 0;
i += 4; while ( i < len - 8) {
if (in[i] == 0 && in[i+1] == 0 && in[i+2] == 0 && in[i+3] == 0 &&
in[i+4] == 0 && in[i+5] == 0 && in[i+6] == 0 && in[i+7] == 0) {
i += 8;
continue; continue;
} }
out[i] = 255; out[i] = 255;
i++;
} }
return PM3_SUCCESS; return PM3_SUCCESS;
} }