compact, remove i2c2, ssd1306, update version to 2023-06-20
This commit is contained in:
parent
15808b358c
commit
995584eff2
|
@ -72,7 +72,7 @@ void Error_Handler(void);
|
|||
|
||||
/* USER CODE BEGIN EFP */
|
||||
void SystemClock_Config(void);
|
||||
void MX_I2C2_Init(void);
|
||||
//void MX_I2C2_Init(void);
|
||||
void MX_I2C1_Init(void);
|
||||
void MX_TIM2_Init(void);
|
||||
/* USER CODE END EFP */
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
* MODULE SELECTION
|
||||
*/
|
||||
//#define USE_OLED_SSD1306
|
||||
//#define USE_TOF_VL53LXX
|
||||
|
||||
#define USE_MEMS_ADXL345
|
||||
|
||||
/* ########################## Product Selection ############################## */
|
||||
|
@ -47,94 +47,9 @@
|
|||
* @brief This is the list of Yunhorn STS products to be used in ALL product config
|
||||
*/
|
||||
|
||||
/** YUNHORN SMARTOILETS OCCUPANCY PRODUCTS **/
|
||||
/*#define YUNHORN_STS_O1_ENABLED */
|
||||
/*#define YUNHORN_STS_O2_ENABLED */
|
||||
/*#define YUNHORN_STS_O3_ENABLED */
|
||||
/*#define YUNHORN_STS_O4_ENABLED */
|
||||
/*#define YUNHORN_STS_O5_ENABLED */
|
||||
/*#define YUNHORN_STS_O6_ENABLED */
|
||||
/*#define YUNHORN_STS_O7_ENABLED */
|
||||
/*#define YUNHORN_STS_O8_ENABLED */
|
||||
/*#define YUNHORN_STS_O9_ENABLED */
|
||||
/*#define YUNHORN_STS_O10_ENABLED */
|
||||
|
||||
/** YUNHORN SMARTOILETS ENVIRONMENT PRODUCTS **/
|
||||
/*#define YUNHORN_STS_E1_ENABLED */
|
||||
/*#define YUNHORN_STS_E2_ENABLED */
|
||||
/*#define YUNHORN_STS_E3_ENABLED */
|
||||
/*#define YUNHORN_STS_E4_ENABLED */
|
||||
/*#define YUNHORN_STS_E5_ENABLED */
|
||||
/*#define YUNHORN_STS_E6_ENABLED */
|
||||
|
||||
|
||||
/** YUNHORN SMARTOILETS PEOPLE COUNTING PRODUCTS **/
|
||||
/*#define YUNHORN_STS_P1_ENABLED */
|
||||
/*#define YUNHORN_STS_P2_ENABLED */
|
||||
/*#define YUNHORN_STS_P3_ENABLED */
|
||||
/*#define YUNHORN_STS_P4_ENABLED */
|
||||
/*#define YUNHORN_STS_P5_ENABLED */
|
||||
/*#define YUNHORN_STS_P6_ENABLED */
|
||||
|
||||
/** YUNHORN SMARTOILETS CLEANSING RESOUCES LEVEL PRODUCTS **/
|
||||
/*#define YUNHORN_STS_R1_ENABLED */
|
||||
/*#define YUNHORN_STS_R2_ENABLED */
|
||||
/*#define YUNHORN_STS_R3_ENABLED */
|
||||
/*#define YUNHORN_STS_R4_ENABLED */
|
||||
/*#define YUNHORN_STS_R5_ENABLED */
|
||||
/*#define YUNHORN_STS_R6_ENABLED */
|
||||
/*#define YUNHORN_STS_R7_ENABLED */
|
||||
/*#define YUNHORN_STS_R8_ENABLED */
|
||||
|
||||
|
||||
/** YUNHORN SMARTOILETS MECHNICAL REACTURAL PRODUCTS **/
|
||||
/*#define YUNHORN_STS_M1_ENABLED */
|
||||
/*#define YUNHORN_STS_M2_ENABLED */
|
||||
/*#define YUNHORN_STS_M3_ENABLED */
|
||||
/*#define YUNHORN_STS_M4_ENABLED */
|
||||
/*#define YUNHORN_STS_M5_ENABLED */
|
||||
/*#define YUNHORN_STS_M6_ENABLED */
|
||||
|
||||
#define YUNHORN_STS_M7_ENABLED
|
||||
|
||||
/*#define YUNHORN_STS_M8_ENABLED */
|
||||
/*#define YUNHORN_STS_M9_ENABLED */
|
||||
//#define YUNHORN_STS_M10_ENABLED
|
||||
|
||||
/** YUNHORN SMARTOILETS DIPLAY AND SMART PANEL PRODUCTS **/
|
||||
/*#define YUNHORN_STS_D1_ENABLED */
|
||||
/*#define YUNHORN_STS_D2_ENABLED */
|
||||
/*#define YUNHORN_STS_D3_ENABLED */
|
||||
/*#define YUNHORN_STS_D4_ENABLED */
|
||||
/*#define YUNHORN_STS_D5_ENABLED */
|
||||
/*#define YUNHORN_STS_D6_ENABLED */
|
||||
/*#define YUNHORN_STS_D7_ENABLED */
|
||||
/*#define YUNHORN_STS_D8_ENABLED */
|
||||
|
||||
|
||||
|
||||
/** YUNHORN SMARTOILETS DIGITAL SIGNAGE PRODUCTS **/
|
||||
/*#define YUNHORN_STS_F1_ENABLED */
|
||||
/*#define YUNHORN_STS_F2_ENABLED */
|
||||
/*#define YUNHORN_STS_F3_ENABLED */
|
||||
/*#define YUNHORN_STS_F4_ENABLED */
|
||||
/*#define YUNHORN_STS_F5_ENABLED */
|
||||
/*#define YUNHORN_STS_F6_ENABLED */
|
||||
/*#define YUNHORN_STS_F7_ENABLED */
|
||||
/*#define YUNHORN_STS_F8_ENABLED */
|
||||
/*#define YUNHORN_STS_F9_ENABLED */
|
||||
/*#define YUNHORN_STS_F10_ENABLED */
|
||||
|
||||
|
||||
/** YUNHORN SMARTOILETS CONNECTIVITY AND GATEWAY PRODUCTS **/
|
||||
/*#define YUNHORN_STS_N1_ENABLED */
|
||||
/*#define YUNHORN_STS_N2_ENABLED */
|
||||
/*#define YUNHORN_STS_N3_ENABLED */
|
||||
/*#define YUNHORN_STS_N4_ENABLED */
|
||||
/*#define YUNHORN_STS_N5_ENABLED */
|
||||
/*#define YUNHORN_STS_N6_ENABLED */
|
||||
/*#define YUNHORN_STS_N7_ENABLED */
|
||||
/*#define YUNHORN_STS_N8_ENABLED */
|
||||
|
||||
|
||||
/** Includes ---------------------------------------------------------
|
||||
|
@ -142,78 +57,11 @@
|
|||
* LORA-WAN MESSAGE UPLINK DATA PORTS AND HEARTBEAT PORTS DEFINATION
|
||||
*/
|
||||
|
||||
//#define YUNHORN_STS_O1_LORA_APP_DATA_PORT 4U
|
||||
//#define YUNHORN_STS_O1_LORA_APP_HTBT_PORT 5U
|
||||
//#define YUNHORN_STS_O2_LORA_APP_DATA_PORT 4U
|
||||
//#define YUNHORN_STS_O2_LORA_APP_HTBT_PORT 5U
|
||||
//#define YUNHORN_STS_O3_LORA_APP_DATA_PORT 4U
|
||||
//#define YUNHORN_STS_O3_LORA_APP_HTBT_PORT 5U
|
||||
//#define YUNHORN_STS_O4_LORA_APP_DATA_PORT 56U
|
||||
//#define YUNHORN_STS_O4_LORA_APP_HTBT_PORT 57U
|
||||
//#define YUNHORN_STS_O5_LORA_APP_DATA_PORT 4U
|
||||
//#define YUNHORN_STS_O5_LORA_APP_HTBT_PORT 5U
|
||||
//#define YUNHORN_STS_E1_LORA_APP_DATA_PORT 102U
|
||||
//#define YUNHORN_STS_E1_LORA_APP_HTBT_PORT 103U
|
||||
//#define YUNHORN_STS_E2_LORA_APP_DATA_PORT 101U
|
||||
//#define YUNHORN_STS_E2_LORA_APP_HTBT_PORT 108U
|
||||
//#define YUNHORN_STS_E3_LORA_APP_DATA_PORT 00U
|
||||
//#define YUNHORN_STS_E3_LORA_APP_HTBT_PORT 00U
|
||||
|
||||
//#define YUNHORN_STS_E4_LORA_APP_DATA_PORT 70U
|
||||
//#define YUNHORN_STS_E4_LORA_APP_HTBT_PORT 71U
|
||||
|
||||
//#define YUNHORN_STS_R0_LORA_APP_DATA_PORT 11U
|
||||
//#define YUNHORN_STS_R0_LORA_APP_HTBT_PORT 11U
|
||||
|
||||
//#define YUNHORN_STS_R1_LORA_APP_DATA_PORT 57U
|
||||
//#define YUNHORN_STS_R1_LORA_APP_HTBT_PORT 57U
|
||||
//#define YUNHORN_STS_R2_LORA_APP_DATA_PORT 58U
|
||||
//#define YUNHORN_STS_R2_LORA_APP_HTBT_PORT 58U
|
||||
//#define YUNHORN_STS_R3_LORA_APP_DATA_PORT 7U
|
||||
//#define YUNHORN_STS_R3_LORA_APP_HTBT_PORT 8U
|
||||
//#define YUNHORN_STS_R4_LORA_APP_DATA_PORT 8U
|
||||
//#define YUNHORN_STS_R4_LORA_APP_HTBT_PORT 8U
|
||||
//#define YUNHORN_STS_R5_LORA_APP_DATA_PORT 11U
|
||||
//#define YUNHORN_STS_R5_LORA_APP_HTBT_PORT 11U
|
||||
|
||||
//#define YUNHORN_STS_M1_LORA_APP_DATA_PORT 6U
|
||||
//#define YUNHORN_STS_M1_LORA_APP_HTBT_PORT 6U
|
||||
//#define YUNHORN_STS_M2_LORA_APP_DATA_PORT 59U
|
||||
//#define YUNHORN_STS_M2_LORA_APP_HTBT_PORT 219U
|
||||
//#define YUNHORN_STS_M3_LORA_APP_DATA_PORT 9U
|
||||
//#define YUNHORN_STS_M3_LORA_APP_HTBT_PORT 9U
|
||||
//#define YUNHORN_STS_M4_LORA_APP_DATA_PORT 12U
|
||||
//#define YUNHORN_STS_M4_LORA_APP_HTBT_PORT 12U
|
||||
//#define YUNHORN_STS_M5_LORA_APP_DATA_PORT 8U
|
||||
//#define YUNHORN_STS_M5_LORA_APP_HTBT_PORT 8U
|
||||
//#define YUNHORN_STS_M6_LORA_APP_DATA_PORT 219U
|
||||
//#define YUNHORN_STS_M6_LORA_APP_HTBT_PORT 219U
|
||||
|
||||
//#define YUNHORN_STS_M8_LORA_APP_DATA_PORT 55U
|
||||
//#define YUNHORN_STS_M8_LORA_APP_HTBT_PORT 55U
|
||||
//#define YUNHORN_STS_M9_LORA_APP_DATA_PORT 16U
|
||||
//#define YUNHORN_STS_M9_LORA_APP_HTBT_PORT 16U
|
||||
//#define YUNHORN_STS_M10_LORA_APP_DATA_PORT 9U
|
||||
//#define YUNHORN_STS_M10_LORA_APP_HTBT_PORT 9U
|
||||
|
||||
|
||||
|
||||
#ifdef YUNHORN_STS_E4_ENABLED
|
||||
//#include "yunhorn_sts_e4_conf.h"
|
||||
#define senddataport YUNHORN_STS_E4_LORA_APP_DATA_PORT
|
||||
#define sendhtbtport YUNHORN_STS_E4_LORA_APP_HTBT_PORT
|
||||
#endif /* YUNHORN_STS_E4_ENABLED */
|
||||
|
||||
#ifdef YUNHORN_STS_R0_ENABLED
|
||||
//#include "yunhorn_sts_e4_conf.h"
|
||||
#define senddataport YUNHORN_STS_R0_LORA_APP_DATA_PORT
|
||||
#define sendhtbtport YUNHORN_STS_R0_LORA_APP_HTBT_PORT
|
||||
#endif /* YUNHORN_STS_R0_ENABLED */
|
||||
|
||||
#ifdef YUNHORN_STS_M7_ENABLED
|
||||
#define MajorVer 23U
|
||||
#define MinorVer 02U
|
||||
#define SubMinorVer 23U
|
||||
#define MinorVer 06U
|
||||
#define SubMinorVer 20U
|
||||
#define FirmwareVersion 3U
|
||||
#define YUNHORN_STS_M7_NVM_CFG_SIZE 3U
|
||||
#define YUNHORN_STS_M7_CFG_CMD_SIZE 9U
|
||||
|
@ -244,17 +92,6 @@
|
|||
#define MOTION_SENSOR_TIM_HANDLE htim2
|
||||
#define MOTION_SENSOR_I2C_HANDLE hi2c1
|
||||
|
||||
#ifdef USE_OLED_SSD1306
|
||||
#define SSD1306_I2C_HANDLE hi2c2
|
||||
#include "ssd1306.h"
|
||||
#include "ssd1306_tests.h"
|
||||
#endif
|
||||
|
||||
#ifdef USE_TOF_VL53LXX // RETIRED TODO
|
||||
#define I2C_TIMING_TOF250 0x20303E5D
|
||||
#define I2C_TIMING 0x20303E5D //DEFAULT FOR I2C TOF
|
||||
#include "yunhorn_tof.h"
|
||||
#endif
|
||||
|
||||
#ifdef USE_STM32WLE5
|
||||
#define I2C_TIMING_STANDARD_MODE 0x2000090E //STANDARD MODE 100Khz
|
||||
|
|
|
@ -53,117 +53,6 @@ enum {
|
|||
P_MEM_CFG // #3
|
||||
};
|
||||
#endif
|
||||
/*
|
||||
// LEN= 3
|
||||
YUNHORN_STS_PRD_BOARD_SOFT_RESET=0, //BOARD LEVEL RE_BOOT, REVIVE, 'YZH' : HARDWARE REBOOT
|
||||
YUNHORN_STS_PRD_SENSOR_SELF_TEST, //BOARD LEVEL REPORT VERSION, 'YZS' : SELFT TEST
|
||||
YUNHORN_STS_PRD_LORAWAN_CLASS, //BOARD LEVEL REPORT VERSION, 'YZC' : LORA-WAN CLASS A/B/C
|
||||
|
||||
YUNHORN_STS_PRD_VERSION_REPORT, //BOARD LEVEL REPORT VERSION, 'YVH' : VERSION: FW, HW, SW
|
||||
YUNHORN_STS_PRD_CONFIG_REPORT, //BOARD LEVEL REPORT VERSION, 'YVC' : NVM STORED CONFIG PARAMETER
|
||||
|
||||
STS_SENSOR_CMD_MEMS_POWER_ON_OFF, //Num # MEMS LEVEL POWER ENABLE, 'YO#' : #={1}{2,3..9} POWER ON
|
||||
STS_SENSOR_CMD_MEMS_POWER_ON_OFF, //Num # MEMS LEVEL POWER ENABLE, 'YF#' : #={1}{2,3..9} POWER OFF
|
||||
STS_SENSOR_CMD_MEMS_SOFT_RESET, //Num # MEMS LEVEL SOFT_RESET, 'YH#' : #={1}{,2,3..9} SOFT-RESET
|
||||
|
||||
// LEN = 5
|
||||
YUNHORN_STS_PRD_PERIODICITY_CHANGE, //BOARD LEVEL PERIODICTY CHANGE, 'YD##@' #={0-9} @={S,M,H}
|
||||
|
||||
// LEN >=6
|
||||
YUNHORN_STS_PRD_PERIODICITY_CHANGE, //BOARD LEVEL PERIODICTY CHANGE, 'YP###@' #={0-9} @={S,M,H}
|
||||
// Y P # # # @
|
||||
// # MTM code
|
||||
// # MTM ver
|
||||
// # No. of MEMS
|
||||
// @ Parameter
|
||||
|
||||
// MEMS sensor_control_type
|
||||
*/
|
||||
//"P 0 0 "+"1 2 3 1 2 3 1 2 3 1 2"
|
||||
// P
|
||||
// P 1 SENSOR HEAD 0
|
||||
// P 1 0 SENSOR HEAD 0, VERSION 0
|
||||
// P 1 0 1 2 SENSOR HEAD 0, VERSION 0, VALUE 12, 1*10+2
|
||||
|
||||
#ifdef YUNHORN_STS_O1_ENABLED
|
||||
enum {
|
||||
STS_CTRL_CMD_TYPE_DUTYCYCLE_LEVEL_CHANGE,
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_VL53L0X=0x00,
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_VL53L1X, //0X01
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_VL53L2X, //0X02
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_VL53L3X, //0X03
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_VL53L4X, //0X04
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_VL53L5X, //0X05
|
||||
|
||||
STS_CTRL_CMD_MEMS_TUNE_MV_ADXL345, //0X06
|
||||
STS_CTRL_CMD_MEMS_TUNE_MV_ADXL365, //0X07
|
||||
STS_CTRL_CMD_MEMS_TUNE_MV_ADXL362, //0X08
|
||||
STS_CTRL_CMD_MEMS_TUNE_MV_ADXL110X, //0X09
|
||||
|
||||
STS_CTRL_CMD_MEMS_TUNE_FMCW_TI16X,
|
||||
STS_CTRL_CMD_MEMS_TUNE_FMCW_TI68X,
|
||||
|
||||
STS_CTRL_CMD_MEMS_TUNE_PCR_A11X,
|
||||
STS_CTRL_CMD_MEMS_TUNE_PCR_A12X,
|
||||
|
||||
STS_CTRL_CMD_PRESENCE_SETTING,
|
||||
STS_CTRL_CMD_PRESENCE_TUNE_LED_COLOR,
|
||||
STS_CTRL_CMD_PRESENCE_TUNE_WORK_MODE,
|
||||
|
||||
STS_CTRL_CMD_MEMS_TUNE_SMOKING_MUSIC,
|
||||
STS_CTRL_CMD_MEMS_TUNE_SMOKING_ENABLE,
|
||||
|
||||
STS_CTRL_CMD_MEMS_TUNE_WATER_FLOW_DN,
|
||||
|
||||
STS_CTRL_CMD_MEMS_TUNE_DIGITAL_RELAY,
|
||||
|
||||
STS_CTRL_CMD_MEMS_TUNE_FAN_CONTROL,
|
||||
STS_CTRL_CMD_MEMS_TUNE_VENTILATION_FAN_SPEED,
|
||||
STS_CTRL_CMD_MEMS_TUNE_VENTILATION_FAN_SWING,
|
||||
|
||||
|
||||
STS_CTRL_CMD_MEMS_TUNE_DEVICE_COMPONENT
|
||||
}; // sensor_mems_type
|
||||
|
||||
enum {
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_RANGE_START=0,
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_RANGE_END,
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_THRESHOLD,
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_GAIN,
|
||||
STS_CTRL_CMD_MEMS_TUNE_TOF_MAX_DISTANCE
|
||||
}; // sensor_mems_tof_tune_type
|
||||
#endif
|
||||
|
||||
#if (defined(YUNHORN_STS_R0_ENABLED) || defined(YUNHORN_STS_R1_ENABLED) || defined(YUNHORN_STS_R2_ENABLED) || defined(YUNHORN_STS_R5_ENABLED))
|
||||
typedef struct
|
||||
{
|
||||
uint16_t distance_mm; /*measured distance in mm, min=0mm, max=2500mm. */
|
||||
uint16_t battery_mV; /*mV, 1000mv-5000mv, regular 3300mV - 3600mV --4200mV */
|
||||
|
||||
uint8_t on_off_event; /* 1: liquid sensed, 0: no liquid sensed */
|
||||
uint8_t measure_tech; /* 0: capacit, 1:dTof, 2: ultrasonic */
|
||||
|
||||
uint8_t distance_mm_h; /*MSB */
|
||||
uint8_t distance_mm_l; /*LSB max=255 mm for short range measure */
|
||||
uint8_t battery_Pct; /* % of battery two digits, 88% (00-99)% */
|
||||
uint8_t dutycycletimelevel; /* level=0,255 */
|
||||
} STS_R0_SensorDataTypeDef;
|
||||
#endif
|
||||
|
||||
#if (defined(YUNHORN_STS_O0_ENABLED) || defined(YUNHORN_STS_O1_ENABLED) || defined(YUNHORN_STS_O2_ENABLED) || defined(YUNHORN_STS_O3_ENABLED) || defined(YUNHORN_STS_O4_ENABLED) || defined(YUNHORN_STS_O5_ENABLED)|| defined(YUNHORN_STS_O6_ENABLED))
|
||||
typedef struct
|
||||
{
|
||||
uint8_t color_LED_num; /*measured color ID, 0,1,2,3,4,5,6,7,8,9 */
|
||||
uint8_t workmode_id; /*work mode, 0,1,2,3,4*/
|
||||
uint8_t state_sensor1_on_off; /* reedswitch or hall element 0: open, 1: closed */
|
||||
uint8_t state_sensor2_on_off; /* pcr_sensor_on_off; 1: occupancy, 0: no occupancy */
|
||||
uint8_t state_sensor3_on_off; /* urinal_sensor_on_off urinal sensor state */
|
||||
uint8_t state_sensor4_on_off; /* reserved_sensor_on_off sensor state */
|
||||
|
||||
uint8_t battery_Pct; /* % of battery two digits, 88% (00-99)% */
|
||||
uint8_t dutycycletimelevel; /* level=0,255 */
|
||||
} STS_O0_SensorDataTypeDef;
|
||||
#endif
|
||||
|
||||
#if (defined(YUNHORN_STS_M0_ENABLED) || defined(YUNHORN_STS_M1_ENABLED) || defined(YUNHORN_STS_M2_ENABLED) || defined(YUNHORN_STS_M5_ENABLED))
|
||||
|
||||
|
@ -214,136 +103,14 @@ typedef struct
|
|||
|
||||
|
||||
uint8_t distance_mm_h; /*MSB */
|
||||
|
||||
uint8_t distance_mm_l; /*LSB max=255 mm for short range measure */
|
||||
uint8_t battery_Pct; /* % of battery two digits, 88% (00-99)% */
|
||||
uint8_t dutycycletimelevel; /* level=0,255 */
|
||||
} STS_M0_SensorDataTypeDef;
|
||||
|
||||
#endif
|
||||
#ifdef YUNHORN_STS_O1_ENABLED
|
||||
typedef enum
|
||||
{
|
||||
REED_SWITCH_PIN_RESET = 0U,
|
||||
REED_SWITCH_PIN_SET
|
||||
} REED_SWITCH_State;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
DOOR_CONTACT_PIN_RESET = 0U,
|
||||
DOOR_CONTACT_PIN_SET
|
||||
} DOOR_CONTACT_State;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
DRY_CONTACT_PIN_RESET = 0U,
|
||||
DRY_CONTACT_PIN_SET
|
||||
} DRY_CONTACT_State;
|
||||
#endif
|
||||
#ifdef YUNHORN_STS_M1_ENABLED
|
||||
typedef enum
|
||||
{
|
||||
WATER_LEAKAGE_PIN_RESET = 0U,
|
||||
WATER_LEAKAGE_PIN_SET
|
||||
} WATER_LEAKAGE_State;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
HALL_ELEMENT_PIN_RESET = 0U,
|
||||
HALL_ELEMENT_PIN_SET
|
||||
} HALL_ELEMENT_State;
|
||||
#endif
|
||||
|
||||
#if (defined(YUNHORN_STS_E0_ENABLED) || defined(YUNHORN_STS_E1_ENABLED) || defined(YUNHORN_STS_E2_ENABLED) || defined(YUNHORN_STS_E3_ENABLED) || defined(YUNHORN_STS_E4_ENABLED) || defined(YUNHORN_STS_E5_ENABLED) || defined(YUNHORN_STS_E6_ENABLED) || defined(YUNHORN_STS_E7_ENABLED))
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float pressure; /*!< in mbar */
|
||||
float temperature; /*!< in degC - 40C ~ 125C , 0.05 C */
|
||||
float humidity; /*!< in % 0-100 RH% */
|
||||
float distance; /*!< in mm */
|
||||
int16_t co2_ppm; /*!< 400 - 5200 ppm */
|
||||
int16_t tvoc_ppb; /*!< 0 - 60000 ppb */
|
||||
uint32_t latitude; /*!< latitude converted to binary */
|
||||
uint32_t longitude ; /*!< longitude converted to binary */
|
||||
uint16_t altitudeGps; /*!< in m */
|
||||
uint16_t altitudeBar ; /*!< in m * 10 */
|
||||
|
||||
float nh3_ppb; /* NH3 */
|
||||
float h2s_ppb; /* H2S */
|
||||
float ch2o_ppb; /* CH2O */
|
||||
float no2_ppb; /* NO2 */
|
||||
float o3_ugm3; /* O3 ug/m3 */
|
||||
float battery;
|
||||
uint16_t co2_ugm3; /* ug/m3 */
|
||||
uint16_t tvoc_ppb2; /* TVOC */
|
||||
uint16_t pm_dot5_ugm3;
|
||||
uint16_t pm_1_ugm3;
|
||||
uint16_t pm_2dot5_ugm3;
|
||||
uint16_t pm_10_ugm3;
|
||||
/* FOR CIGGARATE SMOKING DETECTION */
|
||||
uint16_t mq2; /* combined smoking sensor */
|
||||
uint16_t co; /* CO */
|
||||
uint8_t iaq; /* IAQ index following EPD standards, HKSAR */
|
||||
|
||||
uint8_t symbol;
|
||||
uint8_t temperature1;
|
||||
uint8_t temperature2;
|
||||
uint8_t humidity1;
|
||||
uint8_t humidity2;
|
||||
uint8_t nh31;
|
||||
uint8_t nh32;
|
||||
uint8_t h2s1;
|
||||
uint8_t h2s2;
|
||||
uint8_t battery1;
|
||||
uint8_t battery2;
|
||||
uint8_t ch2o1;
|
||||
uint8_t ch2o2;
|
||||
|
||||
uint8_t co21;
|
||||
uint8_t co22;
|
||||
|
||||
uint8_t tvoc1;
|
||||
uint8_t tvoc2;
|
||||
|
||||
uint8_t pm251;
|
||||
uint8_t pm252;
|
||||
|
||||
uint8_t pm101;
|
||||
uint8_t pm102;
|
||||
|
||||
|
||||
uint8_t battery_Pct; /* % of battery two digits, 88% (00-99)% */
|
||||
uint8_t dutycycletimelevel; /* level=0,255 */
|
||||
} STS_E0_SensorDataTypeDef;
|
||||
#endif
|
||||
|
||||
#if (defined(YUNHORN_STS_P0_ENABLED) || defined(YUNHORN_STS_P1_ENABLED) || defined(YUNHORN_STS_P2_ENABLED) || defined(YUNHORN_STS_P3_ENABLED))
|
||||
typedef struct
|
||||
{
|
||||
uint8_t people_count_num; /*measured people number in area, max 30 */
|
||||
|
||||
/* bi-direction */
|
||||
uint16_t people_in_num; /* people in out count in given duration */
|
||||
uint16_t people_out_num; /* people in out count in given duration */
|
||||
uint16_t people_in_out_interval; /* people in out count interval level */
|
||||
|
||||
/* occupancy */
|
||||
uint8_t people_in_out_state_; /* people in or leave state 0: leave, 1: stay */
|
||||
|
||||
/* queueing */
|
||||
uint8_t workmode; /* 0-5, 0:tst, 1:sensor reset, 2:power on, 3: power off */
|
||||
uint8_t tune_param1_left_x_m; /* left range in meter 0.5 - 9.9, 1.5 */
|
||||
uint8_t tune_param2_right_x_m; /* right range in meter 0.5 - 9.9 , 1.5 */
|
||||
uint8_t tune_param1_far_y_m; /* far range in meter 2.5 - 9.9, 6.0*/
|
||||
uint8_t tune_param1_top_z_m; /* top range in meter 0.5 - 9.9, 3.0 */
|
||||
uint8_t tune_param1_height_m; /* installation height in meter 0.5 - 9.9, 2.0 */
|
||||
uint8_t tune_param1_tilt_degree; /* tilt up/down in degree 0 - 45, 15 */
|
||||
|
||||
uint8_t battery_Pct; /* % of battery two digits, 88% (00-99)% */
|
||||
uint8_t dutycycletimelevel; /* level=0,255 */
|
||||
} STS_P0_SensorDataTypeDef;
|
||||
|
||||
#endif
|
||||
|
||||
/* USER CODE BEGIN ET */
|
||||
|
||||
|
|
|
@ -45,14 +45,14 @@
|
|||
/* USER CODE BEGIN PV */
|
||||
|
||||
volatile uint16_t TIM2_Counter=0;
|
||||
I2C_HandleTypeDef hi2c2, hi2c1;
|
||||
I2C_HandleTypeDef hi2c1;
|
||||
TIM_HandleTypeDef htim2;
|
||||
/* USER CODE END PV */
|
||||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
void SystemClock_Config(void);
|
||||
/* USER CODE BEGIN PFP */
|
||||
void MX_I2C2_Init(void);
|
||||
//void MX_I2C2_Init(void);
|
||||
void MX_I2C1_Init(void);
|
||||
void MX_TIM2_Init(void);
|
||||
/* USER CODE END PFP */
|
||||
|
@ -212,47 +212,6 @@ void MX_I2C1_Init(void)
|
|||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
void MX_I2C2_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN I2C2_Init 0 */
|
||||
|
||||
/* USER CODE END I2C2_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN I2C2_Init 1 */
|
||||
|
||||
/* USER CODE END I2C2_Init 1 */
|
||||
hi2c2.Instance = I2C2;
|
||||
hi2c2.Init.Timing = I2C_TIMING_FAST_MODE; //I2C_TIMING;
|
||||
hi2c2.Init.OwnAddress1 = 0; //I2C_SLAVE_ADDRESS1;
|
||||
hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
|
||||
hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_ENABLE;
|
||||
hi2c2.Init.OwnAddress2 = 0; //I2C_SLAVE_ADDRESS2;
|
||||
hi2c2.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
|
||||
hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
|
||||
hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
|
||||
if (HAL_I2C_Init(&hi2c2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Analogue filter
|
||||
*/
|
||||
if (HAL_I2CEx_ConfigAnalogFilter(&hi2c2, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/** Configure Digital filter
|
||||
*/
|
||||
if (HAL_I2CEx_ConfigDigitalFilter(&hi2c2, 0) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN I2C2_Init 2 */
|
||||
|
||||
/* USER CODE END I2C2_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM2 Initialization Function
|
||||
|
|
|
@ -147,59 +147,7 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
|
|||
HAL_NVIC_EnableIRQ(I2Cx_MASTER_EV_IRQn);
|
||||
/* USER CODE END I2C1_MspInit 1 */
|
||||
}
|
||||
else if(hi2c->Instance==I2C2)
|
||||
{
|
||||
/* USER CODE BEGIN I2C2_MspInit 0 */
|
||||
|
||||
/* USER CODE END I2C2_MspInit 0 */
|
||||
|
||||
/** Initializes the peripherals clocks
|
||||
*/
|
||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2C2;
|
||||
PeriphClkInitStruct.I2c2ClockSelection = RCC_I2C2CLKSOURCE_PCLK1;
|
||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
|
||||
/**I2C2 GPIO Configuration //STM32WL55
|
||||
PA12 ------> I2C2_SCL
|
||||
PA15 ------> I2C2_SDA
|
||||
*/
|
||||
#ifdef USE_STM32WL55
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_15;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF4_I2C2;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
#endif
|
||||
|
||||
/**I2C2 GPIO Configuration //STM32WLE5
|
||||
PA12 ------> I2C2_SCL
|
||||
PA11 ------> I2C2_SDA
|
||||
*/
|
||||
#ifdef USE_STM32WLE5
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF4_I2C2;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
#endif
|
||||
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_I2C2_CLK_ENABLE();
|
||||
/* USER CODE BEGIN I2C2_MspInit 1 */
|
||||
/* NVIC for I2Cx_SLAVE */
|
||||
HAL_NVIC_SetPriority(I2Cx_SLAVE_ER_IRQn, 1, 0);
|
||||
HAL_NVIC_EnableIRQ(I2Cx_SLAVE_ER_IRQn);
|
||||
HAL_NVIC_SetPriority(I2Cx_SLAVE_EV_IRQn, 2, 0);
|
||||
HAL_NVIC_EnableIRQ(I2Cx_SLAVE_EV_IRQn);
|
||||
/* USER CODE END I2C2_MspInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -243,40 +191,7 @@ void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
|
|||
HAL_NVIC_DisableIRQ(I2Cx_MASTER_EV_IRQn);
|
||||
/* USER CODE END I2C1_MspDeInit 1 */
|
||||
}
|
||||
else if(hi2c->Instance==I2C2)
|
||||
{
|
||||
/* USER CODE BEGIN I2C2_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END I2C2_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_I2C2_CLK_DISABLE();
|
||||
|
||||
/**I2C2 GPIO Configuration //STM32WL55
|
||||
PA12 ------> I2C2_SCL
|
||||
PA15 ------> I2C2_SDA
|
||||
*/
|
||||
|
||||
#ifdef USE_STM32WL55
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_12);
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_15);
|
||||
#endif
|
||||
|
||||
/**I2C2 GPIO Configuration //STM32WLE5
|
||||
PA12 ------> I2C2_SCL
|
||||
PA11 ------> I2C2_SDA
|
||||
*/
|
||||
|
||||
#ifdef USE_STM32WLE5
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_12);
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11);
|
||||
#endif
|
||||
|
||||
/* USER CODE BEGIN I2C2_MspDeInit 1 */
|
||||
|
||||
HAL_NVIC_DisableIRQ(I2Cx_SLAVE_ER_IRQn);
|
||||
HAL_NVIC_DisableIRQ(I2Cx_SLAVE_EV_IRQn);
|
||||
/* USER CODE END I2C2_MspDeInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
|
|
|
@ -32,9 +32,6 @@
|
|||
#include "LmHandler.h"
|
||||
|
||||
/* USER CODE BEGIN Includes */
|
||||
#ifdef USE_OLED_SSD1306
|
||||
extern I2C_HandleTypeDef SSD1306_I2C_HANDLE;
|
||||
#endif
|
||||
#if (defined(YUNHORN_STS_M7_ENABLED) && defined(USE_MEMS_ADXL345))
|
||||
#include "yunhorn_sts_motion_sensor.h"
|
||||
#include "yunhorn_sts_motion_adxl345.h"
|
||||
|
@ -78,10 +75,7 @@ volatile uint32_t event_start_time, event_stop_time, vibration_duration, sensor_
|
|||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
/* USER CODE BEGIN PFP */
|
||||
#ifdef USE_OLED_SSD1306
|
||||
void Display_Chart(float *px,float *py, float *pz, SSD1306_COLOR color, char *title);
|
||||
void STS_M7_SineWaveTest(uint16_t cycles);
|
||||
#endif
|
||||
|
||||
#if (defined(YUNHORN_STS_M7_ENABLED) && defined(USE_MEMS_ADXL345))
|
||||
extern float acc_x[FFT_LEN*2],acc_y[FFT_LEN*2],acc_z[FFT_LEN*2], fft_x[FFT_LEN], fft_y[FFT_LEN], fft_z[FFT_LEN];
|
||||
float spectrumPeak_x, spectrumPeak_y, spectrumPeak_z, sp_x,sp_y,sp_z;
|
||||
|
@ -300,9 +294,7 @@ void STS_MOTION_SENSOR_Get_Event_Status(STS_MOTION_SENSOR_Event_Status_t *Status
|
|||
|
||||
void STS_MOTION_SENSOR_Function_Test_Process(int16_t *self_test_result, uint8_t count)
|
||||
{
|
||||
#ifdef USE_OLED_SSD1306
|
||||
char buf_col[30]="_YUNHORN_", buf_xyz[30]="Vibration", buf_level[30]="STS-M7";
|
||||
#endif
|
||||
|
||||
// for wakeup from stop2 mode ##################################################
|
||||
STS_SENSOR_Power_ON(0);
|
||||
HAL_Init();
|
||||
|
@ -311,37 +303,14 @@ void STS_MOTION_SENSOR_Function_Test_Process(int16_t *self_test_result, uint8_t
|
|||
MX_I2C1_Init();
|
||||
MX_TIM2_Init();
|
||||
// for wakeup from stop2 mode ##################################################
|
||||
|
||||
|
||||
|
||||
#ifdef USE_OLED_SSD1306
|
||||
//HAL_I2C_Init(&SSD1306_I2C_HANDLE);
|
||||
if (HAL_I2C_GetState(&SSD1306_I2C_HANDLE) != HAL_I2C_STATE_READY)
|
||||
{
|
||||
APP_LOG(TS_ON, VLEVEL_M, "\r\n..OLED I2C INITIALIZING ERROR \r\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
if (HAL_I2C_GetState(&MOTION_SENSOR_I2C_HANDLE) != HAL_I2C_STATE_READY) {
|
||||
APP_LOG(TS_ON, VLEVEL_L, "\r\n .... MOTION SENSOR I2C Not Ready .... \r\n");
|
||||
}
|
||||
|
||||
STS_MOTION_SENSOR_Init_Send_Data();
|
||||
|
||||
#ifdef USE_OLED_SSD1306
|
||||
APP_LOG(TS_ON, VLEVEL_M, "\r\n.Start Init SSD1306 ......... \r\n");
|
||||
ssd1306_Init();
|
||||
ssd1306_SetCursor(10,0);
|
||||
ssd1306_WriteString(buf_col, Font_11x18, White);
|
||||
ssd1306_SetCursor(10,25);
|
||||
ssd1306_WriteString(buf_xyz, Font_7x10, White);
|
||||
ssd1306_SetCursor(10,45);
|
||||
ssd1306_WriteString(buf_level, Font_7x10, White);
|
||||
ssd1306_UpdateScreen();
|
||||
|
||||
Sine_waveGenerate();
|
||||
Process_FFT_and_Amplitude();
|
||||
Display_Chart(acc_x, acc_y, acc_z, White, "Sine-");
|
||||
#endif
|
||||
|
||||
ADXL345_Init_Prepare_Measure();
|
||||
HAL_Delay(50); //wait for sensor ready
|
||||
|
@ -360,12 +329,7 @@ void STS_MOTION_SENSOR_Function_Test_Process(int16_t *self_test_result, uint8_t
|
|||
|
||||
self_test_result[6] += (int16_t)raw_x;
|
||||
self_test_result[7] += (int16_t)raw_y;
|
||||
self_test_result[8] += (int16_t)raw_z;
|
||||
|
||||
|
||||
#ifdef USE_OLED_SSD1306
|
||||
Display_Chart(fft_x, fft_y, fft_z, White, "V.");
|
||||
#endif
|
||||
self_test_result[8] += (int16_t)raw_z;
|
||||
|
||||
}
|
||||
self_test_result[0] /= count;
|
||||
|
@ -378,12 +342,6 @@ void STS_MOTION_SENSOR_Function_Test_Process(int16_t *self_test_result, uint8_t
|
|||
self_test_result[7] /= count;
|
||||
self_test_result[8] /= count;
|
||||
|
||||
|
||||
|
||||
#ifdef USE_OLED_SSD1306
|
||||
Display_Chart(fft_x, fft_y, fft_z, White, "V.");
|
||||
ssd1306_SetDisplayOn(0);
|
||||
#endif
|
||||
//reset to normal mode
|
||||
ADXL345_Init_Motion_Detection();
|
||||
mems_int1_detected=0;
|
||||
|
@ -476,70 +434,7 @@ void STS_SENSOR_MEMS_Reset(uint8_t cnt)
|
|||
|
||||
}
|
||||
|
||||
#ifdef USE_OLED_SSD1306
|
||||
static void Display_Axis(SSD1306_COLOR color)
|
||||
{
|
||||
char dispbuf[128]="";
|
||||
|
||||
for (int i=1; i<=4; i++) {
|
||||
//ssd1306_Line(i*32,0, i*32,SSD1306_HEIGHT,color);
|
||||
ssd1306_Line(i*32-1,10, i*32-1,SSD1306_HEIGHT/4,color);
|
||||
ssd1306_SetCursor(i*SSD1306_WIDTH/4-4*6,1);
|
||||
sprintf(dispbuf,"%4d", (i*Freq_Res_Screen*32));
|
||||
ssd1306_WriteString(dispbuf, Font_6x8, color);
|
||||
}
|
||||
ssd1306_UpdateScreen();
|
||||
}
|
||||
|
||||
void Display_Line_Chart(float *psrc, float ampPeak, uint32_t freqBin, SSD1306_COLOR color, char *title)
|
||||
{
|
||||
|
||||
char dispbuf[128]="";
|
||||
uint8_t nrf;
|
||||
float psrcSpectrumPeak = ampPeak;
|
||||
uint16_t Freq_at_Spectrum_Peak=freqBin;
|
||||
|
||||
ssd1306_Fill(Black);
|
||||
ssd1306_UpdateScreen();
|
||||
nrf=2; //Freq_Res_Screen; //SAMPLE_NUM/SSD1306_WIDTH;
|
||||
//nrf=SAMPLE_NUM/SSD1306_WIDTH;
|
||||
|
||||
for (uint16_t i=0; i< FFT_LEN; i++) {
|
||||
ssd1306_Line((uint16_t)(i/nrf),16,(uint16_t)(i/nrf),((uint16_t)(16+(SSD1306_HEIGHT-16)*(psrc[i]/psrcSpectrumPeak))), color);
|
||||
}
|
||||
//ssd1306_UpdateScreen();
|
||||
sprintf(dispbuf,"%s= %3d Hz", title, Freq_at_Spectrum_Peak);
|
||||
ssd1306_SetCursor(SSD1306_WIDTH/3,SSD1306_HEIGHT-8);
|
||||
ssd1306_WriteString(dispbuf, Font_6x8, color);
|
||||
|
||||
// sprintf(dispbuf,"%s= %.2f", "A. ", psrcSpectrumPeak);
|
||||
// ssd1306_SetCursor(SSD1306_WIDTH/3,SSD1306_HEIGHT-24);
|
||||
// ssd1306_WriteString(dispbuf, Font_6x8, color);
|
||||
|
||||
Display_Axis(color);
|
||||
ssd1306_UpdateScreen();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Display_Chart(float *px,float *py, float *pz, SSD1306_COLOR color, char *title)
|
||||
{
|
||||
char t[128]="";
|
||||
ssd1306_SetDisplayOn(1);
|
||||
sprintf(t,"%s%s",title,"X");
|
||||
Display_Line_Chart(px, spectrumPeak_x, freq_at_spectrumPeak_x,White,t);
|
||||
HAL_Delay(500);
|
||||
|
||||
sprintf(t,"%s%s",title,"Y");
|
||||
Display_Line_Chart(py, spectrumPeak_y, freq_at_spectrumPeak_y,White,t);
|
||||
HAL_Delay(500);
|
||||
sprintf(t,"%s%s",title,"Z");
|
||||
Display_Line_Chart(pz, spectrumPeak_z, freq_at_spectrumPeak_z,White,t);
|
||||
HAL_Delay(500);
|
||||
//ssd1306_SetDisplayOn(0);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* USER CODE BEGIN EF */
|
||||
|
||||
|
|
|
@ -449,12 +449,7 @@ void LoRaWAN_Init(void)
|
|||
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||
{
|
||||
switch (GPIO_Pin)
|
||||
{
|
||||
|
||||
#if defined(USE_STM32WLE5)
|
||||
case MEMS_EXTI2_Pin:
|
||||
break;
|
||||
#endif
|
||||
{
|
||||
|
||||
#if defined(USE_STM32WL55)
|
||||
HAL_Delay(150); //for de-bouncing eliminate
|
||||
|
@ -469,9 +464,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|||
}
|
||||
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(USE_STM32WL55)
|
||||
|
||||
case BUT3_Pin:
|
||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaStopJoinEvent), CFG_SEQ_Prio_0);
|
||||
//mems_int1_detected=1;
|
||||
|
@ -481,6 +474,8 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|||
break;
|
||||
#endif
|
||||
#if defined(USE_STM32WLE5)
|
||||
case MEMS_EXTI2_Pin:
|
||||
break;
|
||||
case MEMS_EXTI1_Pin:
|
||||
//APP_LOG(TS_OFF, VLEVEL_L, "\r\n(3) Vibration Sensor EXTI Event BUT3 3 3 3 \r\n"); //YUNHORN_STS_TODO
|
||||
mems_int1_detected=1;
|
||||
|
|
Loading…
Reference in New Issue