remap LEDs

This commit is contained in:
Philippe Teuwen 2019-06-02 11:47:10 +02:00
commit fe9e1dc733
6 changed files with 41 additions and 34 deletions

View file

@ -47,7 +47,7 @@ void RunMod() {
iGotoRecord = 0; iGotoRecord = 0;
LEDsoff(); LEDsoff();
LED(selected + 1, 0); LED(selected + 1, 0);
LED(LED_RED2, 0); LED(LED_D, 0);
// record // record
Dbprintf("Enabling iso14443a reader mode for [Bank: %d]...", selected); 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("ATQA = %02X%02X", uids[selected].atqa[0], uids[selected].atqa[1]);
Dbprintf("SAK = %02X", uids[selected].sak); Dbprintf("SAK = %02X", uids[selected].sak);
LEDsoff(); LEDsoff();
LED(LED_GREEN, 200); LED(LED_B, 200);
LED(LED_ORANGE, 200); LED(LED_A, 200);
LED(LED_GREEN, 200); LED(LED_B, 200);
LED(LED_ORANGE, 200); LED(LED_A, 200);
LEDsoff(); LEDsoff();
LED(selected + 1, 0); LED(selected + 1, 0);
@ -118,7 +118,7 @@ void RunMod() {
iGotoClone = 0; iGotoClone = 0;
LEDsoff(); LEDsoff();
LED(selected + 1, 0); LED(selected + 1, 0);
LED(LED_ORANGE, 250); LED(LED_A, 250);
// magiccards holds 4bytes uid. *usually* // magiccards holds 4bytes uid. *usually*
uint32_t tmpuid = bytes_to_num(uids[selected].uid, 4); uint32_t tmpuid = bytes_to_num(uids[selected].uid, 4);
@ -200,7 +200,7 @@ void RunMod() {
LED(selected + 1, 0); LED(selected + 1, 0);
// Begin transmitting // Begin transmitting
LED(LED_GREEN, 0); LED(LED_B, 0);
DbpString("Playing"); DbpString("Playing");
for (; ;) { for (; ;) {
// exit from Standalone Mode, send a usbcommand. // exit from Standalone Mode, send a usbcommand.

View file

@ -58,7 +58,7 @@ void RunMod() {
if (button_pressed > 0 && cardRead == 0) { if (button_pressed > 0 && cardRead == 0) {
LEDsoff(); LEDsoff();
LED(selected + 1, 0); LED(selected + 1, 0);
LED(LED_RED2, 0); LED(LED_D, 0);
// record // record
DbpString("[=] starting recording"); DbpString("[=] starting recording");
@ -83,7 +83,7 @@ void RunMod() {
} else if (button_pressed > 0 && cardRead == 1) { } else if (button_pressed > 0 && cardRead == 1) {
LEDsoff(); LEDsoff();
LED(selected + 1, 0); LED(selected + 1, 0);
LED(LED_ORANGE, 0); LED(LED_A, 0);
// record // record
Dbprintf("[=] cloning %x %x %08x", selected, high[selected], low[selected]); Dbprintf("[=] cloning %x %x %08x", selected, high[selected], low[selected]);
@ -122,7 +122,7 @@ void RunMod() {
// Begin transmitting // Begin transmitting
if (playing && selected != 2) { if (playing && selected != 2) {
LED(LED_GREEN, 0); LED(LED_B, 0);
DbpString("[=] playing"); DbpString("[=] playing");
// wait for button to be released // wait for button to be released
@ -155,7 +155,7 @@ void RunMod() {
continue; continue;
} }
LED(LED_GREEN, 0); LED(LED_B, 0);
DbpString("[=] entering bruteforce mode"); DbpString("[=] entering bruteforce mode");
// wait for button to be released // wait for button to be released
while (BUTTON_PRESS()) while (BUTTON_PRESS())

View file

@ -43,7 +43,7 @@ void RunMod() {
if (button_pressed > 0 && cardRead == 0) { if (button_pressed > 0 && cardRead == 0) {
LEDsoff(); LEDsoff();
LED(selected + 1, 0); LED(selected + 1, 0);
LED(LED_RED2, 0); LED(LED_D, 0);
// record // record
DbpString("[=] starting recording"); DbpString("[=] starting recording");
@ -68,7 +68,7 @@ void RunMod() {
} else if (button_pressed > 0 && cardRead == 1) { } else if (button_pressed > 0 && cardRead == 1) {
LEDsoff(); LEDsoff();
LED(selected + 1, 0); LED(selected + 1, 0);
LED(LED_ORANGE, 0); LED(LED_A, 0);
// record // record
Dbprintf("[=] cloning %x %x %08x", selected, high[selected], low[selected]); Dbprintf("[=] cloning %x %x %08x", selected, high[selected], low[selected]);
@ -105,7 +105,7 @@ void RunMod() {
// Begin transmitting // Begin transmitting
if (playing) { if (playing) {
LED(LED_GREEN, 0); LED(LED_B, 0);
DbpString("[=] playing"); DbpString("[=] playing");
// wait for button to be released // wait for button to be released
while (BUTTON_PRESS()) while (BUTTON_PRESS())
@ -125,8 +125,8 @@ void RunMod() {
if (selected == 1) { if (selected == 1) {
DbpString("[=] entering ProxBrute Mode"); DbpString("[=] entering ProxBrute Mode");
Dbprintf("[=] current Tag: Selected = %x Facility = %08x ID = %08x", selected, high[selected], low[selected]); Dbprintf("[=] current Tag: Selected = %x Facility = %08x ID = %08x", selected, high[selected], low[selected]);
LED(LED_ORANGE, 0); LED(LED_A, 0);
LED(LED_RED, 0); LED(LED_C, 0);
for (uint16_t i = low[selected] - 1; i > 0; i--) { for (uint16_t i = low[selected] - 1; i > 0; i--) {
if (BUTTON_PRESS()) { if (BUTTON_PRESS()) {
DbpString("[-] told to stop"); DbpString("[-] told to stop");

View file

@ -44,7 +44,7 @@ void RunMod() {
if (button_pressed > 0 && cardRead == 0) { if (button_pressed > 0 && cardRead == 0) {
LEDsoff(); LEDsoff();
LED(selected + 1, 0); LED(selected + 1, 0);
LED(LED_RED2, 0); LED(LED_D, 0);
// record // record
DbpString("[=] starting recording"); DbpString("[=] starting recording");
@ -71,7 +71,7 @@ void RunMod() {
} else if (button_pressed > 0 && cardRead == 1) { } else if (button_pressed > 0 && cardRead == 1) {
LEDsoff(); LEDsoff();
LED(selected + 1, 0); LED(selected + 1, 0);
LED(LED_ORANGE, 0); LED(LED_A, 0);
// record // record
Dbprintf("[=] cloning %x %x %08x", selected, high[selected], low[selected]); Dbprintf("[=] cloning %x %x %08x", selected, high[selected], low[selected]);
@ -110,7 +110,7 @@ void RunMod() {
// Begin transmitting // Begin transmitting
if (playing) { if (playing) {
LED(LED_GREEN, 0); LED(LED_B, 0);
DbpString("[=] playing"); DbpString("[=] playing");
// wait for button to be released // wait for button to be released

View file

@ -82,15 +82,14 @@ void LEDsoff() {
LED_D_OFF(); LED_D_OFF();
} }
// LEDs: R(C) O(A) G(B) -- R(D) [1, 2, 4 and 8]
void LED(int led, int ms) { void LED(int led, int ms) {
if (led & LED_RED) if (led & LED_A) // Proxmark3 historical mapping: LED_ORANGE
LED_C_ON();
if (led & LED_ORANGE)
LED_A_ON(); LED_A_ON();
if (led & LED_GREEN) if (led & LED_B) // Proxmark3 historical mapping: LED_GREEN
LED_B_ON(); 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(); LED_D_ON();
if (!ms) if (!ms)
@ -98,13 +97,13 @@ void LED(int led, int ms) {
SpinDelay(ms); SpinDelay(ms);
if (led & LED_RED) if (led & LED_A)
LED_C_OFF();
if (led & LED_ORANGE)
LED_A_OFF(); LED_A_OFF();
if (led & LED_GREEN) if (led & LED_B)
LED_B_OFF(); LED_B_OFF();
if (led & LED_RED2) if (led & LED_C)
LED_C_OFF();
if (led & LED_D)
LED_D_OFF(); LED_D_OFF();
} }

View file

@ -32,10 +32,18 @@
#define BYTEx(x, n) (((x) >> (n * 8)) & 0xff ) #define BYTEx(x, n) (((x) >> (n * 8)) & 0xff )
#endif #endif
#define LED_RED 1 // Proxmark3 RDV4.0 LEDs
#define LED_ORANGE 2 #define LED_A 1
#define LED_GREEN 4 #define LED_B 2
#define LED_RED2 8 #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_HOLD 1
#define BUTTON_NO_CLICK 0 #define BUTTON_NO_CLICK 0
#define BUTTON_SINGLE_CLICK -1 #define BUTTON_SINGLE_CLICK -1