T6_O1L #61

Closed
sundp wants to merge 59 commits from T6_O1L into L8
15 changed files with 72 additions and 21 deletions
Showing only changes of commit bad758d575 - Show all commits

View File

@ -302,21 +302,22 @@ void Error_Handler(void);
// STS_M1, WATER LEAKAGE PA1 READ DATA, PA1
#ifdef STS_M1
#define WATER_DETECT_Pin GPIO_PIN_1
#define WATER_DETECT_Port GPIOA
#define WATER_DETECT_STATE HAL_GPIO_ReadPin(WATER_DETECT_Port, WATER_DETECT_Pin)
#endif
//#ifdef STS_M1
//#define WATER_DETECT_Pin GPIO_PIN_1
//#define WATER_DETECT_Port GPIOA
//#define WATER_DETECT_STATE HAL_GPIO_ReadPin(WATER_DETECT_Port, WATER_DETECT_Pin)
//#endif
#if defined(STS_M1)
/* Water leakage MEMS_IF_1, PA1 */
#define WATER_LEAKAGE_STATUS_Pin GPIO_PIN_1
#define WATER_LEAKAGE_STATUS_Pin GPIO_PIN_10
#define WATER_LEAKAGE_STATUS_GPIO_Port GPIOA
/* Water leakageON_OFF, MEMS_IF_1, PB5 */
#define WATER_LEAKAGE_SWITCH_Pin GPIO_PIN_5
#define WATER_LEAKAGE_SWITCH_GPIO_Port GPIOB
#define WATER_LEAKAGE_ENABLE HAL_GPIO_WritePin(WATER_LEAKAGE_SWITCH_GPIO_Port, WATER_LEAKAGE_SWITCH_Pin, GPIO_PIN_SET )
#define WATER_LEAKAGE_DISABLE HAL_GPIO_WritePin(WATER_LEAKAGE_SWITCH_GPIO_Port, WATER_LEAKAGE_SWITCH_Pin, GPIO_PIN_RESET )
#define WATER_LEAKAGE_DATA HAL_GPIO_ReadPin(WATER_LEAKAGE_STATUS_GPIO_Port,WATER_LEAKAGE_STATUS_Pin)
#endif

View File

@ -76,7 +76,7 @@ void MX_GPIO_Init(void)
#else
/*Configure GPIO pins : PAPin PAPin */
GPIO_InitStruct.Pin = BUT1_Pin|BUT2_Pin;
GPIO_InitStruct.Pin = BUT1_Pin; //|BUT2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
@ -173,6 +173,26 @@ void MX_GPIO_Init(void)
HAL_GPIO_Init(SOAP_SWITCH_GPIO_Port, &GPIO_InitStruct);
#endif
#if defined(STS_M1)
HAL_GPIO_WritePin(WATER_LEAKAGE_SWITCH_GPIO_Port, WATER_LEAKAGE_SWITCH_Pin, GPIO_PIN_RESET);
/*Configure GPIO pins : PAPin PAPin */
GPIO_InitStruct.Pin = WATER_LEAKAGE_STATUS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; //GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(WATER_LEAKAGE_STATUS_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = WATER_LEAKAGE_SWITCH_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(WATER_LEAKAGE_SWITCH_GPIO_Port, &GPIO_InitStruct);
#endif
/* ============== SOAP LEVEL DETECTION ========================= */
/* EXTI interrupt init*/
@ -182,8 +202,12 @@ void MX_GPIO_Init(void)
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);
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
// HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
// HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
#ifdef STS_O5
HAL_NVIC_SetPriority(HALL1_EXTI_IRQn, 10, 0);

View File

@ -114,7 +114,8 @@ int main(void)
MX_DMA_Init();
MX_LoRaWAN_Init();
}
//PME_ON;
//WATER_LEAKAGE_ENABLE;
/* USER CODE BEGIN 2 */
//MX_USART2_UART_Init();
/* USER CODE END 2 */

View File

@ -243,11 +243,11 @@ void EXTI1_IRQHandler(void)
/* USER CODE BEGIN EXTI1_IRQn 0 */
/* USER CODE END EXTI1_IRQn 0 */
#if defined(STS_M1)
HAL_GPIO_EXTI_IRQHandler(WATER_LEAKAGE_STATUS_Pin);
#else
HAL_GPIO_EXTI_IRQHandler(BUT2_Pin);
#endif
//#if defined(STS_M1)
//HAL_GPIO_EXTI_IRQHandler(WATER_LEAKAGE_STATUS_Pin);
//#else
// HAL_GPIO_EXTI_IRQHandler(BUT2_Pin);
//#endif
/* USER CODE BEGIN EXTI1_IRQn 1 */
/* USER CODE END EXTI1_IRQn 1 */
@ -403,6 +403,9 @@ void EXTI15_10_IRQHandler(void)
#ifdef STS_O5
HAL_GPIO_EXTI_IRQHandler(HALL2_Pin);
#endif
#ifdef STS_M1
HAL_GPIO_EXTI_IRQHandler(WATER_LEAKAGE_STATUS_Pin);
#endif
#if defined(L8)||defined(STS_P2)||defined(STS_R1D)||defined(STS_R5)
HAL_GPIO_EXTI_IRQHandler(TOF_INT_EXTI_PIN);
#endif

View File

@ -491,7 +491,7 @@ void LoRaWAN_Init(void)
LmHandlerJoin(ActivationType, ForceRejoin);
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, 1000*STS_HeartBeatTimerPeriod_sec, UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL);
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, 1000*STS_HeartBeatTimerPeriod_sec, UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL);
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
if (EventType == TX_ON_TIMER)
@ -540,9 +540,9 @@ void LoRaWAN_Init(void)
UTIL_TIMER_Start(&YunhornSTSWakeUpScanTimer);
#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_Start(&YunhornSTSHeartBeatTimer);
//UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
/* USER CODE END LoRaWAN_Init_Last */
}

BIN
STS/BIN/WLE5CC_NODE_STS.elf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -190,7 +190,7 @@
#ifdef STS_M1
#define YUNHORN_STS_M1_LORA_APP_DATA_PORT 6U
#define YUNHORN_STS_M1_LORA_APP_HTBT_PORT 6U
#define YUNHORN_STS_M1_LORA_APP_HTBT_PORT 66U
#define YUNHORN_STS_PRD_STRING "STS_M1"
#define sts_mtmcode1 0U
#define sts_mtmcode2 6U

View File

@ -314,8 +314,28 @@ void STS_YunhornSTSEventP1_Process(void)
/* STS-M1 Water leakage sensor */
#if defined(STS_M1)
PME_ON;
APP_LOG(TS_OFF, VLEVEL_M, "\r\n WATER LEAKAGE DETECTION Process \n");
WATER_LEAKAGE_ENABLE;
HAL_Delay(50);
WATER_LEAKAGE_ENABLE;
LED1_ON;
//HAL_Delay(40);
sts_water_leakage_state = WATER_LEAKAGE_DATA;
APP_LOG(TS_OFF, VLEVEL_M, "\r\n DETECTION RESULT =%d \r\n", sts_water_leakage_state);
//LED1_OFF;
//HAL_Delay(50);
WATER_LEAKAGE_DISABLE;
//HAL_Delay(50);
//LED1_ON;
HAL_Delay(40);
sts_water_leakage_state = WATER_LEAKAGE_DATA;
APP_LOG(TS_OFF, VLEVEL_M, "\r\n DETECTION RESULT =%d \r\n", sts_water_leakage_state);
//PME_OFF;
LED1_OFF;
#endif
}
@ -573,7 +593,9 @@ void STS_R4_sensor_read(sts_r_sensor_data_t *sts_r_sensor_data)
#ifdef STS_M1
void STS_M1_sensor_read(sts_r_sensor_data_t *sts_m_sensor_data)
{
APP_LOG(TS_OFF, VLEVEL_M, "\r\n M1 sensor read =%d \r\n", WATER_LEAKAGE_DATA);
sts_m_sensor_data->on_off_event = sts_water_leakage_state;
sts_m_sensor_data->on_off_event = WATER_LEAKAGE_DATA;
sts_m_sensor_data->measure_tech = 0; //weak current detection
}
#endif
@ -1658,7 +1680,7 @@ void OnRestoreSTSCFGContextProcess(void)
#endif
#if defined(STS_R1)||defined(STS_R5)||defined(STS_R4)||defined(STS_R1D)||defined(STS_O5)
#if defined(STS_R1)||defined(STS_R5)||defined(STS_R4)||defined(STS_R1D)||defined(STS_O5)||defined(STS_M1)
OnYunhornSTSHeartBeatPeriodicityChanged(sampling_heartbeat_periodicity*1000);
#endif
}