From 43110b23dc2674569663fe45aa4bafbaf868eac4 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Wed, 13 Dec 2023 19:45:49 +0800 Subject: [PATCH] revised for M1A work without LCD display --- Core/Inc/utilities_def.h | 4 + Core/Inc/yunhorn_sts_prd_conf.h | 28 +++++- Core/Inc/yunhorn_sts_sensors.h | 31 ++++++ Core/Src/i2c.c | 2 +- Core/Src/main.c | 28 +----- Core/Src/yunhorn_sts_process.c | 61 ++++++++++++ LoRaWAN/App/lora_app.c | 78 ++++++++++++--- LoRaWAN/Target/lorawan_conf.h | 2 +- STM32CubeIDE/.cproject | 8 +- .../Release/Application/User/Core/subdir.mk | 46 ++++----- .../Application/User/LoRaWAN/App/subdir.mk | 8 +- .../Application/User/LoRaWAN/Target/subdir.mk | 2 +- .../Application/User/TOF/App/subdir.mk | 6 +- .../Application/User/TOF/Target/subdir.mk | 2 +- .../Application/User/TOF/vl53l0x/subdir.mk | 14 +-- .../Drivers/BSP/STM32WLxx_Nucleo/subdir.mk | 4 +- STM32CubeIDE/Release/Drivers/CMSIS/subdir.mk | 2 +- .../Drivers/STM32WLxx_HAL_Driver/subdir.mk | 52 +++++----- .../Release/Middlewares/LoRaWAN/subdir.mk | 66 ++++++------- .../Release/Middlewares/SubGHz_Phy/subdir.mk | 6 +- STM32CubeIDE/Release/Utilities/subdir.mk | 16 +-- mlx90640/mlx90640_lcd_display.c | 98 ++++++++++++++----- 22 files changed, 373 insertions(+), 191 deletions(-) diff --git a/Core/Inc/utilities_def.h b/Core/Inc/utilities_def.h index 3a84f25..fd5e374 100644 --- a/Core/Inc/utilities_def.h +++ b/Core/Inc/utilities_def.h @@ -89,6 +89,10 @@ typedef enum CFG_SEQ_Task_YunhornSTSEventP6, CFG_SEQ_Task_YunhornSTSEventP7, CFG_SEQ_Task_YunhornSTSEventP8, + CFG_SEQ_Task_YunhornSTSEventP9, + CFG_SEQ_Task_YunhornSTSEventP10, + CFG_SEQ_Task_YunhornSTSEventP11, + CFG_SEQ_Task_YunhornSTSEventP12, CFG_SEQ_Task_YunhornSTSEventPIORS485, /* USER CODE END CFG_SEQ_Task_Id_t */ CFG_SEQ_Task_NBR diff --git a/Core/Inc/yunhorn_sts_prd_conf.h b/Core/Inc/yunhorn_sts_prd_conf.h index a3fc964..3106e0b 100644 --- a/Core/Inc/yunhorn_sts_prd_conf.h +++ b/Core/Inc/yunhorn_sts_prd_conf.h @@ -45,9 +45,13 @@ //#define USE_TOF_VL53L1X #if defined(TOF_1)||defined(TOF_2)||defined(TOF_3) #define STS_USE_TOF_VL53L0X 1U +#define YUNHORN_STS_R5_ENABLED + #endif -#define YUNHORN_STS_R5_ENABLED +#if defined(STS_TMG) +#define YUNHORN_STS_M1A_ENABLED +#endif // TOF VL53LX number //#define USE_MEMS_ADXL345 @@ -90,7 +94,7 @@ /** YUNHORN SMARTOILETS CLEANSING RESOUCES LEVEL PRODUCTS **/ //#define YUNHORN_STS_R0_ENABLED -#define YUNHORN_STS_R0_ENABLED +//#define YUNHORN_STS_R0_ENABLED //#define YUNHORN_STS_R2_ENABLED /*#define YUNHORN_STS_R3_ENABLED */ /*#define YUNHORN_STS_R4_ENABLED */ @@ -223,6 +227,13 @@ #endif +#if defined(YUNHORN_STS_M1A_ENABLED) + +#define YUNHORN_STS_M1A_LORA_APP_DATA_PORT 13U +#define YUNHORN_STS_M1A_LORA_APP_HTBT_PORT 14U +#endif + + //#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 @@ -246,8 +257,8 @@ #define MajorVer 23U -#define MinorVer 11U -#define SubMinorVer 18U +#define MinorVer 12U +#define SubMinorVer 13U #define FirmwareVersion 3U #define YUNHORN_STS_MAX_NVM_CFG_SIZE 64U #define YUNHORN_STS_AC_CODE_SIZE 20U @@ -280,6 +291,15 @@ #define sts_sendhtbtport (YUNHORN_STS_R5_LORA_APP_HTBT_PORT) #endif +#ifdef YUNHORN_STS_M1A_ENABLED +#define sts_mtmcode1 0U +#define sts_mtmcode2 26U +#define sts_hardware_ver 1U +#define sts_version 1U +#define sts_senddataport (YUNHORN_STS_M1A_LORA_APP_DATA_PORT) +#define sts_sendhtbtport (YUNHORN_STS_M1A_LORA_APP_HTBT_PORT) +#endif + #define sts_appctrlport (YUNHORN_STS_USER_APP_CTRL_PORT) #define sts_appctrl_reply_port (YUNHORN_STS_USER_APP_CTRL_REPLY_PORT) diff --git a/Core/Inc/yunhorn_sts_sensors.h b/Core/Inc/yunhorn_sts_sensors.h index b192333..c130e7d 100644 --- a/Core/Inc/yunhorn_sts_sensors.h +++ b/Core/Inc/yunhorn_sts_sensors.h @@ -236,6 +236,27 @@ typedef struct #endif +#if defined(YUNHORN_STS_M1A_ENABLED) +typedef struct +{ + uint16_t waterSpillCount; /* count of water spillage */ + float averageTemp; /* 0-120 C */ + float maxTemp; /* 0-120 C */ + float minTemp; /* 0-120 C */ + float centerTemp; /* 0-120 C */ + uint8_t v_water_cnt; /* 0-31 */ + uint8_t h_water_cnt; /* 0-63 */ + + uint8_t waterSpillMatrix[64][32]; /* temp matrix or mark */ + 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 battery_Pct; /* % of battery two digits, 88% (00-99)% */ + +} STS_M1A_SensorDataTypeDef; +#endif + typedef struct { uint8_t WakeUpStatus; @@ -584,6 +605,11 @@ void STS_PRESENCE_SENSOR_TOF_Init(void); void STS_O5_SENSOR_Read(STS_OO_SensorDataTypeDef *oo_data); #endif + +#ifdef YUNHORN_STS_M1A_ENABLED +void STS_M1A_SENSOR_Read(STS_M1A_SensorDataTypeDef *m1a_data); +#endif + void STS_YunhornSTSEventP1_Process(void); void STS_YunhornSTSEventP2_Process(void); void STS_YunhornSTSEventP3_Process(void); @@ -591,6 +617,11 @@ void STS_YunhornSTSEventP4_Process(void); void STS_YunhornSTSEventP5_Process(void); void STS_YunhornSTSEventP6_Process(void); void STS_YunhornSTSEventP7_Process(void); +void STS_YunhornSTSEventP8_Process(void); +void STS_YunhornSTSEventP9_Process(void); +void STS_YunhornSTSEventP10_Process(void); +void STS_YunhornSTSEventP11_Process(void); +void STS_YunhornSTSEventP12_Process(void); void STS_YunhornSTSEventRFAC_Process(void); void STS_YunhornAuthenticationCode_Process(void); diff --git a/Core/Src/i2c.c b/Core/Src/i2c.c index 89074ee..b8de436 100644 --- a/Core/Src/i2c.c +++ b/Core/Src/i2c.c @@ -44,7 +44,7 @@ void MX_I2C2_Init(void) /* USER CODE END I2C2_Init 1 */ hi2c2.Instance = I2C2; - hi2c2.Init.Timing = 0x20303E5D; //0x2010091A = 400K Fast Mode, 0x20303E5D, 100K Standard mode, 0x20000209 Fast Mode Plus, 1Mbps + hi2c2.Init.Timing = 0x2010091A; //0x2010091A = 400K Fast Mode, 0x20303E5D, 100K Standard mode, 0x20000209 Fast Mode Plus, 1Mbps hi2c2.Init.OwnAddress1 = 0; hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; diff --git a/Core/Src/main.c b/Core/Src/main.c index 1019589..62e77d5 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -129,39 +129,13 @@ int main(void) /* Infinite loop */ /* USER CODE BEGIN WHILE */ - APP_LOG(TS_OFF, VLEVEL_L, "START LCD init....\r\n"); - - BSP_LCD_Init(); - BSP_LCD_Clear(LCD_COLOR_BLUE); - -#if 1 - APP_LOG(TS_OFF, VLEVEL_L, "BSP LCD TEST....\r\n"); - BSP_LCD_DisplayOn(); - BSP_LCD_Test(); - BSP_LCD_DisplayOff(); -#endif - - APP_LOG(TS_OFF, VLEVEL_L, "START Thermal Graph Test....\r\n"); - //MLX90640_I2CInit(); - BSP_LCD_DisplayOn(); - mlx90640_display_init(); - - while (1) - { - /* USER CODE END WHILE */ - - /* USER CODE BEGIN 3 */ - APP_LOG(TS_OFF, VLEVEL_L, "loop display process \r\n"); - - mlx90640_display_process(); - } while (1) { /* USER CODE END WHILE */ MX_LoRaWAN_Process(); - mlx90640_display_process(); + /* USER CODE BEGIN 3 */ } diff --git a/Core/Src/yunhorn_sts_process.c b/Core/Src/yunhorn_sts_process.c index ab584df..47c0063 100644 --- a/Core/Src/yunhorn_sts_process.c +++ b/Core/Src/yunhorn_sts_process.c @@ -35,6 +35,10 @@ #include "yunhorn_sts_sensors.h" #include "sts_cmox_hmac_sha.h" +#ifdef STS_TMG +#include "mlx90640_lcd_display.h" +#endif + /* USER CODE BEGIN Includes */ extern volatile sts_cfg_nvm_t sts_cfg_nvm; extern volatile uint8_t sts_ac_code[20]; @@ -93,6 +97,7 @@ extern volatile float sts_presence_rss_distance; // P6 --- SOAP Level, capacitive measurement // P7 --- UltraSonic, 2nd wave UltraSonic range measure // P8 --- AIR QUALITY AND ODOR LEVEL, SMOKING DETECTION + // P9 --- Water Spillage Sensor, Thermal Graph Sensor */ @@ -398,6 +403,62 @@ void STS_YunhornSTSEventP8_Process(void) } + + +/* + * STS P9 Process, Water Spillage sensor, Thermal Graph + * STS-M1A water spillage sensor + */ +void STS_YunhornSTSEventP9_Process(void) +{ + APP_LOG(TS_OFF, VLEVEL_L, "\r\n P9 Testing Process start\r\n"); +#if 0 + BSP_LCD_Init(); + BSP_LCD_Clear(LCD_COLOR_BLUE); + BSP_LCD_DisplayOn(); + BSP_LCD_Test(); + BSP_LCD_DisplayOff(); +#endif + + //MX_I2C2_Init(); + mlx90640_display_init(); + mlx90640_display_process(); +} + + +/* + * STS P10 Process, TBD + * TBD + */ +void STS_YunhornSTSEventP10_Process(void) +{ + APP_LOG(TS_OFF, VLEVEL_L, "\r\n P10 Testing Process\r\n"); + +} + + +/* + * STS P11 Process, TBD + * TBD + */ +void STS_YunhornSTSEventP11_Process(void) +{ + APP_LOG(TS_OFF, VLEVEL_L, "\r\n P11 Testing Process\r\n"); + +} + + + +/* + * STS P12 Process, TBD + * TBD + */ +void STS_YunhornSTSEventP12_Process(void) +{ + APP_LOG(TS_OFF, VLEVEL_L, "\r\n P12 Testing Process\r\n"); + +} + /* * STS P_IO_RS485 Process, Send Out Sensor Data Via RS485 interface * sensors diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index 13e7ddc..3ffd420 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -488,7 +488,7 @@ void LoRaWAN_Init(void) /* USER CODE END LoRaWAN_Init_LV */ /* USER CODE BEGIN LoRaWAN_Init_1 */ - APP_LOG(TS_OFF, VLEVEL_L, "\r\n\n\n##### YUNHORN_STS_FW:%d SWV%d HWV:%d MTM:%d.%d R:%d.%d.%d ####\r\n\n\n", + APP_LOG(TS_OFF, VLEVEL_M, "\r\n\n\n##### YUNHORN_STS_FW:%d SWV%d HWV:%d MTM:%d.%d R:%d.%d.%d ####\r\n\n\n", FirmwareVersion, sts_version, sts_hardware_ver, sts_mtmcode1,sts_mtmcode2, MajorVer, MinorVer, SubMinorVer); /* Get LoRaWAN APP version*/ @@ -581,11 +581,15 @@ void LoRaWAN_Init(void) // UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP2), UTIL_SEQ_RFU, STS_YunhornSTSEventP2_Process); // UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP3), UTIL_SEQ_RFU, STS_YunhornSTSEventP3_Process); - UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP4), UTIL_SEQ_RFU, STS_YunhornSTSEventP4_Process); +// UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP4), UTIL_SEQ_RFU, STS_YunhornSTSEventP4_Process); // UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP5), UTIL_SEQ_RFU, STS_YunhornSTSEventP5_Process); // UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP6), UTIL_SEQ_RFU, STS_YunhornSTSEventP6_Process); // UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP7), UTIL_SEQ_RFU, STS_YunhornSTSEventP7_Process); // UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP8), UTIL_SEQ_RFU, STS_YunhornSTSEventP8_Process); + UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), UTIL_SEQ_RFU, STS_YunhornSTSEventP9_Process); +// UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), UTIL_SEQ_RFU, STS_YunhornSTSEventP10_Process); +// UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), UTIL_SEQ_RFU, STS_YunhornSTSEventP11_Process); +// UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), UTIL_SEQ_RFU, STS_YunhornSTSEventP12_Process); // UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_YunhornSTSEventPIORS485), UTIL_SEQ_RFU, STS_YunhornSTSEventPIORS485_Process); #ifdef YUNHORN_STS_O6_ENABLED @@ -597,7 +601,7 @@ void LoRaWAN_Init(void) // Uploading Message // FOR Periodically upload message sensor, use this as Heart Beat interval -#ifdef YUNHORN_STS_MM_ENABLED +#if defined(YUNHORN_STS_MM_ENABLED) UTIL_TIMER_Create(&YunhornSTSUploadingMessageTimer, YUNHORN_STS_UPLOADING_MESSAGE_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSUploadingMessageEvent, NULL); @@ -621,6 +625,11 @@ void LoRaWAN_Init(void) UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); #endif +#if defined(YUNHORN_STS_M1A_ENABLED) + UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, HeartBeatPeriodicity, + UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL); + UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); +#endif /* USER CODE END LoRaWAN_Init_Last */ @@ -633,7 +642,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) switch (GPIO_Pin) { case BUT1_Pin: -#if (defined(STS_USE_STM32WL55)||defined(STS_USE_STM32WLE5)) +#if (defined(STM32WL55xx)||defined(STM32WLE5xx)) #ifdef YUNHORN_STS_O5_ENABLED UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0); UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0); @@ -787,6 +796,10 @@ static void SendTxData(void) uint8_t batteryLevel = GetBatteryLevel(); //uint16_t batteryLevelmV = SYS_GetBatteryLevel(); //sensor_t sensor_data; +#if defined(YUNHORN_STS_M1A_ENABLED) + STS_M1A_SensorDataTypeDef m1a_data; +#endif + #if defined(YUNHORN_STS_R0_ENABLED)||defined(YUNHORN_STS_R5_ENABLED) STS_R0_SensorDataTypeDef r0_data; #endif @@ -795,7 +808,7 @@ static void SendTxData(void) #endif UTIL_TIMER_Time_t nextTxIn = 0; - if (LmHandlerIsBusy() == false) +// if (LmHandlerIsBusy() == false) { uint8_t i = 0; //MX_TOF_Process(); @@ -806,6 +819,17 @@ static void SendTxData(void) STS_YunhornSTSEventP6_Process(); #endif +#if defined(YUNHORN_STS_M1A_ENABLED) + + UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP9), CFG_SEQ_Prio_0); + STS_M1A_SENSOR_Read(&m1a_data); + + m1a_data.battery_Pct = (uint8_t)(99*batteryLevel/254); +// STS_R0_SENSOR_Read(&r0_data); + //r0_data.battery_mV = batteryLevelmV; +// r0_data.battery_Pct = (uint8_t)(99*batteryLevel/254); +#endif + //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP6), CFG_SEQ_Prio_0); #if defined(YUNHORN_STS_R0_ENABLED)||defined(YUNHORN_STS_R5_ENABLED) UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP4), CFG_SEQ_Prio_0); @@ -877,6 +901,30 @@ static void SendTxData(void) #endif // AppData.Buffer[i++] = (uint8_t)(r0_data.battery_mV >>8)&0xff; //#12 // AppData.Buffer[i++] = (uint8_t)(r0_data.battery_mV)&0xff; //#13 +#endif +#ifdef STS_TMG + AppData.Buffer[i++] = (uint8_t)(12)&0xff; //#length of following bytes + AppData.Buffer[i++] = (uint8_t)(m1a_data.waterSpillCount>>8)&0xff; //#01 + AppData.Buffer[i++] = (uint8_t)(m1a_data.waterSpillCount)&0xff; //#02 + + + AppData.Buffer[i++] = (uint8_t)(m1a_data.v_water_cnt)&0xff; //#3 + AppData.Buffer[i++] = (uint8_t)(m1a_data.h_water_cnt)&0xff; //#4 + + AppData.Buffer[i++] = (uint8_t)((int)m1a_data.averageTemp)&0xff; //#5 + AppData.Buffer[i++] = (uint8_t)(((int)(m1a_data.averageTemp*100))%100)&0xff; //#6 + + AppData.Buffer[i++] = (uint8_t)((int)m1a_data.centerTemp)&0xff; //#7 + AppData.Buffer[i++] = (uint8_t)(((int)(m1a_data.centerTemp*100))%100)&0xff; //#8 + + AppData.Buffer[i++] = (uint8_t)((int)m1a_data.minTemp)&0xff; //#9 + AppData.Buffer[i++] = (uint8_t)(((int)(m1a_data.minTemp*100))%100)&0xff; //#10 + + AppData.Buffer[i++] = (uint8_t)((int)m1a_data.maxTemp)&0xff; //#11 + AppData.Buffer[i++] = (uint8_t)(((int)(m1a_data.maxTemp*100))%100)&0xff; //#12 + + + #endif } @@ -894,7 +942,7 @@ static void SendTxData(void) status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false); if (LORAMAC_HANDLER_SUCCESS == status) { - APP_LOG(TS_ON, VLEVEL_H, "SEND REQUEST\r\n"); + APP_LOG(TS_ON, VLEVEL_L, "SEND REQUEST\r\n"); } else if (LORAMAC_HANDLER_DUTYCYCLE_RESTRICTED == status) { @@ -969,17 +1017,17 @@ static void OnTxData(LmHandlerTxParams_t *params) UTIL_TIMER_Start(&TxLedTimer); APP_LOG(TS_OFF, VLEVEL_M, "\r\n###### ========== MCPS-Confirm =============\r\n"); - APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:%04d | PORT:%d | DR:%d | PWR:%d", params->UplinkCounter, + APP_LOG(TS_OFF, VLEVEL_M, "###### U/L FRAME:%04d | PORT:%d | DR:%d | PWR:%d", params->UplinkCounter, params->AppData.Port, params->Datarate, params->TxPower); - APP_LOG(TS_OFF, VLEVEL_H, " | MSG TYPE:"); + APP_LOG(TS_OFF, VLEVEL_M, " | MSG TYPE:"); if (params->MsgType == LORAMAC_HANDLER_CONFIRMED_MSG) { - APP_LOG(TS_OFF, VLEVEL_H, "CONFIRMED [%s]\r\n", (params->AckReceived != 0) ? "ACK" : "NACK"); + APP_LOG(TS_OFF, VLEVEL_M, "CONFIRMED [%s]\r\n", (params->AckReceived != 0) ? "ACK" : "NACK"); } else { - APP_LOG(TS_OFF, VLEVEL_H, "UNCONFIRMED\r\n"); + APP_LOG(TS_OFF, VLEVEL_M, "UNCONFIRMED\r\n"); } } } @@ -1103,7 +1151,7 @@ static void OnTxPeriodicityChanged(uint32_t periodicity) UTIL_TIMER_SetPeriod(&TxTimer, TxPeriodicity); UTIL_TIMER_Start(&TxTimer); /* USER CODE BEGIN OnTxPeriodicityChanged_2 */ - APP_LOG(TS_OFF, VLEVEL_H,"\r\n TxPeriodicity changed to %u (msec) \r\n", TxPeriodicity); + APP_LOG(TS_OFF, VLEVEL_M,"\r\n TxPeriodicity changed to %u (msec) \r\n", TxPeriodicity); /* USER CODE END OnTxPeriodicityChanged_2 */ } @@ -1309,7 +1357,7 @@ static void OnYunhornSTSHeartBeatPeriodicityChanged(uint32_t periodicity) UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); /* USER CODE BEGIN OnTxPeriodicityChanged_2 */ - APP_LOG(TS_OFF, VLEVEL_H,"**************** HeartBeatPeriodicity Changed to: %u (ms)\r\n", HeartBeatPeriodicity ); + APP_LOG(TS_OFF, VLEVEL_M,"**************** HeartBeatPeriodicity Changed to: %u (ms)\r\n", HeartBeatPeriodicity ); /* USER CODE END OnTxPeriodicityChanged_2 */ } @@ -1917,7 +1965,7 @@ void OnStoreSTSCFGContextRequest(void) /* USER CODE BEGIN OnStoreContextRequest_1 */ uint8_t i=0,j=0,nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0}; -#if (defined(YUNHORN_STS_O5_ENABLED) || defined(YUNHORN_STS_O6_ENABLED) || defined(YUNHORN_STS_R0_ENABLED) || defined(YUNHORN_STS_R5_ENABLED)) +#if (defined(YUNHORN_STS_O5_ENABLED) || defined(YUNHORN_STS_O6_ENABLED) || defined(YUNHORN_STS_R0_ENABLED) || defined(YUNHORN_STS_R5_ENABLED)) || defined(YUNHORN_STS_M1A_ENABLED) sts_cfg_nvm.length = STS_NVM_CFG_SIZE; nvm_store_value[i++] = sts_cfg_nvm.mtmcode1; nvm_store_value[i++] = sts_cfg_nvm.mtmcode2; @@ -1982,7 +2030,7 @@ void STS_REBOOT_CONFIG_Init(void) UTIL_MEM_cpy_8(nvm_stored_value, (void *)STS_CONFIG_NVM_BASE_ADDRESS, YUNHORN_STS_MAX_NVM_CFG_SIZE); /* USER CODE BEGIN OnRestoreContextRequest_Last */ -#if defined(YUNHORN_STS_O6_ENABLED) || defined(YUNHORN_STS_R0_ENABLED) || defined(YUNHORN_STS_R5_ENABLED) +#if defined(YUNHORN_STS_O6_ENABLED) || defined(YUNHORN_STS_R0_ENABLED) || defined(YUNHORN_STS_R5_ENABLED) || defined(YUNHORN_STS_M1A_ENABLED) if ((nvm_stored_value[NVM_MTM1] != sts_mtmcode1) || (nvm_stored_value[NVM_MTM2] != sts_mtmcode2) || (nvm_stored_value[NVM_VER] != sts_version)) { APP_LOG(TS_OFF, VLEVEL_H, "\r\nInitial Boot with Empty Config, Flash with default config....\r\n"); @@ -2061,7 +2109,7 @@ void OnRestoreSTSCFGContextProcess(void) OnYunhornSTSSamplingPeriodicityChanged(HeartBeatPeriodicity); // in m-sec unit #endif -#if defined(YUNHORN_STS_R0_ENABLED)||defined(YUNHORN_STS_R5_ENABLED) +#if defined(YUNHORN_STS_R0_ENABLED)||defined(YUNHORN_STS_R5_ENABLED) ||defined(YUNHORN_STS_M1A_ENABLED) OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity); #endif } diff --git a/LoRaWAN/Target/lorawan_conf.h b/LoRaWAN/Target/lorawan_conf.h index 9ddccb0..1706743 100644 --- a/LoRaWAN/Target/lorawan_conf.h +++ b/LoRaWAN/Target/lorawan_conf.h @@ -109,7 +109,7 @@ extern "C" { * - CHANNEL_PLAN_GROUP_AS923_4 (Freq offset = -5.90 MHz / Freq range = 917-920MHz) * - CHANNEL_PLAN_GROUP_AS923_1_JP (Freq offset = 0.0 MHz / Freq range = 920.6-923.4MHz) */ -#define REGION_AS923_DEFAULT_CHANNEL_PLAN CHANNEL_PLAN_GROUP_AS923_1_JP +#define REGION_AS923_DEFAULT_CHANNEL_PLAN CHANNEL_PLAN_GROUP_AS923_1 /*! * @brief Limits the number usable channels by default for AU915, CN470 and US915 regions diff --git a/STM32CubeIDE/.cproject b/STM32CubeIDE/.cproject index 6a7af73..284d00a 100644 --- a/STM32CubeIDE/.cproject +++ b/STM32CubeIDE/.cproject @@ -127,7 +127,7 @@