From 1871f53b5abd1acde380f05cb85be0d856e64120 Mon Sep 17 00:00:00 2001 From: Skip Hansen Date: Sat, 7 Dec 2024 09:26:32 -0800 Subject: [PATCH] Fix #403: missing esp_ieee802154_receive_handle_done() function call causing stop of ZigBee reception. --- ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/main.c | 2 +- ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/radio.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/main.c b/ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/main.c index 2363b3fa..5bdf865e 100644 --- a/ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/main.c +++ b/ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/main.c @@ -44,7 +44,7 @@ const uint8_t channelList[6] = {11, 15, 20, 25, 26, 27}; struct pendingData pendingDataArr[MAX_PENDING_MACS]; // VERSION GOES HERE! -uint16_t version = 0x001d; +uint16_t version = 0x001e; #define RAW_PKT_PADDING 2 diff --git a/ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/radio.c b/ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/radio.c index 3177d106..d8bb3d0f 100644 --- a/ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/radio.c +++ b/ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP/main/radio.c @@ -41,7 +41,9 @@ void esp_ieee802154_receive_done(uint8_t *frame, esp_ieee802154_frame_info_t *fr memcpy(inner_rxPKT, &frame[0], frame[0] + 1); xQueueSendFromISR(packet_buffer, (void *)&inner_rxPKT, &xHigherPriorityTaskWoken); portYIELD_FROM_ISR_ARG(xHigherPriorityTaskWoken); - esp_ieee802154_receive_sfd_done(); + if(esp_ieee802154_receive_handle_done(frame)) { + ESP_EARLY_LOGI(TAG, "esp_ieee802154_receive_handle_done() failed"); + } } void esp_ieee802154_transmit_failed(const uint8_t *frame, esp_ieee802154_tx_error_t error) { @@ -52,7 +54,7 @@ void esp_ieee802154_transmit_failed(const uint8_t *frame, esp_ieee802154_tx_erro void esp_ieee802154_transmit_done(const uint8_t *frame, const uint8_t *ack, esp_ieee802154_frame_info_t *ack_frame_info) { isInTransmit = 0; ESP_EARLY_LOGI(TAG, "TX %d", frame[0]); - esp_ieee802154_receive_sfd_done(); + esp_ieee802154_receive_handle_done(ack); } static bool zigbee_is_enabled = false; void radio_init(uint8_t ch) {