|
|
@ -133,7 +133,6 @@ class PubMqttIvData { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (MqttSentStatus::LAST_SUCCESS_SENT == rec->mqttSentStatus) { |
|
|
|
if(mPos < rec->length) { |
|
|
|
bool retained = false; |
|
|
|
if (mCmd == RealTimeRunData_Debug) { |
|
|
@ -170,19 +169,21 @@ class PubMqttIvData { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (MqttSentStatus::LAST_SUCCESS_SENT == rec->mqttSentStatus) { |
|
|
|
uint8_t qos = (FLD_ACT_ACTIVE_PWR_LIMIT == rec->assign[mPos].fieldId) ? QOS_2 : QOS_0; |
|
|
|
snprintf(mSubTopic, 32 + MAX_NAME_LENGTH, "%s/ch%d/%s", mIv->config->name, rec->assign[mPos].ch, fields[rec->assign[mPos].fieldId]); |
|
|
|
snprintf(mVal, 40, "%g", ah::round3(mIv->getValue(mPos, rec))); |
|
|
|
mPublish(mSubTopic, mVal, retained, qos); |
|
|
|
} |
|
|
|
mPos++; |
|
|
|
} else { |
|
|
|
if (MqttSentStatus::LAST_SUCCESS_SENT == rec->mqttSentStatus) { |
|
|
|
sendRadioStat(rec->length); |
|
|
|
rec->mqttSentStatus = MqttSentStatus::DATA_SENT; |
|
|
|
mState = FIND_NXT_IV; |
|
|
|
} |
|
|
|
} else |
|
|
|
mState = FIND_NXT_IV; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
inline void sendRadioStat(uint8_t start) { |
|
|
|
snprintf(mSubTopic, 32 + MAX_NAME_LENGTH, "%s/radio_stat", mIv->config->name); |
|
|
|