From fe9e1dc7336ef3a50352467700f70482e05c0d0f Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Sun, 2 Jun 2019 11:47:10 +0200 Subject: [PATCH] remap LEDs --- armsrc/Standalone/hf_young.c | 14 +++++++------- armsrc/Standalone/lf_hidbrute.c | 8 ++++---- armsrc/Standalone/lf_proxbrute.c | 10 +++++----- armsrc/Standalone/lf_samyrun.c | 6 +++--- armsrc/util.c | 21 ++++++++++----------- armsrc/util.h | 16 ++++++++++++---- 6 files changed, 41 insertions(+), 34 deletions(-) diff --git a/armsrc/Standalone/hf_young.c b/armsrc/Standalone/hf_young.c index fc72df2ac..e2afec266 100644 --- a/armsrc/Standalone/hf_young.c +++ b/armsrc/Standalone/hf_young.c @@ -47,7 +47,7 @@ void RunMod() { iGotoRecord = 0; LEDsoff(); LED(selected + 1, 0); - LED(LED_RED2, 0); + LED(LED_D, 0); // record Dbprintf("Enabling iso14443a reader mode for [Bank: %d]...", selected); @@ -99,10 +99,10 @@ void RunMod() { Dbprintf("ATQA = %02X%02X", uids[selected].atqa[0], uids[selected].atqa[1]); Dbprintf("SAK = %02X", uids[selected].sak); LEDsoff(); - LED(LED_GREEN, 200); - LED(LED_ORANGE, 200); - LED(LED_GREEN, 200); - LED(LED_ORANGE, 200); + LED(LED_B, 200); + LED(LED_A, 200); + LED(LED_B, 200); + LED(LED_A, 200); LEDsoff(); LED(selected + 1, 0); @@ -118,7 +118,7 @@ void RunMod() { iGotoClone = 0; LEDsoff(); LED(selected + 1, 0); - LED(LED_ORANGE, 250); + LED(LED_A, 250); // magiccards holds 4bytes uid. *usually* uint32_t tmpuid = bytes_to_num(uids[selected].uid, 4); @@ -200,7 +200,7 @@ void RunMod() { LED(selected + 1, 0); // Begin transmitting - LED(LED_GREEN, 0); + LED(LED_B, 0); DbpString("Playing"); for (; ;) { // exit from Standalone Mode, send a usbcommand. diff --git a/armsrc/Standalone/lf_hidbrute.c b/armsrc/Standalone/lf_hidbrute.c index 9840791dc..3a7866821 100644 --- a/armsrc/Standalone/lf_hidbrute.c +++ b/armsrc/Standalone/lf_hidbrute.c @@ -58,7 +58,7 @@ void RunMod() { if (button_pressed > 0 && cardRead == 0) { LEDsoff(); LED(selected + 1, 0); - LED(LED_RED2, 0); + LED(LED_D, 0); // record DbpString("[=] starting recording"); @@ -83,7 +83,7 @@ void RunMod() { } else if (button_pressed > 0 && cardRead == 1) { LEDsoff(); LED(selected + 1, 0); - LED(LED_ORANGE, 0); + LED(LED_A, 0); // record Dbprintf("[=] cloning %x %x %08x", selected, high[selected], low[selected]); @@ -122,7 +122,7 @@ void RunMod() { // Begin transmitting if (playing && selected != 2) { - LED(LED_GREEN, 0); + LED(LED_B, 0); DbpString("[=] playing"); // wait for button to be released @@ -155,7 +155,7 @@ void RunMod() { continue; } - LED(LED_GREEN, 0); + LED(LED_B, 0); DbpString("[=] entering bruteforce mode"); // wait for button to be released while (BUTTON_PRESS()) diff --git a/armsrc/Standalone/lf_proxbrute.c b/armsrc/Standalone/lf_proxbrute.c index c9fce3ac6..3336e9ee9 100644 --- a/armsrc/Standalone/lf_proxbrute.c +++ b/armsrc/Standalone/lf_proxbrute.c @@ -43,7 +43,7 @@ void RunMod() { if (button_pressed > 0 && cardRead == 0) { LEDsoff(); LED(selected + 1, 0); - LED(LED_RED2, 0); + LED(LED_D, 0); // record DbpString("[=] starting recording"); @@ -68,7 +68,7 @@ void RunMod() { } else if (button_pressed > 0 && cardRead == 1) { LEDsoff(); LED(selected + 1, 0); - LED(LED_ORANGE, 0); + LED(LED_A, 0); // record Dbprintf("[=] cloning %x %x %08x", selected, high[selected], low[selected]); @@ -105,7 +105,7 @@ void RunMod() { // Begin transmitting if (playing) { - LED(LED_GREEN, 0); + LED(LED_B, 0); DbpString("[=] playing"); // wait for button to be released while (BUTTON_PRESS()) @@ -125,8 +125,8 @@ void RunMod() { if (selected == 1) { DbpString("[=] entering ProxBrute Mode"); Dbprintf("[=] current Tag: Selected = %x Facility = %08x ID = %08x", selected, high[selected], low[selected]); - LED(LED_ORANGE, 0); - LED(LED_RED, 0); + LED(LED_A, 0); + LED(LED_C, 0); for (uint16_t i = low[selected] - 1; i > 0; i--) { if (BUTTON_PRESS()) { DbpString("[-] told to stop"); diff --git a/armsrc/Standalone/lf_samyrun.c b/armsrc/Standalone/lf_samyrun.c index 8b3ae5360..e1ba185d1 100644 --- a/armsrc/Standalone/lf_samyrun.c +++ b/armsrc/Standalone/lf_samyrun.c @@ -44,7 +44,7 @@ void RunMod() { if (button_pressed > 0 && cardRead == 0) { LEDsoff(); LED(selected + 1, 0); - LED(LED_RED2, 0); + LED(LED_D, 0); // record DbpString("[=] starting recording"); @@ -71,7 +71,7 @@ void RunMod() { } else if (button_pressed > 0 && cardRead == 1) { LEDsoff(); LED(selected + 1, 0); - LED(LED_ORANGE, 0); + LED(LED_A, 0); // record Dbprintf("[=] cloning %x %x %08x", selected, high[selected], low[selected]); @@ -110,7 +110,7 @@ void RunMod() { // Begin transmitting if (playing) { - LED(LED_GREEN, 0); + LED(LED_B, 0); DbpString("[=] playing"); // wait for button to be released diff --git a/armsrc/util.c b/armsrc/util.c index 60b4723b4..b50715541 100644 --- a/armsrc/util.c +++ b/armsrc/util.c @@ -82,15 +82,14 @@ void LEDsoff() { LED_D_OFF(); } -// LEDs: R(C) O(A) G(B) -- R(D) [1, 2, 4 and 8] void LED(int led, int ms) { - if (led & LED_RED) - LED_C_ON(); - if (led & LED_ORANGE) + if (led & LED_A) // Proxmark3 historical mapping: LED_ORANGE LED_A_ON(); - if (led & LED_GREEN) + if (led & LED_B) // Proxmark3 historical mapping: LED_GREEN LED_B_ON(); - if (led & LED_RED2) + if (led & LED_C) // Proxmark3 historical mapping: LED_RED + LED_C_ON(); + if (led & LED_D) // Proxmark3 historical mapping: LED_RED2 LED_D_ON(); if (!ms) @@ -98,13 +97,13 @@ void LED(int led, int ms) { SpinDelay(ms); - if (led & LED_RED) - LED_C_OFF(); - if (led & LED_ORANGE) + if (led & LED_A) LED_A_OFF(); - if (led & LED_GREEN) + if (led & LED_B) LED_B_OFF(); - if (led & LED_RED2) + if (led & LED_C) + LED_C_OFF(); + if (led & LED_D) LED_D_OFF(); } diff --git a/armsrc/util.h b/armsrc/util.h index 1ea6ae741..86e8cfb7f 100644 --- a/armsrc/util.h +++ b/armsrc/util.h @@ -32,10 +32,18 @@ #define BYTEx(x, n) (((x) >> (n * 8)) & 0xff ) #endif -#define LED_RED 1 -#define LED_ORANGE 2 -#define LED_GREEN 4 -#define LED_RED2 8 +// Proxmark3 RDV4.0 LEDs +#define LED_A 1 +#define LED_B 2 +#define LED_C 4 +#define LED_D 8 + +// Proxmark3 historical LEDs +#define LED_ORANGE LED_A +#define LED_GREEN LED_B +#define LED_RED LED_C +#define LED_RED2 LED_D + #define BUTTON_HOLD 1 #define BUTTON_NO_CLICK 0 #define BUTTON_SINGLE_CLICK -1