revised for heart-beat timer, lora-app
This commit is contained in:
parent
745bc39aff
commit
5edf24df72
|
@ -34,7 +34,6 @@ hmac_result_t hmac_result;
|
||||||
|
|
||||||
uint32_t sts_hmac_verify(void)
|
uint32_t sts_hmac_verify(void)
|
||||||
{
|
{
|
||||||
uint8_t i=0;
|
|
||||||
uint8_t uid[8]="";
|
uint8_t uid[8]="";
|
||||||
uint32_t ret=0;
|
uint32_t ret=0;
|
||||||
hmac_result.ac_pass = 60;
|
hmac_result.ac_pass = 60;
|
||||||
|
@ -42,22 +41,13 @@ uint32_t sts_hmac_verify(void)
|
||||||
GetUniqueId(uid);
|
GetUniqueId(uid);
|
||||||
|
|
||||||
ret = sts_hmac_sha1((const uint8_t *) mKey, sizeof(mKey), (const uint8_t*)(uid+4), 4, &hmac_result);
|
ret = sts_hmac_sha1((const uint8_t *) mKey, sizeof(mKey), (const uint8_t*)(uid+4), 4, &hmac_result);
|
||||||
for (i=0;i<sizeof(Computed_Tag_SHA1); i++) {
|
|
||||||
APP_LOG(TS_OFF,VLEVEL_H,"0x%02x ", hmac_result.hmac_tag[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = memcmp(hmac_result.hmac_tag, (void *)sts_ac_code, sizeof(sts_ac_code));
|
ret = memcmp(hmac_result.hmac_tag, (void *)sts_ac_code, sizeof(sts_ac_code));
|
||||||
|
|
||||||
if (ret != 0)
|
hmac_result.ac_pass = (ret == 0x0)?1U:0U;
|
||||||
{
|
|
||||||
hmac_result.ac_pass =0U;
|
APP_LOG(TS_OFF, VLEVEL_M, "\r\nHMAC Verify Success = %u \r\n", hmac_result.ac_pass);
|
||||||
APP_LOG(TS_OFF, VLEVEL_H, "\r\nHMAC Verify Error \r\n");
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
ret = 0;
|
|
||||||
hmac_result.ac_pass = 1U;
|
|
||||||
APP_LOG(TS_OFF, VLEVEL_H, "\r\nHMAC Verify Success\r\n");
|
|
||||||
}
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -127,7 +127,7 @@ UTIL_ADV_TRACE_Status_t vcom_DeInit(void)
|
||||||
|
|
||||||
/* ##-3- Disable the NVIC for DMA ########################################### */
|
/* ##-3- Disable the NVIC for DMA ########################################### */
|
||||||
/* USER CODE BEGIN 1 */
|
/* USER CODE BEGIN 1 */
|
||||||
HAL_NVIC_DisableIRQ(DMA1_Channel5_IRQn);
|
HAL_NVIC_DisableIRQ(DMA1_Channel7_IRQn);
|
||||||
|
|
||||||
return UTIL_ADV_TRACE_OK;
|
return UTIL_ADV_TRACE_OK;
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
|
|
|
@ -322,6 +322,12 @@ static void OnJoinTimerLedEvent(void *context);
|
||||||
|
|
||||||
static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context);
|
static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Yunhorn STS Heart Beat Periodicity Chagne function
|
||||||
|
* @param duration of periodicty in ms (1/1000 sec)
|
||||||
|
*/
|
||||||
|
static void OnYunhornSTSHeartBeatPeriodicityChanged(uint32_t periodicity);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Yunhorn STS AC Code handle Process
|
* @brief Yunhorn STS AC Code handle Process
|
||||||
* @param void
|
* @param void
|
||||||
|
@ -441,6 +447,10 @@ static UTIL_TIMER_Object_t YunhornSTSRSSWakeUpTimer;
|
||||||
* @brief Timer to handle the YunHorn STS Sensor Sampling Process
|
* @brief Timer to handle the YunHorn STS Sensor Sampling Process
|
||||||
*/
|
*/
|
||||||
//static UTIL_TIMER_Object_t YunhornSTSSamplingCheckTimer;
|
//static UTIL_TIMER_Object_t YunhornSTSSamplingCheckTimer;
|
||||||
|
/**
|
||||||
|
* @brief Timer to handle the YunHorn STS Sensor Heart Beat Process
|
||||||
|
*/
|
||||||
|
static UTIL_TIMER_Object_t YunhornSTSHeartBeatTimer;
|
||||||
|
|
||||||
/* USER CODE END PV */
|
/* USER CODE END PV */
|
||||||
|
|
||||||
|
@ -654,6 +664,16 @@ static void OnRxData(LmHandlerAppData_t *appData, LmHandlerRxParams_t *params)
|
||||||
break;
|
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;
|
break;
|
||||||
case LORAWAN_USER_APP_PORT:
|
case LORAWAN_USER_APP_PORT:
|
||||||
if (appData->BufferSize == 1)
|
if (appData->BufferSize == 1)
|
||||||
|
@ -984,8 +1004,9 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
|
||||||
|
|
||||||
STS_LoRa_WAN_Joined = (uint8_t) joinParams->Mode;
|
STS_LoRa_WAN_Joined = (uint8_t) joinParams->Mode;
|
||||||
|
|
||||||
//APP_LOG(TS_OFF, VLEVEL_M,"\r\n STS_LoRa_WAN_Joined = %d \r\n", STS_LoRa_WAN_Joined);
|
OnYunhornSTSHeartBeatPeriodicityChanged(HeartBeatPeriodicity);
|
||||||
|
OnTxPeriodicityChanged(TxPeriodicity);
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_L,"\r\n STS_LoRa_WAN_Joined = %s \r\n", (STS_LoRa_WAN_Joined == 1)?"ABP":"OTAA");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -994,6 +1015,7 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
|
||||||
|
|
||||||
APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
|
APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
|
||||||
}
|
}
|
||||||
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||||
/* USER CODE END OnJoinRequest_1 */
|
/* USER CODE END OnJoinRequest_1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1253,33 +1275,34 @@ static void OnYunhornSTSOORSSWakeUpTimerEvent(void *context)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Yunhorn STS Sensor Heart Beat Timer callback function
|
* @brief Yunhorn STS Sensor Live Heart Beat Periodicity/interval Change callback function
|
||||||
* @param context ptr of STS Sampling Check context
|
* @param context ptr of STS Live Heart Beat context
|
||||||
*/
|
* YL x x x
|
||||||
/*
|
* */
|
||||||
static void OnYunhornSTSHeartBeatTimerEvent(void *context)
|
|
||||||
|
static void OnYunhornSTSHeartBeatPeriodicityChanged(uint32_t periodicity)
|
||||||
{
|
{
|
||||||
if (STS_LoRa_WAN_Joined )
|
/* USER CODE BEGIN OnTxPeriodicityChanged_1 */
|
||||||
{
|
|
||||||
|
|
||||||
heart_beat_timer = 1;
|
/* USER CODE END OnTxPeriodicityChanged_1 */
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
HeartBeatPeriodicity = periodicity;
|
||||||
|
|
||||||
if (sts_ac_code[0]==0x0) {
|
if (HeartBeatPeriodicity == 0)
|
||||||
// RFAC Challenge
|
{
|
||||||
if (rfac_timer < (STS_BURN_IN_RFAC+3)) {
|
/* Revert to application default periodicity */
|
||||||
rfac_timer ++;
|
HeartBeatPeriodicity = 10*APP_TX_DUTYCYCLE;
|
||||||
}
|
}
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventRFAC), CFG_SEQ_Prio_0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/* Update timer periodicity */
|
||||||
|
|
||||||
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
UTIL_TIMER_Stop(&YunhornSTSHeartBeatTimer);
|
||||||
|
UTIL_TIMER_SetPeriod(&YunhornSTSHeartBeatTimer, HeartBeatPeriodicity);
|
||||||
}
|
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
||||||
|
|
||||||
|
/* USER CODE BEGIN OnTxPeriodicityChanged_2 */
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_H,"**************** HeartBeatPeriodicity Changed to: %u (ms)\r\n", HeartBeatPeriodicity );
|
||||||
|
/* USER CODE END OnTxPeriodicityChanged_2 */
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Yunhorn STS Sensor Sampling Periodicity/interval Change callback function
|
* @brief Yunhorn STS Sensor Sampling Periodicity/interval Change callback function
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue