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;
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.

View file

@ -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())

View file

@ -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");

View file

@ -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

View file

@ -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();
}

View file

@ -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