diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c
index 3cae67f..957c9af 100644
--- a/LoRaWAN/App/lora_app.c
+++ b/LoRaWAN/App/lora_app.c
@@ -45,7 +45,7 @@
/* External variables ---------------------------------------------------------*/
/* USER CODE BEGIN EV */
uint8_t outbuf[128]={0x0};
-extern volatile uint8_t sts_ac_code[20];
+extern volatile uint8_t sts_ac_code[20], sts_service_mask;
extern volatile sts_cfg_nvm_t sts_cfg_nvm;
extern volatile uint32_t rfac_timer;
extern volatile uint32_t STS_TOFScanPeriod_msec, STS_TxPeriod_sec, STS_HeartBeatTimerPeriod_sec;
@@ -807,9 +807,9 @@ static void SendTxData(void)
#endif
#ifdef VL53L0
- STS_YunhornSTSEventP4_Process();
+ //STS_YunhornSTSEventP4_Process();
STS_RR_Sensor_Read(&sts_rr_sensor_data);
- APP_LOG(TS_OFF, VLEVEL_M, "\r\n VL53L0 sensor data read \r\n");
+ APP_LOG(TS_OFF, VLEVEL_H, "\r\n VL53L0 sensor data read \r\n");
#ifdef STS_R1
AppData.Port = YUNHORN_STS_R1_LORA_APP_DATA_PORT; /* STS-R1 Data Port */
@@ -836,7 +836,7 @@ static void SendTxData(void)
AppData.Buffer[i++] = (uint8_t) sts_hardware_ver;
AppData.Buffer[i++] = (uint8_t) 99*batteryLevel/254;
-#if 1
+#if 0
APP_LOG(TS_ON, VLEVEL_M, "VDDA: %d\r\n", batteryLevel);
APP_LOG(TS_ON, VLEVEL_M, "temp: %d\r\n", (int16_t)(sensor_data.temperature));
@@ -985,7 +985,8 @@ static void SendTxData(void)
AppData.Buffer[i++] = (uint8_t)(sts_m1_sensor_data.on_off_event & 0xFF);
#endif //STS_M1
- AppData.BufferSize = i;
+
+ AppData.BufferSize = i&(~sts_service_mask);
if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET))
{
@@ -1028,8 +1029,8 @@ static void OnTxTimerEvent(void *context)
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP6), CFG_SEQ_Prio_0);
#elif defined(STS_M1)
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP1), CFG_SEQ_Prio_0);
-#elif defined(STS_R1D)
- APP_LOG(TS_OFF, VLEVEL_M, "\nSET TASK P4\r\n");
+#elif (defined(STS_R1D)||defined(STS_R5)||defined(STS_R1))
+ APP_LOG(TS_OFF, VLEVEL_H, "\nSET TASK P4\r\n");
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventP4), CFG_SEQ_Prio_0);
#endif
@@ -1109,10 +1110,14 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
APP_LOG(TS_OFF, VLEVEL_M, "OTAA =====================\r\n");
}
AppData.Port = 1;
- AppData.BufferSize = 10;
+ AppData.BufferSize = 16;
//AppData.Buffer[0]=0x38;
//AppData.Buffer[1]=0x38;
- UTIL_MEM_cpy_8((uint8_t*)AppData.Buffer, "YUNHORN168", 10);
+ //UTIL_MEM_cpy_8((uint8_t*)AppData.Buffer, (uint8_t *)"YUNHORN " + (uint8_t*)YUNHORN_STS_PRD_STRING, 16);
+ //UTIL_MEM_cpy_8((uint8_t*)AppData.Buffer, (uint8_t *)"YUNHORN ", 8);
+ UTIL_MEM_cpy_8((uint8_t*)AppData.Buffer, (uint8_t *)"YUNHORN168", 10);
+ UTIL_MEM_cpy_8((uint8_t*)AppData.Buffer+10, (uint8_t *)(uint8_t*)YUNHORN_STS_PRD_STRING, sizeof(YUNHORN_STS_PRD_STRING));
+ AppData.BufferSize = sizeof(YUNHORN_STS_PRD_STRING)+10;
LmHandlerParams.IsTxConfirmed = true;
LmHandlerErrorStatus_t status = LmHandlerSend(&AppData, LmHandlerParams.IsTxConfirmed, false);
if (status ==LORAMAC_HANDLER_SUCCESS ) LmHandlerParams.IsTxConfirmed = false;
@@ -1450,7 +1455,7 @@ static void OnYunhornSTSHeartBeatTimerEvent(void *context)
appHeartBeatBufferSize = 2;
appHeartBeatDataBuffer[0]=(uint8_t)(0x80|AppLedStateOn);
appHeartBeatDataBuffer[1]=(uint8_t)(SYS_GetBatteryLevel()/100); //TODO XXX change to battery level in mV
- APP_LOG(TS_OFF, VLEVEL_M, "\n\n HEART-BEAT TIMER = %d\n\n", rfac_timer);
+ //APP_LOG(TS_OFF, VLEVEL_M, "\n\n HEART-BEAT TIMER = %d\n\n", rfac_timer);
STS_SENSOR_Upload_Message(appHeartBeatDataPort, appHeartBeatBufferSize, (uint8_t*)appHeartBeatDataBuffer);
#endif
diff --git a/STM32CubeIDE/.cproject b/STM32CubeIDE/.cproject
index aed9a96..43ffa57 100644
--- a/STM32CubeIDE/.cproject
+++ b/STM32CubeIDE/.cproject
@@ -133,9 +133,9 @@