From c9ead16682101e89889b6c4dbaa1d03d1264e4e6 Mon Sep 17 00:00:00 2001 From: xiaqilin Date: Wed, 20 Dec 2023 17:11:28 +0800 Subject: [PATCH] fix(ieee802154): fix the issue of not receiving packets when RSSI is positive in esp32h2 --- components/esp_phy/lib | 2 +- components/hal/esp32c6/include/hal/ieee802154_ll.h | 2 ++ components/hal/esp32h2/include/hal/ieee802154_ll.h | 2 ++ components/ieee802154/driver/esp_ieee802154_dev.c | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/components/esp_phy/lib b/components/esp_phy/lib index bf6003e60c..98617ae683 160000 --- a/components/esp_phy/lib +++ b/components/esp_phy/lib @@ -1 +1 @@ -Subproject commit bf6003e60c8bf7205ff16db660df7d7022a284d1 +Subproject commit 98617ae683c7456706c7de6e27b7f0355c77dc9b diff --git a/components/hal/esp32c6/include/hal/ieee802154_ll.h b/components/hal/esp32c6/include/hal/ieee802154_ll.h index eec479e96a..14e548a1d3 100644 --- a/components/hal/esp32c6/include/hal/ieee802154_ll.h +++ b/components/hal/esp32c6/include/hal/ieee802154_ll.h @@ -12,3 +12,5 @@ #define IEEE802154_TXPOWER_VALUE_MAX 20 #define IEEE802154_TXPOWER_VALUE_MIN -15 #define IEEE802154_TXPOWER_INDEX_MIN 3 + +#define IEEE802154_RSSI_COMPENSATION_VALUE 0 diff --git a/components/hal/esp32h2/include/hal/ieee802154_ll.h b/components/hal/esp32h2/include/hal/ieee802154_ll.h index fdc212b582..c873c5515e 100644 --- a/components/hal/esp32h2/include/hal/ieee802154_ll.h +++ b/components/hal/esp32h2/include/hal/ieee802154_ll.h @@ -12,3 +12,5 @@ #define IEEE802154_TXPOWER_VALUE_MAX 20 #define IEEE802154_TXPOWER_VALUE_MIN -24 #define IEEE802154_TXPOWER_INDEX_MIN 0 + +#define IEEE802154_RSSI_COMPENSATION_VALUE 10 diff --git a/components/ieee802154/driver/esp_ieee802154_dev.c b/components/ieee802154/driver/esp_ieee802154_dev.c index 5dc35d56ba..172f51532d 100644 --- a/components/ieee802154/driver/esp_ieee802154_dev.c +++ b/components/ieee802154/driver/esp_ieee802154_dev.c @@ -151,7 +151,7 @@ static void ieee802154_rx_frame_info_update(void) uint8_t lqi = s_rx_frame[s_rx_index][len]; s_rx_frame_info[s_rx_index].channel = ieee802154_freq_to_channel(ieee802154_ll_get_freq()); - s_rx_frame_info[s_rx_index].rssi = rssi; + s_rx_frame_info[s_rx_index].rssi = rssi + IEEE802154_RSSI_COMPENSATION_VALUE; s_rx_frame_info[s_rx_index].lqi = lqi; s_recent_rx_frame_info_index = s_rx_index;