cmdhfseos: change from SendCommandMix to SendCommandNG

This commit is contained in:
Jakub Kramarz 2025-01-27 20:23:23 +01:00
commit e05c36d4ea
2 changed files with 15 additions and 7 deletions

View file

@ -271,11 +271,13 @@ out:
* @return Status code indicating success or failure of the operation. * @return Status code indicating success or failure of the operation.
*/ */
int sam_seos_get_pacs(PacketCommandNG *c) { int sam_seos_get_pacs(PacketCommandNG *c) {
bool disconnectAfter = c->oldarg[0] & 0x01; const uint8_t flags = c->data.asBytes[0];
bool skipDetect = c->oldarg[1] & 0x01; const bool disconnectAfter = !!(flags & BITMASK(0));
const bool skipDetect = !!(flags & BITMASK(1));
uint8_t *cmd = c->data.asBytes + 1;
uint16_t cmd_len = c->length - 1;
uint8_t *cmd = c->data.asBytes;
uint16_t cmd_len = (uint16_t) c->oldarg[2];
int res = PM3_EFAILED; int res = PM3_EFAILED;

View file

@ -1652,9 +1652,15 @@ static int CmdHfSeosSAM(const char *Cmd) {
bool skipDetect = arg_get_lit(ctx, 3); bool skipDetect = arg_get_lit(ctx, 3);
bool decodeTLV = arg_get_lit(ctx, 4); bool decodeTLV = arg_get_lit(ctx, 4);
uint8_t flags = 0;
if (disconnectAfter) flags |= BITMASK(0);
if (skipDetect) flags |= BITMASK(1);
uint8_t data[PM3_CMD_DATA_SIZE] = {0}; uint8_t data[PM3_CMD_DATA_SIZE] = {0};
int datalen = 0; data[0] = flags;
CLIGetHexBLessWithReturn(ctx, 5, data, &datalen, 0);
int cmdlen = 0;
CLIGetHexBLessWithReturn(ctx, 5, data+1, &cmdlen, 0);
CLIParserFree(ctx); CLIParserFree(ctx);
@ -1663,7 +1669,7 @@ static int CmdHfSeosSAM(const char *Cmd) {
} }
clearCommandBuffer(); clearCommandBuffer();
SendCommandMIX(CMD_HF_SAM_SEOS, disconnectAfter, skipDetect, datalen, data, datalen); SendCommandNG(CMD_HF_SAM_SEOS, data, cmdlen+1);
PacketResponseNG resp; PacketResponseNG resp;
if (WaitForResponseTimeout(CMD_HF_SAM_SEOS, &resp, 4000) == false) { if (WaitForResponseTimeout(CMD_HF_SAM_SEOS, &resp, 4000) == false) {
PrintAndLogEx(WARNING, "SAM timeout"); PrintAndLogEx(WARNING, "SAM timeout");