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 @@ - +