diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c
index 6f45510..f979705 100644
--- a/LoRaWAN/App/lora_app.c
+++ b/LoRaWAN/App/lora_app.c
@@ -726,6 +726,16 @@ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params)
break;
}
}
+ DeviceClass_t deviceClass = CLASS_A;
+ LmHandlerGetCurrentClass( &deviceClass );
+ uint8_t i=0;
+ outbuf[i++] = (uint8_t) 'L';
+ outbuf[i++] = (uint8_t) sts_mtmcode1;
+ outbuf[i++] = (uint8_t) sts_mtmcode2;
+ outbuf[i++] = (uint8_t) sts_version;
+ outbuf[i++] = (uint8_t) (0x41+ deviceClass); //translate to 'A','B','C'
+ STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, outbuf);
+
break;
case LORAWAN_USER_APP_PORT:
if (appData->BufferSize == 1)
@@ -1039,10 +1049,12 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
}
STS_LoRa_WAN_Joined = (uint8_t) joinParams->Mode;
-
- OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
+ APP_LOG(TS_OFF, VLEVEL_L,"\r\n STS_LoRa_WAN_Joined = %s \r\n", (STS_LoRa_WAN_Joined == 1)?"ABP":"OTAA");
+ UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
+
+ //restore NVM TxPeriodicity interval
uint32_t periodicity = (sts_cfg_nvm.periodicity); //TxPeriodicty interval
if ((char)sts_cfg_nvm.unit =='M') {
periodicity *= 60;
@@ -1056,8 +1068,7 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
OnTxPeriodicityChanged(TxPeriodicity);
-
- APP_LOG(TS_OFF, VLEVEL_L,"\r\n STS_LoRa_WAN_Joined = %s \r\n", (STS_LoRa_WAN_Joined == 1)?"ABP":"OTAA");
+ OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
}
else
{
@@ -1065,10 +1076,13 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
}
APP_LOG(TS_OFF, VLEVEL_M, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
+
}
+
/* USER CODE END OnJoinRequest_1 */
}
+
static void OnBeaconStatusChange(LmHandlerBeaconParams_t *params)
{
/* USER CODE BEGIN OnBeaconStatusChange_1 */
@@ -1242,6 +1256,7 @@ static void OnStopJoinTimerEvent(void *context)
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET); /* LED_GREEN */
HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET); /* LED_RED */
#endif
+
/* USER CODE END OnStopJoinTimerEvent_Last */
}
@@ -1904,7 +1919,6 @@ P # # A # #
APP_LOG(TS_OFF, VLEVEL_L, "###### CFG Received =%s Cmd=%02x Value=%2d Invalid Flag=%u \r\n",(char*)outbuf, tlv_buf[CFG_CMD4], cmdValue, invalid_flag);
-
// Step 2: Save valid config to NVM
sts_cfg_nvm.mtmcode1 = sts_mtmcode1;
sts_cfg_nvm.mtmcode2 = sts_mtmcode2;
@@ -2361,10 +2375,10 @@ void STS_SENSOR_Function_Test_Process(void)
}
memset((void*)outbuf, 0x0, sizeof(outbuf));
- memcpy((void*)outbuf, tstbuf, i);
+ memcpy((void*)outbuf, (const void*)tstbuf, i);
- //APP_LOG(TS_OFF, VLEVEL_L, "Ready to upload\r\n");
+ APP_LOG(TS_OFF, VLEVEL_L, "Ready to upload Count=%d bytes\r\n", i);
- //STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, outbuf);
+ STS_SENSOR_Upload_Message(LORAWAN_USER_APP_CTRL_REPLY_PORT, i, (char*)outbuf);
}
diff --git a/LoRaWAN/App/lora_app.h b/LoRaWAN/App/lora_app.h
index a83ec96..fa9153a 100644
--- a/LoRaWAN/App/lora_app.h
+++ b/LoRaWAN/App/lora_app.h
@@ -71,7 +71,7 @@ extern "C" {
/*!
* LoRaWAN default class
*/
-#define LORAWAN_DEFAULT_CLASS CLASS_A
+#define LORAWAN_DEFAULT_CLASS CLASS_C
/*!
* LoRaWAN default confirm state
diff --git a/STM32CubeIDE/.settings/language.settings.xml b/STM32CubeIDE/.settings/language.settings.xml
index e8ad6b6..a3a8531 100644
--- a/STM32CubeIDE/.settings/language.settings.xml
+++ b/STM32CubeIDE/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+