Merge branch 'R4_AAA' into R4
This commit is contained in:
commit
54e770bea9
|
@ -47,12 +47,12 @@ extern "C" {
|
||||||
/**
|
/**
|
||||||
* @brief Verbose level for all trace logs
|
* @brief Verbose level for all trace logs
|
||||||
*/
|
*/
|
||||||
#define VERBOSE_LEVEL VLEVEL_M
|
#define VERBOSE_LEVEL VLEVEL_OFF
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enable trace logs
|
* @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
|
* @brief Activate monitoring (probes) of some internal RF signals for debug purpose
|
||||||
|
@ -75,13 +75,13 @@ extern "C" {
|
||||||
* @brief Enable/Disable MCU Debugger pins (dbg serial wires)
|
* @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
|
* @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
|
* @brief Disable Low Power mode
|
||||||
* @note 0: LowPowerMode enabled. MCU enters stop2 mode, 1: LowPowerMode disabled. MCU enters sleep mode only
|
* @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 */
|
/* USER CODE BEGIN EC */
|
||||||
|
|
||||||
|
|
|
@ -58,9 +58,24 @@ void MX_DMA_Init(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* DMA1_Channel5_IRQn interrupt configuration */
|
/* DMA1_Channel5_IRQn interrupt configuration */
|
||||||
HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 2, 0);
|
// HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 2, 0);
|
||||||
HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
|
// HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
|
||||||
|
|
||||||
|
// I2C2
|
||||||
|
/* DMA1_Channel4_IRQn interrupt configuration */
|
||||||
|
HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
|
||||||
|
/* DMA1_Channel5_IRQn interrupt configuration */
|
||||||
|
HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
|
||||||
|
|
||||||
|
// USART2
|
||||||
|
/* DMA1_Channel6_IRQn interrupt configuration */
|
||||||
|
HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
|
||||||
|
/* DMA1_Channel7_IRQn interrupt configuration */
|
||||||
|
//HAL_NVIC_SetPriority(DMA1_Channel7_IRQn, 0, 0);
|
||||||
|
//HAL_NVIC_EnableIRQ(DMA1_Channel7_IRQn);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE BEGIN 2 */
|
/* USER CODE BEGIN 2 */
|
||||||
|
|
|
@ -112,7 +112,7 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)
|
||||||
|
|
||||||
/* I2C2 DMA Init */
|
/* I2C2 DMA Init */
|
||||||
/* I2C2_RX Init */
|
/* I2C2_RX Init */
|
||||||
hdma_i2c2_rx.Instance = DMA1_Channel3;
|
hdma_i2c2_rx.Instance = DMA1_Channel4;
|
||||||
hdma_i2c2_rx.Init.Request = DMA_REQUEST_I2C2_RX;
|
hdma_i2c2_rx.Init.Request = DMA_REQUEST_I2C2_RX;
|
||||||
hdma_i2c2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
|
hdma_i2c2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
|
||||||
hdma_i2c2_rx.Init.PeriphInc = DMA_PINC_DISABLE;
|
hdma_i2c2_rx.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||||
|
@ -134,7 +134,7 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)
|
||||||
__HAL_LINKDMA(i2cHandle,hdmarx,hdma_i2c2_rx);
|
__HAL_LINKDMA(i2cHandle,hdmarx,hdma_i2c2_rx);
|
||||||
|
|
||||||
/* I2C2_TX Init */
|
/* I2C2_TX Init */
|
||||||
hdma_i2c2_tx.Instance = DMA1_Channel4;
|
hdma_i2c2_tx.Instance = DMA1_Channel5;
|
||||||
hdma_i2c2_tx.Init.Request = DMA_REQUEST_I2C2_TX;
|
hdma_i2c2_tx.Init.Request = DMA_REQUEST_I2C2_TX;
|
||||||
hdma_i2c2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
|
hdma_i2c2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
|
||||||
hdma_i2c2_tx.Init.PeriphInc = DMA_PINC_DISABLE;
|
hdma_i2c2_tx.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
extern RTC_HandleTypeDef hrtc;
|
extern RTC_HandleTypeDef hrtc;
|
||||||
extern SUBGHZ_HandleTypeDef hsubghz;
|
extern SUBGHZ_HandleTypeDef hsubghz;
|
||||||
extern DMA_HandleTypeDef hdma_usart2_tx;
|
extern DMA_HandleTypeDef hdma_usart2_tx;
|
||||||
|
extern DMA_HandleTypeDef hdma_usart2_rx;
|
||||||
extern UART_HandleTypeDef huart2;
|
extern UART_HandleTypeDef huart2;
|
||||||
/* USER CODE BEGIN EV */
|
/* USER CODE BEGIN EV */
|
||||||
//#if defined(VL53LX)||defined(VL53L0)
|
//#if defined(VL53LX)||defined(VL53L0)
|
||||||
|
@ -258,7 +259,34 @@ void EXTI3_IRQHandler(void)
|
||||||
/* USER CODE END EXTI3_IRQn 1 */
|
/* USER CODE END EXTI3_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* I2C2 */
|
/**
|
||||||
|
* @brief This function handles EXTI Line 1 Interrupt.
|
||||||
|
*/
|
||||||
|
void EXTI4_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN EXTI1_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END EXTI1_IRQn 0 */
|
||||||
|
//HAL_GPIO_EXTI_IRQHandler(TOF_INT_EXTI_PIN);
|
||||||
|
/* USER CODE BEGIN EXTI1_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END EXTI1_IRQn 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* SPI1 */
|
||||||
|
/**
|
||||||
|
* @brief This function handles DMA1 Channel 2 Interrupt.
|
||||||
|
*/
|
||||||
|
void DMA1_Channel2_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN DMA1_Channel2_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel2_IRQn 0 */
|
||||||
|
//HAL_DMA_IRQHandler(&hdma_spi1_rx);
|
||||||
|
/* USER CODE BEGIN DMA1_Channel2_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel2_IRQn 1 */
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* @brief This function handles DMA1 Channel 3 Interrupt.
|
* @brief This function handles DMA1 Channel 3 Interrupt.
|
||||||
*/
|
*/
|
||||||
|
@ -267,13 +295,13 @@ void DMA1_Channel3_IRQHandler(void)
|
||||||
/* USER CODE BEGIN DMA1_Channel3_IRQn 0 */
|
/* USER CODE BEGIN DMA1_Channel3_IRQn 0 */
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel3_IRQn 0 */
|
/* USER CODE END DMA1_Channel3_IRQn 0 */
|
||||||
HAL_DMA_IRQHandler(&hdma_i2c2_rx);
|
//HAL_DMA_IRQHandler(&hdma_spi1_tx);
|
||||||
/* USER CODE BEGIN DMA1_Channel3_IRQn 1 */
|
/* USER CODE BEGIN DMA1_Channel3_IRQn 1 */
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel3_IRQn 1 */
|
/* USER CODE END DMA1_Channel3_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// I2C2
|
||||||
/**
|
/**
|
||||||
* @brief This function handles DMA1 Channel 4 Interrupt.
|
* @brief This function handles DMA1 Channel 4 Interrupt.
|
||||||
*/
|
*/
|
||||||
|
@ -282,14 +310,12 @@ void DMA1_Channel4_IRQHandler(void)
|
||||||
/* USER CODE BEGIN DMA1_Channel4_IRQn 0 */
|
/* USER CODE BEGIN DMA1_Channel4_IRQn 0 */
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel4_IRQn 0 */
|
/* USER CODE END DMA1_Channel4_IRQn 0 */
|
||||||
HAL_DMA_IRQHandler(&hdma_i2c2_tx);
|
HAL_DMA_IRQHandler(&hdma_i2c2_rx);
|
||||||
/* USER CODE BEGIN DMA1_Channel4_IRQn 1 */
|
/* USER CODE BEGIN DMA1_Channel4_IRQn 1 */
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel4_IRQn 1 */
|
/* USER CODE END DMA1_Channel4_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function handles DMA1 Channel 5 Interrupt.
|
* @brief This function handles DMA1 Channel 5 Interrupt.
|
||||||
*/
|
*/
|
||||||
|
@ -298,12 +324,41 @@ void DMA1_Channel5_IRQHandler(void)
|
||||||
/* USER CODE BEGIN DMA1_Channel5_IRQn 0 */
|
/* USER CODE BEGIN DMA1_Channel5_IRQn 0 */
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel5_IRQn 0 */
|
/* USER CODE END DMA1_Channel5_IRQn 0 */
|
||||||
HAL_DMA_IRQHandler(&hdma_usart2_tx);
|
HAL_DMA_IRQHandler(&hdma_i2c2_tx);
|
||||||
/* USER CODE BEGIN DMA1_Channel5_IRQn 1 */
|
/* USER CODE BEGIN DMA1_Channel5_IRQn 1 */
|
||||||
|
|
||||||
/* USER CODE END DMA1_Channel5_IRQn 1 */
|
/* USER CODE END DMA1_Channel5_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// USART2
|
||||||
|
/**
|
||||||
|
* @brief This function handles DMA1 Channel 6 Interrupt.
|
||||||
|
*/
|
||||||
|
void DMA1_Channel6_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN DMA1_Channel6_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel6_IRQn 0 */
|
||||||
|
HAL_DMA_IRQHandler(&hdma_usart2_tx);
|
||||||
|
/* USER CODE BEGIN DMA1_Channel6_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel6_IRQn 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles DMA1 Channel 7 Interrupt.
|
||||||
|
*/
|
||||||
|
void DMA1_Channel7_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN DMA1_Channel7_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel7_IRQn 0 */
|
||||||
|
//HAL_DMA_IRQHandler(&hdma_usart2_rx);
|
||||||
|
/* USER CODE BEGIN DMA1_Channel7_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END DMA1_Channel7_IRQn 1 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function handles EXTI Lines [9:5] Interrupt.
|
* @brief This function handles EXTI Lines [9:5] Interrupt.
|
||||||
*/
|
*/
|
||||||
|
@ -323,6 +378,20 @@ void EXTI9_5_IRQHandler(void)
|
||||||
/* USER CODE END EXTI9_5_IRQn 1 */
|
/* USER CODE END EXTI9_5_IRQn 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function handles EXTI Lines [15:10] Interrupt.
|
||||||
|
*/
|
||||||
|
void EXTI15_10_IRQHandler(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN EXTI15_10_IRQn 0 */
|
||||||
|
|
||||||
|
/* USER CODE END EXTI15_10_IRQn 0 */
|
||||||
|
//HAL_GPIO_EXTI_IRQHandler(TOF_INT_EXTI_PIN);
|
||||||
|
/* USER CODE BEGIN EXTI15_10_IRQn 1 */
|
||||||
|
|
||||||
|
/* USER CODE END EXTI15_10_IRQn 1 */
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function handles USART2 Interrupt.
|
* @brief This function handles USART2 Interrupt.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
UART_HandleTypeDef huart2;
|
UART_HandleTypeDef huart2;
|
||||||
DMA_HandleTypeDef hdma_usart2_tx;
|
DMA_HandleTypeDef hdma_usart2_tx;
|
||||||
|
DMA_HandleTypeDef hdma_usart2_rx;
|
||||||
|
|
||||||
/* USART2 init function */
|
/* USART2 init function */
|
||||||
|
|
||||||
|
@ -109,7 +110,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
||||||
|
|
||||||
/* USART2 DMA Init */
|
/* USART2 DMA Init */
|
||||||
/* USART2_TX Init */
|
/* USART2_TX Init */
|
||||||
hdma_usart2_tx.Instance = DMA1_Channel5;
|
hdma_usart2_tx.Instance = DMA1_Channel6;
|
||||||
hdma_usart2_tx.Init.Request = DMA_REQUEST_USART2_TX;
|
hdma_usart2_tx.Init.Request = DMA_REQUEST_USART2_TX;
|
||||||
hdma_usart2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
|
hdma_usart2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH;
|
||||||
hdma_usart2_tx.Init.PeriphInc = DMA_PINC_DISABLE;
|
hdma_usart2_tx.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||||
|
@ -129,6 +130,29 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart2_tx);
|
__HAL_LINKDMA(uartHandle,hdmatx,hdma_usart2_tx);
|
||||||
|
#if 0
|
||||||
|
/* USART2_RX Init */
|
||||||
|
hdma_usart2_rx.Instance = DMA1_Channel7;
|
||||||
|
hdma_usart2_rx.Init.Request = DMA_REQUEST_USART2_RX;
|
||||||
|
hdma_usart2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
|
||||||
|
hdma_usart2_rx.Init.PeriphInc = DMA_PINC_DISABLE;
|
||||||
|
hdma_usart2_rx.Init.MemInc = DMA_MINC_ENABLE;
|
||||||
|
hdma_usart2_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
|
||||||
|
hdma_usart2_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
|
||||||
|
hdma_usart2_rx.Init.Mode = DMA_NORMAL;
|
||||||
|
hdma_usart2_rx.Init.Priority = DMA_PRIORITY_LOW;
|
||||||
|
if (HAL_DMA_Init(&hdma_usart2_rx) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
#ifdef STM32WL55xx
|
||||||
|
if (HAL_DMA_ConfigChannelAttributes(&hdma_usart2_rx, DMA_CHANNEL_NPRIV) != HAL_OK)
|
||||||
|
{
|
||||||
|
Error_Handler();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
__HAL_LINKDMA(uartHandle,hdmarx,hdma_usart2_rx);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* USART2 interrupt Init */
|
/* USART2 interrupt Init */
|
||||||
HAL_NVIC_SetPriority(USART2_IRQn, 2, 0);
|
HAL_NVIC_SetPriority(USART2_IRQn, 2, 0);
|
||||||
|
@ -158,7 +182,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
|
||||||
|
|
||||||
/* USART2 DMA DeInit */
|
/* USART2 DMA DeInit */
|
||||||
HAL_DMA_DeInit(uartHandle->hdmatx);
|
HAL_DMA_DeInit(uartHandle->hdmatx);
|
||||||
|
//HAL_DMA_DeInit(uartHandle->hdmarx);
|
||||||
/* USART2 interrupt Deinit */
|
/* USART2 interrupt Deinit */
|
||||||
HAL_NVIC_DisableIRQ(USART2_IRQn);
|
HAL_NVIC_DisableIRQ(USART2_IRQn);
|
||||||
/* USER CODE BEGIN USART2_MspDeInit 1 */
|
/* USER CODE BEGIN USART2_MspDeInit 1 */
|
||||||
|
|
|
@ -127,7 +127,7 @@ UTIL_ADV_TRACE_Status_t vcom_DeInit(void)
|
||||||
|
|
||||||
/* ##-3- Disable the NVIC for DMA ########################################### */
|
/* ##-3- Disable the NVIC for DMA ########################################### */
|
||||||
/* USER CODE BEGIN 1 */
|
/* USER CODE BEGIN 1 */
|
||||||
HAL_NVIC_DisableIRQ(DMA1_Channel5_IRQn);
|
HAL_NVIC_DisableIRQ(DMA1_Channel6_IRQn);
|
||||||
|
|
||||||
return UTIL_ADV_TRACE_OK;
|
return UTIL_ADV_TRACE_OK;
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
|
|
|
@ -490,6 +490,9 @@ void LoRaWAN_Init(void)
|
||||||
|
|
||||||
LmHandlerJoin(ActivationType, ForceRejoin);
|
LmHandlerJoin(ActivationType, ForceRejoin);
|
||||||
|
|
||||||
|
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, 1000*STS_HeartBeatTimerPeriod_sec, UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL);
|
||||||
|
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
||||||
|
|
||||||
if (EventType == TX_ON_TIMER)
|
if (EventType == TX_ON_TIMER)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -536,8 +539,8 @@ void LoRaWAN_Init(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, 1000*STS_HeartBeatTimerPeriod_sec, UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL);
|
//UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, 1000*STS_HeartBeatTimerPeriod_sec, UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL);
|
||||||
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, 1000*STS_HeartBeatTimerPeriod_sec, UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL);
|
// UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, 1000*STS_HeartBeatTimerPeriod_sec, UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL);
|
||||||
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
// UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
||||||
|
|
||||||
/* USER CODE END LoRaWAN_Init_Last */
|
/* USER CODE END LoRaWAN_Init_Last */
|
||||||
}
|
}
|
||||||
|
@ -1446,7 +1449,7 @@ void OnYunhornSTSHeartBeatPeriodicityChanged(uint32_t newperiodicity)
|
||||||
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
||||||
|
|
||||||
/* USER CODE BEGIN OnYunhornSTSHeartBeatPeriodicityChanged_2 */
|
/* USER CODE BEGIN OnYunhornSTSHeartBeatPeriodicityChanged_2 */
|
||||||
APP_LOG(TS_OFF, VLEVEL_M,"* STS HeartBeatPeriodicity = %u (sec)\r\n", newperiodicity/1000 );
|
APP_LOG(TS_OFF, VLEVEL_H,"* STS HeartBeatPeriodicity = %u (sec)\r\n", newperiodicity/1000 );
|
||||||
/* USER CODE END OnYunhornSTSHeartBeatPeriodicityChanged_2 */
|
/* USER CODE END OnYunhornSTSHeartBeatPeriodicityChanged_2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1479,6 +1482,6 @@ void OnYunhornSTSTxPeriodicityChanged(uint32_t periodicity)
|
||||||
UTIL_TIMER_Start(&TxTimer);
|
UTIL_TIMER_Start(&TxTimer);
|
||||||
|
|
||||||
/* USER CODE BEGIN OnYunhornSTSTxPeriodicityChanged */
|
/* USER CODE BEGIN OnYunhornSTSTxPeriodicityChanged */
|
||||||
APP_LOG(TS_OFF, VLEVEL_M,"\n* STS TxPeriodicity = %u (sec)\r\n", TxPeriodicity/1000 );
|
APP_LOG(TS_OFF, VLEVEL_H,"\n* STS TxPeriodicity = %u (sec)\r\n", TxPeriodicity/1000 );
|
||||||
/* USER CODE END OnYunhornSTSTxPeriodicityChanged */
|
/* USER CODE END OnYunhornSTSTxPeriodicityChanged */
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,9 +54,14 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
|
||||||
sts_version,
|
sts_version,
|
||||||
sts_hardware_ver,
|
sts_hardware_ver,
|
||||||
0x05, //Regular TxPeriodicity interval
|
0x05, //Regular TxPeriodicity interval
|
||||||
'M', //Uplink data interval unit, for heart-beat uplink
|
'M', //TxPeriodicity Uplink data interval unit
|
||||||
|
#if defined(STS_P2)||defined(L8)||defined(STS_O6T)||defined(STS_T6)
|
||||||
0x01, //Heart-beat interval or Sampling interval
|
0x01, //Heart-beat interval or Sampling interval
|
||||||
'S', //Sampling sensor interval unit, for real-time sensing of MEMS
|
'S', //Sampling sensor interval unit, for real-time sensing of MEMS
|
||||||
|
#else
|
||||||
|
0x3C, //Heart-beat interval , for heart-beat uplink
|
||||||
|
'M', //Heart-beat interval unit
|
||||||
|
#endif
|
||||||
0x04, // dual mode=4, uni_mode =5
|
0x04, // dual mode=4, uni_mode =5
|
||||||
0x00, // sts service mask
|
0x00, // sts service mask
|
||||||
0x00, //sts_ioc_mask
|
0x00, //sts_ioc_mask
|
||||||
|
@ -101,7 +106,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
|
||||||
// below 20 bytes for RFAC code
|
// below 20 bytes for RFAC code
|
||||||
{0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0}
|
{0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0}
|
||||||
};
|
};
|
||||||
//volatile uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0};
|
volatile uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0};
|
||||||
volatile uint8_t sts_ac_code[20]={0x0};
|
volatile uint8_t sts_ac_code[20]={0x0};
|
||||||
volatile uint8_t sts_service_mask=STS_SERVICE_MASK_L0;
|
volatile uint8_t sts_service_mask=STS_SERVICE_MASK_L0;
|
||||||
volatile uint8_t sts_work_mode=4;
|
volatile uint8_t sts_work_mode=4;
|
||||||
|
@ -1438,50 +1443,56 @@ void OnStoreSTSCFGContextRequest(void)
|
||||||
{
|
{
|
||||||
/* USER CODE BEGIN OnStoreContextRequest_1 */
|
/* USER CODE BEGIN OnStoreContextRequest_1 */
|
||||||
uint8_t i=0,j=0;
|
uint8_t i=0,j=0;
|
||||||
uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0}; /* KEEP THIS LOCAL */
|
uint8_t to_store__value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0}; /* KEEP THIS LOCAL */
|
||||||
sts_cfg_nvm.length = STS_NVM_CFG_SIZE;
|
sts_cfg_nvm.length = STS_NVM_CFG_SIZE;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.mtmcode1;
|
to_store__value[i++] = sts_cfg_nvm.mtmcode1;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.mtmcode2;
|
to_store__value[i++] = sts_cfg_nvm.mtmcode2;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.version;
|
to_store__value[i++] = sts_cfg_nvm.version;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.hardware_ver;
|
to_store__value[i++] = sts_cfg_nvm.hardware_ver;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.periodicity;
|
to_store__value[i++] = sts_cfg_nvm.periodicity;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.unit;
|
to_store__value[i++] = sts_cfg_nvm.unit;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.sampling;
|
to_store__value[i++] = sts_cfg_nvm.sampling;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.s_unit;
|
to_store__value[i++] = sts_cfg_nvm.s_unit;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.work_mode;
|
to_store__value[i++] = sts_cfg_nvm.work_mode;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.sts_service_mask;
|
to_store__value[i++] = sts_cfg_nvm.sts_service_mask;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.sts_ioc_mask;
|
to_store__value[i++] = sts_cfg_nvm.sts_ioc_mask;
|
||||||
nvm_store_value[i++] = (uint8_t) STS_CFG_PCFG_SIZE; //sts_cfg_nvm.length;
|
to_store__value[i++] = (uint8_t) STS_CFG_PCFG_SIZE; //sts_cfg_nvm.length;
|
||||||
|
|
||||||
for (j = 0; j < STS_CFG_PCFG_SIZE; j++) {
|
for (j = 0; j < STS_CFG_PCFG_SIZE; j++) {
|
||||||
nvm_store_value[i++] = (sts_cfg_nvm.p[j]);
|
to_store__value[i++] = (sts_cfg_nvm.p[j]);
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.reserve02;
|
to_store__value[i++] = sts_cfg_nvm.reserve02;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.reserve03;
|
to_store__value[i++] = sts_cfg_nvm.reserve03;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.sensor_install_height_in_10cm;
|
to_store__value[i++] = sts_cfg_nvm.sensor_install_height_in_10cm;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.alarm_parameter05;
|
to_store__value[i++] = sts_cfg_nvm.alarm_parameter05;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.alarm_mute_reset_timer_in_10sec;
|
to_store__value[i++] = sts_cfg_nvm.alarm_mute_reset_timer_in_10sec;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.alarm_lamp_bar_flashing_color;
|
to_store__value[i++] = sts_cfg_nvm.alarm_lamp_bar_flashing_color;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.occupancy_overtime_threshold_in_10min;
|
to_store__value[i++] = sts_cfg_nvm.occupancy_overtime_threshold_in_10min;
|
||||||
|
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.motionless_duration_threshold_in_min;
|
to_store__value[i++] = sts_cfg_nvm.motionless_duration_threshold_in_min;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.unconscious_or_motionless_level_threshold;
|
to_store__value[i++] = sts_cfg_nvm.unconscious_or_motionless_level_threshold;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.fall_detection_acc_threshold;
|
to_store__value[i++] = sts_cfg_nvm.fall_detection_acc_threshold;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.fall_detection_depth_threshold;
|
to_store__value[i++] = sts_cfg_nvm.fall_detection_depth_threshold;
|
||||||
nvm_store_value[i++] = sts_cfg_nvm.fall_confirm_threshold_in_10sec;
|
to_store__value[i++] = sts_cfg_nvm.fall_confirm_threshold_in_10sec;
|
||||||
|
|
||||||
if ((sts_cfg_nvm.ac[0]!=0x0) && (sts_cfg_nvm.ac[19]!=0x0)) {
|
if ((nvm_store_value[NVM_AC_CODE_START]!= 0x0) && (nvm_store_value[NVM_AC_CODE_START+19]!=0x0))
|
||||||
for (j = 0; j < YUNHORN_STS_AC_CODE_SIZE; j++) {
|
{
|
||||||
nvm_store_value[i++] = (sts_cfg_nvm.ac[j]);
|
//APP_LOG(TS_OFF, VLEVEL_M, "\n\r Transfer good NVM Stored ac_code to NVM_STORE_VALUE\r\n");
|
||||||
}
|
UTIL_MEM_cpy_8((void*)&to_store__value[NVM_AC_CODE_START], (void*)&nvm_store_value[NVM_AC_CODE_START],YUNHORN_STS_AC_CODE_SIZE);
|
||||||
|
} else if ((sts_ac_code[0]!=0x0) && (sts_ac_code[YUNHORN_STS_AC_CODE_SIZE-1]!=0x0))
|
||||||
|
{
|
||||||
|
//APP_LOG(TS_OFF, VLEVEL_M, "\n\r Transfer new generated ac_code to NVM_STORE_VALUE\r\n");
|
||||||
|
UTIL_MEM_cpy_8((void*)&to_store__value[NVM_AC_CODE_START], (void*)sts_ac_code,YUNHORN_STS_AC_CODE_SIZE);
|
||||||
|
UTIL_MEM_cpy_8((void*)&nvm_store_value[NVM_AC_CODE_START], (void*)sts_ac_code,YUNHORN_STS_AC_CODE_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE END OnStoreContextRequest_1 */
|
/* USER CODE END OnStoreContextRequest_1 */
|
||||||
/* store nvm in flash */
|
/* store nvm in flash */
|
||||||
|
|
||||||
if (FLASH_IF_Erase(STS_CONFIG_NVM_BASE_ADDRESS, FLASH_PAGE_SIZE) == FLASH_IF_OK)
|
if (FLASH_IF_Erase(STS_CONFIG_NVM_BASE_ADDRESS, FLASH_PAGE_SIZE) == FLASH_IF_OK)
|
||||||
{
|
{
|
||||||
FLASH_IF_Write(STS_CONFIG_NVM_BASE_ADDRESS, (const void *)nvm_store_value, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
FLASH_IF_Write(STS_CONFIG_NVM_BASE_ADDRESS, (const void *)to_store__value, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE BEGIN OnStoreContextRequest_Last */
|
/* USER CODE BEGIN OnStoreContextRequest_Last */
|
||||||
|
@ -1505,14 +1516,15 @@ void OnRestoreSTSCFGContextRequest(uint8_t *cfg_in_nvm)
|
||||||
void STS_REBOOT_CONFIG_Init(void)
|
void STS_REBOOT_CONFIG_Init(void)
|
||||||
{
|
{
|
||||||
/* USER CODE BEGIN OnRestoreContextRequest_1 */
|
/* USER CODE BEGIN OnRestoreContextRequest_1 */
|
||||||
uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0};
|
//uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0};
|
||||||
/* USER CODE END OnRestoreContextRequest_1 */
|
/* USER CODE END OnRestoreContextRequest_1 */
|
||||||
FLASH_IF_Read(nvm_store_value, STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
FLASH_IF_Read((void*)nvm_store_value, (void*)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE);
|
||||||
|
//STS_Show_STS_CFG_NVM((uint8_t*)nvm_store_value);
|
||||||
/* USER CODE BEGIN OnRestoreContextRequest_Last */
|
/* USER CODE BEGIN OnRestoreContextRequest_Last */
|
||||||
|
|
||||||
if ((nvm_store_value[NVM_MTM1] != sts_mtmcode1) || (nvm_store_value[NVM_MTM2] != sts_mtmcode2) || (nvm_store_value[NVM_VER] != sts_version))
|
if ((nvm_store_value[NVM_MTM1] != sts_mtmcode1) || (nvm_store_value[NVM_MTM2] != sts_mtmcode2) || (nvm_store_value[NVM_VER] != sts_version))
|
||||||
{
|
{
|
||||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\nInitial Boot with Empty Config, Flash with default config....\r\n");
|
APP_LOG(TS_OFF, VLEVEL_L, "\r\nInitial Boot with Empty Config, Flash with default config....\r\n");
|
||||||
OnStoreSTSCFGContextRequest();
|
OnStoreSTSCFGContextRequest();
|
||||||
//UTIL_MEM_set_8((void *)sts_ac_code, 0x00, YUNHORN_STS_AC_CODE_SIZE);
|
//UTIL_MEM_set_8((void *)sts_ac_code, 0x00, YUNHORN_STS_AC_CODE_SIZE);
|
||||||
HAL_Delay(1000);
|
HAL_Delay(1000);
|
||||||
|
@ -1555,7 +1567,7 @@ void STS_REBOOT_CONFIG_Init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
STS_Show_STS_CFG_NVM((uint8_t*)nvm_store_value);
|
//STS_Show_STS_CFG_NVM((uint8_t*)nvm_store_value);
|
||||||
OnRestoreSTSCFGContextProcess();
|
OnRestoreSTSCFGContextProcess();
|
||||||
|
|
||||||
/* USER CODE END OnRestoreContextRequest_Last */
|
/* USER CODE END OnRestoreContextRequest_Last */
|
||||||
|
@ -1573,7 +1585,7 @@ void OnRestoreSTSCFGContextProcess(void)
|
||||||
}
|
}
|
||||||
periodicity = (periodicity > 10)? periodicity : 10; // in seconds unit
|
periodicity = (periodicity > 10)? periodicity : 10; // in seconds unit
|
||||||
|
|
||||||
APP_LOG(TS_OFF, VLEVEL_M, "\n\n Tx periodicity in NVM =%u sec\n",periodicity);
|
APP_LOG(TS_OFF, VLEVEL_H, "\n\n Tx periodicity in NVM =%u sec\n",periodicity);
|
||||||
|
|
||||||
TxPeriodicity= periodicity*1000; // to ms
|
TxPeriodicity= periodicity*1000; // to ms
|
||||||
STS_TxPeriod_sec = periodicity;
|
STS_TxPeriod_sec = periodicity;
|
||||||
|
@ -1588,7 +1600,7 @@ void OnRestoreSTSCFGContextProcess(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
STS_HeartBeatTimerPeriod_sec = MAX(sampling_heartbeat_periodicity,5*periodicity);
|
STS_HeartBeatTimerPeriod_sec = MAX(sampling_heartbeat_periodicity,5*periodicity);
|
||||||
APP_LOG(TS_OFF, VLEVEL_M, "\n\n sampling or heartbeat periodicity in NVM =%u sec\n",sampling_heartbeat_periodicity);
|
APP_LOG(TS_OFF, VLEVEL_H, "\n\n sampling or heartbeat periodicity in NVM =%u sec\n",sampling_heartbeat_periodicity);
|
||||||
|
|
||||||
if ((sts_cfg_nvm.ac[0] ==0x0 )&& (sts_cfg_nvm.ac[19]==0x0))
|
if ((sts_cfg_nvm.ac[0] ==0x0 )&& (sts_cfg_nvm.ac[19]==0x0))
|
||||||
{ // ensure it's not in production yet
|
{ // ensure it's not in production yet
|
||||||
|
@ -1645,16 +1657,18 @@ void OnRestoreSTSCFGContextProcess(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void STS_Show_STS_CFG_NVM(uint8_t * nvm_store_value)
|
static void STS_Show_STS_CFG_NVM(uint8_t * store_value)
|
||||||
{
|
{
|
||||||
APP_LOG(TS_OFF, VLEVEL_M, "\n *** STS_CFG_NVM ***\n");
|
APP_LOG(TS_OFF, VLEVEL_M, "\n-----------------------------------------------\n");
|
||||||
APP_LOG(TS_OFF, VLEVEL_M, "\n00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15\n");
|
APP_LOG(TS_OFF, VLEVEL_M, "\n00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15\n");
|
||||||
for (uint8_t i=0; i<YUNHORN_STS_MAX_NVM_CFG_SIZE; i++)
|
for (uint8_t i=0; i<YUNHORN_STS_MAX_NVM_CFG_SIZE; i++)
|
||||||
{
|
{
|
||||||
if (i%16==0) APP_LOG(TS_OFF, VLEVEL_M, "\n");
|
if (i%16==0) APP_LOG(TS_OFF, VLEVEL_M, "\n");
|
||||||
APP_LOG(TS_OFF, VLEVEL_M, "%02X ", nvm_store_value[i]);
|
APP_LOG(TS_OFF, VLEVEL_M, "%02X ", store_value[i]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_M, "\n\r");
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_M, "\n###############################################\n\r");
|
||||||
}
|
}
|
||||||
void STS_SENSOR_Distance_Test_Process(void)
|
void STS_SENSOR_Distance_Test_Process(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue