diff --git a/Middlewares/Third_Party/LoRaWAN/Mac/LoRaMac.c b/Middlewares/Third_Party/LoRaWAN/Mac/LoRaMac.c index 1d0631f7..371387e8 100644 --- a/Middlewares/Third_Party/LoRaWAN/Mac/LoRaMac.c +++ b/Middlewares/Third_Party/LoRaWAN/Mac/LoRaMac.c @@ -1127,6 +1127,11 @@ static void ProcessRadioRxDone( void ) #endif /* LORAMAC_VERSION */ Mlme_t joinType = MLME_JOIN; + MW_LOG( TS_ON, VLEVEL_M, "RX: "); + for (size_t i = 0; i < RxDoneParams.Size; ++i) + MW_LOG( TS_ON, VLEVEL_M, "%02x", RxDoneParams.Payload[i]); + MW_LOG( TS_ON, VLEVEL_M, "\r\n"); + #if (defined( LORAMAC_VERSION ) && (( LORAMAC_VERSION == 0x01000400 ) || ( LORAMAC_VERSION == 0x01010100 ))) LoRaMacRadioEvents.Events.RxProcessPending = 0; #endif /* LORAMAC_VERSION */ diff --git a/Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacInterfaces.h b/Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacInterfaces.h index 109f144a..ee0cf448 100644 --- a/Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacInterfaces.h +++ b/Middlewares/Third_Party/LoRaWAN/Mac/LoRaMacInterfaces.h @@ -3131,15 +3131,15 @@ typedef struct sLoRaMacCallback */ int16_t ( *GetTemperatureLevel )( void ); /*! - * \brief Get the board 64 bits unique ID + * \brief Get the board 64 bits unique ID (for OTAA) * * \param [out] id unique */ void ( *GetUniqueId )(uint8_t *id); /*! - * \brief Get the 64 bits unique Device address + * \brief Get the 32 bits Device address (for ABP) * - * \param [out] id unique + * \param [out] id devaddr */ void ( *GetDevAddress )(uint32_t *devAddr); /*! diff --git a/Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCommon.c b/Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCommon.c index 2723e09f..ab90eac9 100644 --- a/Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCommon.c +++ b/Middlewares/Third_Party/LoRaWAN/Mac/Region/RegionCommon.c @@ -562,7 +562,7 @@ void RegionCommonRxBeaconSetup( RegionCommonRxBeaconSetupParams_t* rxBeaconSetup 1, 0, 10, rxBeaconSetupParams->SymbolTimeout, true, rxBeaconSetupParams->BeaconSize, false, 0, 0, false, rxContinuous ); Radio.Rx( rxBeaconSetupParams->RxTime ); - MW_LOG(TS_ON, VLEVEL_M, "RX_BC on freq %d Hz at DR %d\r\n", rxBeaconSetupParams->Frequency, rxBeaconSetupParams->BeaconDatarate ); + MW_LOG(TS_ON, VLEVEL_M, "RX_BC on freq %u Hz at DR %d\r\n", (unsigned)rxBeaconSetupParams->Frequency, rxBeaconSetupParams->BeaconDatarate ); } void RegionCommonCountNbOfEnabledChannels( RegionCommonCountNbOfEnabledChannelsParams_t* countNbOfEnabledChannelsParams, @@ -696,15 +696,15 @@ void RegionCommonRxConfigPrint(LoRaMacRxSlot_t rxSlot, uint32_t frequency, int8_ { if ( rxSlot < RX_SLOT_NONE ) { - MW_LOG(TS_ON, VLEVEL_M, "RX_%s on freq %d Hz at DR %d\r\n", EventRXSlotStrings[rxSlot], frequency, dr ); + MW_LOG(TS_ON, VLEVEL_M, "RX_%s on freq %u Hz at DR %d\r\n", EventRXSlotStrings[rxSlot], (unsigned)frequency, dr ); } else { - MW_LOG(TS_ON, VLEVEL_M, "RX on freq %d Hz at DR %d\r\n", frequency, dr ); + MW_LOG(TS_ON, VLEVEL_M, "RX on freq %u Hz at DR %d\r\n", (unsigned)frequency, dr ); } } void RegionCommonTxConfigPrint(uint32_t frequency, int8_t dr) { - MW_LOG(TS_ON, VLEVEL_M, "TX on freq %d Hz at DR %d\r\n", frequency, dr ); + MW_LOG(TS_ON, VLEVEL_M, "TX on freq %u Hz at DR %d\r\n", (unsigned)frequency, dr ); } diff --git a/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/lr_fhss_mac.c b/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/lr_fhss_mac.c index c3fa28b8..e3d959dc 100644 --- a/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/lr_fhss_mac.c +++ b/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/lr_fhss_mac.c @@ -781,7 +781,7 @@ STATIC uint16_t lr_fhss_payload_interleaving( const uint8_t *data_in, uint16_t d lr_fhss_set_bit_in_byte_vector( data_out, 0 + out_row_index, 0 ); // guard bits lr_fhss_set_bit_in_byte_vector( data_out, 1 + out_row_index, 0 ); // guard bits - for( uint32_t j = 0; j < in_row_width; j++ ) + for( int32_t j = 0; j < in_row_width; j++ ) { lr_fhss_set_bit_in_byte_vector( data_out, j + 2 + out_row_index, lr_fhss_extract_bit_in_byte_vector( data_in, pos ) ); // guard bit diff --git a/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio.c b/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio.c index 8544ebd1..268591cd 100644 --- a/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio.c +++ b/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio.c @@ -868,6 +868,18 @@ static void RadioSetRxConfig( RadioModems_t modem, uint32_t bandwidth, #if (RADIO_SIGFOX_ENABLE == 1) uint8_t modReg; #endif + //Disabled, too much influence on RX timing + /* + MW_LOG( TS_ON, VLEVEL_M, + "Setting RX Config: modem=%s, bandwidth=%u, datarate=%u, coderate=%u bandwithAfc=%u, preambleLen=%u, symbTimeout=%u, fixLen=%u, payloadLen=%u, crcOn=%u, freqHopOn=%u, hopPeriod=%u, iqInverted=%u, rxContinuous=%u\r\n", + modem == MODEM_FSK ? "MODEM_FSK" : (modem == MODEM_LORA ? "MODEM_LORA" : "?"), + (unsigned)bandwidth, (unsigned)datarate, (unsigned)coderate, + (unsigned)bandwidthAfc, (unsigned)preambleLen, + (unsigned)symbTimeout, (unsigned)fixLen, (unsigned)payloadLen, + (unsigned)crcOn, (unsigned)freqHopOn, (unsigned)hopPeriod, + (unsigned)iqInverted, (unsigned)rxContinuous + ); + */ SubgRf.RxContinuous = rxContinuous; RFW_DeInit(); if( rxContinuous == true ) @@ -1057,6 +1069,15 @@ static void RadioSetTxConfig( RadioModems_t modem, int8_t power, uint32_t fdev, SubgRf.lr_fhss.is_lr_fhss_on = false; #endif /* RADIO_LR_FHSS_IS_ON == 1 */ RFW_DeInit(); + MW_LOG( TS_ON, VLEVEL_M, + "Setting TX Config: modem=%s, power=%u, fdev=%u, bandwidth=%u, datarate=%u, coderate=%u preambleLen=%u, fixLen=%u, crcOn=%u, freqHopOn=%u, hopPeriod=%u, iqInverted=%u, timeout=%u\r\n", + modem == MODEM_FSK ? "MODEM_FSK" : (modem == MODEM_LORA ? "MODEM_LORA" : "?"), + (int)power, (unsigned)fdev, (unsigned)bandwidth, + (unsigned)datarate, (unsigned)coderate, (unsigned)preambleLen, + (unsigned)fixLen, (unsigned)crcOn, (unsigned)freqHopOn, + (unsigned)hopPeriod, (unsigned)iqInverted, (unsigned)timeout + ); + switch( modem ) { case MODEM_FSK: @@ -1315,6 +1336,11 @@ static radio_status_t RadioSend( uint8_t *buffer, uint8_t size ) IRQ_RADIO_NONE, IRQ_RADIO_NONE ); + MW_LOG( TS_ON, VLEVEL_M, "TX:"); + for (size_t i = 0; i < size; ++i) + MW_LOG( TS_ON, VLEVEL_M, " %02x", buffer[i]); + MW_LOG( TS_ON, VLEVEL_M, "\r\n"); + /* Set DBG pin */ DBG_GPIO_RADIO_TX( SET );