diff --git a/Core/Inc/yunhorn_sts_prd_conf.h b/Core/Inc/yunhorn_sts_prd_conf.h index f1b73e7..34bf021 100644 --- a/Core/Inc/yunhorn_sts_prd_conf.h +++ b/Core/Inc/yunhorn_sts_prd_conf.h @@ -43,6 +43,7 @@ //#define USE_OLED_SSD1306 //#define USE_TOF_VL53L1X #define STS_USE_TOF_VL53L0X 1U +#define YUNHORN_STS_R5_ENABLED // TOF VL53LX number //#define USE_MEMS_ADXL345 @@ -84,12 +85,12 @@ /*#define YUNHORN_STS_P6_ENABLED */ /** YUNHORN SMARTOILETS CLEANSING RESOUCES LEVEL PRODUCTS **/ -#define YUNHORN_STS_R0_ENABLED -#define YUNHORN_STS_R1_ENABLED -#define YUNHORN_STS_R2_ENABLED +//#define YUNHORN_STS_R0_ENABLED +//#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 */ @@ -176,22 +177,37 @@ //#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 10U -#define YUNHORN_STS_R0_LORA_APP_HTBT_PORT 11U -#define YUNHORN_STS_R0_USER_APP_CTRL_PORT 2U -#define YUNHORN_STS_R0_USER_APP_CTRL_REPLY_PORT 1U +#define YUNHORN_STS_USER_APP_CTRL_PORT 2U +#define YUNHORN_STS_USER_APP_CTRL_REPLY_PORT 1U +#ifdef YUNHORN_STS_R1_ENABLED #define YUNHORN_STS_R1_LORA_APP_DATA_PORT 57U #define YUNHORN_STS_R1_LORA_APP_HTBT_PORT 58U +#endif + +#ifdef YUNHORN_STS_R2_ENABLED #define YUNHORN_STS_R2_LORA_APP_DATA_PORT 57U #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 10U -#define YUNHORN_STS_R5_LORA_APP_HTBT_PORT 11U +#endif +#ifdef YUNHORN_STS_R3_ENABLED +#define YUNHORN_STS_R3_LORA_APP_DATA_PORT 7U +#define YUNHORN_STS_R3_LORA_APP_HTBT_PORT 8U +#endif +#ifdef YUNHORN_STS_R4_ENABLED +#define YUNHORN_STS_R4_LORA_APP_DATA_PORT 8U +#define YUNHORN_STS_R4_LORA_APP_HTBT_PORT 8U +#endif +#ifdef YUNHORN_STS_R0_ENABLED +#define YUNHORN_STS_R0_LORA_APP_DATA_PORT 10U +#define YUNHORN_STS_R0_LORA_APP_HTBT_PORT 11U +#endif + +#ifdef YUNHORN_STS_R5_ENABLED +// FOR ROCTEC R5, 2023-10-28 +#define YUNHORN_STS_R5_LORA_APP_DATA_PORT 11U +#define YUNHORN_STS_R5_LORA_APP_HTBT_PORT 12U +#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 @@ -215,7 +231,7 @@ #define MajorVer 23U -#define MinorVer 06U +#define MinorVer 10U #define SubMinorVer 28U #define FirmwareVersion 3U #define YUNHORN_STS_MAX_NVM_CFG_SIZE 64U @@ -236,10 +252,10 @@ #define sts_mtmcode2 16U #define sts_hardware_ver 1U #define sts_version 1U -#define sts_senddataport (YUNHORN_STS_R0_LORA_APP_DATA_PORT) -#define sts_sendhtbtport (YUNHORN_STS_R0_LORA_APP_HTBT_PORT) -#define sts_appctrlport (YUNHORN_STS_R0_USER_APP_CTRL_PORT) -#define sts_appctrl_reply_port (YUNHORN_STS_R0_USER_APP_CTRL_REPLY_PORT) +#define sts_senddataport (YUNHORN_STS_R5_LORA_APP_DATA_PORT) +#define sts_sendhtbtport (YUNHORN_STS_R5_LORA_APP_HTBT_PORT) +#define sts_appctrlport (YUNHORN_STS_USER_APP_CTRL_PORT) +#define sts_appctrl_reply_port (YUNHORN_STS_USER_APP_CTRL_REPLY_PORT) //#define NVM_CFG_PARAMETER_SIZE (STS_R0_NVM_CFG_SIZE) diff --git a/Core/Src/yunhorn_sts_process.c b/Core/Src/yunhorn_sts_process.c index 9a77899..943efa5 100644 --- a/Core/Src/yunhorn_sts_process.c +++ b/Core/Src/yunhorn_sts_process.c @@ -277,7 +277,7 @@ void STS_YunhornSTSEventP4_Process(void) LED_OFF; #if defined(TOF_1)||defined(TOF_2) - APP_LOG(TS_OFF, VLEVEL_L, "\r\n TOF_1, TOF_2 Testing Process\r\n"); + APP_LOG(TS_OFF, VLEVEL_H, "\r\n TOF_1, TOF_2 Testing Process\r\n"); STS_TOF_VL53L0X_Range_Process(); #endif diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index f9c7e2b..c0c47f2 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -68,10 +68,10 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = { sts_mtmcode2, sts_version, sts_hardware_ver, - 0x01, //Regular TxPeriodicity interval + 0x05, //Regular TxPeriodicity interval 'M', //unit of Regular TxPeriodicity interval - 0x05, //Heart-beat interval or Sampling interval - 'M', //unit of Heart-beat interval or Sampling interval + 0x01, //Heart-beat interval or Sampling interval + 'H', //unit of Heart-beat interval or Sampling interval 0x04, // dual mode 0x00, // service mask 0x00, // reserve01 @@ -486,7 +486,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_H, "\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*/ @@ -636,7 +636,7 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0); sensor_data_ready =1; uint8_t pinstate = HAL_GPIO_ReadPin(BUT1_GPIO_Port,BUT1_Pin); - APP_LOG(TS_OFF, VLEVEL_L, "##################################### BUTTON-1 DETECTED: %2d \r\n", pinstate); + APP_LOG(TS_OFF, VLEVEL_H, "##################################### BUTTON-1 DETECTED: %2d \r\n", pinstate); //if (EventType == TX_ON_EVENT) if (pinstate == 1) @@ -646,10 +646,6 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) LED_ON; HAL_Delay(50); LED_OFF; - HAL_Delay(20); - LED_ON; - HAL_Delay(50); - LED_OFF; } #endif @@ -790,19 +786,19 @@ static void SendTxData(void) APP_LOG(TS_ON, VLEVEL_H, "\r\n Flag: Heart-beat-timer = %u \r\n upload_message_timer %u \r\n sensor_data_ready = %u \r\n", heart_beat_timer, upload_message_timer, sensor_data_ready); - APP_LOG(TS_ON, VLEVEL_L, "\r\nVDDA: %4d (mV)\r\n", batteryLevelmV); + APP_LOG(TS_ON, VLEVEL_H, "\r\nVDDA: %4d (mV)\r\n", batteryLevelmV); //if (LmHandlerIsBusy() == false) { uint8_t i = 0; //MX_TOF_Process(); - LED_ON; + #if defined(SOAP_LEVEL_SENSOR) STS_YunhornSTSEventP6_Process(); #endif //UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP6), CFG_SEQ_Prio_0); UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP4), CFG_SEQ_Prio_0); - LED_OFF; + STS_R0_SENSOR_Read(&r0_data); r0_data.battery_mV = batteryLevelmV; r0_data.battery_Pct = (uint8_t)(99*batteryLevel/254); @@ -817,18 +813,25 @@ static void SendTxData(void) AppData.Port = LORAWAN_USER_APP_PORT; +#ifdef ROCTEC_R5 +#else AppData.Buffer[i++] = AppLedStateOn; AppData.Buffer[i++] = (uint8_t)(0xFF & sts_mtmcode1); //mtmcode1; //#02 AppData.Buffer[i++] = (uint8_t)(0xFF & sts_mtmcode2); //mtmcode2; //#03 AppData.Buffer[i++] = (uint8_t)(0xFF & sts_hardware_ver); //hardware_Ver; //#04 AppData.Buffer[i++] = (uint8_t)(r0_data.battery_Pct); //#05 - +#endif if (heart_beat_timer) { heart_beat_timer = 0; AppData.Port = LORAWAN_USER_HTBT_PORT; //LORAWAN_USER_APP_PORT+1; +#ifdef ROCTEC_R5 + AppData.Buffer[i++] = AppLedStateOn; + AppData.Buffer[i++] = (uint8_t)(r0_data.battery_Pct); +#endif + APP_LOG(TS_ON, VLEVEL_H, "\r\n------------ Heart-Beat ------------- \r\n ------------------\r\nDistance0 = %d mm, \r\nDistance1 = %d mm,\r\nDistance2 = %d mm, \r\nVBAT=%d\r\n", r0_data.distance_mm,r0_data.distance1_mm,r0_data.distance2_mm, r0_data.battery_Pct); @@ -837,7 +840,11 @@ static void SendTxData(void) sensor_data_ready =0; upload_message_timer =0; +#ifdef ROCTEC_R5 + AppData.Buffer[i++] = (uint8_t)(r0_data.distance1_mm >>8)&0xff; //#05 + AppData.Buffer[i++] = (uint8_t)(r0_data.distance1_mm)&0xff; //#06 +#else AppData.Buffer[i++] = (uint8_t)(r0_data.distance_mm >>8)&0xff; //#05 AppData.Buffer[i++] = (uint8_t)(r0_data.distance_mm)&0xff; //#06 AppData.Buffer[i++] = (uint8_t)(r0_data.distance1_mm >>8)&0xff; //#07 @@ -849,7 +856,7 @@ static void SendTxData(void) AppData.Buffer[i++] = (uint8_t)(r0_data.battery_mV >>8)&0xff; //#12 AppData.Buffer[i++] = (uint8_t)(r0_data.battery_mV)&0xff; //#13 - +#endif APP_LOG(TS_ON, VLEVEL_H, "\r\n------------ Heart-Beat ------------- \r\n ------------------\r\nDistance0 = %d mm, \r\nDistance1 = %d mm,\r\nDistance2 = %d mm, \r\nVBAT=%d\r\n", @@ -1972,7 +1979,7 @@ void STS_SENSOR_Upload_Message(uint8_t appDataPort, uint8_t appBufferSize, char void OnStoreSTSCFGContextRequest(void) { /* USER CODE BEGIN OnStoreContextRequest_1 */ - uint8_t i=0, j=0, nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]=""; + uint8_t nvm_store_value[YUNHORN_STS_MAX_NVM_CFG_SIZE]={0x0}; #if (defined(YUNHORN_STS_O6_ENABLED) || defined(YUNHORN_STS_R0_ENABLED)) sts_cfg_nvm.length = STS_NVM_CFG_SIZE; diff --git a/STM32CubeIDE/.cproject b/STM32CubeIDE/.cproject index 039a7b6..a6a5c4b 100644 --- a/STM32CubeIDE/.cproject +++ b/STM32CubeIDE/.cproject @@ -26,7 +26,7 @@