From d535d5a37894e8708773a44067aef58152c0f226 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Tue, 14 May 2019 08:40:16 +0200 Subject: [PATCH] hf tune: can be interrupted by keyboard --- client/cmdhf.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index bed207991..a7fe79194 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -40,7 +40,7 @@ static int usage_hf_sniff() { static int usage_hf_tune() { PrintAndLogEx(NORMAL, "Usage: hf tune []"); PrintAndLogEx(NORMAL, "Continuously measure HF antenna tuning."); - PrintAndLogEx(NORMAL, "Press button to interrupt."); + PrintAndLogEx(NORMAL, "Press button or keyboard to interrupt."); PrintAndLogEx(NORMAL, "Options:"); PrintAndLogEx(NORMAL, " - number of iterations (default: infinite)"); PrintAndLogEx(NORMAL, ""); @@ -98,7 +98,7 @@ int CmdHFTune(const char *Cmd) { int iter = param_get32ex(Cmd, 0, 0, 10); PacketResponseNG resp; - PrintAndLogEx(SUCCESS, "Measuring HF antenna, click button to exit"); + PrintAndLogEx(SUCCESS, "Measuring HF antenna, click button or press a key to exit"); clearCommandBuffer(); uint8_t mode[] = {1}; SendCommandNG(CMD_MEASURE_ANTENNA_TUNING_HF, mode, sizeof(mode)); @@ -109,6 +109,11 @@ int CmdHFTune(const char *Cmd) { mode[0] = 2; // loop forever (till button pressed) if iter = 0 (default) for (uint8_t i=0; iter == 0 || i< iter; i++) { + if (ukbhit()) { // abort by keyboard press + int gc = getchar(); + (void)gc; + break; + } SendCommandNG(CMD_MEASURE_ANTENNA_TUNING_HF, mode, sizeof(mode)); if (!WaitForResponseTimeout(CMD_MEASURE_ANTENNA_TUNING_HF, &resp, 1000)) { PrintAndLogEx(WARNING, "Timeout while waiting for Proxmark HF measure, aborting");