updated for heart-beat, sensor power on-off before and after measure.
This commit is contained in:
parent
d5415ac9ac
commit
9e0a206e9b
|
@ -47,7 +47,7 @@ extern "C" {
|
||||||
/**
|
/**
|
||||||
* @brief Verbose level for all trace logs
|
* @brief Verbose level for all trace logs
|
||||||
*/
|
*/
|
||||||
#define VERBOSE_LEVEL VLEVEL_M
|
#define VERBOSE_LEVEL VLEVEL_L
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enable trace logs
|
* @brief Enable trace logs
|
||||||
|
|
|
@ -269,10 +269,13 @@ void STS_YunhornSTSEventP3_Process(void)
|
||||||
*/
|
*/
|
||||||
void STS_YunhornSTSEventP4_Process(void)
|
void STS_YunhornSTSEventP4_Process(void)
|
||||||
{
|
{
|
||||||
|
STS_SENSOR_Power_ON(0);
|
||||||
|
STS_SENSOR_Power_OFF(0);
|
||||||
APP_LOG(TS_OFF, VLEVEL_L, "\r\n P4 Testing Process\r\n");
|
APP_LOG(TS_OFF, VLEVEL_L, "\r\n P4 Testing Process\r\n");
|
||||||
STS_TOF_VL53L0X_Range_Process();
|
STS_TOF_VL53L0X_Range_Process();
|
||||||
|
|
||||||
|
STS_SENSOR_Power_OFF(0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -296,6 +299,10 @@ void STS_YunhornSTSEventP5_Process(void)
|
||||||
void STS_YunhornSTSEventP6_Process(void)
|
void STS_YunhornSTSEventP6_Process(void)
|
||||||
{
|
{
|
||||||
APP_LOG(TS_OFF, VLEVEL_L, "\r\n P6 Testing Process\r\n");
|
APP_LOG(TS_OFF, VLEVEL_L, "\r\n P6 Testing Process\r\n");
|
||||||
|
STS_SENSOR_Power_ON(0);
|
||||||
|
|
||||||
|
STS_SENSOR_Power_OFF(0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -306,6 +313,9 @@ void STS_YunhornSTSEventP6_Process(void)
|
||||||
void STS_YunhornSTSEventP7_Process(void)
|
void STS_YunhornSTSEventP7_Process(void)
|
||||||
{
|
{
|
||||||
APP_LOG(TS_OFF, VLEVEL_L, "\r\n P7 Testing Process\r\n");
|
APP_LOG(TS_OFF, VLEVEL_L, "\r\n P7 Testing Process\r\n");
|
||||||
|
STS_SENSOR_Power_ON(0);
|
||||||
|
|
||||||
|
STS_SENSOR_Power_OFF(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -456,7 +466,7 @@ void STS_SENSOR_Power_OFF(uint8_t cnt)
|
||||||
case 0:
|
case 0:
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
#ifdef YUNHORN_STS_M7_ENABLED
|
#if (defined(YUNHORN_STS_M7_ENABLED) || defined(YUNHORN_STS_R0_ENABLED))
|
||||||
HAL_GPIO_WritePin(MEMS_POWER_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_RESET);
|
HAL_GPIO_WritePin(MEMS_POWER_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_RESET);
|
||||||
#endif
|
#endif
|
||||||
HAL_GPIO_WritePin(MEMS_POWER_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_RESET);
|
HAL_GPIO_WritePin(MEMS_POWER_GPIO_Port, MEMS_POWER_Pin, GPIO_PIN_RESET);
|
||||||
|
@ -472,11 +482,14 @@ void STS_SENSOR_MEMS_Reset(uint8_t cnt)
|
||||||
case 0:
|
case 0:
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
#ifdef YUNHORN_STS_M7_ENABLED
|
#if (defined(YUNHORN_STS_M7_ENABLED) || defined(YUNHORN_STS_R0_ENABLED))
|
||||||
HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin, GPIO_PIN_SET);
|
HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin, GPIO_PIN_SET);
|
||||||
|
HAL_Delay(50);
|
||||||
|
HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin, GPIO_PIN_RESET);
|
||||||
#endif
|
#endif
|
||||||
HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin, GPIO_PIN_SET);
|
HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin, GPIO_PIN_SET);
|
||||||
|
HAL_Delay(50);
|
||||||
|
HAL_GPIO_WritePin(MEMS_RESET_GPIO_Port, MEMS_RESET_Pin, GPIO_PIN_RESET);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -487,52 +500,12 @@ void STS_SENSOR_MEMS_Reset(uint8_t cnt)
|
||||||
|
|
||||||
void STS_SENSOR_NVM_CFG(void)
|
void STS_SENSOR_NVM_CFG(void)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
sts_presence_rss_config.default_start_m = (float)(sts_cfg_nvm.p[RSS_CFG_START_M_H] + 0.1* sts_cfg_nvm.p[RSS_CFG_START_M_L]);
|
|
||||||
sts_presence_rss_config.default_length_m = (float)(sts_cfg_nvm.p[RSS_CFG_LENGTH_M_H] + 0.1* sts_cfg_nvm.p[RSS_CFG_LENGTH_M_L]);
|
|
||||||
sts_presence_rss_config.default_threshold = (float)(sts_cfg_nvm.p[RSS_CFG_THRESHOLD_H] + 0.1*sts_cfg_nvm.p[RSS_CFG_THRESHOLD_L]);
|
|
||||||
sts_presence_rss_config.default_receiver_gain = (float)(sts_cfg_nvm.p[RSS_CFG_RECEIVER_GAIN_H]*0.1 + 0.01* sts_cfg_nvm.p[RSS_CFG_RECEIVER_GAIN_L]);
|
|
||||||
|
|
||||||
sts_presence_rss_config.default_zone_length_m = DEFAULT_ZONE_LENGTH;
|
|
||||||
sts_presence_rss_config.default_profile = (float)(sts_cfg_nvm.p[RSS_CFG_PROFILE]);
|
|
||||||
sts_presence_rss_config.default_update_rate_tracking = (float)(sts_cfg_nvm.p[RSS_CFG_RATE_TRACKING_H]*10 + sts_cfg_nvm.p[RSS_CFG_RATE_TRACKING_L]);
|
|
||||||
sts_presence_rss_config.default_update_rate_presence = (float)(sts_cfg_nvm.p[RSS_CFG_RATE_PRESENCE_H]*10 + sts_cfg_nvm.p[RSS_CFG_RATE_PRESENCE_L]);
|
|
||||||
sts_presence_rss_config.default_hwaas = (float)(sts_cfg_nvm.p[RSS_CFG_HWAAS_H]*10 + sts_cfg_nvm.p[RSS_CFG_HWAAS_L]);
|
|
||||||
|
|
||||||
sts_presence_rss_config.default_nbr_removed_pc = (float)(sts_cfg_nvm.p[RSS_CFG_NBR_REMOVED_PC]);
|
|
||||||
|
|
||||||
//filter parameter
|
|
||||||
sts_presence_rss_config.default_inter_frame_deviation_time_const = (float)(sts_cfg_nvm.p[RSS_CFG_ITE_DEVIATION_H] + 0.1* sts_cfg_nvm.p[RSS_CFG_ITE_DEVIATION_L]);
|
|
||||||
sts_presence_rss_config.default_inter_frame_fast_cutoff = (float)(sts_cfg_nvm.p[RSS_CFG_ITE_FAST_CUTOFF_H]*10 + sts_cfg_nvm.p[RSS_CFG_ITE_FAST_CUTOFF_L]);
|
|
||||||
sts_presence_rss_config.default_inter_frame_slow_cutoff = (float)(sts_cfg_nvm.p[RSS_CFG_ITE_SLOW_CUTOFF_H]*.1 + 0.01* sts_cfg_nvm.p[RSS_CFG_ITE_SLOW_CUTOFF_L]);
|
|
||||||
sts_presence_rss_config.default_intra_frame_time_const = (float)(sts_cfg_nvm.p[RSS_CFG_ITR_TIME_H] + 0.1* sts_cfg_nvm.p[RSS_CFG_ITR_TIME_L]);
|
|
||||||
sts_presence_rss_config.default_intra_frame_weight = (float)(sts_cfg_nvm.p[RSS_CFG_ITR_WEIGHT_H] + 0.1* sts_cfg_nvm.p[RSS_CFG_ITR_WEIGHT_L]);
|
|
||||||
sts_presence_rss_config.default_output_time_const = (float)(sts_cfg_nvm.p[RSS_CFG_OUTPUT_TIME_H] + 0.1* sts_cfg_nvm.p[RSS_CFG_OUTPUT_TIME_L]);
|
|
||||||
//filter parameter
|
|
||||||
|
|
||||||
sts_presence_rss_config.default_downsampling_factor = (float)(sts_cfg_nvm.p[RSS_CFG_DOWNSAMPLING_FACTOR]);
|
|
||||||
sts_presence_rss_config.default_power_save_mode = (float)(sts_cfg_nvm.p[RSS_CFG_POWER_MODE]);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void STS_SENSOR_NVM_CFG_SIMPLE(void)
|
void STS_SENSOR_NVM_CFG_SIMPLE(void)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
sts_presence_rss_config.default_start_m = (float)(sts_cfg_nvm.p[RSS_CFG_START_M_H] + 0.1* sts_cfg_nvm.p[RSS_CFG_START_M_L]);
|
|
||||||
sts_presence_rss_config.default_length_m = (float)(sts_cfg_nvm.p[RSS_CFG_LENGTH_M_H] + 0.1* sts_cfg_nvm.p[RSS_CFG_LENGTH_M_L]);
|
|
||||||
sts_presence_rss_config.default_threshold = (float)(sts_cfg_nvm.p[RSS_CFG_THRESHOLD_H] + 0.1*sts_cfg_nvm.p[RSS_CFG_THRESHOLD_L]);
|
|
||||||
sts_presence_rss_config.default_receiver_gain = (float)(sts_cfg_nvm.p[RSS_CFG_RECEIVER_GAIN_H]*0.1 + 0.01* sts_cfg_nvm.p[RSS_CFG_RECEIVER_GAIN_L]);
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
char pout[128]="";
|
|
||||||
sprintf(pout,"\r\n Start=%.2f Length= %.2f Threshold=%.2f Gain=%.2f\r\n",
|
|
||||||
sts_presence_rss_config.default_start_m,
|
|
||||||
sts_presence_rss_config.default_length_m,
|
|
||||||
sts_presence_rss_config.default_threshold,
|
|
||||||
sts_presence_rss_config.default_receiver_gain);
|
|
||||||
|
|
||||||
APP_LOG(TS_OFF, VLEVEL_L,"\r\n %s \r\n", pout);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE BEGIN EF */
|
/* USER CODE BEGIN EF */
|
||||||
|
|
|
@ -67,10 +67,10 @@ volatile sts_cfg_nvm_t sts_cfg_nvm = {
|
||||||
sts_mtmcode2,
|
sts_mtmcode2,
|
||||||
sts_version,
|
sts_version,
|
||||||
sts_hardware_ver,
|
sts_hardware_ver,
|
||||||
0x02, //Regular TxPeriodicity interval
|
0x20, //Regular TxPeriodicity interval
|
||||||
'M', //unit of Regular TxPeriodicity interval
|
'S', //unit of Regular TxPeriodicity interval
|
||||||
0x0A, //Heart-beat interval or Sampling interval
|
0x02, //Heart-beat interval or Sampling interval
|
||||||
'S', //unit of Heart-beat interval or Sampling interval
|
'M', //unit of Heart-beat interval or Sampling interval
|
||||||
0x04, // dual mode
|
0x04, // dual mode
|
||||||
0x00, // service mask
|
0x00, // service mask
|
||||||
0x00, // reserve01
|
0x00, // reserve01
|
||||||
|
@ -614,7 +614,7 @@ void LoRaWAN_Init(void)
|
||||||
// FOR Event trigger type sensor, use this as Heart Beat Timer, such as O1/O2/O3/M1
|
// FOR Event trigger type sensor, use this as Heart Beat Timer, such as O1/O2/O3/M1
|
||||||
#if (defined(YUNHORN_STS_R0_ENABLED))
|
#if (defined(YUNHORN_STS_R0_ENABLED))
|
||||||
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, HeartBeatPeriodicity,
|
UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, HeartBeatPeriodicity,
|
||||||
UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL);
|
UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL);
|
||||||
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -765,6 +765,10 @@ static void SendTxData(void)
|
||||||
STS_R0_SensorDataTypeDef r0_data;
|
STS_R0_SensorDataTypeDef r0_data;
|
||||||
UTIL_TIMER_Time_t nextTxIn = 0;
|
UTIL_TIMER_Time_t nextTxIn = 0;
|
||||||
|
|
||||||
|
APP_LOG(TS_ON, VLEVEL_L, "\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);
|
||||||
|
|
||||||
|
|
||||||
if (LmHandlerIsBusy() == false)
|
if (LmHandlerIsBusy() == false)
|
||||||
{
|
{
|
||||||
uint8_t i = 0;
|
uint8_t i = 0;
|
||||||
|
@ -779,7 +783,7 @@ static void SendTxData(void)
|
||||||
// APP_LOG(TS_ON, VLEVEL_M, "\r\nVDDA: %d\r\n", batteryLevel);
|
// APP_LOG(TS_ON, VLEVEL_M, "\r\nVDDA: %d\r\n", batteryLevel);
|
||||||
// APP_LOG(TS_ON, VLEVEL_M, "\r\ntemp: %d\r\n", (int16_t)(sensor_data.temperature));
|
// APP_LOG(TS_ON, VLEVEL_M, "\r\ntemp: %d\r\n", (int16_t)(sensor_data.temperature));
|
||||||
|
|
||||||
APP_LOG(TS_ON, VLEVEL_L, "\r\nDistance = %d mm, VBAT=%d%%\r\n", r0_data.distance_mm, r0_data.battery_Pct);
|
//APP_LOG(TS_ON, VLEVEL_L, "\r\nDistance = %d mm, VBAT=%d%%\r\n", r0_data.distance_mm, r0_data.battery_Pct);
|
||||||
|
|
||||||
|
|
||||||
AppData.Port = LORAWAN_USER_APP_PORT;
|
AppData.Port = LORAWAN_USER_APP_PORT;
|
||||||
|
@ -795,6 +799,7 @@ static void SendTxData(void)
|
||||||
{
|
{
|
||||||
heart_beat_timer = 0;
|
heart_beat_timer = 0;
|
||||||
AppData.Port = LORAWAN_USER_HTBT_PORT; //LORAWAN_USER_APP_PORT+1;
|
AppData.Port = LORAWAN_USER_HTBT_PORT; //LORAWAN_USER_APP_PORT+1;
|
||||||
|
APP_LOG(TS_ON, VLEVEL_L, "\r\n------------ Heart-Beat ------------- \r\n ------------------Distance = %d mm, VBAT=%d%%\r\n", r0_data.distance_mm, r0_data.battery_Pct);
|
||||||
|
|
||||||
} else if (upload_message_timer) //sensor_data_ready)
|
} else if (upload_message_timer) //sensor_data_ready)
|
||||||
{
|
{
|
||||||
|
@ -804,9 +809,10 @@ static void SendTxData(void)
|
||||||
|
|
||||||
AppData.Buffer[i++] = (uint8_t)(r0_data.distance_mm_h); //#05
|
AppData.Buffer[i++] = (uint8_t)(r0_data.distance_mm_h); //#05
|
||||||
AppData.Buffer[i++] = (uint8_t)(r0_data.distance_mm_l); //#05
|
AppData.Buffer[i++] = (uint8_t)(r0_data.distance_mm_l); //#05
|
||||||
|
APP_LOG(TS_ON, VLEVEL_L, "\r\n------------ Periodicity Upload Heart-Beat ------------- \r\n ------------------Distance = %d mm, VBAT=%d%%\r\n", r0_data.distance_mm, r0_data.battery_Pct);
|
||||||
}
|
}
|
||||||
|
|
||||||
AppData.BufferSize = (sts_service_mask >=2?0:i);
|
AppData.BufferSize = (sts_service_mask >1?0:i);
|
||||||
|
|
||||||
if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET))
|
if ((JoinLedTimer.IsRunning) && (LmHandlerJoinStatus() == LORAMAC_HANDLER_SET))
|
||||||
{
|
{
|
||||||
|
@ -1017,7 +1023,7 @@ static void OnTxPeriodicityChanged(uint32_t periodicity)
|
||||||
UTIL_TIMER_SetPeriod(&TxTimer, TxPeriodicity);
|
UTIL_TIMER_SetPeriod(&TxTimer, TxPeriodicity);
|
||||||
UTIL_TIMER_Start(&TxTimer);
|
UTIL_TIMER_Start(&TxTimer);
|
||||||
/* USER CODE BEGIN OnTxPeriodicityChanged_2 */
|
/* USER CODE BEGIN OnTxPeriodicityChanged_2 */
|
||||||
|
APP_LOG(TS_OFF, VLEVEL_L,"\r\n TxPeriodicity changed to %u (msec) \r\n", TxPeriodicity);
|
||||||
/* USER CODE END OnTxPeriodicityChanged_2 */
|
/* USER CODE END OnTxPeriodicityChanged_2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1218,7 +1224,7 @@ static void OnYunhornSTSHeartBeatPeriodicityChanged(uint32_t periodicity)
|
||||||
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
||||||
|
|
||||||
/* USER CODE BEGIN OnTxPeriodicityChanged_2 */
|
/* USER CODE BEGIN OnTxPeriodicityChanged_2 */
|
||||||
APP_LOG(TS_OFF, VLEVEL_M,"**************** HeartBeatPeriodicity = %u (ms)\r\n", HeartBeatPeriodicity );
|
APP_LOG(TS_OFF, VLEVEL_L,"**************** HeartBeatPeriodicity Changed to: %u (ms)\r\n", HeartBeatPeriodicity );
|
||||||
/* USER CODE END OnTxPeriodicityChanged_2 */
|
/* USER CODE END OnTxPeriodicityChanged_2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1349,22 +1355,18 @@ static void OnYunhornSTSSamplingCheckTimerEvent(void *context)
|
||||||
*/
|
*/
|
||||||
static void OnYunhornSTSHeartBeatTimerEvent(void *context)
|
static void OnYunhornSTSHeartBeatTimerEvent(void *context)
|
||||||
{
|
{
|
||||||
if (STS_LoRa_WAN_Joined )
|
heart_beat_timer = 1;
|
||||||
{
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||||
#ifdef YUNHORN_STS_R0_ENABLED
|
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
||||||
heart_beat_timer = 1;
|
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
|
||||||
|
|
||||||
if (sts_ac_code[0]==0x0) {
|
if ((STS_LoRa_WAN_Joined ) && (sts_ac_code[0]==0x0))
|
||||||
/* RFAC Challenge */
|
{
|
||||||
if (rfac_timer < (STS_BURN_IN_RFAC+3)) {
|
/* RFAC Challenge */
|
||||||
rfac_timer ++;
|
if (rfac_timer < (STS_BURN_IN_RFAC+3)) {
|
||||||
}
|
rfac_timer ++;
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventRFAC), CFG_SEQ_Prio_0);
|
}
|
||||||
}
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_YunhornSTSEventRFAC), CFG_SEQ_Prio_0);
|
||||||
UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer);
|
}
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
|
void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
|
||||||
|
@ -1558,12 +1560,10 @@ void USER_APP_AUTO_RESPONDER_Parse(char *tlv_buf, size_t tlv_buf_size)
|
||||||
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_MTM2]; //MTM Code
|
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_MTM2]; //MTM Code
|
||||||
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_VER]; //STS Version
|
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_VER]; //STS Version
|
||||||
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_HWV]; //STS Version
|
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_HWV]; //STS Version
|
||||||
outbuf[i++] = (uint8_t) (cfg_in_nvm[NVM_PERIODICITY]/10); //UPLINK Periodicity count high
|
outbuf[i++] = (uint8_t) (cfg_in_nvm[NVM_PERIODICITY]); //UPLINK Periodicity
|
||||||
outbuf[i++] = (uint8_t) (cfg_in_nvm[NVM_PERIODICITY]%10); //UPLINK Periodicity count low
|
|
||||||
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_UNIT]; //UPLINK Periodicity unit
|
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_UNIT]; //UPLINK Periodicity unit
|
||||||
outbuf[i++] = (uint8_t) (cfg_in_nvm[NVM_SAMPLING]/10); //SAMPLING Periodicity count high
|
outbuf[i++] = (uint8_t) (cfg_in_nvm[NVM_SAMPLING]); //Heart-beat or SAMPLING Periodicity
|
||||||
outbuf[i++] = (uint8_t) (cfg_in_nvm[NVM_SAMPLING]%10); //SAMPLING Periodicity count low
|
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_S_UNIT]; //Heart-beat or SAMPLING Periodicity unit
|
||||||
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_S_UNIT]; //SAMPLING Periodicity unit
|
|
||||||
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_WORK_MODE]; // STS WORK MODE
|
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_WORK_MODE]; // STS WORK MODE
|
||||||
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_SERVICE_MASK]; //service mask
|
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_SERVICE_MASK]; //service mask
|
||||||
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_RESERVE01]; //service mask
|
outbuf[i++] = (uint8_t) cfg_in_nvm[NVM_RESERVE01]; //service mask
|
||||||
|
|
Loading…
Reference in New Issue