Update LoRaMac-node to Version 4.4.4,fix Security breach found by Tencent Blade Team please refer to security advisory - CVE-2020-11068
fix Security breach found by Tencent Blade Team please refer to security advisory - CVE-2020-11068
This commit is contained in:
@@ -103,7 +103,7 @@
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<bSchkAxf>0</bSchkAxf>
|
||||
<bTchkAxf>0</bTchkAxf>
|
||||
<nTsel>0</nTsel>
|
||||
<nTsel>6</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@@ -114,9 +114,34 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>BIN\UL2CM3.DLL</pMon>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMRTXEVENTFLAGS</Key>
|
||||
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ARMDBGFLAGS</Key>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U066DFF495056805087213734 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(0BC11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32L0xx_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32L072CBTx$CMSIS\Flash\STM32L0xx_128.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
@@ -130,12 +155,12 @@
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>0</periodic>
|
||||
<aLwin>0</aLwin>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
<aPa>0</aPa>
|
||||
<viewmode>0</viewmode>
|
||||
<viewmode>1</viewmode>
|
||||
<vrSel>0</vrSel>
|
||||
<aSym>0</aSym>
|
||||
<aTbox>0</aTbox>
|
||||
@@ -198,7 +223,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>Application/User</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
@@ -1002,7 +1027,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>lorawan/mac</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
@@ -1085,18 +1110,6 @@
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\components\connectivity\LoraWAN\mac\LoRaMacFCntHandler.c</PathWithFileName>
|
||||
<FilenameWithoutPath>LoRaMacFCntHandler.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>74</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\components\connectivity\LoraWAN\mac\LoRaMacParser.c</PathWithFileName>
|
||||
<FilenameWithoutPath>LoRaMacParser.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
@@ -1104,7 +1117,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>75</FileNumber>
|
||||
<FileNumber>74</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1116,7 +1129,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>76</FileNumber>
|
||||
<FileNumber>75</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1128,7 +1141,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>77</FileNumber>
|
||||
<FileNumber>76</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1140,7 +1153,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>78</FileNumber>
|
||||
<FileNumber>77</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1150,6 +1163,18 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>78</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\components\connectivity\LoraWAN\peripherals\soft-se\soft-se-hal.c</PathWithFileName>
|
||||
<FilenameWithoutPath>soft-se-hal.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
|
@@ -762,11 +762,6 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\components\connectivity\LoraWAN\mac\LoRaMacCrypto.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>LoRaMacFCntHandler.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\components\connectivity\LoraWAN\mac\LoRaMacFCntHandler.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>LoRaMacParser.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
@@ -792,6 +787,11 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\components\connectivity\LoraWAN\peripherals\soft-se\soft-se.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>soft-se-hal.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\..\components\connectivity\LoraWAN\peripherals\soft-se\soft-se-hal.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
84
board/RHF76_STM32L072CBxx_Lora/Src/CMakeLists.txt
Normal file
84
board/RHF76_STM32L072CBxx_Lora/Src/CMakeLists.txt
Normal file
@@ -0,0 +1,84 @@
|
||||
##
|
||||
## ______ _
|
||||
## / _____) _ | |
|
||||
## ( (____ _____ ____ _| |_ _____ ____| |__
|
||||
## \____ \| ___ | (_ _) ___ |/ ___) _ \
|
||||
## _____) ) ____| | | || |_| ____( (___| | | |
|
||||
## (______/|_____)_|_|_| \__)_____)\____)_| |_|
|
||||
## (C)2013-2017 Semtech
|
||||
## ___ _____ _ ___ _ _____ ___ ___ ___ ___
|
||||
## / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
|
||||
## \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
|
||||
## |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
|
||||
## embedded.connectivity.solutions.==============
|
||||
##
|
||||
## License: Revised BSD License, see LICENSE.TXT file included in the project
|
||||
## Authors: Johannes Bruder (STACKFORCE), Miguel Luis (Semtech)
|
||||
##
|
||||
project(B-L072Z-LRWAN1)
|
||||
cmake_minimum_required(VERSION 3.6)
|
||||
enable_language(ASM)
|
||||
|
||||
#---------------------------------------------------------------------------------------
|
||||
# Target
|
||||
#---------------------------------------------------------------------------------------
|
||||
|
||||
list(APPEND ${PROJECT_NAME}_SOURCES
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/adc-board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/delay-board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/eeprom-board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/gpio-board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lpm-board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/rtc-board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/spi-board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/sx1276-board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/uart-board.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/sysIrqHandlers.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/utilities.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmsis/arm-gcc/startup_stm32l072xx.s"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmsis/system_stm32l0xx.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_adc.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_adc_ex.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cortex.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_dma.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c_ex.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_pwr_ex.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc_ex.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rtc_ex.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_spi.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_uart_ex.c"
|
||||
)
|
||||
|
||||
add_library(${PROJECT_NAME} OBJECT EXCLUDE_FROM_ALL ${${PROJECT_NAME}_SOURCES})
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC -DUSE_HAL_DRIVER -DSTM32L072xx)
|
||||
|
||||
# Add define if debbuger support is enabled
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC $<$<BOOL:${USE_DEBUGGER}>:USE_DEBUGGER>)
|
||||
|
||||
# Add define if radio debug pins support is enabled
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC $<$<BOOL:${USE_RADIO_DEBUG}>:USE_RADIO_DEBUG>)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmsis
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/cmsis
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../mcu/stm32/STM32L0xx_HAL_Driver/Inc
|
||||
$<TARGET_PROPERTY:board,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:system,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:radio,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:peripherals,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
)
|
||||
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY C_STANDARD 11)
|
@@ -20,6 +20,8 @@
|
||||
*
|
||||
* \author Gregory Cristian ( Semtech )
|
||||
*/
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "stm32l0xx.h"
|
||||
#include "board-config.h"
|
||||
#include "adc-board.h"
|
||||
@@ -70,6 +72,8 @@ uint16_t AdcMcuReadChannel( Adc_t *obj, uint32_t channel )
|
||||
{
|
||||
ADC_ChannelConfTypeDef adcConf = { 0 };
|
||||
uint16_t adcData = 0;
|
||||
uint32_t tickStart = 0;
|
||||
bool isAdcReady = true;
|
||||
|
||||
// Enable HSI
|
||||
__HAL_RCC_HSI_ENABLE( );
|
||||
@@ -83,18 +87,31 @@ uint16_t AdcMcuReadChannel( Adc_t *obj, uint32_t channel )
|
||||
|
||||
adcConf.Channel = channel;
|
||||
adcConf.Rank = ADC_RANK_CHANNEL_NUMBER;
|
||||
|
||||
HAL_ADC_ConfigChannel( &AdcHandle, &adcConf );
|
||||
|
||||
// Enable ADC1
|
||||
__HAL_ADC_ENABLE( &AdcHandle );
|
||||
|
||||
// Start ADC Software Conversion
|
||||
HAL_ADC_Start( &AdcHandle );
|
||||
// Wait for ADC to effectively be enabled
|
||||
tickStart = HAL_GetTick( );
|
||||
while( __HAL_ADC_GET_FLAG( &AdcHandle, ADC_FLAG_RDY ) == RESET )
|
||||
{
|
||||
if( ( HAL_GetTick( ) - tickStart ) > ADC_ENABLE_TIMEOUT )
|
||||
{
|
||||
isAdcReady = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
HAL_ADC_PollForConversion( &AdcHandle, HAL_MAX_DELAY );
|
||||
if( isAdcReady != false )
|
||||
{
|
||||
// Start ADC Software Conversion
|
||||
HAL_ADC_Start( &AdcHandle );
|
||||
|
||||
adcData = HAL_ADC_GetValue( &AdcHandle );
|
||||
HAL_ADC_PollForConversion( &AdcHandle, HAL_MAX_DELAY );
|
||||
|
||||
adcData = HAL_ADC_GetValue( &AdcHandle );
|
||||
}
|
||||
|
||||
__HAL_ADC_DISABLE( &AdcHandle );
|
||||
|
||||
|
@@ -185,8 +185,8 @@ void RtcInit( void )
|
||||
time.Seconds = 0;
|
||||
time.SubSeconds = 0;
|
||||
time.TimeFormat = 0;
|
||||
time.StoreOperation = RTC_DAYLIGHTSAVING_NONE;
|
||||
time.DayLightSaving = RTC_STOREOPERATION_RESET;
|
||||
time.StoreOperation = RTC_STOREOPERATION_RESET;
|
||||
time.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
|
||||
HAL_RTC_SetTime( &RtcHandle, &time, RTC_FORMAT_BIN );
|
||||
|
||||
// Enable Direct Read of the calendar registers (not through Shadow registers)
|
||||
@@ -469,7 +469,7 @@ void RtcSetMcuWakeUpTime( void )
|
||||
|
||||
mcuWakeUpTime = ( int16_t )( ( now - hit ) );
|
||||
McuWakeUpTimeCal += mcuWakeUpTime;
|
||||
//PRINTF( 3, "Cal=%d, %d\n\r", McuWakeUpTimeCal, mcuWakeUpTime);
|
||||
//PRINTF( 3, "Cal=%d, %d\n", McuWakeUpTimeCal, mcuWakeUpTime);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,16 +485,13 @@ static uint64_t RtcGetCalendarValue( RTC_DateTypeDef* date, RTC_TimeTypeDef* tim
|
||||
uint32_t correction;
|
||||
uint32_t seconds;
|
||||
|
||||
// Get Time and Date
|
||||
HAL_RTC_GetTime( &RtcHandle, time, RTC_FORMAT_BIN );
|
||||
|
||||
// Make sure it is correct due to asynchronus nature of RTC
|
||||
do
|
||||
{
|
||||
firstRead = time->SubSeconds;
|
||||
firstRead = RTC->SSR;
|
||||
HAL_RTC_GetDate( &RtcHandle, date, RTC_FORMAT_BIN );
|
||||
HAL_RTC_GetTime( &RtcHandle, time, RTC_FORMAT_BIN );
|
||||
}while( firstRead != time->SubSeconds );
|
||||
}while( firstRead != RTC->SSR );
|
||||
|
||||
// Calculte amount of elapsed days since 01/01/2000
|
||||
seconds = DIVC( ( DAYS_IN_YEAR * 3 + DAYS_IN_LEAP_YEAR ) * date->Year , 4 );
|
||||
@@ -525,7 +522,7 @@ uint32_t RtcGetCalendarTime( uint16_t *milliseconds )
|
||||
|
||||
uint64_t calendarValue = RtcGetCalendarValue( &date, &time );
|
||||
|
||||
uint32_t seconds = ( uint32_t )calendarValue >> N_PREDIV_S;
|
||||
uint32_t seconds = ( uint32_t )( calendarValue >> N_PREDIV_S );
|
||||
|
||||
ticks = ( uint32_t )calendarValue & PREDIV_S;
|
||||
|
||||
@@ -594,10 +591,10 @@ TimerTime_t RtcTempCompensation( TimerTime_t period, float temperature )
|
||||
float kDev = RTC_TEMP_DEV_COEFFICIENT;
|
||||
float t = RTC_TEMP_TURNOVER;
|
||||
float tDev = RTC_TEMP_DEV_TURNOVER;
|
||||
float interim = 0.0;
|
||||
float ppm = 0.0;
|
||||
float interim = 0.0f;
|
||||
float ppm = 0.0f;
|
||||
|
||||
if( k < 0.0 )
|
||||
if( k < 0.0f )
|
||||
{
|
||||
ppm = ( k - kDev );
|
||||
}
|
||||
@@ -609,12 +606,12 @@ TimerTime_t RtcTempCompensation( TimerTime_t period, float temperature )
|
||||
ppm *= interim * interim;
|
||||
|
||||
// Calculate the drift in time
|
||||
interim = ( ( float ) period * ppm ) / 1e6;
|
||||
interim = ( ( float ) period * ppm ) / 1000000.0f;
|
||||
// Calculate the resulting time period
|
||||
interim += period;
|
||||
interim = floor( interim );
|
||||
|
||||
if( interim < 0.0 )
|
||||
if( interim < 0.0f )
|
||||
{
|
||||
interim = ( float )period;
|
||||
}
|
||||
|
@@ -140,12 +140,24 @@ void SX1276IoDeInit( void )
|
||||
GpioInit( &SX1276.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
|
||||
}
|
||||
|
||||
void SX1276IoDbgInit( void )
|
||||
{
|
||||
#if defined( USE_RADIO_DEBUG )
|
||||
GpioInit( &DbgPinTx, RADIO_DBG_PIN_TX, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
|
||||
GpioInit( &DbgPinRx, RADIO_DBG_PIN_RX, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
|
||||
#endif
|
||||
}
|
||||
|
||||
void SX1276IoTcxoInit( void )
|
||||
{
|
||||
GpioInit( &TcxoPower, RADIO_TCXO_POWER, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
|
||||
}
|
||||
/*!
|
||||
* \brief Enables/disables the TCXO if available on board design.
|
||||
*
|
||||
* \param [IN] state TCXO enabled when true and disabled when false.
|
||||
*/
|
||||
static void SX1276SetBoardTcxo( uint8_t state )
|
||||
void SX1276SetBoardTcxo( uint8_t state )
|
||||
{
|
||||
if( state == true )
|
||||
{
|
||||
|
@@ -22,6 +22,7 @@ uint8_t NwkSEncKey[] = { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0
|
||||
uint8_t AppSKey[] = { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C };
|
||||
#endif
|
||||
|
||||
|
||||
bool NextTx = true;
|
||||
uint8_t IsTxConfirmed = false;
|
||||
TimerEvent_t TxNextPacketTimer;
|
||||
@@ -318,8 +319,6 @@ void LoRa_JoinNetwork(uint8_t jointype)
|
||||
{
|
||||
MlmeReq_t mlmeReq;
|
||||
mlmeReq.Type = MLME_JOIN;
|
||||
mlmeReq.Req.Join.DevEui = DevEui;
|
||||
mlmeReq.Req.Join.JoinEui = JoinEui;
|
||||
mlmeReq.Req.Join.Datarate = LORAWAN_DEFAULT_DATARATE;
|
||||
LoRaMacMlmeRequest( &mlmeReq );
|
||||
}
|
||||
|
@@ -9,6 +9,47 @@
|
||||
#include "LoRaMac.h"
|
||||
#include "NvmCtxMgmt.h"
|
||||
|
||||
#define ACTIVE_REGION LORAMAC_REGION_CN470
|
||||
|
||||
#ifndef ACTIVE_REGION
|
||||
|
||||
#warning "No active region defined, LORAMAC_REGION_EU868 will be used as default."
|
||||
|
||||
#define ACTIVE_REGION LORAMAC_REGION_EU868
|
||||
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* Defines the application data transmission duty cycle. 5s, value in [ms].
|
||||
*/
|
||||
#define APP_TX_DUTYCYCLE 5000
|
||||
|
||||
/*!
|
||||
* Defines a random delay for application data transmission duty cycle. 1s,
|
||||
* value in [ms].
|
||||
*/
|
||||
#define APP_TX_DUTYCYCLE_RND 1000
|
||||
|
||||
/*!
|
||||
* Default datarate
|
||||
*/
|
||||
#define LORAWAN_DEFAULT_DATARATE DR_0
|
||||
|
||||
/*!
|
||||
* LoRaWAN confirmed messages
|
||||
*/
|
||||
#define LORAWAN_CONFIRMED_MSG_ON false
|
||||
|
||||
/*!
|
||||
* LoRaWAN Adaptive Data Rate
|
||||
*
|
||||
* \remark Please note that when ADR is enabled the end-device should be static
|
||||
*/
|
||||
#define LORAWAN_ADR_ON 1
|
||||
|
||||
#define LORAWAN_DUTYCYCLE_ON false
|
||||
|
||||
|
||||
#define OVER_THE_AIR_ACTIVATION 0
|
||||
|
||||
#define ABP_ACTIVATION_LRWAN_VERSION_V10x 0x01000300 // 1.0.3.0
|
||||
@@ -19,16 +60,13 @@
|
||||
|
||||
#define LORAWAN_NETWORK_ID ( uint32_t )0
|
||||
|
||||
#define ACTIVE_REGION LORAMAC_REGION_CN470
|
||||
|
||||
#define LORAWAN_APP_DATA_MAX_SIZE 64
|
||||
|
||||
#define LORAWAN_DEFAULT_DATARATE DR_0
|
||||
|
||||
|
||||
#define LORAWAN_ADR_ON 1
|
||||
|
||||
#define LORAWAN_DUTYCYCLE_ON false
|
||||
|
||||
|
||||
|
||||
extern bool NextTx;
|
||||
|
Reference in New Issue
Block a user