minor improve for L8AN

This commit is contained in:
Yunhorn 2025-07-07 17:16:31 +08:00
parent 6803f1ef95
commit caa2095a6b
4 changed files with 30 additions and 29 deletions

View File

@ -91,7 +91,7 @@ void Error_Handler(void);
#define USARTx_TX_GPIO_Port GPIOA
/* USER CODE BEGIN Private defines */
#if defined(STS_O7)||defined(L8)
#if defined(STS_O7)||defined(STS_L8)
#define HALL1_Pin GPIO_PIN_0 // DOOR CONTACT
#define HALL1_GPIO_Port GPIOA
@ -158,7 +158,7 @@ void Error_Handler(void);
#define LED1_STATE HAL_GPIO_ReadPin(LED1_GPIO_Port, LED1_Pin)
#define LED1_TOGGLE HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin)
#ifndef L8
#ifndef STS_L8
#define MEMS_POWER_Pin GPIO_PIN_4 // PMU_ENABLE
#define MEMS_POWER_GPIO_Port GPIOB // PMU_ENABLE
@ -268,7 +268,7 @@ void Error_Handler(void);
/* VL53L8A1 for Power_En, LPn, Int */
/* for Yunhorn STS_RM1.3 Round PCB */
#ifdef L8
#ifdef STS_L8
#define TOF_INT_EXTI_PIN (GPIO_PIN_15) //(GPIO_PIN_4)
#define TOF_INT_EXTI_PORT (GPIOA) //(GPIOA)
#define TOF_INT_EXTI_IRQn EXTI15_10_IRQn
@ -370,7 +370,7 @@ void Error_Handler(void);
#endif
#endif
#if defined(STS_O7)||defined(L8)
#if defined(STS_O7)||defined(STS_L8)
#define A111_SENSOR_INTERRUPT_Pin GPIO_PIN_3 // SWITCH TO PB-3, 2024-05-06
#define A111_SENSOR_INTERRUPT_GPIO_Port GPIOB
#define A111_SENSOR_INTERRUPT_EXTI_IRQn EXTI3_IRQn // SWITCH TO PB-3, 2024-05-06

View File

@ -573,7 +573,7 @@ void LoRaWAN_Init(void)
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), UTIL_SEQ_RFU, STS_YunhornSTSEventP1_Process);
#endif
#if defined(STS_P2)||defined(STS_T6)||defined(L8)
#if defined(STS_P2)||defined(STS_T6)||defined(STS_L8)
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP5), UTIL_SEQ_RFU, STS_YunhornSTSEventP5_Process);
#endif
@ -589,7 +589,7 @@ void LoRaWAN_Init(void)
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP3), UTIL_SEQ_RFU, STS_YunhornSTSEventP3_Process);
#endif
#if defined(STS_P2)||defined(STS_T6)||defined(L8)
#if defined(STS_P2)||defined(STS_T6)||defined(STS_L8)
UTIL_TIMER_Create(&YunhornSTSWakeUpScanTimer, STS_TOFScanPeriod_msec, UTIL_TIMER_PERIODIC, (void*)STS_YunhornSTSEventP5_Process, NULL);
UTIL_TIMER_Start(&YunhornSTSWakeUpScanTimer);
#endif
@ -634,7 +634,7 @@ void STS_Sensor_Init(void)
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), UTIL_SEQ_RFU, STS_YunhornSTSEventP1_Process);
#endif
#if defined(STS_P2)||defined(STS_T6)||defined(L8)
#if defined(STS_P2)||defined(STS_T6)||defined(STS_L8)
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP5), UTIL_SEQ_RFU, STS_YunhornSTSEventP5_Process);
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventSelfTestProcess), UTIL_SEQ_RFU, STS_SENSOR_Function_Test_Process);
#endif
@ -651,7 +651,7 @@ void STS_Sensor_Init(void)
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP3), UTIL_SEQ_RFU, STS_YunhornSTSEventP3_Process);
#endif
#if defined(STS_P2)||defined(STS_T6)||defined(L8)
#if defined(STS_P2)||defined(STS_T6)||defined(STS_L8)
UTIL_TIMER_Create(&YunhornSTSWakeUpScanTimer, STS_TOFScanPeriod_msec, UTIL_TIMER_PERIODIC, (void*)STS_YunhornSTSEventP5_Process, NULL);
UTIL_TIMER_Start(&YunhornSTSWakeUpScanTimer);
#endif
@ -895,7 +895,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
}
break;
#endif
#if (defined(VL53L0)||defined(VL53LX)||defined(L8))
#if (defined(VL53L0)||defined(VL53LX)||defined(STS_L8))
case TOF_INT_EXTI_PIN:
ToF_EventDetected = 1;
break;
@ -1183,7 +1183,7 @@ static void SendTxData(void)
AppData.Port = YUNHORN_STS_P2_LORA_APP_DATA_PORT; /* STS-P2 Data Port */
#elif defined(STS_T6)
AppData.Port = YUNHORN_STS_T6_LORA_APP_DATA_PORT; /* STS-T6 Data Port */
#elif defined(L8)
#elif defined(STS_L8)
AppData.Port = YUNHORN_STS_L8_LORA_APP_DATA_PORT; /* STS-L8 Data Port */
#endif
@ -1300,7 +1300,7 @@ static void SendTxData(void)
#endif //STS_T6
#if defined(L8)
#if defined(STS_L8)
//AppData.Buffer[i++] = 4;
#if 0
if ((fhmos_info.state_fall ==3)||(fhmos_info.state_occupancy ==3)||(fhmos_info.state_human_movement ==3))
@ -1372,7 +1372,7 @@ static void SendTxData(void)
AppData.Buffer[i++] = fhmos_info.state_PIR;
#endif
#elif defined(L8)
#elif defined(STS_L8)
sts_data->lamp_bar_color = sts_lamp_bar_color;
sts_data->state_hall_1 = sts_hall1_read;
sts_data->state_hall_2 = sts_hall2_read;
@ -1923,11 +1923,11 @@ static void OnYunhornSTSHeartBeatTimerEvent(void *context)
appHeartBeatDataPort = YUNHORN_STS_R4_LORA_APP_HTBT_PORT;
#elif defined(STS_T6)
appHeartBeatDataPort = YUNHORN_STS_T6_LORA_APP_HTBT_PORT;
#elif defined(L8)
#elif defined(STS_L8)
appHeartBeatDataPort = YUNHORN_STS_L8_LORA_APP_HTBT_PORT;
#endif
#if defined(L8)||defined(O6)||defined(O2)||defined(O6T)||defined(O1L)||defined(T6) // for keeping sync with webApp for state/lampbar color, in case failure of uplink message
#if defined(STS_L8)||defined(O6)||defined(O2)||defined(O6T)||defined(O1L)||defined(T6) // for keeping sync with webApp for state/lampbar color, in case failure of uplink message
APP_LOG(TS_OFF, VLEVEL_M, "\r\n Keep Sync message for state/lamp bar color with web app\r\n");
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
#else
@ -1976,7 +1976,7 @@ void OnYunhornSTSHeartBeatPeriodicityChanged(uint32_t periodicity)
#if 0
static void OnYunhornSTSWakeUpScanTimerEvent(void *context)
{
#if defined(STS_P2)||defined(STS_T6)||defined(L8)
#if defined(STS_P2)||defined(STS_T6)||defined(STS_L8)
UTIL_TIMER_Stop(&YunhornSTSWakeUpScanTimer);
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP5), CFG_SEQ_Prio_0);

View File

@ -138,6 +138,7 @@
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.1119592399" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.2024044405" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="L8"/>
<listOptionValue builtIn="false" value="RC_RF433"/>
<listOptionValue builtIn="false" value="NARROW_CUBICLE"/>
<listOptionValue builtIn="false" value="SERCO_PWH"/>
<listOptionValue builtIn="false" value="PIR"/>

View File

@ -49,7 +49,7 @@
#include "app_tof_peoplecount.h"
extern volatile uint8_t sts_door_jam_profile;
extern volatile uint8_t sts_tof_presence_state_changed;
#elif defined(L8)
#elif defined(STS_L8)
#include "app_tof.h"
#include "sts_lamp_bar.h"
volatile uint8_t sts_hall1_read=STS_Status_Door_Open,sts_hall2_read=STS_Status_SOS_Release; // Above hall1_read == reed_hall_result, hall2_read == emergency_button
@ -93,7 +93,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
0x05, //Regular TxPeriodicity interval
'M', //Uplink data interval unit, for heart-beat uplink
#endif
#if defined(STS_P2)||defined(L8)||defined(STS_O6T)||defined(STS_T6)
#if defined(STS_P2)||defined(STS_L8)||defined(STS_O6T)||defined(STS_T6)
0x01, //Heart-beat interval or Sampling interval
'S', //Sampling sensor interval unit, for real-time sensing of MEMS
#else
@ -133,7 +133,7 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
0x20, //sensor install height in dm =10 cm, default 32*10=320cm, 3.2meter
0x00, //reserve5 alarm_parameter05
#ifdef L8
#ifdef STS_L8
/*
uint8_t fhmos_fall=0, fhmos_human_movement=0, fhmos_occupancy=0, fhmos_sos_alarm=0;
fhmos_cfg.th_head_level_height_cm = 70; // default 700mm
@ -552,7 +552,7 @@ void STS_YunhornSTSEventP5_Process(void)
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
}
#elif defined(L8)
#elif defined(STS_L8)
//STS_TOF_VL53L8X_Process();
//printf("\r\n P5 process \r\n");
STSWakeupScanTimerStop();
@ -1302,7 +1302,7 @@ void USER_APP_AUTO_RESPONDER_Parse(uint8_t *parse_buffer, uint8_t parse_buffer_s
outbuf[i++] = (uint8_t)((sts_sensor_install_height/100)%10+0x30)&0xff;
outbuf[i++] = (uint8_t)((sts_sensor_install_height/10)%10+0x30)&0xff;
outbuf[i++] = (uint8_t)((sts_sensor_install_height/1)%10+0x30)&0xff;
#elif defined(L8)
#elif defined(STS_L8)
outbuf[i++] = (uint8_t)(sts_sensor_install_height>>8)&0xff;
outbuf[i++] = (uint8_t)((sts_sensor_install_height))&0xff;
#endif
@ -1761,7 +1761,7 @@ void OnStoreSTSCFGContextRequest(void)
to_store__value[i++] = sts_cfg_nvm.sts_ioc_mask;
to_store__value[i++] = (uint8_t) STS_CFG_PCFG_SIZE; //sts_cfg_nvm.length;
#if defined(L8)
#if defined(STS_L8)
for (j = 0; j < 8; j++) {
to_store__value[i++] = (sts_mask_bitmap[j]);
}
@ -1777,7 +1777,7 @@ void OnStoreSTSCFGContextRequest(void)
to_store__value[i++] = sts_cfg_nvm.color_severity_l2_l3;
to_store__value[i++] = sts_cfg_nvm.sensor_install_height_in_10cm;
to_store__value[i++] = sts_cfg_nvm.alarm_parameter05;
#ifdef L8
#ifdef STS_L8
to_store__value[i++] = sts_cfg_nvm.fhmos_cfg_1;
to_store__value[i++] = sts_cfg_nvm.fhmos_cfg_2;
to_store__value[i++] = sts_cfg_nvm.fhmos_cfg_3;
@ -1871,7 +1871,7 @@ void STS_REBOOT_CONFIG_Init(void)
for (uint8_t j=0; j< sts_cfg_nvm.length; j++) {
sts_cfg_nvm.p[j] = (uint8_t)nvm_store_value[NVM_CFG_START+j];
}
#if defined(L8)
#if defined(STS_L8)
for (uint8_t j=0; j<8; j++) {
sts_mask_bitmap[j] = (uint8_t)nvm_store_value[NVM_CFG_START+j];
}
@ -1894,7 +1894,7 @@ void STS_REBOOT_CONFIG_Init(void)
sts_cfg_nvm.sensor_install_height_in_10cm =(uint8_t)nvm_store_value[NVM_SENSOR_INSTALL_HEIGHT];
sts_cfg_nvm.alarm_parameter05 =(uint8_t)nvm_store_value[NVM_ALARM_PARAMETER05];
#ifdef L8
#ifdef STS_L8
sts_cfg_nvm.fhmos_cfg_1 =(uint8_t)nvm_store_value[NVM_ALARM_MUTE_RESET_TIMER];
sts_cfg_nvm.fhmos_cfg_2 =(uint8_t)nvm_store_value[NVM_ALARM_LAMP_BAR_FLASHING_COLOR];
sts_cfg_nvm.fhmos_cfg_3 =(uint8_t)nvm_store_value[NVM_OCCUPANCY_OVERTIME_THRESHOLD];
@ -2018,14 +2018,14 @@ void OnRestoreSTSCFGContextProcess(void)
}
#endif
#ifdef L8
#ifdef STS_L8
STS_FHMOS_sensor_config_init();
//STS_FHMOS_sensor_config_update();
#endif
}
#ifdef L8
#ifdef STS_L8
void STS_FHMOS_sensor_config_init(void)
{
//uint8_t fhmos_fall=0, fhmos_human_movement=0, fhmos_occupancy=0, fhmos_sos_alarm=0;
@ -2181,7 +2181,7 @@ void STS_SENSOR_Distance_Test_Process(void)
APP_LOG(TS_OFF, VLEVEL_M, "\r\nSensor Function Test: Distance Measured =%u mm\r\n", (int)sts_distance_rss_distance);
#endif
#if defined(VL53LX)||defined(L8)
#if defined(VL53LX)||defined(STS_L8)
//MX_TOF_Init();
STSWakeupScanTimerStop();
//STS_TOF_L8_Process();
@ -2236,10 +2236,10 @@ void STS_SENSOR_Function_Test_Process(void)
tstbuf[i++] = (uint8_t) sts_hardware_ver;
tstbuf[i++] = (uint8_t) (99*GetBatteryLevel()/254)&0xff;
#if (defined(STS_P2)||defined(STS_T6))||defined(L8)
#if (defined(STS_P2)||defined(STS_T6))||defined(STS_L8)
STS_SENSOR_MEMS_Get_ID(&my_id);
APP_LOG(TS_OFF, VLEVEL_M, "\r\n Sensor id =%04x \r\n", my_id);
#if defined(L8)
#if defined(STS_L8)
if (((my_id & 0xff)!= 0x0C) && (((my_id >>8) & 0xFF)!=0xF0)) // no VL53L8X found
{
tstbuf[i++] = (uint8_t) 'X'; // Slave MEMS Not Avaliable