Commit 2b562d10 authored by captainwong's avatar captainwong

add event 1944 1946

parent d997b70e
...@@ -147,6 +147,8 @@ ...@@ -147,6 +147,8 @@
|3756|SIM卡为非物联卡|SIM card is not IOT| |3756|SIM卡为非物联卡|SIM card is not IOT|
|1798|索要主机类型|WHAT_IS_YOUR_TYPE| |1798|索要主机类型|WHAT_IS_YOUR_TYPE|
|1799|信号强度变化|SIGNAL_STRENGTH_CHANGED| |1799|信号强度变化|SIGNAL_STRENGTH_CHANGED|
|1944|上线|EVENT_OFFLINE|
|1946|离线|EVENT_ONLINE|
### *恒博主机类型对照表* ### *恒博主机类型对照表*
...@@ -205,6 +207,7 @@ ...@@ -205,6 +207,7 @@
|1787|2|<ul><li>5050G-4GW</li></ul>|√|√|√|√|√|√| |√| | | | | |1787|2|<ul><li>5050G-4GW</li></ul>|√|√|√|√|√|√| |√| | | | |
|1797|10|<ul><li>2050</li></ul>|√|√|√|√|√|√| |√| | | | | |1797|10|<ul><li>2050</li></ul>|√|√|√|√|√|√| |√| | | | |
## 四、恒博扩展 ## 四、恒博扩展
### 4.1 事件报告与远程控制 ### 4.1 事件报告与远程控制
......
...@@ -115,6 +115,9 @@ ADEMCO_EVENT privateEvents[] = { ...@@ -115,6 +115,9 @@ ADEMCO_EVENT privateEvents[] = {
EVENT_WHAT_IS_YOUR_TYPE, EVENT_WHAT_IS_YOUR_TYPE,
EVENT_SIGNAL_STRENGTH_CHANGED, EVENT_SIGNAL_STRENGTH_CHANGED,
EVENT_OFFLINE,
EVENT_ONLINE,
}; };
void printEvents(const ADEMCO_EVENT* events, size_t len) void printEvents(const ADEMCO_EVENT* events, size_t len)
......
...@@ -151,13 +151,16 @@ enum ADEMCO_EVENT : uint32_t { ...@@ -151,13 +151,16 @@ enum ADEMCO_EVENT : uint32_t {
EVENT_WHAT_IS_YOUR_TYPE = 1798, // 索要主机类型 EVENT_WHAT_IS_YOUR_TYPE = 1798, // 索要主机类型
EVENT_SIGNAL_STRENGTH_CHANGED = 1799, // 主机信号强度变化 EVENT_SIGNAL_STRENGTH_CHANGED = 1799, // 主机信号强度变化
// 2021年1月24日17:06:55修改,对标丛文3B0 3B2
EVENT_OFFLINE = 1944, // 主机断线
EVENT_ONLINE = 1946, // 主机上线
AdemcoEventSentinel = 10000, AdemcoEventSentinel = 10000,
// -------------------接警中心内部使用事件------------------------------ // -------------------接警中心内部使用事件------------------------------
EVENT_PRIVATE_EVENT_BASE = 0x00010000, EVENT_PRIVATE_EVENT_BASE = 0x00010000,
EVENT_CLEARMSG, // 清除报警信息 EVENT_CLEARMSG, // 清除报警信息
EVENT_OFFLINE, // 主机断线 EVENT_ZONE_CHANGED, // 防区数量变化
EVENT_ONLINE, // 主机上线
EVENT_SUBMACHINECNT, // 分机数量变化 EVENT_SUBMACHINECNT, // 分机数量变化
EVENT_MACHINE_INFO_CHANGED, // 主机信息改变,需要界面刷新 EVENT_MACHINE_INFO_CHANGED, // 主机信息改变,需要界面刷新
EVENT_IM_GONNA_DIE, // 主机类已析构,通知界面 EVENT_IM_GONNA_DIE, // 主机类已析构,通知界面
...@@ -318,6 +321,8 @@ inline std::string ademcoEventToStringEnglish(ADEMCO_EVENT ademco_event, bool wi ...@@ -318,6 +321,8 @@ inline std::string ademcoEventToStringEnglish(ADEMCO_EVENT ademco_event, bool wi
case EVENT_RESTORE_FACTORY_SETTINGS: return n_to_s(ademco_event) + "RESTORE_FACTORY_SETTINGS"; case EVENT_RESTORE_FACTORY_SETTINGS: return n_to_s(ademco_event) + "RESTORE_FACTORY_SETTINGS";
case EVENT_WHAT_IS_YOUR_TYPE: return n_to_s(ademco_event) + "WHAT_IS_YOUR_TYPE"; case EVENT_WHAT_IS_YOUR_TYPE: return n_to_s(ademco_event) + "WHAT_IS_YOUR_TYPE";
case EVENT_SIGNAL_STRENGTH_CHANGED: return n_to_s(ademco_event) + "SIGNAL_STRENGTH_CHANGED"; case EVENT_SIGNAL_STRENGTH_CHANGED: return n_to_s(ademco_event) + "SIGNAL_STRENGTH_CHANGED";
case EVENT_OFFLINE: return n_to_s(ademco_event) + "EVENT_OFFLINE";
case EVENT_ONLINE: return n_to_s(ademco_event) + "EVENT_ONLINE";
default: with_event_number = true; return n_to_s(ademco_event) + "undefined"; default: with_event_number = true; return n_to_s(ademco_event) + "undefined";
} }
} }
...@@ -400,6 +405,8 @@ inline const std::wstring ademcoEventToStringChinese(ADEMCO_EVENT ademco_event, ...@@ -400,6 +405,8 @@ inline const std::wstring ademcoEventToStringChinese(ADEMCO_EVENT ademco_event,
case EVENT_RESTORE_FACTORY_SETTINGS: return n_to_s(ademco_event) + L"主机恢复出厂设置"; case EVENT_RESTORE_FACTORY_SETTINGS: return n_to_s(ademco_event) + L"主机恢复出厂设置";
case EVENT_WHAT_IS_YOUR_TYPE: return n_to_s(ademco_event) + L"索要主机类型"; case EVENT_WHAT_IS_YOUR_TYPE: return n_to_s(ademco_event) + L"索要主机类型";
case EVENT_SIGNAL_STRENGTH_CHANGED: return n_to_s(ademco_event) + L"信号强度变化"; case EVENT_SIGNAL_STRENGTH_CHANGED: return n_to_s(ademco_event) + L"信号强度变化";
case EVENT_OFFLINE: return n_to_s(ademco_event) + L"上线";
case EVENT_ONLINE: return n_to_s(ademco_event) + L"离线";
default: with_event_number = true; return n_to_s(ademco_event) + L"未定义"; default: with_event_number = true; return n_to_s(ademco_event) + L"未定义";
} }
} }
......
...@@ -56,15 +56,17 @@ struct AdemcoData ...@@ -56,15 +56,17 @@ struct AdemcoData
} }
void assignAdemcoId(AdemcoId ademco_id) { void assignAdemcoId(AdemcoId ademco_id) {
ademco_id %= AdemcoIdSentinel;
char aid[7] = { 0 }; char aid[7] = { 0 };
snprintf(aid, sizeof(aid), "%06X", static_cast<int>(ademco_id % AdemcoIdSentinel)); snprintf(aid, sizeof(aid), "%06X", static_cast<int>(ademco_id));
std::copy(aid, aid + 6, std::back_inserter(data_)); std::copy(aid, aid + 6, std::back_inserter(data_));
ademco_id_ = ademco_id; ademco_id_ = ademco_id;
} }
void assignAdemcoEvent(ADEMCO_EVENT ademco_event) { void assignAdemcoEvent(ADEMCO_EVENT ademco_event) {
ademco_event = (ADEMCO_EVENT)(ademco_event % AdemcoEventSentinel);
char aev[5] = { 0 }; char aev[5] = { 0 };
snprintf(aev, sizeof(aev), "%04d", static_cast<int>(ademco_event % AdemcoEventSentinel)); snprintf(aev, sizeof(aev), "%04d", static_cast<int>(ademco_event));
std::copy(aev, aev + 4, std::back_inserter(data_)); std::copy(aev, aev + 4, std::back_inserter(data_));
ademco_event_ = ademco_event; ademco_event_ = ademco_event;
} }
...@@ -85,8 +87,9 @@ struct AdemcoData ...@@ -85,8 +87,9 @@ struct AdemcoData
} }
void assignZone(AdemcoZone zone) { void assignZone(AdemcoZone zone) {
zone %= ZoneSentinel;
char z[4] = { 0 }; char z[4] = { 0 };
snprintf(z, sizeof(z), "%03d", static_cast<int>(zone % ZoneSentinel)); snprintf(z, sizeof(z), "%03d", static_cast<int>(zone));
std::copy(z, z + 3, std::back_inserter(data_)); std::copy(z, z + 3, std::back_inserter(data_));
zone_ = zone; zone_ = zone;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment