From 3a9a50a7d7b0df2f552436411cd8b0439cf5301b Mon Sep 17 00:00:00 2001 From: Arto Kinnunen Date: Fri, 22 Feb 2019 09:47:48 +0200 Subject: [PATCH] Sync with Atmel RF driver v3.0.6 Sync with v3.0.6 in https://github.com/ARMmbed/atmel-rf-driver --- .../source/NanostackRfPhyAtmel.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/components/802.15.4_RF/atmel-rf-driver/source/NanostackRfPhyAtmel.cpp b/components/802.15.4_RF/atmel-rf-driver/source/NanostackRfPhyAtmel.cpp index 640179aa05..d7fbedf37c 100644 --- a/components/802.15.4_RF/atmel-rf-driver/source/NanostackRfPhyAtmel.cpp +++ b/components/802.15.4_RF/atmel-rf-driver/source/NanostackRfPhyAtmel.cpp @@ -112,8 +112,8 @@ static uint8_t mac_tx_handle = 0; static uint8_t xah_ctrl_1; /* Channel configurations for 2.4 and sub-GHz */ -static const phy_rf_channel_configuration_s phy_24ghz = {2405000000U, 5000000U, 250000U, 16U, M_OQPSK}; -static const phy_rf_channel_configuration_s phy_subghz = {868300000U, 2000000U, 250000U, 11U, M_OQPSK}; +static const phy_rf_channel_configuration_s phy_24ghz = {.channel_0_center_frequency = 2405000000U, .channel_spacing = 5000000U, .datarate = 250000U, .number_of_channels = 16U, .modulation = M_OQPSK}; +static const phy_rf_channel_configuration_s phy_subghz = {.channel_0_center_frequency = 868300000U, .channel_spacing = 2000000U, .datarate = 250000U, .number_of_channels = 11U, .modulation = M_OQPSK}; static const phy_device_channel_page_s phy_channel_pages[] = { { CHANNEL_PAGE_0, &phy_24ghz}, @@ -1089,21 +1089,20 @@ static void rf_if_interrupt_handler(void) /*Frame end interrupt (RX and TX)*/ if (irq_status & TRX_END) { - /*TX done interrupt*/ rf_trx_states_t trx_status = rf_if_trx_status_from_full(full_trx_status); - if (trx_status == PLL_ON || trx_status == TX_ARET_ON) { + if (rf_flags & RFF_TX) { rf_handle_tx_end(trx_status); - } - /*Frame received interrupt*/ - else { + } else if (rf_flags & RFF_RX) { rf_handle_rx_end(trx_status); + } else { + //something went really wrong } } if (irq_status & CCA_ED_DONE) { rf_handle_cca_ed_done(full_trx_status); } if (irq_status & TRX_UR) { - // Here some counter could be used to monitor the underrun occurancy count. + // Here some counter could be used to monitor the under run occurrence count. // Do not print anything here! } }