From b0a1f4fc2bb368ceed8383d7ecea68fbf13b7f33 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 21 Mar 2024 16:49:25 +0800 Subject: [PATCH 01/25] disable DBinit --- Core/Src/sys_app.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/Src/sys_app.c b/Core/Src/sys_app.c index 705ba80..aeb505e 100644 --- a/Core/Src/sys_app.c +++ b/Core/Src/sys_app.c @@ -100,7 +100,7 @@ void SystemApp_Init(void) UTIL_TIMER_Init(); SYS_TimerInitialisedFlag = 1; /* Initializes the SW probes pins and the monitor RF pins via Alternate Function */ - DBG_Init(); + //DBG_Init(); /*Initialize the terminal */ UTIL_ADV_TRACE_Init(); From 4271392e5dfe988921cbb01ed6955a570d37a5fa Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 21 Mar 2024 16:56:25 +0800 Subject: [PATCH 02/25] .. --- Core/Inc/sys_conf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/Inc/sys_conf.h b/Core/Inc/sys_conf.h index 1f15237..1d72723 100644 --- a/Core/Inc/sys_conf.h +++ b/Core/Inc/sys_conf.h @@ -52,7 +52,7 @@ extern "C" { /** * @brief Enable trace logs */ -#define APP_LOG_ENABLED 1 +#define APP_LOG_ENABLED 0 /** * @brief Activate monitoring (probes) of some internal RF signals for debug purpose From aebafc0d8c1163e18fbf9164387b8a94ba29f7d4 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 21 Mar 2024 17:08:30 +0800 Subject: [PATCH 03/25] DISABLE USART2_RX to analog --- Core/Inc/sys_conf.h | 2 +- Core/Src/usart.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Core/Inc/sys_conf.h b/Core/Inc/sys_conf.h index 1d72723..16d0145 100644 --- a/Core/Inc/sys_conf.h +++ b/Core/Inc/sys_conf.h @@ -47,7 +47,7 @@ extern "C" { /** * @brief Verbose level for all trace logs */ -#define VERBOSE_LEVEL VLEVEL_M +#define VERBOSE_LEVEL VLEVEL_OFF /** * @brief Enable trace logs diff --git a/Core/Src/usart.c b/Core/Src/usart.c index bf9fd2b..62e4a98 100644 --- a/Core/Src/usart.c +++ b/Core/Src/usart.c @@ -100,13 +100,18 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) PA3 ------> USART2_RX PA2 ------> USART2_TX */ - GPIO_InitStruct.Pin = USARTx_RX_Pin|USARTx_TX_Pin; + GPIO_InitStruct.Pin = USARTx_TX_Pin; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF7_USART2; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + GPIO_InitStruct.Pin = USARTx_RX_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + /* USART2 DMA Init */ /* USART2_TX Init */ hdma_usart2_tx.Instance = DMA1_Channel5; From fcd5f8b310c2f2c3a0e41e6f9afc9bf26c1b029a Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Mon, 25 Mar 2024 10:22:03 +0800 Subject: [PATCH 04/25] add battery level and PA0 state to uplink message --- LoRaWAN/App/lora_app.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 0eabe19..553e8d2 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -446,7 +446,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { case BUT1_Pin: /* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */ - if (EventType == TX_ON_EVENT) + //if (EventType == TX_ON_EVENT) { UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); } From aa2cbe27094cf0ef29dde1b4f7b0a00a28e652a2 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Mon, 25 Mar 2024 10:52:11 +0800 Subject: [PATCH 05/25] fixed normal open 1.6uA, closed, 90uA --- Core/Src/gpio.c | 21 ++++++++++++++++++--- Core/Src/stm32_lpm_if.c | 3 +++ LoRaWAN/App/lora_app.c | 4 ++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index 7cda6a6..4dd4cfe 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -49,6 +49,21 @@ void MX_GPIO_Init(void) __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); + GPIO_InitStruct.Pin = GPIO_PIN_All; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + + GPIO_InitStruct.Pin = BUT1_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; + GPIO_InitStruct.Pull = GPIO_PULLUP; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + +#if 0 /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, LED1_Pin|LED2_Pin|PROB2_Pin|PROB1_Pin |LED3_Pin, GPIO_PIN_RESET); @@ -78,17 +93,17 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(BUT3_GPIO_Port, &GPIO_InitStruct); - +#endif /* EXTI interrupt init*/ HAL_NVIC_SetPriority(EXTI0_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI0_IRQn); - +#if 0 HAL_NVIC_SetPriority(EXTI1_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI1_IRQn); HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI9_5_IRQn); - +#endif } /* USER CODE BEGIN 2 */ diff --git a/Core/Src/stm32_lpm_if.c b/Core/Src/stm32_lpm_if.c index 8b623ee..f358f2d 100644 --- a/Core/Src/stm32_lpm_if.c +++ b/Core/Src/stm32_lpm_if.c @@ -94,6 +94,9 @@ void PWR_EnterStopMode(void) /* USER CODE BEGIN EnterStopMode_1 */ /* USER CODE END EnterStopMode_1 */ + //HAL_GPIO_WritePin(GPIOB, GPIO_PIN_All, GPIO_PIN_RESET); + //HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_RESET); + //HAL_GPIO_WritePin(GPIOA, GPIO_PIN_All, GPIO_PIN_RESET); HAL_SuspendTick(); /* Clear Status Flag before entering STOP/STANDBY Mode */ LL_PWR_ClearFlag_C1STOP_C1STB(); diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 553e8d2..91208f1 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -610,8 +610,8 @@ static void SendTxData(void) { AppData.Buffer[i++] = 0; AppData.Buffer[i++] = 0; - AppData.Buffer[i++] = 0; - AppData.Buffer[i++] = 0; + AppData.Buffer[i++] = (uint8_t)(99*GetBatteryLevel()/255); /* 1 (very low) to 254 (fully charged) */ + AppData.Buffer[i++] = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); } else { From 85a9fe722f830d69bf406b0913840bba018af75b Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Mon, 25 Mar 2024 12:00:26 +0800 Subject: [PATCH 06/25] try send changed status to uplink message --- Core/Src/gpio.c | 4 ++-- Core/Src/stm32_lpm_if.c | 4 ++-- LoRaWAN/App/lora_app.c | 19 ++++++++++++++----- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index 4dd4cfe..9cd7e13 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -59,8 +59,8 @@ void MX_GPIO_Init(void) __HAL_RCC_GPIOC_CLK_ENABLE(); GPIO_InitStruct.Pin = BUT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; - GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING; + GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); #if 0 diff --git a/Core/Src/stm32_lpm_if.c b/Core/Src/stm32_lpm_if.c index f358f2d..f174631 100644 --- a/Core/Src/stm32_lpm_if.c +++ b/Core/Src/stm32_lpm_if.c @@ -94,9 +94,9 @@ void PWR_EnterStopMode(void) /* USER CODE BEGIN EnterStopMode_1 */ /* USER CODE END EnterStopMode_1 */ - //HAL_GPIO_WritePin(GPIOB, GPIO_PIN_All, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOB, GPIO_PIN_All, GPIO_PIN_RESET); //HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_RESET); - //HAL_GPIO_WritePin(GPIOA, GPIO_PIN_All, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOA, ~GPIO_PIN_0, GPIO_PIN_RESET); HAL_SuspendTick(); /* Clear Status Flag before entering STOP/STANDBY Mode */ LL_PWR_ClearFlag_C1STOP_C1STB(); diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 91208f1..fcc4c65 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -342,7 +342,7 @@ static UTIL_TIMER_Object_t JoinLedTimer; /* Exported functions ---------------------------------------------------------*/ /* USER CODE BEGIN EF */ - +volatile uint8_t door_status=0, door_changed_flag=0, door_previous_status=0; /* USER CODE END EF */ void LoRaWAN_Init(void) @@ -666,12 +666,21 @@ static void SendTxData(void) static void OnTxTimerEvent(void *context) { /* USER CODE BEGIN OnTxTimerEvent_1 */ - + door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); + if (door_status != door_previous_status) + { + door_changed_flag = 1; + door_previous_status = door_status; + } /* USER CODE END OnTxTimerEvent_1 */ - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + if (door_changed_flag ==1 ) + { + door_changed_flag = 0; + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - /*Wait for next tx slot*/ - UTIL_TIMER_Start(&TxTimer); + /*Wait for next tx slot*/ + UTIL_TIMER_Start(&TxTimer); + } /* USER CODE BEGIN OnTxTimerEvent_2 */ /* USER CODE END OnTxTimerEvent_2 */ From 7adb1031ee9ca1a70be85ad494553d7b5c43a99f Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Mon, 25 Mar 2024 12:58:57 +0800 Subject: [PATCH 07/25] improved only send changed status up, --- Core/Src/gpio.c | 2 +- LoRaWAN/App/lora_app.c | 32 +++++++++++++++++++++++++++++++- STM32CubeIDE/WL55JC_AS923.launch | 1 + 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index 9cd7e13..8234296 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -60,7 +60,7 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Pin = BUT1_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING; - GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); #if 0 diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index fcc4c65..49697fb 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -448,6 +448,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) /* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */ //if (EventType == TX_ON_EVENT) { + door_changed_flag =1; UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); } break; @@ -557,6 +558,22 @@ static void SendTxData(void) sensor_t sensor_data; UTIL_TIMER_Time_t nextTxIn = 0; + door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); + door_changed_flag = 0; + if (door_status != door_previous_status) + { + door_previous_status = door_status; + } + +#if 0 + if (door_changed_flag ==1 ) + { + door_changed_flag = 0; + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + UTIL_TIMER_Start(&TxTimer); + } +#endif + if (LmHandlerIsBusy() == false) { #ifdef CAYENNE_LPP @@ -611,7 +628,7 @@ static void SendTxData(void) AppData.Buffer[i++] = 0; AppData.Buffer[i++] = 0; AppData.Buffer[i++] = (uint8_t)(99*GetBatteryLevel()/255); /* 1 (very low) to 254 (fully charged) */ - AppData.Buffer[i++] = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); + AppData.Buffer[i++] = door_status; } else { @@ -666,6 +683,7 @@ static void SendTxData(void) static void OnTxTimerEvent(void *context) { /* USER CODE BEGIN OnTxTimerEvent_1 */ +#if 0 door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); if (door_status != door_previous_status) { @@ -681,6 +699,18 @@ static void OnTxTimerEvent(void *context) /*Wait for next tx slot*/ UTIL_TIMER_Start(&TxTimer); } +#endif + door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); + door_changed_flag = 0; + if (door_status != door_previous_status) + { + door_previous_status = door_status; + + + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + UTIL_TIMER_Start(&TxTimer); + + } /* USER CODE BEGIN OnTxTimerEvent_2 */ /* USER CODE END OnTxTimerEvent_2 */ diff --git a/STM32CubeIDE/WL55JC_AS923.launch b/STM32CubeIDE/WL55JC_AS923.launch index 9c1e726..4ffa9b7 100644 --- a/STM32CubeIDE/WL55JC_AS923.launch +++ b/STM32CubeIDE/WL55JC_AS923.launch @@ -78,5 +78,6 @@ <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> <listEntry value="4"/> </listAttribute> + <stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/> <stringAttribute key="process_factory_id" value="com.st.stm32cube.ide.mcu.debug.launch.HardwareDebugProcessFactory"/> </launchConfiguration> From 1140aa9a1926668b52324d567176278e019247ca Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Mon, 25 Mar 2024 13:29:34 +0800 Subject: [PATCH 08/25] 1.8uA at open state and 20 uA at closed for a few seconds --- Core/Src/stm32_lpm_if.c | 4 +++- LoRaWAN/App/lora_app.c | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Core/Src/stm32_lpm_if.c b/Core/Src/stm32_lpm_if.c index f174631..2b3bfd4 100644 --- a/Core/Src/stm32_lpm_if.c +++ b/Core/Src/stm32_lpm_if.c @@ -96,7 +96,8 @@ void PWR_EnterStopMode(void) /* USER CODE END EnterStopMode_1 */ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_All, GPIO_PIN_RESET); //HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_RESET); - HAL_GPIO_WritePin(GPIOA, ~GPIO_PIN_0, GPIO_PIN_RESET); + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_All, GPIO_PIN_RESET); + HAL_GPIO_DeInit(GPIOA,GPIO_PIN_0); HAL_SuspendTick(); /* Clear Status Flag before entering STOP/STANDBY Mode */ LL_PWR_ClearFlag_C1STOP_C1STB(); @@ -123,6 +124,7 @@ void PWR_ExitStopMode(void) SRAM ctrls, DMAx, DMAMux, AES, RNG, HSEM */ /* Resume not retained USARTx and DMA */ + MX_GPIO_Init(); vcom_Resume(); /* USER CODE BEGIN ExitStopMode_2 */ diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 49697fb..e584b2d 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -36,7 +36,7 @@ #include "flash_if.h" /* USER CODE BEGIN Includes */ - +#include "gpio.h" /* USER CODE END Includes */ /* External variables ---------------------------------------------------------*/ @@ -700,9 +700,10 @@ static void OnTxTimerEvent(void *context) UTIL_TIMER_Start(&TxTimer); } #endif + MX_GPIO_Init(); door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); - door_changed_flag = 0; - if (door_status != door_previous_status) + //door_changed_flag = 0; + //if (door_status != door_previous_status) { door_previous_status = door_status; From f25c396a8dd9eba037c05da49ac23b1a5fe5587d Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Tue, 26 Mar 2024 17:34:22 +0800 Subject: [PATCH 09/25] with debug, door open/close, three lines... --- Core/Inc/sys_conf.h | 6 +- Core/Inc/utilities_def.h | 2 +- Core/Src/gpio.c | 4 +- Core/Src/stm32_lpm_if.c | 8 +- LoRaWAN/App/lora_app.c | 77 +++++++------------ .../.settings/stm32cubeide.project.prefs | 6 +- STM32CubeIDE/STM32WL55JCIX_FLASH.ld | 10 +-- 7 files changed, 45 insertions(+), 68 deletions(-) diff --git a/Core/Inc/sys_conf.h b/Core/Inc/sys_conf.h index 16d0145..de8c96a 100644 --- a/Core/Inc/sys_conf.h +++ b/Core/Inc/sys_conf.h @@ -47,12 +47,12 @@ extern "C" { /** * @brief Verbose level for all trace logs */ -#define VERBOSE_LEVEL VLEVEL_OFF +#define VERBOSE_LEVEL VLEVEL_M /** * @brief Enable trace logs */ -#define APP_LOG_ENABLED 0 +#define APP_LOG_ENABLED 1 /** * @brief Activate monitoring (probes) of some internal RF signals for debug purpose @@ -75,7 +75,7 @@ extern "C" { * @brief Enable/Disable MCU Debugger pins (dbg serial wires) * @note by HW serial wires are ON by default, need to put them OFF to save power */ -#define DEBUGGER_ENABLED 0 +#define DEBUGGER_ENABLED 1 /** * @brief Disable Low Power mode diff --git a/Core/Inc/utilities_def.h b/Core/Inc/utilities_def.h index bcf7700..f28e621 100644 --- a/Core/Inc/utilities_def.h +++ b/Core/Inc/utilities_def.h @@ -80,7 +80,7 @@ typedef enum CFG_SEQ_Task_LoRaStoreContextEvent, CFG_SEQ_Task_LoRaStopJoinEvent, /* USER CODE BEGIN CFG_SEQ_Task_Id_t */ - + CFG_SEQ_Task_YunhornSTSP1CheckingEvent, /* USER CODE END CFG_SEQ_Task_Id_t */ CFG_SEQ_Task_NBR } CFG_SEQ_Task_Id_t; diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index 8234296..578c5fe 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -55,8 +55,8 @@ void MX_GPIO_Init(void) HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_DISABLE(); + __HAL_RCC_GPIOC_CLK_DISABLE(); GPIO_InitStruct.Pin = BUT1_Pin; GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING; diff --git a/Core/Src/stm32_lpm_if.c b/Core/Src/stm32_lpm_if.c index 2b3bfd4..7ca55e6 100644 --- a/Core/Src/stm32_lpm_if.c +++ b/Core/Src/stm32_lpm_if.c @@ -25,7 +25,7 @@ #include "usart_if.h" /* USER CODE BEGIN Includes */ - +#include "gpio.h" /* USER CODE END Includes */ /* External variables ---------------------------------------------------------*/ @@ -96,8 +96,8 @@ void PWR_EnterStopMode(void) /* USER CODE END EnterStopMode_1 */ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_All, GPIO_PIN_RESET); //HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_RESET); - HAL_GPIO_WritePin(GPIOA, GPIO_PIN_All, GPIO_PIN_RESET); - HAL_GPIO_DeInit(GPIOA,GPIO_PIN_0); + HAL_GPIO_WritePin(GPIOA, ~GPIO_PIN_0, GPIO_PIN_RESET); + HAL_SuspendTick(); /* Clear Status Flag before entering STOP/STANDBY Mode */ LL_PWR_ClearFlag_C1STOP_C1STB(); @@ -124,7 +124,7 @@ void PWR_ExitStopMode(void) SRAM ctrls, DMAx, DMAMux, AES, RNG, HSEM */ /* Resume not retained USARTx and DMA */ - MX_GPIO_Init(); + //MX_GPIO_Init(); vcom_Resume(); /* USER CODE BEGIN ExitStopMode_2 */ diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index e584b2d..89495b7 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -215,6 +215,7 @@ static void OnPingSlotPeriodicityChanged(uint8_t pingSlotPeriodicity); static void OnSystemReset(void); /* USER CODE BEGIN PFP */ +static void OnYunhornSTSP1CheckingEvent(void); /** * @brief LED Tx timer callback function @@ -300,7 +301,7 @@ static UTIL_TIMER_Object_t TxTimer; /** * @brief Tx Timer period */ -static UTIL_TIMER_Time_t TxPeriodicity = APP_TX_DUTYCYCLE; +static UTIL_TIMER_Time_t TxPeriodicity = 1000; /** * @brief Join Timer period @@ -404,7 +405,7 @@ void LoRaWAN_Init(void) UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), UTIL_SEQ_RFU, SendTxData); UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_LoRaStoreContextEvent), UTIL_SEQ_RFU, StoreContext); UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_LoRaStopJoinEvent), UTIL_SEQ_RFU, StopJoin); - + UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent),UTIL_SEQ_RFU, OnYunhornSTSP1CheckingEvent); /* Init Info table used by LmHandler*/ LoraInfo_Init(); @@ -446,9 +447,10 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { case BUT1_Pin: /* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */ - //if (EventType == TX_ON_EVENT) + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent), CFG_SEQ_Prio_0); + APP_LOG(TS_OFF,VLEVEL_M,"... BUT1............. \r\n"); + if (EventType == TX_ON_EVENT) { - door_changed_flag =1; UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); } break; @@ -467,7 +469,20 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) /* Private functions ---------------------------------------------------------*/ /* USER CODE BEGIN PrFD */ +static void OnYunhornSTSP1CheckingEvent(void) +{ + + door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); + APP_LOG(TS_OFF,VLEVEL_M,"\r\nDOOR_STATUS= %u \r\n",door_status); + if (door_status != door_previous_status) + { + door_previous_status = door_status; + door_changed_flag = 1; + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + } + +} /* USER CODE END PrFD */ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params) @@ -558,22 +573,6 @@ static void SendTxData(void) sensor_t sensor_data; UTIL_TIMER_Time_t nextTxIn = 0; - door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); - door_changed_flag = 0; - if (door_status != door_previous_status) - { - door_previous_status = door_status; - } - -#if 0 - if (door_changed_flag ==1 ) - { - door_changed_flag = 0; - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - UTIL_TIMER_Start(&TxTimer); - } -#endif - if (LmHandlerIsBusy() == false) { #ifdef CAYENNE_LPP @@ -589,10 +588,10 @@ static void SendTxData(void) #endif /* CAYENNE_LPP */ EnvSensors_Read(&sensor_data); - +#if 0 APP_LOG(TS_ON, VLEVEL_M, "VDDA: %d\r\n", batteryLevel); APP_LOG(TS_ON, VLEVEL_M, "temp: %d\r\n", (int16_t)(sensor_data.temperature)); - +#endif AppData.Port = LORAWAN_USER_APP_PORT; #ifdef CAYENNE_LPP @@ -683,34 +682,12 @@ static void SendTxData(void) static void OnTxTimerEvent(void *context) { /* USER CODE BEGIN OnTxTimerEvent_1 */ -#if 0 - door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); - if (door_status != door_previous_status) - { - door_changed_flag = 1; - door_previous_status = door_status; - } - /* USER CODE END OnTxTimerEvent_1 */ - if (door_changed_flag ==1 ) - { - door_changed_flag = 0; - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - - /*Wait for next tx slot*/ - UTIL_TIMER_Start(&TxTimer); - } -#endif - MX_GPIO_Init(); - door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); - //door_changed_flag = 0; - //if (door_status != door_previous_status) - { - door_previous_status = door_status; - - - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - UTIL_TIMER_Start(&TxTimer); - + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent), CFG_SEQ_Prio_0); + if (door_changed_flag ==1) + { + door_changed_flag =0; + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + UTIL_TIMER_Start(&TxTimer); } /* USER CODE BEGIN OnTxTimerEvent_2 */ diff --git a/STM32CubeIDE/.settings/stm32cubeide.project.prefs b/STM32CubeIDE/.settings/stm32cubeide.project.prefs index 481391e..e052a6a 100644 --- a/STM32CubeIDE/.settings/stm32cubeide.project.prefs +++ b/STM32CubeIDE/.settings/stm32cubeide.project.prefs @@ -1,4 +1,4 @@ -2F62501ED4689FB349E356AB974DBE57=95112E708683D54F6AC1ADC68D917C29 -8DF89ED150041C4CBC7CB9A9CAA90856=95112E708683D54F6AC1ADC68D917C29 -DC22A860405A8BF2F2C095E5B6529F12=708FD40520C1EE5CFD2122309291F653 +2F62501ED4689FB349E356AB974DBE57=E4D60684DA61280BD06389F4CFDF2587 +8DF89ED150041C4CBC7CB9A9CAA90856=E4D60684DA61280BD06389F4CFDF2587 +DC22A860405A8BF2F2C095E5B6529F12=74CD6EB106FB50B767E4FE71225C7638 eclipse.preferences.version=1 diff --git a/STM32CubeIDE/STM32WL55JCIX_FLASH.ld b/STM32CubeIDE/STM32WL55JCIX_FLASH.ld index d45d121..48c962e 100644 --- a/STM32CubeIDE/STM32WL55JCIX_FLASH.ld +++ b/STM32CubeIDE/STM32WL55JCIX_FLASH.ld @@ -91,13 +91,13 @@ SECTIONS . = ALIGN(8); } >FLASH - .ARM.extab : { + .ARM.extab(READONLY) : { . = ALIGN(8); *(.ARM.extab* .gnu.linkonce.armextab.*) . = ALIGN(8); } >FLASH - .ARM : { + .ARM(READONLY) : { . = ALIGN(8); __exidx_start = .; *(.ARM.exidx*) @@ -105,7 +105,7 @@ SECTIONS . = ALIGN(8); } >FLASH - .preinit_array : + .preinit_array(READONLY) : { . = ALIGN(8); PROVIDE_HIDDEN (__preinit_array_start = .); @@ -114,7 +114,7 @@ SECTIONS . = ALIGN(8); } >FLASH - .init_array : + .init_array(READONLY) : { . = ALIGN(8); PROVIDE_HIDDEN (__init_array_start = .); @@ -124,7 +124,7 @@ SECTIONS . = ALIGN(8); } >FLASH - .fini_array : + .fini_array(READONLY) : { . = ALIGN(8); PROVIDE_HIDDEN (__fini_array_start = .); From 764e5a9d91b203e1da4e80ed97abc955b4ca1b82 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Wed, 27 Mar 2024 13:00:18 +0800 Subject: [PATCH 10/25] improve door open/close logic with timer --- LoRaWAN/App/lora_app.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 89495b7..43dc765 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -344,6 +344,7 @@ static UTIL_TIMER_Object_t JoinLedTimer; /* Exported functions ---------------------------------------------------------*/ /* USER CODE BEGIN EF */ volatile uint8_t door_status=0, door_changed_flag=0, door_previous_status=0; +volatile uint32_t checking_sn=0; /* USER CODE END EF */ void LoRaWAN_Init(void) @@ -424,7 +425,7 @@ void LoRaWAN_Init(void) if (EventType == TX_ON_TIMER) { /* send every time timer elapses */ - UTIL_TIMER_Create(&TxTimer, TxPeriodicity, UTIL_TIMER_ONESHOT, OnTxTimerEvent, NULL); + UTIL_TIMER_Create(&TxTimer, TxPeriodicity, UTIL_TIMER_PERIODIC, OnTxTimerEvent, NULL); UTIL_TIMER_Start(&TxTimer); } else @@ -447,8 +448,9 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { case BUT1_Pin: /* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */ + door_changed_flag = 1; UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent), CFG_SEQ_Prio_0); - APP_LOG(TS_OFF,VLEVEL_M,"... BUT1............. \r\n"); + if (EventType == TX_ON_EVENT) { UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); @@ -474,14 +476,15 @@ static void OnYunhornSTSP1CheckingEvent(void) door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); - APP_LOG(TS_OFF,VLEVEL_M,"\r\nDOOR_STATUS= %u \r\n",door_status); + if (door_status != door_previous_status) { door_previous_status = door_status; door_changed_flag = 1; - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + APP_LOG(TS_OFF,VLEVEL_M,"\r\n----- Door Status Changed-------------\r\n"); } + //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); } /* USER CODE END PrFD */ @@ -687,7 +690,7 @@ static void OnTxTimerEvent(void *context) { door_changed_flag =0; UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - UTIL_TIMER_Start(&TxTimer); + //UTIL_TIMER_Start(&TxTimer); } /* USER CODE BEGIN OnTxTimerEvent_2 */ From 7f3e94cfafcb483b4143916f85776541d030b547 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Wed, 27 Mar 2024 13:13:58 +0800 Subject: [PATCH 11/25] disable debug/log console output with open 1.8uA, closed 81uA --- Core/Inc/sys_conf.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Core/Inc/sys_conf.h b/Core/Inc/sys_conf.h index de8c96a..16d0145 100644 --- a/Core/Inc/sys_conf.h +++ b/Core/Inc/sys_conf.h @@ -47,12 +47,12 @@ extern "C" { /** * @brief Verbose level for all trace logs */ -#define VERBOSE_LEVEL VLEVEL_M +#define VERBOSE_LEVEL VLEVEL_OFF /** * @brief Enable trace logs */ -#define APP_LOG_ENABLED 1 +#define APP_LOG_ENABLED 0 /** * @brief Activate monitoring (probes) of some internal RF signals for debug purpose @@ -75,7 +75,7 @@ extern "C" { * @brief Enable/Disable MCU Debugger pins (dbg serial wires) * @note by HW serial wires are ON by default, need to put them OFF to save power */ -#define DEBUGGER_ENABLED 1 +#define DEBUGGER_ENABLED 0 /** * @brief Disable Low Power mode From 25da5701d201c9ce15068b0c995f0a405b1a4eed Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Wed, 3 Apr 2024 18:32:29 +0800 Subject: [PATCH 12/25] closed: 110uA, open 2-3uA --- Core/Src/gpio.c | 2 +- Core/Src/rtc.c | 4 ++-- Core/Src/stm32_lpm_if.c | 4 ++-- Core/Src/stm32wlxx_it.c | 4 ++-- Core/Src/sys_app.c | 2 +- STM32CubeIDE/.settings/language.settings.xml | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index 578c5fe..f51ed30 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -62,7 +62,7 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - + __HAL_RCC_GPIOA_CLK_DISABLE(); #if 0 /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, LED1_Pin|LED2_Pin|PROB2_Pin|PROB1_Pin diff --git a/Core/Src/rtc.c b/Core/Src/rtc.c index 04a8214..918ceaf 100644 --- a/Core/Src/rtc.c +++ b/Core/Src/rtc.c @@ -65,7 +65,7 @@ void MX_RTC_Init(void) { Error_Handler(); } - +#if 0 /** Enable the Alarm A */ sAlarm.BinaryAutoClr = RTC_ALARMSUBSECONDBIN_AUTOCLR_NO; @@ -78,7 +78,7 @@ void MX_RTC_Init(void) Error_Handler(); } /* USER CODE BEGIN RTC_Init 2 */ - +#endif /* USER CODE END RTC_Init 2 */ } diff --git a/Core/Src/stm32_lpm_if.c b/Core/Src/stm32_lpm_if.c index 7ca55e6..66c1338 100644 --- a/Core/Src/stm32_lpm_if.c +++ b/Core/Src/stm32_lpm_if.c @@ -95,8 +95,8 @@ void PWR_EnterStopMode(void) /* USER CODE END EnterStopMode_1 */ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_All, GPIO_PIN_RESET); - //HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOA, ~GPIO_PIN_0, GPIO_PIN_RESET); + vcom_DeInit(); HAL_SuspendTick(); /* Clear Status Flag before entering STOP/STANDBY Mode */ @@ -125,7 +125,7 @@ void PWR_ExitStopMode(void) /* Resume not retained USARTx and DMA */ //MX_GPIO_Init(); - vcom_Resume(); + //vcom_Resume(); /* USER CODE BEGIN ExitStopMode_2 */ /* USER CODE END ExitStopMode_2 */ diff --git a/Core/Src/stm32wlxx_it.c b/Core/Src/stm32wlxx_it.c index 66231ac..bfc2186 100644 --- a/Core/Src/stm32wlxx_it.c +++ b/Core/Src/stm32wlxx_it.c @@ -227,7 +227,7 @@ void EXTI0_IRQHandler(void) /* USER CODE END EXTI0_IRQn 1 */ } - +#if 0 /** * @brief This function handles EXTI Line 1 Interrupt. */ @@ -283,7 +283,7 @@ void USART2_IRQHandler(void) /* USER CODE END USART2_IRQn 1 */ } - +#endif /** * @brief This function handles RTC Alarms (A and B) Interrupt. */ diff --git a/Core/Src/sys_app.c b/Core/Src/sys_app.c index aeb505e..42d7e5d 100644 --- a/Core/Src/sys_app.c +++ b/Core/Src/sys_app.c @@ -122,7 +122,7 @@ void SystemApp_Init(void) UTIL_LPM_Init(); /* Disable Stand-by mode */ UTIL_LPM_SetOffMode((1 << CFG_LPM_APPLI_Id), UTIL_LPM_DISABLE); - + UTIL_LPM_SetOffMode((1 << CFG_LPM_UART_TX_Id), UTIL_LPM_ENABLE); #if defined (LOW_POWER_DISABLE) && (LOW_POWER_DISABLE == 1) /* Disable Stop Mode */ UTIL_LPM_SetStopMode((1 << CFG_LPM_APPLI_Id), UTIL_LPM_DISABLE); diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index 8480e85..24fc8ca 100644 --- a/STM32CubeIDE/.settings/language.settings.xml +++ b/STM32CubeIDE/.settings/language.settings.xml @@ -5,7 +5,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-877539789554811708" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> @@ -16,7 +16,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-877539789554811708" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> From 0b430cba4eb873b15bf38fb78d331b31b98c3f84 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Wed, 3 Apr 2024 19:07:30 +0800 Subject: [PATCH 13/25] try standby mode --- Core/Src/stm32_lpm_if.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Core/Src/stm32_lpm_if.c b/Core/Src/stm32_lpm_if.c index 66c1338..9d98b45 100644 --- a/Core/Src/stm32_lpm_if.c +++ b/Core/Src/stm32_lpm_if.c @@ -78,14 +78,30 @@ const struct UTIL_LPM_Driver_s UTIL_PowerDriver = void PWR_EnterOffMode(void) { /* USER CODE BEGIN EnterOffMode_1 */ + /* Enable Power Clock */ + HAL_SuspendTick(); + /* Disable all used wakeup sources: Pin1(PA.0) */ + HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1|PWR_WAKEUP_PIN2|PWR_WAKEUP_PIN3); + + /* Clear all related wakeup flags */ + __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); + + /* Re-enable all used wakeup sources: Pin1(PA.0) */ + HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); + + /*## Enter Standby Mode ####################################################*/ + /* Request to enter STANDBY mode */ + HAL_PWR_EnterSTANDBYMode(); /* USER CODE END EnterOffMode_1 */ } void PWR_ExitOffMode(void) { /* USER CODE BEGIN ExitOffMode_1 */ - + //HAL_ResumeTick(); + __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); + __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB); /* USER CODE END ExitOffMode_1 */ } From ddc748de52bbee94af880a40acc0829603de2793 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Sun, 7 Apr 2024 10:48:48 +0800 Subject: [PATCH 14/25] try standby --- STM32CubeIDE/.settings/language.settings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index 24fc8ca..8480e85 100644 --- a/STM32CubeIDE/.settings/language.settings.xml +++ b/STM32CubeIDE/.settings/language.settings.xml @@ -5,7 +5,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-877539789554811708" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> @@ -16,7 +16,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-877539789554811708" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> From 068153dfa56519222f25039aee3ffbe47306ff32 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Wed, 19 Jun 2024 14:57:15 +0800 Subject: [PATCH 15/25] initial WL55JC --- .gitignore | 87 ++++++++++++++++++++ STM32CubeIDE/.settings/language.settings.xml | 4 +- STM32CubeIDE/WL55JC_AS923.cfg | 46 +++++++++++ 3 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 STM32CubeIDE/WL55JC_AS923.cfg diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bdc3590 --- /dev/null +++ b/.gitignore @@ -0,0 +1,87 @@ +# ---> C +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.e1f +*.axf +*.de +*.cyclo +*.list +*.mk +*.settings.xml +*.mk +# Linker output +*.ilk +*.map +*.exp +*.list +*.su + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.dep +*.d +*.o +*.dp +*.lst +*.elf +*.build_log +*.build_log.htm + + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb +*.dbgconf +*.uvguix.lenovo +*.uvoptx +*.uvprojx +*.build_log.htm +*.htm +*.map +*.lnp +*.sct +*.crf +*.lst + + +# Kernel Module Compile Results +*.mod* +*.cmd +*.htm +*.html +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf +*.cyclo +*.settings.* + diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index 8480e85..816e149 100644 --- a/STM32CubeIDE/.settings/language.settings.xml +++ b/STM32CubeIDE/.settings/language.settings.xml @@ -5,7 +5,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-752586124573436390" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> @@ -16,7 +16,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-752586124573436390" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> diff --git a/STM32CubeIDE/WL55JC_AS923.cfg b/STM32CubeIDE/WL55JC_AS923.cfg new file mode 100644 index 0000000..a32bf98 --- /dev/null +++ b/STM32CubeIDE/WL55JC_AS923.cfg @@ -0,0 +1,46 @@ +# This is an NUCLEO-WL55JC1 board with a single STM32WL55JCIx chip +# +# Generated by STM32CubeIDE +# Take care that such file, as generated, may be overridden without any early notice. Please have a look to debug launch configuration setup(s) + +source [find interface/stlink-dap.cfg] + +st-link backend tcp + +set WORKAREASIZE 0x8000 + +transport select "dapdirect_swd" + +set CHIPNAME STM32WL55JCIx +set BOARDNAME NUCLEO-WL55JC1 + +# Enable debug when in low power modes +set ENABLE_LOW_POWER 1 + +# Stop Watchdog counters when halt +set STOP_WATCHDOG 1 + +# STlink Debug clock frequency +set CLOCK_FREQ 8000 + +# Reset configuration +# use hardware reset, connect under reset +# connect_assert_srst needed if low power mode application running (WFI...) +reset_config srst_only srst_nogate connect_assert_srst +set CONNECT_UNDER_RESET 1 +set CORE_RESET 0 + +# ACCESS PORT NUMBER +set AP_NUM 0 +# GDB PORT +set GDB_PORT 3333 + + + + +set DUAL_CORE 1 + +# BCTM CPU variables + +source [find target/stm32wlx.cfg] + From 3ac41b910da6efc88442565cb8bfcbe52202b178 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Fri, 21 Jun 2024 15:43:27 +0800 Subject: [PATCH 16/25] bad change. --- STM32CubeIDE/.project | 5 +++++ STM32CubeIDE/.settings/language.settings.xml | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/STM32CubeIDE/.project b/STM32CubeIDE/.project index 49c6969..93ccc23 100644 --- a/STM32CubeIDE/.project +++ b/STM32CubeIDE/.project @@ -462,6 +462,11 @@ <type>1</type> <locationURI>copy_PARENT/Core/Src/usart_if.c</locationURI> </link> + <link> + <name>Application/User/Core/yunhorn_sts_weight_scale.c</name> + <type>1</type> + <location>D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_55JC_AS923/STM32CubeIDE/Application/User/Core/yunhorn_sts_weight_scale.c</location> + </link> <link> <name>Drivers/BSP/STM32WLxx_Nucleo/stm32wlxx_nucleo.c</name> <type>1</type> diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index 8480e85..816e149 100644 --- a/STM32CubeIDE/.settings/language.settings.xml +++ b/STM32CubeIDE/.settings/language.settings.xml @@ -5,7 +5,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-752586124573436390" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> @@ -16,7 +16,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-752586124573436390" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> From 91bb0ad919286f9eac63db1c867c04ebcdada8aa Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 27 Jun 2024 12:59:32 +0800 Subject: [PATCH 17/25] remove unused for master --- STM32CubeIDE/.project | 5 ----- STM32CubeIDE/.settings/language.settings.xml | 4 ++-- STM32CubeIDE/.settings/stm32cubeide.project.prefs | 4 ++-- STM32CubeIDE/STM32WL55JCIX_FLASH.ld | 10 +++++----- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/STM32CubeIDE/.project b/STM32CubeIDE/.project index 93ccc23..49c6969 100644 --- a/STM32CubeIDE/.project +++ b/STM32CubeIDE/.project @@ -462,11 +462,6 @@ <type>1</type> <locationURI>copy_PARENT/Core/Src/usart_if.c</locationURI> </link> - <link> - <name>Application/User/Core/yunhorn_sts_weight_scale.c</name> - <type>1</type> - <location>D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_55JC_AS923/STM32CubeIDE/Application/User/Core/yunhorn_sts_weight_scale.c</location> - </link> <link> <name>Drivers/BSP/STM32WLxx_Nucleo/stm32wlxx_nucleo.c</name> <type>1</type> diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index 816e149..90666d3 100644 --- a/STM32CubeIDE/.settings/language.settings.xml +++ b/STM32CubeIDE/.settings/language.settings.xml @@ -5,7 +5,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-752586124573436390" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1200016478792897337" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> @@ -16,7 +16,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-752586124573436390" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1200016478792897337" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> diff --git a/STM32CubeIDE/.settings/stm32cubeide.project.prefs b/STM32CubeIDE/.settings/stm32cubeide.project.prefs index f5b2341..261dff3 100644 --- a/STM32CubeIDE/.settings/stm32cubeide.project.prefs +++ b/STM32CubeIDE/.settings/stm32cubeide.project.prefs @@ -1,4 +1,4 @@ -2F62501ED4689FB349E356AB974DBE57=95112E708683D54F6AC1ADC68D917C29 -8DF89ED150041C4CBC7CB9A9CAA90856=95112E708683D54F6AC1ADC68D917C29 +2F62501ED4689FB349E356AB974DBE57=5C935C4C17B31F3FCDEC56E445F41B57 +8DF89ED150041C4CBC7CB9A9CAA90856=5C935C4C17B31F3FCDEC56E445F41B57 DC22A860405A8BF2F2C095E5B6529F12=74CD6EB106FB50B767E4FE71225C7638 eclipse.preferences.version=1 diff --git a/STM32CubeIDE/STM32WL55JCIX_FLASH.ld b/STM32CubeIDE/STM32WL55JCIX_FLASH.ld index d45d121..43a7268 100644 --- a/STM32CubeIDE/STM32WL55JCIX_FLASH.ld +++ b/STM32CubeIDE/STM32WL55JCIX_FLASH.ld @@ -91,13 +91,13 @@ SECTIONS . = ALIGN(8); } >FLASH - .ARM.extab : { + .ARM.extab (READONLY) : { . = ALIGN(8); *(.ARM.extab* .gnu.linkonce.armextab.*) . = ALIGN(8); } >FLASH - .ARM : { + .ARM (READONLY): { . = ALIGN(8); __exidx_start = .; *(.ARM.exidx*) @@ -105,7 +105,7 @@ SECTIONS . = ALIGN(8); } >FLASH - .preinit_array : + .preinit_array (READONLY) : { . = ALIGN(8); PROVIDE_HIDDEN (__preinit_array_start = .); @@ -114,7 +114,7 @@ SECTIONS . = ALIGN(8); } >FLASH - .init_array : + .init_array (READONLY): { . = ALIGN(8); PROVIDE_HIDDEN (__init_array_start = .); @@ -124,7 +124,7 @@ SECTIONS . = ALIGN(8); } >FLASH - .fini_array : + .fini_array (READONLY): { . = ALIGN(8); PROVIDE_HIDDEN (__fini_array_start = .); From c55326d6265250bdedfae45fb9a60eb35ee555ed Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 27 Jun 2024 13:21:25 +0800 Subject: [PATCH 18/25] try bad, park here --- Core/Inc/sys_conf.h | 6 +++--- STM32CubeIDE/.settings/language.settings.xml | 6 +++--- STM32CubeIDE/.settings/stm32cubeide.project.prefs | 2 ++ STM32CubeIDE/STM32WL55JCIX_FLASH.ld | 12 +++++------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Core/Inc/sys_conf.h b/Core/Inc/sys_conf.h index 16d0145..73acea5 100644 --- a/Core/Inc/sys_conf.h +++ b/Core/Inc/sys_conf.h @@ -47,12 +47,12 @@ extern "C" { /** * @brief Verbose level for all trace logs */ -#define VERBOSE_LEVEL VLEVEL_OFF +#define VERBOSE_LEVEL VLEVEL_M /** * @brief Enable trace logs */ -#define APP_LOG_ENABLED 0 +#define APP_LOG_ENABLED 1 /** * @brief Activate monitoring (probes) of some internal RF signals for debug purpose @@ -81,7 +81,7 @@ extern "C" { * @brief Disable Low Power mode * @note 0: LowPowerMode enabled. MCU enters stop2 mode, 1: LowPowerMode disabled. MCU enters sleep mode only */ -#define LOW_POWER_DISABLE 0 +#define LOW_POWER_DISABLE 1 /* USER CODE BEGIN EC */ diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index 879e516..90666d3 100644 --- a/STM32CubeIDE/.settings/language.settings.xml +++ b/STM32CubeIDE/.settings/language.settings.xml @@ -5,7 +5,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-752586124573436390" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1200016478792897337" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> @@ -16,10 +16,10 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-752586124573436390" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1200016478792897337" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> </extension> </configuration> -</project> +</project> \ No newline at end of file diff --git a/STM32CubeIDE/.settings/stm32cubeide.project.prefs b/STM32CubeIDE/.settings/stm32cubeide.project.prefs index 66ab618..f5b2341 100644 --- a/STM32CubeIDE/.settings/stm32cubeide.project.prefs +++ b/STM32CubeIDE/.settings/stm32cubeide.project.prefs @@ -1,2 +1,4 @@ +2F62501ED4689FB349E356AB974DBE57=95112E708683D54F6AC1ADC68D917C29 +8DF89ED150041C4CBC7CB9A9CAA90856=95112E708683D54F6AC1ADC68D917C29 DC22A860405A8BF2F2C095E5B6529F12=74CD6EB106FB50B767E4FE71225C7638 eclipse.preferences.version=1 diff --git a/STM32CubeIDE/STM32WL55JCIX_FLASH.ld b/STM32CubeIDE/STM32WL55JCIX_FLASH.ld index 5a6bcc7..d45d121 100644 --- a/STM32CubeIDE/STM32WL55JCIX_FLASH.ld +++ b/STM32CubeIDE/STM32WL55JCIX_FLASH.ld @@ -91,13 +91,13 @@ SECTIONS . = ALIGN(8); } >FLASH - .ARM.extab (READONLY) : { + .ARM.extab : { . = ALIGN(8); *(.ARM.extab* .gnu.linkonce.armextab.*) . = ALIGN(8); } >FLASH - .ARM(READONLY) : { + .ARM : { . = ALIGN(8); __exidx_start = .; *(.ARM.exidx*) @@ -105,8 +105,7 @@ SECTIONS . = ALIGN(8); } >FLASH - - .preinit_array (READONLY) : + .preinit_array : { . = ALIGN(8); PROVIDE_HIDDEN (__preinit_array_start = .); @@ -115,8 +114,7 @@ SECTIONS . = ALIGN(8); } >FLASH - - .init_array (READONLY): + .init_array : { . = ALIGN(8); PROVIDE_HIDDEN (__init_array_start = .); @@ -126,7 +124,7 @@ SECTIONS . = ALIGN(8); } >FLASH - .fini_array(READONLY) : + .fini_array : { . = ALIGN(8); PROVIDE_HIDDEN (__fini_array_start = .); From 7a90c82f924cab49844c1a087a569312bff2bd5b Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 27 Jun 2024 16:02:20 +0800 Subject: [PATCH 19/25] add env cfg --- .gitignore | 87 +++++++++++++++++++ STM32CubeIDE/.settings/language.settings.xml | 4 +- .../.settings/org.eclipse.cdt.core.prefs | 6 ++ .../.settings/stm32cubeide.project.prefs | 2 +- 4 files changed, 96 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 STM32CubeIDE/.settings/org.eclipse.cdt.core.prefs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bdc3590 --- /dev/null +++ b/.gitignore @@ -0,0 +1,87 @@ +# ---> C +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.e1f +*.axf +*.de +*.cyclo +*.list +*.mk +*.settings.xml +*.mk +# Linker output +*.ilk +*.map +*.exp +*.list +*.su + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.dep +*.d +*.o +*.dp +*.lst +*.elf +*.build_log +*.build_log.htm + + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb +*.dbgconf +*.uvguix.lenovo +*.uvoptx +*.uvprojx +*.build_log.htm +*.htm +*.map +*.lnp +*.sct +*.crf +*.lst + + +# Kernel Module Compile Results +*.mod* +*.cmd +*.htm +*.html +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf +*.cyclo +*.settings.* + diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index 8480e85..90666d3 100644 --- a/STM32CubeIDE/.settings/language.settings.xml +++ b/STM32CubeIDE/.settings/language.settings.xml @@ -5,7 +5,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1200016478792897337" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> @@ -16,7 +16,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-914207715913278870" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1200016478792897337" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> diff --git a/STM32CubeIDE/.settings/org.eclipse.cdt.core.prefs b/STM32CubeIDE/.settings/org.eclipse.cdt.core.prefs new file mode 100644 index 0000000..c8ec5df --- /dev/null +++ b/STM32CubeIDE/.settings/org.eclipse.cdt.core.prefs @@ -0,0 +1,6 @@ +doxygen/doxygen_new_line_after_brief=true +doxygen/doxygen_use_brief_tag=false +doxygen/doxygen_use_javadoc_tags=true +doxygen/doxygen_use_pre_tag=false +doxygen/doxygen_use_structural_commands=false +eclipse.preferences.version=1 diff --git a/STM32CubeIDE/.settings/stm32cubeide.project.prefs b/STM32CubeIDE/.settings/stm32cubeide.project.prefs index 481391e..f5b2341 100644 --- a/STM32CubeIDE/.settings/stm32cubeide.project.prefs +++ b/STM32CubeIDE/.settings/stm32cubeide.project.prefs @@ -1,4 +1,4 @@ 2F62501ED4689FB349E356AB974DBE57=95112E708683D54F6AC1ADC68D917C29 8DF89ED150041C4CBC7CB9A9CAA90856=95112E708683D54F6AC1ADC68D917C29 -DC22A860405A8BF2F2C095E5B6529F12=708FD40520C1EE5CFD2122309291F653 +DC22A860405A8BF2F2C095E5B6529F12=74CD6EB106FB50B767E4FE71225C7638 eclipse.preferences.version=1 From e4d7d6998dde47ebf66fa293ab69c16e3de8617e Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 27 Jun 2024 16:09:01 +0800 Subject: [PATCH 20/25] try back --- LoRaWAN/Target/lorawan_conf.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LoRaWAN/Target/lorawan_conf.h b/LoRaWAN/Target/lorawan_conf.h index 2a1f57e..a098ff6 100644 --- a/LoRaWAN/Target/lorawan_conf.h +++ b/LoRaWAN/Target/lorawan_conf.h @@ -94,10 +94,10 @@ extern "C" { /*#define REGION_CN470*/ /*#define REGION_CN779*/ /*#define REGION_EU433*/ -/*#define REGION_EU868*/ +#define REGION_EU868 /*#define REGION_KR920*/ /*#define REGION_IN865*/ -/*#define REGION_US915*/ +#define REGION_US915 /*#define REGION_RU864*/ /*! From 06af55bf9cc335075f5d04c990d06d194d4d648b Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 27 Jun 2024 16:25:35 +0800 Subject: [PATCH 21/25] rebase standard v13 --- Core/Inc/main.h | 8 ++++- Core/Inc/sys_conf.h | 2 +- Core/Inc/utilities_def.h | 2 +- Core/Src/gpio.c | 38 +++++++++++++----------- Core/Src/rtc.c | 4 +-- Core/Src/stm32_lpm_if.c | 27 ++--------------- Core/Src/stm32wlxx_it.c | 4 +-- Core/Src/sys_app.c | 12 +++++--- Core/Src/usart.c | 7 +---- LoRaWAN/App/lora_app.c | 64 ++++++++++++++++++---------------------- 10 files changed, 74 insertions(+), 94 deletions(-) diff --git a/Core/Inc/main.h b/Core/Inc/main.h index 645b59b..024dc11 100644 --- a/Core/Inc/main.h +++ b/Core/Inc/main.h @@ -85,8 +85,14 @@ void Error_Handler(void); #define USARTx_TX_GPIO_Port GPIOA /* USER CODE BEGIN Private defines */ +#ifdef STS_WS +#define HX711_SCK_PIN GPIO_PIN_5 +#define HX711_DOUT_PIN GPIO_PIN_6 -/* USER CODE END Private defines */ +#define HX711_SCK_PORT GPIOA +#define HX711_DOUT_PORT GPIOA +#endif + /* USER CODE END Private defines */ #ifdef __cplusplus } diff --git a/Core/Inc/sys_conf.h b/Core/Inc/sys_conf.h index 73acea5..1f15237 100644 --- a/Core/Inc/sys_conf.h +++ b/Core/Inc/sys_conf.h @@ -81,7 +81,7 @@ extern "C" { * @brief Disable Low Power mode * @note 0: LowPowerMode enabled. MCU enters stop2 mode, 1: LowPowerMode disabled. MCU enters sleep mode only */ -#define LOW_POWER_DISABLE 1 +#define LOW_POWER_DISABLE 0 /* USER CODE BEGIN EC */ diff --git a/Core/Inc/utilities_def.h b/Core/Inc/utilities_def.h index f28e621..bcf7700 100644 --- a/Core/Inc/utilities_def.h +++ b/Core/Inc/utilities_def.h @@ -80,7 +80,7 @@ typedef enum CFG_SEQ_Task_LoRaStoreContextEvent, CFG_SEQ_Task_LoRaStopJoinEvent, /* USER CODE BEGIN CFG_SEQ_Task_Id_t */ - CFG_SEQ_Task_YunhornSTSP1CheckingEvent, + /* USER CODE END CFG_SEQ_Task_Id_t */ CFG_SEQ_Task_NBR } CFG_SEQ_Task_Id_t; diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c index f51ed30..914db3c 100644 --- a/Core/Src/gpio.c +++ b/Core/Src/gpio.c @@ -49,21 +49,6 @@ void MX_GPIO_Init(void) __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); - GPIO_InitStruct.Pin = GPIO_PIN_All; - GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - __HAL_RCC_GPIOB_CLK_DISABLE(); - __HAL_RCC_GPIOC_CLK_DISABLE(); - - GPIO_InitStruct.Pin = BUT1_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING; - GPIO_InitStruct.Pull = GPIO_PULLUP; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - __HAL_RCC_GPIOA_CLK_DISABLE(); -#if 0 /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, LED1_Pin|LED2_Pin|PROB2_Pin|PROB1_Pin |LED3_Pin, GPIO_PIN_RESET); @@ -93,17 +78,36 @@ void MX_GPIO_Init(void) GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(BUT3_GPIO_Port, &GPIO_InitStruct); +#ifdef STS_WS + // STS_Weight_Scale + + // HX711_SCK + GPIO_InitStruct.Pin = HX711_SCK_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + HAL_GPIO_Init(HX711_SCK_PORT, &GPIO_InitStruct); + + // HX711_DOUT + GPIO_InitStruct.Pin = HX711_DOUT_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + HAL_GPIO_Init(HX711_DOUT_PORT, &GPIO_InitStruct); + + HAL_GPIO_WritePin(HX711_SCK_PORT, HX711_SCK_PIN, GPIO_PIN_RESET); + #endif /* EXTI interrupt init*/ HAL_NVIC_SetPriority(EXTI0_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI0_IRQn); -#if 0 + HAL_NVIC_SetPriority(EXTI1_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI1_IRQn); HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI9_5_IRQn); -#endif + } /* USER CODE BEGIN 2 */ diff --git a/Core/Src/rtc.c b/Core/Src/rtc.c index 918ceaf..04a8214 100644 --- a/Core/Src/rtc.c +++ b/Core/Src/rtc.c @@ -65,7 +65,7 @@ void MX_RTC_Init(void) { Error_Handler(); } -#if 0 + /** Enable the Alarm A */ sAlarm.BinaryAutoClr = RTC_ALARMSUBSECONDBIN_AUTOCLR_NO; @@ -78,7 +78,7 @@ void MX_RTC_Init(void) Error_Handler(); } /* USER CODE BEGIN RTC_Init 2 */ -#endif + /* USER CODE END RTC_Init 2 */ } diff --git a/Core/Src/stm32_lpm_if.c b/Core/Src/stm32_lpm_if.c index 9d98b45..8b623ee 100644 --- a/Core/Src/stm32_lpm_if.c +++ b/Core/Src/stm32_lpm_if.c @@ -25,7 +25,7 @@ #include "usart_if.h" /* USER CODE BEGIN Includes */ -#include "gpio.h" + /* USER CODE END Includes */ /* External variables ---------------------------------------------------------*/ @@ -78,30 +78,14 @@ const struct UTIL_LPM_Driver_s UTIL_PowerDriver = void PWR_EnterOffMode(void) { /* USER CODE BEGIN EnterOffMode_1 */ - /* Enable Power Clock */ - HAL_SuspendTick(); - /* Disable all used wakeup sources: Pin1(PA.0) */ - HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1|PWR_WAKEUP_PIN2|PWR_WAKEUP_PIN3); - - /* Clear all related wakeup flags */ - __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); - - /* Re-enable all used wakeup sources: Pin1(PA.0) */ - HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); - - /*## Enter Standby Mode ####################################################*/ - /* Request to enter STANDBY mode */ - HAL_PWR_EnterSTANDBYMode(); /* USER CODE END EnterOffMode_1 */ } void PWR_ExitOffMode(void) { /* USER CODE BEGIN ExitOffMode_1 */ - //HAL_ResumeTick(); - __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); - __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB); + /* USER CODE END ExitOffMode_1 */ } @@ -110,10 +94,6 @@ void PWR_EnterStopMode(void) /* USER CODE BEGIN EnterStopMode_1 */ /* USER CODE END EnterStopMode_1 */ - HAL_GPIO_WritePin(GPIOB, GPIO_PIN_All, GPIO_PIN_RESET); - HAL_GPIO_WritePin(GPIOA, ~GPIO_PIN_0, GPIO_PIN_RESET); - vcom_DeInit(); - HAL_SuspendTick(); /* Clear Status Flag before entering STOP/STANDBY Mode */ LL_PWR_ClearFlag_C1STOP_C1STB(); @@ -140,8 +120,7 @@ void PWR_ExitStopMode(void) SRAM ctrls, DMAx, DMAMux, AES, RNG, HSEM */ /* Resume not retained USARTx and DMA */ - //MX_GPIO_Init(); - //vcom_Resume(); + vcom_Resume(); /* USER CODE BEGIN ExitStopMode_2 */ /* USER CODE END ExitStopMode_2 */ diff --git a/Core/Src/stm32wlxx_it.c b/Core/Src/stm32wlxx_it.c index bfc2186..66231ac 100644 --- a/Core/Src/stm32wlxx_it.c +++ b/Core/Src/stm32wlxx_it.c @@ -227,7 +227,7 @@ void EXTI0_IRQHandler(void) /* USER CODE END EXTI0_IRQn 1 */ } -#if 0 + /** * @brief This function handles EXTI Line 1 Interrupt. */ @@ -283,7 +283,7 @@ void USART2_IRQHandler(void) /* USER CODE END USART2_IRQn 1 */ } -#endif + /** * @brief This function handles RTC Alarms (A and B) Interrupt. */ diff --git a/Core/Src/sys_app.c b/Core/Src/sys_app.c index 42d7e5d..82baf7f 100644 --- a/Core/Src/sys_app.c +++ b/Core/Src/sys_app.c @@ -32,7 +32,9 @@ #include "sys_sensors.h" /* USER CODE BEGIN Includes */ - +#ifdef STS_WS +#include "sts_weight_scale.h" +#endif /* USER CODE END Includes */ /* External variables ---------------------------------------------------------*/ @@ -100,7 +102,7 @@ void SystemApp_Init(void) UTIL_TIMER_Init(); SYS_TimerInitialisedFlag = 1; /* Initializes the SW probes pins and the monitor RF pins via Alternate Function */ - //DBG_Init(); + DBG_Init(); /*Initialize the terminal */ UTIL_ADV_TRACE_Init(); @@ -117,12 +119,14 @@ void SystemApp_Init(void) /*Initialize the Sensors */ EnvSensors_Init(); - +#ifdef STS_WS + sts_weight_scale_init(); +#endif /*Init low power manager*/ UTIL_LPM_Init(); /* Disable Stand-by mode */ UTIL_LPM_SetOffMode((1 << CFG_LPM_APPLI_Id), UTIL_LPM_DISABLE); - UTIL_LPM_SetOffMode((1 << CFG_LPM_UART_TX_Id), UTIL_LPM_ENABLE); + #if defined (LOW_POWER_DISABLE) && (LOW_POWER_DISABLE == 1) /* Disable Stop Mode */ UTIL_LPM_SetStopMode((1 << CFG_LPM_APPLI_Id), UTIL_LPM_DISABLE); diff --git a/Core/Src/usart.c b/Core/Src/usart.c index 62e4a98..bf9fd2b 100644 --- a/Core/Src/usart.c +++ b/Core/Src/usart.c @@ -100,18 +100,13 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) PA3 ------> USART2_RX PA2 ------> USART2_TX */ - GPIO_InitStruct.Pin = USARTx_TX_Pin; + GPIO_InitStruct.Pin = USARTx_RX_Pin|USARTx_TX_Pin; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF7_USART2; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - GPIO_InitStruct.Pin = USARTx_RX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; - GPIO_InitStruct.Pull = GPIO_NOPULL; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - /* USART2 DMA Init */ /* USART2_TX Init */ hdma_usart2_tx.Instance = DMA1_Channel5; diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 43dc765..0d4e937 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -36,7 +36,9 @@ #include "flash_if.h" /* USER CODE BEGIN Includes */ -#include "gpio.h" +#ifdef STS_WS +#include "sts_weight_scale.h" +#endif /* USER CODE END Includes */ /* External variables ---------------------------------------------------------*/ @@ -215,7 +217,6 @@ static void OnPingSlotPeriodicityChanged(uint8_t pingSlotPeriodicity); static void OnSystemReset(void); /* USER CODE BEGIN PFP */ -static void OnYunhornSTSP1CheckingEvent(void); /** * @brief LED Tx timer callback function @@ -301,7 +302,7 @@ static UTIL_TIMER_Object_t TxTimer; /** * @brief Tx Timer period */ -static UTIL_TIMER_Time_t TxPeriodicity = 1000; +static UTIL_TIMER_Time_t TxPeriodicity = APP_TX_DUTYCYCLE; /** * @brief Join Timer period @@ -343,8 +344,7 @@ static UTIL_TIMER_Object_t JoinLedTimer; /* Exported functions ---------------------------------------------------------*/ /* USER CODE BEGIN EF */ -volatile uint8_t door_status=0, door_changed_flag=0, door_previous_status=0; -volatile uint32_t checking_sn=0; + /* USER CODE END EF */ void LoRaWAN_Init(void) @@ -406,7 +406,7 @@ void LoRaWAN_Init(void) UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), UTIL_SEQ_RFU, SendTxData); UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_LoRaStoreContextEvent), UTIL_SEQ_RFU, StoreContext); UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_LoRaStopJoinEvent), UTIL_SEQ_RFU, StopJoin); - UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent),UTIL_SEQ_RFU, OnYunhornSTSP1CheckingEvent); + /* Init Info table used by LmHandler*/ LoraInfo_Init(); @@ -425,7 +425,7 @@ void LoRaWAN_Init(void) if (EventType == TX_ON_TIMER) { /* send every time timer elapses */ - UTIL_TIMER_Create(&TxTimer, TxPeriodicity, UTIL_TIMER_PERIODIC, OnTxTimerEvent, NULL); + UTIL_TIMER_Create(&TxTimer, TxPeriodicity, UTIL_TIMER_ONESHOT, OnTxTimerEvent, NULL); UTIL_TIMER_Start(&TxTimer); } else @@ -448,9 +448,6 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { case BUT1_Pin: /* Note: when "EventType == TX_ON_TIMER" this GPIO is not initialized */ - door_changed_flag = 1; - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent), CFG_SEQ_Prio_0); - if (EventType == TX_ON_EVENT) { UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); @@ -471,21 +468,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) /* Private functions ---------------------------------------------------------*/ /* USER CODE BEGIN PrFD */ -static void OnYunhornSTSP1CheckingEvent(void) -{ - - door_status = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0); - - if (door_status != door_previous_status) - { - door_previous_status = door_status; - door_changed_flag = 1; - APP_LOG(TS_OFF,VLEVEL_M,"\r\n----- Door Status Changed-------------\r\n"); - } - - //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); -} /* USER CODE END PrFD */ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params) @@ -574,6 +557,9 @@ static void SendTxData(void) LmHandlerErrorStatus_t status = LORAMAC_HANDLER_ERROR; uint8_t batteryLevel = GetBatteryLevel(); sensor_t sensor_data; +#ifdef STS_WS + sts_sensor_t sts_sensor_data; +#endif UTIL_TIMER_Time_t nextTxIn = 0; if (LmHandlerIsBusy() == false) @@ -591,10 +577,14 @@ static void SendTxData(void) #endif /* CAYENNE_LPP */ EnvSensors_Read(&sensor_data); -#if 0 +#ifdef STS_WS + sts_weight_scale(&sts_sensor_data); + APP_LOG(TS_ON, VLEVEL_M, "Weigt Scale : %d\r\n", sts_sensor_data.weight_scale_value); + +#endif APP_LOG(TS_ON, VLEVEL_M, "VDDA: %d\r\n", batteryLevel); APP_LOG(TS_ON, VLEVEL_M, "temp: %d\r\n", (int16_t)(sensor_data.temperature)); -#endif + AppData.Port = LORAWAN_USER_APP_PORT; #ifdef CAYENNE_LPP @@ -629,8 +619,8 @@ static void SendTxData(void) { AppData.Buffer[i++] = 0; AppData.Buffer[i++] = 0; - AppData.Buffer[i++] = (uint8_t)(99*GetBatteryLevel()/255); /* 1 (very low) to 254 (fully charged) */ - AppData.Buffer[i++] = door_status; + AppData.Buffer[i++] = 0; + AppData.Buffer[i++] = 0; } else { @@ -647,7 +637,10 @@ static void SendTxData(void) AppData.Buffer[i++] = (uint8_t)((altitudeGps >> 8) & 0xFF); AppData.Buffer[i++] = (uint8_t)(altitudeGps & 0xFF); } - +#ifdef STS_WS + AppData.Buffer[i++] = (uint8_t)(sts_sensor_data.weight_scale_value >> 8& 0xFF); + AppData.Buffer[i++] = (uint8_t)(sts_sensor_data.weight_scale_value & 0xFF); +#endif AppData.BufferSize = i; #endif /* CAYENNE_LPP */ @@ -685,13 +678,12 @@ static void SendTxData(void) static void OnTxTimerEvent(void *context) { /* USER CODE BEGIN OnTxTimerEvent_1 */ - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSP1CheckingEvent), CFG_SEQ_Prio_0); - if (door_changed_flag ==1) - { - door_changed_flag =0; - UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); - //UTIL_TIMER_Start(&TxTimer); - } + + /* USER CODE END OnTxTimerEvent_1 */ + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); + + /*Wait for next tx slot*/ + UTIL_TIMER_Start(&TxTimer); /* USER CODE BEGIN OnTxTimerEvent_2 */ /* USER CODE END OnTxTimerEvent_2 */ From a2230e764a26e3263460ae4e65ce9a7514cfd503 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 27 Jun 2024 16:27:13 +0800 Subject: [PATCH 22/25] ---- additional file for WS --- Core/Inc/sts_weight_scale.h | 63 +++++++++++ Core/Src/sts_weight_scale.c | 217 ++++++++++++++++++++++++++++++++++++ 2 files changed, 280 insertions(+) create mode 100644 Core/Inc/sts_weight_scale.h create mode 100644 Core/Src/sts_weight_scale.c diff --git a/Core/Inc/sts_weight_scale.h b/Core/Inc/sts_weight_scale.h new file mode 100644 index 0000000..2223e8b --- /dev/null +++ b/Core/Inc/sts_weight_scale.h @@ -0,0 +1,63 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file yunhorn_sts_weight_scale.h * + * @author Yunhorn (r) Technology Limited Application Team * + * @brief Yunhorn (r) SmarToilets (r) Product configuration file. * + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 Yunhorn Technology Limited. + * Copyright (c) 2024 Shenzhen Yunhorn Technology Co., Ltd. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ + + +#ifndef YUNHORN_STS_WEIGHT_SCALE_H_ +#define YUNHORN_STS_WEIGHT_SCALE_H_ +#include "main.h" +#include "sys_app.h" + + + +typedef struct +{ + uint32_t weight_scale_value; + float pressure; /*!< in mbar */ + float temperature; /*!< in degC */ + float humidity; /*!< in % */ + int32_t latitude; /*!< latitude converted to binary */ + int32_t longitude; /*!< longitude converted to binary */ + int16_t altitudeGps; /*!< in m */ + int16_t altitudeBar; /*!< in m * 10 */ + /**more may be added*/ + /* USER CODE BEGIN sensor_t */ + + /* USER CODE END sensor_t */ +} sts_sensor_t; + + + +void sts_weight_scale_init(void); +void sts_weight_scale(sts_sensor_t *sensor_data); +void HX711_Init(void); +void Init_HX711pin(void); +uint32_t HX711_Read(void); +void Get_GrossWeight(void); +void Get_NetWeight(void); + +void delay_init(void); +void delay_ms(uint16_t nms); +void delay_us(uint32_t nus); + + + + +#endif /* YUNHORN_STS_WEIGHT_SCALE_H_ */ diff --git a/Core/Src/sts_weight_scale.c b/Core/Src/sts_weight_scale.c new file mode 100644 index 0000000..bdee0a7 --- /dev/null +++ b/Core/Src/sts_weight_scale.c @@ -0,0 +1,217 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file yunhorn_sts_weight_scale.c * + * @author Yunhorn (r) Technology Limited Application Team * + * @brief Yunhorn (r) SmarToilets (r) Product configuration file. * + ****************************************************************************** + * @attention + * + * Copyright (c) 2024 Yunhorn Technology Limited. + * Copyright (c) 2024 Shenzhen Yunhorn Technology Co., Ltd. + * All rights reserved. + * + * This software is licensed under terms that can be found in the LICENSE file + * in the root directory of this software component. + * If no LICENSE file comes with this software, it is provided AS-IS. + * + ****************************************************************************** + */ +/* USER CODE END Header */ +#include "sts_weight_scale.h" + +uint32_t HX711_Buffer; +volatile uint32_t gross_weight; +int32_t net_weight; +uint8_t Flag_Error; +volatile uint32_t last_net_weight=0; +volatile sts_sensor_t sts_sensor_data; +void sts_weight_scale_init(void) +{ + HX711_Init(); + Get_GrossWeight(); + HAL_Delay(500); + Get_GrossWeight(); +} + +void sts_weight_scale(sts_sensor_t *sts_sensor_data) +{ + + //while(1) + { + Get_NetWeight(); + APP_LOG(TS_OFF, VLEVEL_M, "Net Weight = %d g \r\n", net_weight); + sts_sensor_data->weight_scale_value=net_weight; + + last_net_weight = net_weight; + if (((last_net_weight - net_weight) > 100) && (net_weight > 100)) // re-calibrate + { + Get_GrossWeight(); + HAL_Delay(100); + Get_GrossWeight(); + //HAL_Delay(2000); + Get_NetWeight(); + } + //HAL_Delay(2000); + + } +} + +/************************************************************************************ + +*************************************************************************************/ + + +uint8_t Flag_Error = 0; + +//校准参数 +//因为不同的传感器特性曲线不是很一致,因此,每一个传感器需要矫正这里这个参数才能使测量值很准确。 +//当发现测试出来的重量偏大时,增加该数值。 +//如果测试出来的重量偏小时,减小改数值。 +//该值可以为小数 +//#define GapValue 106.5 +#define GapValue 903.2 // for 1kg bar + +void HX711_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + __HAL_RCC_GPIOA_CLK_ENABLE(); + + GPIO_InitStruct.Pin = HX711_SCK_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + HAL_GPIO_Init(HX711_SCK_PORT, &GPIO_InitStruct); + + //HX711_DOUT + GPIO_InitStruct.Pin = HX711_DOUT_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + HAL_GPIO_Init(HX711_DOUT_PORT, &GPIO_InitStruct); + + HAL_GPIO_WritePin(HX711_SCK_PORT, HX711_SCK_PIN, GPIO_PIN_RESET); + +} + +//**************************************************** +//读取HX711 +//**************************************************** +uint32_t HX711_Read(void) //增益128 +{ + uint32_t count; + uint8_t i; + //HX711_DOUT=1; + HAL_GPIO_WritePin(HX711_DOUT_PORT, HX711_DOUT_PIN, GPIO_PIN_SET); + + delay_us(1); + //HX711_SCK=0; + HAL_GPIO_WritePin(HX711_SCK_PORT, HX711_SCK_PIN, GPIO_PIN_RESET); + + count=0; + + //while(HX711_DOUT); + while(HAL_GPIO_ReadPin(HX711_DOUT_PORT, HX711_DOUT_PIN)==GPIO_PIN_SET); + + for(i=0;i<24;i++) + { + //HX711_SCK=1; + HAL_GPIO_WritePin(HX711_SCK_PORT, HX711_SCK_PIN, GPIO_PIN_SET); + + count=count<<1; + delay_us(1); + + //HX711_SCK=0; + HAL_GPIO_WritePin(HX711_SCK_PORT, HX711_SCK_PIN, GPIO_PIN_RESET); + + //if(HX711_DOUT) + if (HAL_GPIO_ReadPin(HX711_DOUT_PORT, HX711_DOUT_PIN)==GPIO_PIN_SET) + count++; + + delay_us(1); + } + //HX711_SCK=1; + HAL_GPIO_WritePin(HX711_SCK_PORT, HX711_SCK_PIN, GPIO_PIN_SET); + count=count^0x800000;//第25个脉冲下降沿来时,转换数据 + + delay_us(1); + + //HX711_SCK=0; + HAL_GPIO_WritePin(HX711_SCK_PORT, HX711_SCK_PIN, GPIO_PIN_RESET); + + return(count); +} + +//**************************************************** +//Get Gross Weight +//**************************************************** +void Get_GrossWeight(void) +{ + gross_weight = HX711_Read(); + APP_LOG(TS_OFF, VLEVEL_M, "\r\n ##### Gross Weight =%d <<<<<< \r\n",gross_weight); +} + +//**************************************************** +//Weight Scale +//**************************************************** +void Get_NetWeight(void) +{ + HX711_Buffer = HX711_Read(); + + if(HX711_Buffer > gross_weight) + { + net_weight = HX711_Buffer; + net_weight = net_weight - gross_weight; //获取实物的AD采样数值。 + + net_weight = (int32_t)((float)net_weight/GapValue); //计算实物的实际重量 + //因为不同的传感器特性曲线不一样,因此,每一个传感器需要矫正这里的GapValue这个除数。 + //当发现测试出来的重量偏大时,增加该数值。 + + APP_LOG(TS_OFF, VLEVEL_M, "\r\n ##### Net Weight =%d \r\n", net_weight);//如果测试出来的重量偏小时,减小改数值。 + } +} + + +//延时nus +//nus为要延时的us数. +static uint8_t fac_us=0;//us延时倍乘数 +static uint16_t fac_ms=0;//ms延时倍乘数 + + +void delay_us(uint32_t nus) +{ + fac_us=SystemCoreClock/8000000; //为系统时钟的1/8 + uint32_t temp; + SysTick->LOAD=nus*fac_us; //时间加载 + SysTick->VAL=0x00; //清空计数器 + SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ; //开始倒数 + do + { + temp=SysTick->CTRL; + } + while(temp&0x01&&!(temp&(1<<16)));//等待时间到达 //bit16置一说明时间到,跳出循环 + SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; //关闭计数器 + SysTick->VAL =0X00; //清空计数器 +} +//延时nms +//注意nms的范围 +//SysTick->LOAD为24位寄存器,所以,最大延时为: +//nms<=0xffffff*8*1000/SYSCLK +//SYSCLK单位为Hz,nms单位为ms +//对72M条件下,nms<=1864 +void delay_ms(uint16_t nms) +{ + fac_us=SystemCoreClock/8000000; //为系统时钟的1/8 + fac_ms=(uint16_t)fac_us*1000;//非ucos下,代表每个ms需要的systick时钟数 + uint32_t temp; + SysTick->LOAD=(uint32_t)nms*fac_ms;//时间加载(SysTick->LOAD为24bit) + SysTick->VAL =0x00; //清空计数器 + SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ; //开始倒数 + do + { + temp=SysTick->CTRL; + } + while(temp&0x01&&!(temp&(1<<16)));//等待时间到达 + SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; //关闭计数器 + SysTick->VAL =0X00; //清空计数器 +} From fbd0721b08f528cc23913ecbb6a0de89fb0d8dec Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 10 Oct 2024 15:28:11 +0800 Subject: [PATCH 23/25] --- update bin file --- STM32CubeIDE/.settings/language.settings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml index 90666d3..7768bdb 100644 --- a/STM32CubeIDE/.settings/language.settings.xml +++ b/STM32CubeIDE/.settings/language.settings.xml @@ -5,7 +5,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1200016478792897337" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1048471218779752885" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> @@ -16,7 +16,7 @@ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> - <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1200016478792897337" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1048471218779752885" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> <language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.g++"/> </provider> From 5b6a7416c9209a487ea7e41c06a6257626f2325c Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Thu, 10 Oct 2024 20:45:39 +0800 Subject: [PATCH 24/25] wip --- STM32CubeIDE/Release/makefile | 1 + STM32CubeIDE/Release/sources.mk | 1 + 2 files changed, 2 insertions(+) diff --git a/STM32CubeIDE/Release/makefile b/STM32CubeIDE/Release/makefile index cc20b6b..809ed37 100644 --- a/STM32CubeIDE/Release/makefile +++ b/STM32CubeIDE/Release/makefile @@ -15,6 +15,7 @@ RM := rm -rf -include Drivers/STM32WLxx_HAL_Driver/subdir.mk -include Drivers/CMSIS/subdir.mk -include Drivers/BSP/STM32WLxx_Nucleo/subdir.mk +-include Drivers/BSP/53L8A1/subdir.mk -include Application/User/Startup/subdir.mk -include Application/User/LoRaWAN/Target/subdir.mk -include Application/User/LoRaWAN/App/subdir.mk diff --git a/STM32CubeIDE/Release/sources.mk b/STM32CubeIDE/Release/sources.mk index a11435c..b0e063e 100644 --- a/STM32CubeIDE/Release/sources.mk +++ b/STM32CubeIDE/Release/sources.mk @@ -26,6 +26,7 @@ Application/User/Core \ Application/User/LoRaWAN/App \ Application/User/LoRaWAN/Target \ Application/User/Startup \ +Drivers/BSP/53L8A1 \ Drivers/BSP/STM32WLxx_Nucleo \ Drivers/CMSIS \ Drivers/STM32WLxx_HAL_Driver \ From b997ca7603918803df7cd771465f31dd38eee292 Mon Sep 17 00:00:00 2001 From: YunHorn Technology <dp.s@yunhorn.com> Date: Fri, 11 Oct 2024 20:24:30 +0800 Subject: [PATCH 25/25] --- updated for region --- LoRaWAN/Target/lorawan_conf.h | 4 ++-- STM32CubeIDE/Release/makefile | 1 - STM32CubeIDE/Release/sources.mk | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/LoRaWAN/Target/lorawan_conf.h b/LoRaWAN/Target/lorawan_conf.h index a098ff6..2a1f57e 100644 --- a/LoRaWAN/Target/lorawan_conf.h +++ b/LoRaWAN/Target/lorawan_conf.h @@ -94,10 +94,10 @@ extern "C" { /*#define REGION_CN470*/ /*#define REGION_CN779*/ /*#define REGION_EU433*/ -#define REGION_EU868 +/*#define REGION_EU868*/ /*#define REGION_KR920*/ /*#define REGION_IN865*/ -#define REGION_US915 +/*#define REGION_US915*/ /*#define REGION_RU864*/ /*! diff --git a/STM32CubeIDE/Release/makefile b/STM32CubeIDE/Release/makefile index 809ed37..cc20b6b 100644 --- a/STM32CubeIDE/Release/makefile +++ b/STM32CubeIDE/Release/makefile @@ -15,7 +15,6 @@ RM := rm -rf -include Drivers/STM32WLxx_HAL_Driver/subdir.mk -include Drivers/CMSIS/subdir.mk -include Drivers/BSP/STM32WLxx_Nucleo/subdir.mk --include Drivers/BSP/53L8A1/subdir.mk -include Application/User/Startup/subdir.mk -include Application/User/LoRaWAN/Target/subdir.mk -include Application/User/LoRaWAN/App/subdir.mk diff --git a/STM32CubeIDE/Release/sources.mk b/STM32CubeIDE/Release/sources.mk index b0e063e..a11435c 100644 --- a/STM32CubeIDE/Release/sources.mk +++ b/STM32CubeIDE/Release/sources.mk @@ -26,7 +26,6 @@ Application/User/Core \ Application/User/LoRaWAN/App \ Application/User/LoRaWAN/Target \ Application/User/Startup \ -Drivers/BSP/53L8A1 \ Drivers/BSP/STM32WLxx_Nucleo \ Drivers/CMSIS \ Drivers/STM32WLxx_HAL_Driver \