添加手动对时类型

This commit is contained in:
2026-02-28 09:22:47 +08:00
parent a4cd9cf62f
commit 9559f288ca
3 changed files with 59 additions and 3 deletions

View File

@@ -1933,7 +1933,30 @@ void process_received_message(string mac, string id,const char* data, size_t len
break;
case DeviceState::SET_RIGHTTIME:
//设置装置对时
//设置装置对时(定时触发)
if (udata[8] == static_cast<unsigned char>(MsgResponseType::Response_NewACK)) {
std::cout << "set success" << mac << std::endl;
//对时设置成功,调整为空闲,处理后续工作。
ClientManager::instance().change_device_state(id, DeviceState::IDLE);
}
else if (udata[8] == static_cast<unsigned char>(MsgResponseType::Response_NewNACK)) {
std::cout << "set error" << mac << std::endl;
std::cout << "reason code: " << static_cast<int>(udata[8]) << "-" << static_cast<int>(udata[9]) << "-" << static_cast<int>(udata[10]) << "-" << static_cast<int>(udata[11]) << std::endl;
// 装置否定应答,对时设置失败
// 设置对时失败,调整为空闲状态,处理下一项工作。
ClientManager::instance().change_device_state(id, DeviceState::IDLE);
}
else {
// 装置答非所问异常
// 设置对时失败,调整为空闲状态,处理下一项工作。
ClientManager::instance().change_device_state(id, DeviceState::IDLE);
}
break;
case DeviceState::SET_RIGHTTIME_2:
//设置装置对时(主动对时)
if (udata[8] == static_cast<unsigned char>(MsgResponseType::Response_NewACK)) {
std::cout << "set success" << mac << std::endl;
//对时设置成功,调整为空闲,处理后续工作。