diff --git a/src/apdu.c b/src/apdu.c index 9745d7f..34c4742 100644 --- a/src/apdu.c +++ b/src/apdu.c @@ -34,7 +34,7 @@ uint8_t chain_buf[4096]; uint8_t *chain_ptr = NULL; int process_apdu() { - led_set_blink(BLINK_PROCESSING); + led_set_mode(MODE_PROCESSING); if (CLA(apdu) & 0x10) { if (!is_chaining) { chain_ptr = chain_buf; diff --git a/src/led/led.c b/src/led/led.c index d20ecad..1f12c65 100644 --- a/src/led/led.c +++ b/src/led/led.c @@ -29,10 +29,10 @@ extern void led_driver_init(); extern void led_driver_color(uint8_t); -static uint32_t blink_interval_ms = BLINK_NOT_MOUNTED; +static uint32_t led_mode = MODE_NOT_MOUNTED; -void led_set_blink(uint32_t mode) { - blink_interval_ms = mode; +void led_set_mode(uint32_t mode) { + led_mode = mode; } void led_blinking_task() { @@ -43,9 +43,9 @@ void led_blinking_task() { #ifdef PICO_DEFAULT_LED_PIN_INVERTED state = !state; #endif - uint32_t led_color = (blink_interval_ms & LED_COLOR_MASK) >> LED_COLOR_SHIFT; - uint32_t led_off = (blink_interval_ms & LED_OFF_MASK) >> LED_OFF_SHIFT; - uint32_t led_on = (blink_interval_ms & LED_ON_MASK) >> LED_ON_SHIFT; + uint32_t led_color = (led_mode & LED_COLOR_MASK) >> LED_COLOR_SHIFT; + uint32_t led_off = (led_mode & LED_OFF_MASK) >> LED_OFF_SHIFT; + uint32_t led_on = (led_mode & LED_ON_MASK) >> LED_ON_SHIFT; uint32_t led_interval = led_state ? led_on : led_off; // Blink every interval ms @@ -73,6 +73,6 @@ void led_off_all() { void led_init() { #ifndef ENABLE_EMULATION led_driver_init(); - led_set_blink(BLINK_NOT_MOUNTED); + led_set_mode(MODE_NOT_MOUNTED); #endif } diff --git a/src/led/led.h b/src/led/led.h index 2d96871..baeadf3 100644 --- a/src/led/led.h +++ b/src/led/led.h @@ -42,17 +42,17 @@ enum { #define LED_COLOR_MASK (((1 << LED_COLOR_BITS) - 1) << LED_COLOR_SHIFT) enum { - BLINK_NOT_MOUNTED = (LED_COLOR_RED << LED_COLOR_SHIFT) | (250 << LED_ON_SHIFT) | (250 << LED_OFF_SHIFT), - BLINK_MOUNTED = (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (250 << LED_ON_SHIFT) | (250 << LED_OFF_SHIFT), - BLINK_SUSPENDED = (LED_COLOR_BLUE << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (1000 << LED_OFF_SHIFT), - BLINK_PROCESSING = (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (50 << LED_ON_SHIFT) | (50 << LED_OFF_SHIFT), - BLINK_BUTTON = (LED_COLOR_YELLOW << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (100 << LED_OFF_SHIFT), + MODE_NOT_MOUNTED = (LED_COLOR_RED << LED_COLOR_SHIFT) | (250 << LED_ON_SHIFT) | (250 << LED_OFF_SHIFT), + MODE_MOUNTED = (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (250 << LED_ON_SHIFT) | (250 << LED_OFF_SHIFT), + MODE_SUSPENDED = (LED_COLOR_BLUE << LED_COLOR_SHIFT) | (500 << LED_ON_SHIFT) | (1000 << LED_OFF_SHIFT), + MODE_PROCESSING = (LED_COLOR_GREEN << LED_COLOR_SHIFT) | (50 << LED_ON_SHIFT) | (50 << LED_OFF_SHIFT), + MODE_BUTTON = (LED_COLOR_YELLOW << LED_COLOR_SHIFT) | (1000 << LED_ON_SHIFT) | (100 << LED_OFF_SHIFT), - BLINK_ALWAYS_ON = UINT32_MAX, - BLINK_ALWAYS_OFF = 0 + MODE_ALWAYS_ON = UINT32_MAX, + MODE_ALWAYS_OFF = 0 }; -extern void led_set_blink(uint32_t mode); +extern void led_set_mode(uint32_t mode); extern void led_blinking_task(); extern void led_off_all(); extern void led_init(); diff --git a/src/main.c b/src/main.c index cf7b9fd..ff4c28d 100644 --- a/src/main.c +++ b/src/main.c @@ -185,7 +185,7 @@ bool wait_button() { uint32_t start_button = board_millis(); bool timeout = false; cancel_button = false; - led_set_blink(BLINK_BUTTON); + led_set_mode(MODE_BUTTON); req_button_pending = true; while (picok_board_button_read() == false && cancel_button == false) { execute_tasks(); @@ -205,7 +205,7 @@ bool wait_button() { } } } - led_set_blink(BLINK_PROCESSING); + led_set_mode(MODE_PROCESSING); req_button_pending = false; return timeout || cancel_button; } diff --git a/src/usb/ccid/ccid.c b/src/usb/ccid/ccid.c index 283e9f5..a273d0c 100644 --- a/src/usb/ccid/ccid.c +++ b/src/usb/ccid/ccid.c @@ -219,7 +219,7 @@ int driver_process_usb_packet_ccid(uint8_t itf, uint16_t rx_read) { ccid_status = 0; ccid_write_fast(itf, (const uint8_t *)ccid_resp_fast[itf], (uint16_t)(size_atr + 10)); - led_set_blink(BLINK_MOUNTED); + led_set_mode(MODE_MOUNTED); } else if (ccid_header[itf]->bMessageType == CCID_POWER_OFF) { if (ccid_status == 0) { @@ -234,7 +234,7 @@ int driver_process_usb_packet_ccid(uint8_t itf, uint16_t rx_read) { ccid_resp_fast[itf]->abRFU1 = 0; ccid_write_fast(itf, (const uint8_t *)ccid_resp_fast[itf], 10); - led_set_blink(BLINK_SUSPENDED); + led_set_mode(MODE_SUSPENDED); } else if (ccid_header[itf]->bMessageType == CCID_SET_PARAMS || ccid_header[itf]->bMessageType == CCID_GET_PARAMS || diff --git a/src/usb/usb.c b/src/usb/usb.c index ce963e6..c60d6ac 100644 --- a/src/usb/usb.c +++ b/src/usb/usb.c @@ -122,7 +122,7 @@ void card_start(uint8_t itf, void (*func)(void)) { multicore_reset_core1(); multicore_launch_core1(func); } - led_set_blink(BLINK_MOUNTED); + led_set_mode(MODE_MOUNTED); card_locked_itf = itf; card_locked_func = func; } @@ -148,7 +148,7 @@ void card_exit() { mutex_exit(&mutex); #endif } - led_set_blink(BLINK_SUSPENDED); + led_set_mode(MODE_SUSPENDED); #ifdef ESP_PLATFORM hcore1 = NULL; #endif @@ -187,7 +187,7 @@ int card_status(uint8_t itf) { if (has_m) { if (m == EV_EXEC_FINISHED) { timeout_stop(); - led_set_blink(BLINK_MOUNTED); + led_set_mode(MODE_MOUNTED); return CCID_OK; } #ifndef ENABLE_EMULATION