Fixed thread synchronization.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Submodule pico-keys-sdk updated: 65fea84df1...7a88a2b8e7
@@ -103,12 +103,13 @@ int cbor_parse(uint8_t cmd, const uint8_t *data, size_t len) {
|
|||||||
return CTAP1_ERR_INVALID_CMD;
|
return CTAP1_ERR_INVALID_CMD;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
void cbor_thread(void) {
|
void cbor_thread(void) {
|
||||||
card_init_core1();
|
card_init_core1();
|
||||||
while (1) {
|
while (1) {
|
||||||
uint32_t m;
|
uint32_t m;
|
||||||
queue_remove_blocking(&usb_to_card_q, &m);
|
queue_remove_blocking(&usb_to_card_q, &m);
|
||||||
|
uint32_t flag = m + 1;
|
||||||
|
queue_add_blocking(&card_to_usb_q, &flag);
|
||||||
|
|
||||||
if (m == EV_EXIT) {
|
if (m == EV_EXIT) {
|
||||||
break;
|
break;
|
||||||
@@ -124,14 +125,13 @@ void cbor_thread(void) {
|
|||||||
|
|
||||||
finished_data_size = res_APDU_size + 1;
|
finished_data_size = res_APDU_size + 1;
|
||||||
|
|
||||||
uint32_t flag = EV_EXEC_FINISHED;
|
flag = EV_EXEC_FINISHED;
|
||||||
queue_add_blocking(&card_to_usb_q, &flag);
|
queue_add_blocking(&card_to_usb_q, &flag);
|
||||||
}
|
}
|
||||||
#ifdef ESP_PLATFORM
|
#ifdef ESP_PLATFORM
|
||||||
vTaskDelete(NULL);
|
vTaskDelete(NULL);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
int cbor_process(uint8_t last_cmd, const uint8_t *data, size_t len) {
|
int cbor_process(uint8_t last_cmd, const uint8_t *data, size_t len) {
|
||||||
cbor_data = data;
|
cbor_data = data;
|
||||||
|
|||||||
Reference in New Issue
Block a user