diff --git a/CMakeLists.txt b/CMakeLists.txt index 0614f1e..be05347 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,6 +44,8 @@ set(TARGET_SOURCES "SDK/Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_rtc.c" "SDK/Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_rtc_ex.c" "SDK/Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_subghz.c" + "SDK/Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_uart.c" + "SDK/Drivers/STM32WLxx_HAL_Driver/Src/stm32wlxx_hal_uart_ex.c" "SDK/Middlewares/Third_Party/LoRaWAN/Crypto/lorawan_aes.c" "SDK/Middlewares/Third_Party/LoRaWAN/Crypto/cmac.c" "SDK/Middlewares/Third_Party/LoRaWAN/Crypto/soft-se.c" diff --git a/MX_Generated/Core/Inc/stm32wlxx_it.h b/MX_Generated/Core/Inc/stm32wlxx_it.h index bb55b2f..83bce66 100644 --- a/MX_Generated/Core/Inc/stm32wlxx_it.h +++ b/MX_Generated/Core/Inc/stm32wlxx_it.h @@ -55,8 +55,11 @@ void SVC_Handler(void); void DebugMon_Handler(void); void PendSV_Handler(void); void SysTick_Handler(void); +void TAMP_STAMP_LSECSS_SSRU_IRQHandler(void); void DMA1_Channel1_IRQHandler(void); void DMA1_Channel2_IRQHandler(void); +void LPUART1_IRQHandler(void); +void RTC_Alarm_IRQHandler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ diff --git a/MX_Generated/Core/Src/main.c b/MX_Generated/Core/Src/main.c index f62565e..f3498c0 100644 --- a/MX_Generated/Core/Src/main.c +++ b/MX_Generated/Core/Src/main.c @@ -77,7 +77,7 @@ void SystemClock_Config(void) /** Configure LSE Drive Capability */ HAL_PWR_EnableBkUpAccess(); - __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMHIGH); + __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMLOW); /** Configure the main internal regulator output voltage */ diff --git a/MX_Generated/Core/Src/rtc.c b/MX_Generated/Core/Src/rtc.c index ae85782..2da13dd 100644 --- a/MX_Generated/Core/Src/rtc.c +++ b/MX_Generated/Core/Src/rtc.c @@ -59,6 +59,13 @@ void MX_RTC_Init(void) /* USER CODE END Check_RTC_BKUP */ + /** Initialize RTC and set the Time and Date + */ + if (HAL_RTCEx_SetSSRU_IT(&hrtc) != HAL_OK) + { + Error_Handler(); + } + /** Enable the Alarm A */ sAlarm.BinaryAutoClr = RTC_ALARMSUBSECONDBIN_AUTOCLR_NO; @@ -66,7 +73,7 @@ void MX_RTC_Init(void) sAlarm.AlarmMask = RTC_ALARMMASK_NONE; sAlarm.AlarmSubSecondMask = RTC_ALARMSUBSECONDBINMASK_NONE; sAlarm.Alarm = RTC_ALARM_A; - if (HAL_RTC_SetAlarm(&hrtc, &sAlarm, 0) != HAL_OK) + if (HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, 0) != HAL_OK) { Error_Handler(); } @@ -99,6 +106,12 @@ void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle) /* RTC clock enable */ __HAL_RCC_RTC_ENABLE(); __HAL_RCC_RTCAPB_CLK_ENABLE(); + + /* RTC interrupt Init */ + HAL_NVIC_SetPriority(TAMP_STAMP_LSECSS_SSRU_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(TAMP_STAMP_LSECSS_SSRU_IRQn); + HAL_NVIC_SetPriority(RTC_Alarm_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(RTC_Alarm_IRQn); /* USER CODE BEGIN RTC_MspInit 1 */ /* USER CODE END RTC_MspInit 1 */ @@ -116,6 +129,10 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* rtcHandle) /* Peripheral clock disable */ __HAL_RCC_RTC_DISABLE(); __HAL_RCC_RTCAPB_CLK_DISABLE(); + + /* RTC interrupt Deinit */ + HAL_NVIC_DisableIRQ(TAMP_STAMP_LSECSS_SSRU_IRQn); + HAL_NVIC_DisableIRQ(RTC_Alarm_IRQn); /* USER CODE BEGIN RTC_MspDeInit 1 */ /* USER CODE END RTC_MspDeInit 1 */ diff --git a/MX_Generated/Core/Src/stm32wlxx_hal_msp.c b/MX_Generated/Core/Src/stm32wlxx_hal_msp.c index 93413f7..e0367ee 100644 --- a/MX_Generated/Core/Src/stm32wlxx_hal_msp.c +++ b/MX_Generated/Core/Src/stm32wlxx_hal_msp.c @@ -20,6 +20,7 @@ /* Includes ------------------------------------------------------------------*/ #include "main.h" + /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ diff --git a/MX_Generated/Core/Src/stm32wlxx_it.c b/MX_Generated/Core/Src/stm32wlxx_it.c index b0bdd40..72fb275 100644 --- a/MX_Generated/Core/Src/stm32wlxx_it.c +++ b/MX_Generated/Core/Src/stm32wlxx_it.c @@ -55,8 +55,10 @@ /* USER CODE END 0 */ /* External variables --------------------------------------------------------*/ -extern DMA_HandleTypeDef hdma_lpuart1_rx; extern DMA_HandleTypeDef hdma_lpuart1_tx; +extern DMA_HandleTypeDef hdma_lpuart1_rx; +extern UART_HandleTypeDef hlpuart1; +extern RTC_HandleTypeDef hrtc; /* USER CODE BEGIN EV */ /* USER CODE END EV */ @@ -200,6 +202,20 @@ void SysTick_Handler(void) /* please refer to the startup file (startup_stm32wlxx.s). */ /******************************************************************************/ +/** + * @brief This function handles RTC Tamper, RTC TimeStamp, LSECSS and RTC SSRU Interrupts. + */ +void TAMP_STAMP_LSECSS_SSRU_IRQHandler(void) +{ + /* USER CODE BEGIN TAMP_STAMP_LSECSS_SSRU_IRQn 0 */ + + /* USER CODE END TAMP_STAMP_LSECSS_SSRU_IRQn 0 */ + HAL_RTCEx_SSRUIRQHandler(&hrtc); + /* USER CODE BEGIN TAMP_STAMP_LSECSS_SSRU_IRQn 1 */ + + /* USER CODE END TAMP_STAMP_LSECSS_SSRU_IRQn 1 */ +} + /** * @brief This function handles DMA1 Channel 1 Interrupt. */ @@ -208,7 +224,7 @@ void DMA1_Channel1_IRQHandler(void) /* USER CODE BEGIN DMA1_Channel1_IRQn 0 */ /* USER CODE END DMA1_Channel1_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_lpuart1_rx); + HAL_DMA_IRQHandler(&hdma_lpuart1_tx); /* USER CODE BEGIN DMA1_Channel1_IRQn 1 */ /* USER CODE END DMA1_Channel1_IRQn 1 */ @@ -222,12 +238,40 @@ void DMA1_Channel2_IRQHandler(void) /* USER CODE BEGIN DMA1_Channel2_IRQn 0 */ /* USER CODE END DMA1_Channel2_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_lpuart1_tx); + HAL_DMA_IRQHandler(&hdma_lpuart1_rx); /* USER CODE BEGIN DMA1_Channel2_IRQn 1 */ /* USER CODE END DMA1_Channel2_IRQn 1 */ } +/** + * @brief This function handles LPUART1 Interrupt. + */ +void LPUART1_IRQHandler(void) +{ + /* USER CODE BEGIN LPUART1_IRQn 0 */ + + /* USER CODE END LPUART1_IRQn 0 */ + HAL_UART_IRQHandler(&hlpuart1); + /* USER CODE BEGIN LPUART1_IRQn 1 */ + + /* USER CODE END LPUART1_IRQn 1 */ +} + +/** + * @brief This function handles RTC Alarms (A and B) Interrupt. + */ +void RTC_Alarm_IRQHandler(void) +{ + /* USER CODE BEGIN RTC_Alarm_IRQn 0 */ + + /* USER CODE END RTC_Alarm_IRQn 0 */ + HAL_RTC_AlarmIRQHandler(&hrtc); + /* USER CODE BEGIN RTC_Alarm_IRQn 1 */ + + /* USER CODE END RTC_Alarm_IRQn 1 */ +} + /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ diff --git a/MX_Generated/Core/Src/sys_app.c b/MX_Generated/Core/Src/sys_app.c index efd220b..e0a160c 100644 --- a/MX_Generated/Core/Src/sys_app.c +++ b/MX_Generated/Core/Src/sys_app.c @@ -74,6 +74,9 @@ static uint8_t SYS_TimerInitialisedFlag = 0; void SystemApp_Init(void) { /* USER CODE BEGIN SystemApp_Init_1 */ + __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_MSI); + UTIL_TIMER_Init(); + SYS_TimerInitialisedFlag = 1; /* USER CODE END SystemApp_Init_1 */ diff --git a/MX_Generated/Core/Src/usart.c b/MX_Generated/Core/Src/usart.c index 4540322..cc76b41 100644 --- a/MX_Generated/Core/Src/usart.c +++ b/MX_Generated/Core/Src/usart.c @@ -25,8 +25,8 @@ /* USER CODE END 0 */ UART_HandleTypeDef hlpuart1; -DMA_HandleTypeDef hdma_lpuart1_rx; DMA_HandleTypeDef hdma_lpuart1_tx; +DMA_HandleTypeDef hdma_lpuart1_rx; /* LPUART1 init function */ @@ -41,7 +41,7 @@ void MX_LPUART1_UART_Init(void) /* USER CODE END LPUART1_Init 1 */ hlpuart1.Instance = LPUART1; - hlpuart1.Init.BaudRate = 115200; + hlpuart1.Init.BaudRate = 9600; hlpuart1.Init.WordLength = UART_WORDLENGTH_8B; hlpuart1.Init.StopBits = UART_STOPBITS_1; hlpuart1.Init.Parity = UART_PARITY_NONE; @@ -50,20 +50,20 @@ void MX_LPUART1_UART_Init(void) hlpuart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; hlpuart1.Init.ClockPrescaler = UART_PRESCALER_DIV1; hlpuart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; - hlpuart1.FifoMode = UART_FIFOMODE_ENABLE; + hlpuart1.FifoMode = UART_FIFOMODE_DISABLE; if (HAL_UART_Init(&hlpuart1) != HAL_OK) { Error_Handler(); } - if (HAL_UARTEx_SetTxFifoThreshold(&hlpuart1, UART_TXFIFO_THRESHOLD_1_4) != HAL_OK) + if (HAL_UARTEx_SetTxFifoThreshold(&hlpuart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK) { Error_Handler(); } - if (HAL_UARTEx_SetRxFifoThreshold(&hlpuart1, UART_RXFIFO_THRESHOLD_1_4) != HAL_OK) + if (HAL_UARTEx_SetRxFifoThreshold(&hlpuart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK) { Error_Handler(); } - if (HAL_UARTEx_EnableFifoMode(&hlpuart1) != HAL_OK) + if (HAL_UARTEx_DisableFifoMode(&hlpuart1) != HAL_OK) { Error_Handler(); } @@ -87,7 +87,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) /** Initializes the peripherals clocks */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LPUART1; - PeriphClkInitStruct.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_PCLK1; + PeriphClkInitStruct.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_LSE; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); @@ -109,25 +109,8 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* LPUART1 DMA Init */ - /* LPUART1_RX Init */ - hdma_lpuart1_rx.Instance = DMA1_Channel1; - hdma_lpuart1_rx.Init.Request = DMA_REQUEST_LPUART1_RX; - hdma_lpuart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; - hdma_lpuart1_rx.Init.PeriphInc = DMA_PINC_DISABLE; - hdma_lpuart1_rx.Init.MemInc = DMA_MINC_ENABLE; - hdma_lpuart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; - hdma_lpuart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; - hdma_lpuart1_rx.Init.Mode = DMA_NORMAL; - hdma_lpuart1_rx.Init.Priority = DMA_PRIORITY_LOW; - if (HAL_DMA_Init(&hdma_lpuart1_rx) != HAL_OK) - { - Error_Handler(); - } - - __HAL_LINKDMA(uartHandle,hdmarx,hdma_lpuart1_rx); - /* LPUART1_TX Init */ - hdma_lpuart1_tx.Instance = DMA1_Channel2; + hdma_lpuart1_tx.Instance = DMA1_Channel1; hdma_lpuart1_tx.Init.Request = DMA_REQUEST_LPUART1_TX; hdma_lpuart1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; hdma_lpuart1_tx.Init.PeriphInc = DMA_PINC_DISABLE; @@ -143,6 +126,26 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) __HAL_LINKDMA(uartHandle,hdmatx,hdma_lpuart1_tx); + /* LPUART1_RX Init */ + hdma_lpuart1_rx.Instance = DMA1_Channel2; + hdma_lpuart1_rx.Init.Request = DMA_REQUEST_LPUART1_RX; + hdma_lpuart1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_lpuart1_rx.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_lpuart1_rx.Init.MemInc = DMA_MINC_ENABLE; + hdma_lpuart1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; + hdma_lpuart1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; + hdma_lpuart1_rx.Init.Mode = DMA_NORMAL; + hdma_lpuart1_rx.Init.Priority = DMA_PRIORITY_LOW; + if (HAL_DMA_Init(&hdma_lpuart1_rx) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(uartHandle,hdmarx,hdma_lpuart1_rx); + + /* LPUART1 interrupt Init */ + HAL_NVIC_SetPriority(LPUART1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(LPUART1_IRQn); /* USER CODE BEGIN LPUART1_MspInit 1 */ /* USER CODE END LPUART1_MspInit 1 */ @@ -167,8 +170,11 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3); /* LPUART1 DMA DeInit */ - HAL_DMA_DeInit(uartHandle->hdmarx); HAL_DMA_DeInit(uartHandle->hdmatx); + HAL_DMA_DeInit(uartHandle->hdmarx); + + /* LPUART1 interrupt Deinit */ + HAL_NVIC_DisableIRQ(LPUART1_IRQn); /* USER CODE BEGIN LPUART1_MspDeInit 1 */ /* USER CODE END LPUART1_MspDeInit 1 */ diff --git a/MX_Generated/LoRaWAN/App/lora_app.c b/MX_Generated/LoRaWAN/App/lora_app.c index e0552e8..8208b96 100644 --- a/MX_Generated/LoRaWAN/App/lora_app.c +++ b/MX_Generated/LoRaWAN/App/lora_app.c @@ -27,6 +27,8 @@ /* USER CODE BEGIN Includes */ +#include "lora_info.h" + /* USER CODE END Includes */ /* External variables ---------------------------------------------------------*/ @@ -153,6 +155,20 @@ static LmHandlerCallbacks_t LmHandlerCallbacks = }; /* USER CODE BEGIN PV */ + +static LmHandlerParams_t LmHandlerParams = +{ + .ActiveRegion = ACTIVE_REGION, + .DefaultClass = LORAWAN_DEFAULT_CLASS, + .AdrEnable = LORAWAN_ADR_STATE, + .IsTxConfirmed = LORAWAN_DEFAULT_CONFIRMED_MSG_STATE, + .TxDatarate = LORAWAN_DEFAULT_DATA_RATE, + .TxPower = LORAWAN_DEFAULT_TX_POWER, + .PingSlotPeriodicity = LORAWAN_DEFAULT_PING_SLOT_PERIODICITY, + .RxBCTimeout = LORAWAN_DEFAULT_CLASS_B_C_RESP_TIMEOUT +}; + + /* USER CODE END PV */ /* Exported functions ---------------------------------------------------------*/ @@ -168,6 +184,8 @@ void LoRaWAN_Init(void) /* USER CODE BEGIN LoRaWAN_Init_1 */ + LoraInfo_Init(); + /* USER CODE END LoRaWAN_Init_1 */ /* Init the Lora Stack*/ @@ -175,6 +193,9 @@ void LoRaWAN_Init(void) /* USER CODE BEGIN LoRaWAN_Init_Last */ + LmHandlerConfigure(&LmHandlerParams); + LmHandlerJoin(ACTIVATION_TYPE_OTAA, false); + /* USER CODE END LoRaWAN_Init_Last */ } diff --git a/MX_Generated/LoRaWAN/App/lora_app.h b/MX_Generated/LoRaWAN/App/lora_app.h index 94d841f..67015a7 100644 --- a/MX_Generated/LoRaWAN/App/lora_app.h +++ b/MX_Generated/LoRaWAN/App/lora_app.h @@ -45,6 +45,16 @@ extern "C" { /* Exported macros -----------------------------------------------------------*/ /* USER CODE BEGIN EM */ +#define ACTIVE_REGION LORAMAC_REGION_CN470 +#define LORAWAN_DEFAULT_CLASS CLASS_A +#define LORAWAN_ADR_STATE LORAMAC_HANDLER_ADR_ON +#define LORAWAN_DEFAULT_CONFIRMED_MSG_STATE LORAMAC_HANDLER_UNCONFIRMED_MSG +#define LORAWAN_DEFAULT_DATA_RATE DR_0 +#define LORAWAN_DEFAULT_TX_POWER TX_POWER_0 +#define LORAWAN_DEFAULT_PING_SLOT_PERIODICITY 4 +#define LORAWAN_DEFAULT_CLASS_B_C_RESP_TIMEOUT 8000 + + /* USER CODE END EM */ /* Exported functions prototypes ---------------------------------------------*/ diff --git a/MX_Generated/STM32WLE5CBUx.ioc b/MX_Generated/STM32WLE5CBUx.ioc index b5ea116..f84c550 100644 --- a/MX_Generated/STM32WLE5CBUx.ioc +++ b/MX_Generated/STM32WLE5CBUx.ioc @@ -5,42 +5,42 @@ ADC.SelectedChannel=ADC_CHANNEL_TEMPSENSOR|ADC_CHANNEL_VREFINT|ADC_CHANNEL_VBAT CAD.formats= CAD.pinconfig= CAD.provider= -Dma.LPUART1_RX.0.Direction=DMA_PERIPH_TO_MEMORY -Dma.LPUART1_RX.0.EventEnable=DISABLE -Dma.LPUART1_RX.0.Instance=DMA1_Channel1 -Dma.LPUART1_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE -Dma.LPUART1_RX.0.MemInc=DMA_MINC_ENABLE -Dma.LPUART1_RX.0.Mode=DMA_NORMAL -Dma.LPUART1_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE -Dma.LPUART1_RX.0.PeriphInc=DMA_PINC_DISABLE -Dma.LPUART1_RX.0.Polarity=HAL_DMAMUX_REQ_GEN_RISING -Dma.LPUART1_RX.0.Priority=DMA_PRIORITY_LOW -Dma.LPUART1_RX.0.RequestNumber=1 -Dma.LPUART1_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber -Dma.LPUART1_RX.0.SignalID=NONE -Dma.LPUART1_RX.0.SyncEnable=DISABLE -Dma.LPUART1_RX.0.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT -Dma.LPUART1_RX.0.SyncRequestNumber=1 -Dma.LPUART1_RX.0.SyncSignalID=NONE -Dma.LPUART1_TX.1.Direction=DMA_MEMORY_TO_PERIPH -Dma.LPUART1_TX.1.EventEnable=DISABLE -Dma.LPUART1_TX.1.Instance=DMA1_Channel2 -Dma.LPUART1_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE -Dma.LPUART1_TX.1.MemInc=DMA_MINC_ENABLE -Dma.LPUART1_TX.1.Mode=DMA_NORMAL -Dma.LPUART1_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE -Dma.LPUART1_TX.1.PeriphInc=DMA_PINC_DISABLE -Dma.LPUART1_TX.1.Polarity=HAL_DMAMUX_REQ_GEN_RISING -Dma.LPUART1_TX.1.Priority=DMA_PRIORITY_LOW -Dma.LPUART1_TX.1.RequestNumber=1 -Dma.LPUART1_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber -Dma.LPUART1_TX.1.SignalID=NONE -Dma.LPUART1_TX.1.SyncEnable=DISABLE -Dma.LPUART1_TX.1.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT -Dma.LPUART1_TX.1.SyncRequestNumber=1 -Dma.LPUART1_TX.1.SyncSignalID=NONE -Dma.Request0=LPUART1_RX -Dma.Request1=LPUART1_TX +Dma.LPUART1_RX.1.Direction=DMA_PERIPH_TO_MEMORY +Dma.LPUART1_RX.1.EventEnable=DISABLE +Dma.LPUART1_RX.1.Instance=DMA1_Channel2 +Dma.LPUART1_RX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.LPUART1_RX.1.MemInc=DMA_MINC_ENABLE +Dma.LPUART1_RX.1.Mode=DMA_NORMAL +Dma.LPUART1_RX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.LPUART1_RX.1.PeriphInc=DMA_PINC_DISABLE +Dma.LPUART1_RX.1.Polarity=HAL_DMAMUX_REQ_GEN_RISING +Dma.LPUART1_RX.1.Priority=DMA_PRIORITY_LOW +Dma.LPUART1_RX.1.RequestNumber=1 +Dma.LPUART1_RX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber +Dma.LPUART1_RX.1.SignalID=NONE +Dma.LPUART1_RX.1.SyncEnable=DISABLE +Dma.LPUART1_RX.1.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT +Dma.LPUART1_RX.1.SyncRequestNumber=1 +Dma.LPUART1_RX.1.SyncSignalID=NONE +Dma.LPUART1_TX.0.Direction=DMA_MEMORY_TO_PERIPH +Dma.LPUART1_TX.0.EventEnable=DISABLE +Dma.LPUART1_TX.0.Instance=DMA1_Channel1 +Dma.LPUART1_TX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE +Dma.LPUART1_TX.0.MemInc=DMA_MINC_ENABLE +Dma.LPUART1_TX.0.Mode=DMA_NORMAL +Dma.LPUART1_TX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE +Dma.LPUART1_TX.0.PeriphInc=DMA_PINC_DISABLE +Dma.LPUART1_TX.0.Polarity=HAL_DMAMUX_REQ_GEN_RISING +Dma.LPUART1_TX.0.Priority=DMA_PRIORITY_LOW +Dma.LPUART1_TX.0.RequestNumber=1 +Dma.LPUART1_TX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,SignalID,Polarity,RequestNumber,SyncSignalID,SyncPolarity,SyncEnable,EventEnable,SyncRequestNumber +Dma.LPUART1_TX.0.SignalID=NONE +Dma.LPUART1_TX.0.SyncEnable=DISABLE +Dma.LPUART1_TX.0.SyncPolarity=HAL_DMAMUX_SYNC_NO_EVENT +Dma.LPUART1_TX.0.SyncRequestNumber=1 +Dma.LPUART1_TX.0.SyncSignalID=NONE +Dma.Request0=LPUART1_TX +Dma.Request1=LPUART1_RX Dma.RequestsNb=2 File.Version=6 GPIO.groupedBy=Group By Peripherals @@ -57,11 +57,8 @@ LORAWAN.USE_ADC=true LORAWAN.USE_LPM=true LORAWAN.USE_RTC=true LORAWAN.USE_UART=true -LPUART1.BaudRate=115200 -LPUART1.FIFOMode=UART_FIFOMODE_ENABLE -LPUART1.IPParameters=BaudRate,FIFOMode,TXFIFOThreshold,RXFIFOThreshold -LPUART1.RXFIFOThreshold=UART_RXFIFO_THRESHOLD_1_4 -LPUART1.TXFIFOThreshold=UART_TXFIFO_THRESHOLD_1_4 +LPUART1.BaudRate=9600 +LPUART1.IPParameters=BaudRate LoRaWAN.BSP.number=3 LoRaWAN0.BSP.STBoard=false LoRaWAN0.BSP.api=Unknown @@ -139,20 +136,23 @@ Mcu.PinsNb=22 Mcu.ThirdPartyNb=0 Mcu.UserConstants=RTC_PREDIV_A,((1<<(15-RTC_N_PREDIV_S))-1);RTC_N_PREDIV_S,10;RTC_PREDIV_S,((1<