Commit 9e1c7dad authored by captainwong's avatar captainwong

主机类型

parent a8cf6036
...@@ -133,6 +133,7 @@ ...@@ -133,6 +133,7 @@
|1747|我是WiFi主机|I_AM_WIFI_MACHINE| |1747|我是WiFi主机|I_AM_WIFI_MACHINE|
|1757|我是三区段主机|I_AM_3_SECTION_MACHINE| |1757|我是三区段主机|I_AM_3_SECTION_MACHINE|
|1767|我是物联卡主机|I_AM_IOT_MACHINE| |1767|我是物联卡主机|I_AM_IOT_MACHINE|
|1797|我是能打电话的GPRS主机|I_AM_GPRS_PHONE|
|1709|手机用户SOS|SOS| |1709|手机用户SOS|SOS|
|1711|手机用户消警|PHONE_USER_CANCLE_ALARM| |1711|手机用户消警|PHONE_USER_CANCLE_ALARM|
|1712|主机进入设置状态|ENTER_SETTING_MODE| |1712|主机进入设置状态|ENTER_SETTING_MODE|
...@@ -145,6 +146,19 @@ ...@@ -145,6 +146,19 @@
|1798|索要主机类型|EVENT_WHAT_IS_YOUR_TYPE| |1798|索要主机类型|EVENT_WHAT_IS_YOUR_TYPE|
|1799|信号强度变化|SIGNAL_STRENGTH_CHANGED| |1799|信号强度变化|SIGNAL_STRENGTH_CHANGED|
### 主机类型详解
|安定宝事件码类型|主机类型|防区范围|有线防区范围|支持电话报警|内核负责人|在售主机型号与图标|
|---------------|-------|-------|-----------|-----------|---------|----------------|
|1707--我是网络模块|3 网络模块+工程主机|1~999|1~8||jinjianfeng|<ul><li>HB-G250 <img alt="HB-G250" src="./主机类型/HB-G250.jpg" style="max-height:80px" /></li></ul>|
|1717--我是GPRS主机|4 GPRS主机|1~99||Yes|wuziqiang|<ul></ul>|
|1727--我是液晶主机|5 液晶主机|1~249||Yes|jinjianfeng|<ul><li>HB-BJQ560 <img alt="HB-BJQ560" src="./主机类型/HB-BJQ560.png" style="max-height:80px" /></li><li>HB-BJQ560B <img alt="HB-BJQ560B" src="./主机类型/HB-BJQ560B.png" style="max-height:80px" /></li></ul>|
|1737--我是网线主机|6 网线主机|1~99|||wuziqiang|<ul><li>HB-4040R <img alt="HB-4040R" src="./主机类型/HB-4040R.png" style="max-height:80px" /></li><li>HB-5050R <img alt="HB-5050R" src="./主机类型/HB-5050R.png" style="max-height:80px" /></li></ul>|
|1757--我是三区段主机|8 三区段主机|1~191|1~8|Yes|jinjianfeng|<ul><li>HB-G1000 <img alt="HB-G1000" src="./主机类型/HB-G1000.png" style="max-height:80px" /></li><li>HB-G1000-4G <img alt="HB-G1000-4G" src="./主机类型/HB-G1000-4G.png" style="max-height:80px" /></li></ul>|
|1767--我是物联卡主机|9 物联卡主机|1~99|||jinjianfeng|<ul><li>HB-5050G-4GW <img alt="HB-5050G-4GW" src="./主机类型/HB-5050G-4GW.png" style="max-height:80px" /></li></ul>|
|1787--我是简化版物联卡主机|2 物联卡主机|1~68|||wuziqiang|<ul><li>HB-5050G <img alt="HB-5050G" src="./主机类型/HB-5050G.png" style="max-height:80px" /></li><li>HB-5050G-4G <img alt="HB-5050G-4G" src="./主机类型/HB-5050G-4G.png" style="max-height:80px" /></li></ul>|
|1797--我是能打电话的GPRS主机|10 GPRS主机能打电话|1~60||Yes|jinjianfeng|<ul><li>HB-2050 <img alt="HB-2050" src="./主机类型/HB-2050.jpg" style="max-height:80px" /></li></ul>|
## 四、恒博扩展 ## 四、恒博扩展
### 4.1 事件报告与远程控制 ### 4.1 事件报告与远程控制
......
#define ENABLE_ADEMCO_EVENT_TO_STRING #define ENABLE_ADEMCO_EVENT_TO_STRING
#include "../../include/ademco_event.h" #include "../../include/ademco_event.h"
#define ENABLE_COMMON_MACHINE_TYPE_TO_STRING
#include "../../include/hb_detail.h"
#include "../../include/hb_helper.h"
#include <jlib/win32/UnicodeTool.h> #include <jlib/win32/UnicodeTool.h>
#include <jlib/win32/path_op.h>
using namespace ademco; using namespace ademco;
using namespace hb;
using namespace hb::common;
ADEMCO_EVENT statusEvents[] = { ADEMCO_EVENT statusEvents[] = {
...@@ -84,6 +90,7 @@ ADEMCO_EVENT privateEvents[] = { ...@@ -84,6 +90,7 @@ ADEMCO_EVENT privateEvents[] = {
EVENT_I_AM_WIFI_MACHINE, EVENT_I_AM_WIFI_MACHINE,
EVENT_I_AM_3_SECTION_MACHINE, EVENT_I_AM_3_SECTION_MACHINE,
EVENT_I_AM_IOT_MACHINE, EVENT_I_AM_IOT_MACHINE,
EVENT_I_AM_GPRS_PHONE,
EVENT_PHONE_USER_SOS, EVENT_PHONE_USER_SOS,
EVENT_PHONE_USER_CANCLE_ALARM, EVENT_PHONE_USER_CANCLE_ALARM,
...@@ -113,6 +120,138 @@ void printEvents(const ADEMCO_EVENT* events, size_t len) ...@@ -113,6 +120,138 @@ void printEvents(const ADEMCO_EVENT* events, size_t len)
printf("\n"); printf("\n");
} }
const char* get_core_authoer(MachineType t)
{
switch (t) {
case hb::common::WiFi:
case hb::common::Gprs_IoT:
case hb::common::Gprs:
case hb::common::Wired:
return "wuziqiang";
break;
case hb::common::NetMod:
case hb::common::Lcd:
case hb::common::TrueColor:
case hb::common::ThreeSection:
case hb::common::IoT:
case hb::common::Gprs_Phone:
return "jinjianfeng";
break;
default:
break;
}
return "";
}
std::vector<std::string> get_machine_brands(MachineType t)
{
switch (t) {
case hb::common::WiFi:
case hb::common::Camera: return {};
case hb::common::Gprs_IoT: return { "HB-5050G", "HB-5050G-4G" };
case hb::common::NetMod: return { "HB-G250" };
case hb::common::Gprs: return { "HB-4040G.png", };
case hb::common::Lcd: return { "HB-BJQ560", "HB-BJQ560B" };
case hb::common::Wired: return { "HB-4040R", "HB-5050R" };
case hb::common::TrueColor:return { "HB-G1000", "HB-G1000-4G" };
case hb::common::ThreeSection:return { "HB-G1000", "HB-G1000-4G" };
case hb::common::IoT: return { "HB-5050G-4GW" };
case hb::common::Gprs_Phone: return { "HB-2050" };
default: return {};
break;
}
}
std::string brand_to_path(const std::string& brand)
{
std::vector<std::string> exts = { "png", "jpg" };
std::string path = jlib::win32::utf16_to_mbcs(L"..\\..\\docs\\主机类型\\") + brand;
for (auto ext : exts) {
if (jlib::win32::fileExists(path + "." + ext)) {
return jlib::win32::utf16_to_mbcs(L"./主机类型/") + brand + "." + ext;
}
}
return {};
}
void _print_machine_img(MachineType t)
{
printf("|<ul>");
for (auto brand : get_machine_brands(t)) {
auto path = brand_to_path(brand);
if (!path.empty()) {
printf(jlib::win32::utf16_to_mbcs(LR"(<li>%s <img alt="%s" src="%s" style="max-height:80px" /></li>)").data(), brand.data(), brand.data(), path.data());
}
}
printf("</ul>");
}
void print_machineTypes()
{
printf("### 主机类型详解\n\n");
printf("|安定宝事件码类型|主机类型|防区范围|有线防区范围|支持电话报警|内核负责人|在售主机型号与图标|\n"
"|---------------|-------|-------|-----------|-----------|---------|----------------|\n");
for (auto e : AdemcoEvents) {
if (isMachineTypeEvent(e)) {
auto t = hb::machineTypeFromAdemcoEvent(e);
if(!machineIsSelling(t)) continue;
printf("|%s", jlib::win32::utf16_to_mbcs(ademcoEventToStringChinese(e)).data());
printf("|%s", jlib::win32::utf16_to_mbcs(machineTypeToWString(t)).data());
printf("|1~%d", zoneMax(t));
if (machineHasWiredZone(t)) {
printf("|%d~%d", wiredZoneMin(t), wiredZoneMax(t));
} else {
printf("|");
}
printf("|%s", machineCanReportBySMS(t) ? "Yes" : "");
printf("|%s", get_core_authoer(t));
_print_machine_img(t);
printf("|\n");
}
}
}
void print_imgs()
{
printf("### 主机型号示例图片\n\n");
printf("<ul>\n");
for (auto e : AdemcoEvents) {
if (isMachineTypeEvent(e)) {
auto t = hb::machineTypeFromAdemcoEvent(e);
if (!machineIsSelling(t)) continue;
for (auto brand : get_machine_brands(t)) {
auto path = brand_to_path(brand);
if (!path.empty()) {
printf("<li>#img-%s ![img](%s)</li>\n", brand.data(), path.data());
}
}
}
}
printf("</ul>\n");
}
int main() int main()
{ {
printf("### 主机状态\n\n"); printf("### 主机状态\n\n");
...@@ -126,4 +265,7 @@ int main() ...@@ -126,4 +265,7 @@ int main()
printf("### *恒博私有事件码*\n\n"); printf("### *恒博私有事件码*\n\n");
printEvents(privateEvents, _countof(privateEvents)); printEvents(privateEvents, _countof(privateEvents));
print_machineTypes();
//print_imgs();
} }
\ No newline at end of file
...@@ -93,6 +93,8 @@ enum ADEMCO_EVENT : uint32_t { ...@@ -93,6 +93,8 @@ enum ADEMCO_EVENT : uint32_t {
EVENT_I_AM_WIFI_MACHINE = 1747, // 主机类型--WiFi主机 EVENT_I_AM_WIFI_MACHINE = 1747, // 主机类型--WiFi主机
EVENT_I_AM_3_SECTION_MACHINE = 1757, // 主机类型--三区段主机 EVENT_I_AM_3_SECTION_MACHINE = 1757, // 主机类型--三区段主机
EVENT_I_AM_IOT_MACHINE = 1767, // 主机类型--物联卡主机 EVENT_I_AM_IOT_MACHINE = 1767, // 主机类型--物联卡主机
EVENT_I_AM_GPRS_IOT = 1787, // 主机类型--物联卡主机
EVENT_I_AM_GPRS_PHONE = 1797, // 主机类型--GRPS主机带电话功能
EVENT_PHONE_USER_SOS = 1709, // 手机用户SOS EVENT_PHONE_USER_SOS = 1709, // 手机用户SOS
EVENT_PHONE_USER_CANCLE_ALARM = 1711, // 手机用户消警 EVENT_PHONE_USER_CANCLE_ALARM = 1711, // 手机用户消警
...@@ -185,6 +187,9 @@ static constexpr ADEMCO_EVENT AdemcoEvents[] = { ...@@ -185,6 +187,9 @@ static constexpr ADEMCO_EVENT AdemcoEvents[] = {
EVENT_I_AM_WIFI_MACHINE, EVENT_I_AM_WIFI_MACHINE,
EVENT_I_AM_3_SECTION_MACHINE, EVENT_I_AM_3_SECTION_MACHINE,
EVENT_I_AM_IOT_MACHINE, EVENT_I_AM_IOT_MACHINE,
EVENT_I_AM_GPRS_IOT,
EVENT_I_AM_GPRS_PHONE,
EVENT_SIM_IS_IOT_CARD, EVENT_SIM_IS_IOT_CARD,
EVENT_SIM_IS_IOT_PLATFORM_CARD, EVENT_SIM_IS_IOT_PLATFORM_CARD,
EVENT_SIM_IS_NOT_IOT_CARD, EVENT_SIM_IS_NOT_IOT_CARD,
...@@ -261,6 +266,8 @@ inline std::string ademcoEventToStringEnglish(ADEMCO_EVENT ademco_event, bool wi ...@@ -261,6 +266,8 @@ inline std::string ademcoEventToStringEnglish(ADEMCO_EVENT ademco_event, bool wi
case EVENT_I_AM_WIFI_MACHINE: return n_to_s(ademco_event) + "I_AM_WIFI_MACHINE"; case EVENT_I_AM_WIFI_MACHINE: return n_to_s(ademco_event) + "I_AM_WIFI_MACHINE";
case EVENT_I_AM_3_SECTION_MACHINE: return n_to_s(ademco_event) + "I_AM_3_SECTION_MACHINE"; case EVENT_I_AM_3_SECTION_MACHINE: return n_to_s(ademco_event) + "I_AM_3_SECTION_MACHINE";
case EVENT_I_AM_IOT_MACHINE: return n_to_s(ademco_event) + "I_AM_IOT_MACHINE"; case EVENT_I_AM_IOT_MACHINE: return n_to_s(ademco_event) + "I_AM_IOT_MACHINE";
case EVENT_I_AM_GPRS_IOT: return n_to_s(ademco_event) + "I_AM_GPRS_IOT";
case EVENT_I_AM_GPRS_PHONE: return n_to_s(ademco_event) + "I_AM_GPRS_PHONE";
case EVENT_SIM_IS_IOT_CARD: return n_to_s(ademco_event) + "SIM card is IOT"; case EVENT_SIM_IS_IOT_CARD: return n_to_s(ademco_event) + "SIM card is IOT";
case EVENT_SIM_IS_IOT_PLATFORM_CARD: return n_to_s(ademco_event) + "SIM card is Platform IOT"; case EVENT_SIM_IS_IOT_PLATFORM_CARD: return n_to_s(ademco_event) + "SIM card is Platform IOT";
case EVENT_SIM_IS_NOT_IOT_CARD: return n_to_s(ademco_event) + "SIM card is not IOT"; case EVENT_SIM_IS_NOT_IOT_CARD: return n_to_s(ademco_event) + "SIM card is not IOT";
...@@ -340,6 +347,8 @@ inline const std::wstring ademcoEventToStringChinese(ADEMCO_EVENT ademco_event, ...@@ -340,6 +347,8 @@ inline const std::wstring ademcoEventToStringChinese(ADEMCO_EVENT ademco_event,
case EVENT_I_AM_WIFI_MACHINE: return n_to_s(ademco_event) + L"我是WiFi主机"; case EVENT_I_AM_WIFI_MACHINE: return n_to_s(ademco_event) + L"我是WiFi主机";
case EVENT_I_AM_3_SECTION_MACHINE: return n_to_s(ademco_event) + L"我是三区段主机"; case EVENT_I_AM_3_SECTION_MACHINE: return n_to_s(ademco_event) + L"我是三区段主机";
case EVENT_I_AM_IOT_MACHINE: return n_to_s(ademco_event) + L"我是物联卡主机"; case EVENT_I_AM_IOT_MACHINE: return n_to_s(ademco_event) + L"我是物联卡主机";
case EVENT_I_AM_GPRS_IOT: return n_to_s(ademco_event) + L"我是简化版物联卡主机";
case EVENT_I_AM_GPRS_PHONE: return n_to_s(ademco_event) + L"我是能打电话的GPRS主机";
case EVENT_SIM_IS_IOT_CARD: return n_to_s(ademco_event) + L"SIM卡为物联卡"; case EVENT_SIM_IS_IOT_CARD: return n_to_s(ademco_event) + L"SIM卡为物联卡";
case EVENT_SIM_IS_IOT_PLATFORM_CARD: return n_to_s(ademco_event) + L"SIM卡为平台物联卡"; case EVENT_SIM_IS_IOT_PLATFORM_CARD: return n_to_s(ademco_event) + L"SIM卡为平台物联卡";
case EVENT_SIM_IS_NOT_IOT_CARD: return n_to_s(ademco_event) + L"SIM卡为非物联卡"; case EVENT_SIM_IS_NOT_IOT_CARD: return n_to_s(ademco_event) + L"SIM卡为非物联卡";
...@@ -372,7 +381,9 @@ static inline bool isMachineTypeEvent(ADEMCO_EVENT ademco_event) ...@@ -372,7 +381,9 @@ static inline bool isMachineTypeEvent(ADEMCO_EVENT ademco_event)
|| ademco_event == EVENT_I_AM_WIRE_MACHINE || ademco_event == EVENT_I_AM_WIRE_MACHINE
|| ademco_event == EVENT_I_AM_WIFI_MACHINE || ademco_event == EVENT_I_AM_WIFI_MACHINE
|| ademco_event == EVENT_I_AM_3_SECTION_MACHINE || ademco_event == EVENT_I_AM_3_SECTION_MACHINE
|| ademco_event == EVENT_I_AM_IOT_MACHINE; || ademco_event == EVENT_I_AM_IOT_MACHINE
|| ademco_event == EVENT_I_AM_GPRS_IOT
|| ademco_event == EVENT_I_AM_GPRS_PHONE;
} }
// 安定宝事件级别 // 安定宝事件级别
......
...@@ -99,25 +99,27 @@ static const wchar_t* machineStatusToWString(MachineStatus status) { ...@@ -99,25 +99,27 @@ static const wchar_t* machineStatusToWString(MachineStatus status) {
//! 主机类型 //! 主机类型
enum MachineType : Char { enum MachineType : Char {
//! WiFi主机 (已停用) //! WiFi主机 (已停用)
WiFi = 0x00, WiFi = 0,
//! 网络摄像机 (未启用) //! 网络摄像机 (未启用)
Camera = 0x01, Camera = 1,
//! 3G模块主机 (未启用) //! 物联卡主机 [HB-5050G HB-5050-4G]
T_3G = 0x02, Gprs_IoT = 2,
//! 网络模块主机 [ HB-G250 ] //! 网络模块主机 [ HB-G250 ]
NetMod = 0x03, NetMod = 3,
//! 改造的卧式主机 [ HB-4040G HB-5050G HB-5050-4G ] //! 改进型卧式主机 [ HB-4040G HB-5050G HB-5050-4G ]
Gprs = 0x04, Gprs = 4,
//! 液晶主机 [ HB-BJQ-560B ] //! 液晶主机 [ HB-BJQ-560B ]
Lcd = 0x05, Lcd = 5,
//! 网线主机 [ HB-4040R HB-5050R ] //! 网线主机 [ HB-4040R HB-5050R ]
Wired = 0x06, Wired = 6,
//! 真彩主机 [ HB-2050G ] //! 真彩主机 [ HTZ-G1000-2G HTZ-G1000-4G ]
TrueColor = 0x07, TrueColor = 7,
//! 三区段主机 [ HTZ-G1000 HTZ-G1000-4G ] //! 三区段主机 [ HTZ-G1000-2G HTZ-G1000-4G ]
ThreeSection = 0x08, ThreeSection = 8,
//! 物联卡主机(基本上是GRPS主机砍掉了短信、电话功能) //! 物联卡主机 [ HB-5050-4GW ]
IoT = 0x09, IoT = 9,
//! GPRS主机可以打电话 [ HB-2050-2G ] 防区 [1-60]
Gprs_Phone = 10,
MachineTypeCount, MachineTypeCount,
InvalidMachineType = 0xFF, InvalidMachineType = 0xFF,
...@@ -135,7 +137,7 @@ static MachineType machineTypeFromChar(Char t) { ...@@ -135,7 +137,7 @@ static MachineType machineTypeFromChar(Char t) {
static constexpr MachineType AllMachineTypes[MachineTypeCount] = { static constexpr MachineType AllMachineTypes[MachineTypeCount] = {
WiFi, WiFi,
Camera, Camera,
T_3G, Gprs_IoT,
NetMod, NetMod,
Gprs, Gprs,
Lcd, Lcd,
...@@ -143,31 +145,35 @@ static constexpr MachineType AllMachineTypes[MachineTypeCount] = { ...@@ -143,31 +145,35 @@ static constexpr MachineType AllMachineTypes[MachineTypeCount] = {
TrueColor, TrueColor,
ThreeSection, ThreeSection,
IoT, IoT,
Gprs_Phone,
}; };
//! 最大防区号根据型号不同而不同 //! 最大防区号根据型号不同而不同
static uint16_t zoneMax(MachineType type) { static uint16_t zoneMax(MachineType type) {
switch (type) { switch (type) {
case MachineType::Gprs: // HB-4040G HB-5050G HB-5050-4G case MachineType::Gprs:
case MachineType::Wired: // HB-4040R HB-5050R case MachineType::Wired:
case MachineType::IoT: case MachineType::IoT:
return 99; return 99;
case MachineType::NetMod: // HB-G250 case MachineType::NetMod:
return 999; return 999;
case MachineType::Lcd: // HB-BJQ-560B case MachineType::Lcd:
return 249; return 249;
case MachineType::TrueColor: // HB-2050G case MachineType::Gprs_IoT:
case MachineType::TrueColor:
return 68; return 68;
case MachineType::ThreeSection: // HTZ-G1000 HTZ-G1000-4G case MachineType::ThreeSection:
return 191; return 191;
case MachineType::Gprs_Phone:
return 60;
case MachineType::WiFi: case MachineType::WiFi:
case MachineType::Camera: case MachineType::Camera:
case MachineType::T_3G:
default: default:
return 0; return 0;
break; break;
...@@ -194,10 +200,12 @@ static bool machineCanHalfArm(MachineType type) { ...@@ -194,10 +200,12 @@ static bool machineCanHalfArm(MachineType type) {
//! 主机是否可以报告信号强度 //! 主机是否可以报告信号强度
static bool machineCanReportSignalStrength(MachineType type) { static bool machineCanReportSignalStrength(MachineType type) {
return type == MachineType::Gprs return type == MachineType::Gprs
|| type == MachineType::Gprs_IoT
|| type == MachineType::IoT || type == MachineType::IoT
|| type == MachineType::Lcd || type == MachineType::Lcd
|| type == MachineType::TrueColor || type == MachineType::TrueColor
|| type == MachineType::ThreeSection || type == MachineType::ThreeSection
|| type == MachineType::Gprs_Phone
; ;
} }
...@@ -207,21 +215,94 @@ static bool machineCanReportBySMS(MachineType type) { ...@@ -207,21 +215,94 @@ static bool machineCanReportBySMS(MachineType type) {
|| type == MachineType::Lcd || type == MachineType::Lcd
|| type == MachineType::TrueColor || type == MachineType::TrueColor
|| type == MachineType::ThreeSection || type == MachineType::ThreeSection
|| type == MachineType::Gprs_Phone
; ;
} }
//! 主机是否已投产使用 //! 主机是否已投产使用
static bool machineIsSolding(MachineType type) { static bool machineIsSelling(MachineType type) {
return type == MachineType::NetMod return type == MachineType::NetMod
|| type == MachineType::Gprs || type == MachineType::Gprs
|| type == MachineType::Gprs_IoT
|| type == MachineType::IoT || type == MachineType::IoT
|| type == MachineType::Lcd || type == MachineType::Lcd
|| type == MachineType::Wired || type == MachineType::Wired
|| type == MachineType::TrueColor || type == MachineType::TrueColor
|| type == MachineType::ThreeSection || type == MachineType::ThreeSection
|| type == MachineType::Gprs_Phone
; ;
} }
//! 主机是否支持有线防区
static bool machineHasWiredZone(MachineType type) {
return type == MachineType::NetMod
|| type == MachineType::TrueColor
|| type == MachineType::ThreeSection;
}
//! 主机最小有线防区号
static ademco::AdemcoZone wiredZoneMin(MachineType type) {
switch (type) {
case hb::common::NetMod: return 1;
case hb::common::Gprs:
break;
case hb::common::Lcd:
break;
case hb::common::Wired:
break;
case hb::common::TrueColor: return 1;
break;
case hb::common::ThreeSection: return 1;
break;
case hb::common::IoT:
break;
case hb::common::Gprs_Phone:
break;
case hb::common::MachineTypeCount:
break;
case hb::common::InvalidMachineType:
break;
default:
break;
}
return 0;
}
//! 主机最大有线防区号
static ademco::AdemcoZone wiredZoneMax(MachineType type) {
switch (type) {
case hb::common::Gprs_IoT:
break;
case hb::common::NetMod: return 8;
break;
case hb::common::Gprs:
break;
case hb::common::Lcd:
break;
case hb::common::Wired:
break;
case hb::common::TrueColor:return 8;
break;
case hb::common::ThreeSection:return 8;
break;
case hb::common::IoT:
break;
case hb::common::Gprs_Phone:
break;
case hb::common::MachineTypeCount:
break;
case hb::common::InvalidMachineType:
break;
default:
break;
}
return 0;
}
//! 主机是否可以直接写入防区数据(无需对码) //! 主机是否可以直接写入防区数据(无需对码)
static bool machineCanDirectlyWriteZone(MachineType type) { static bool machineCanDirectlyWriteZone(MachineType type) {
return type == MachineType::NetMod; return type == MachineType::NetMod;
...@@ -237,7 +318,7 @@ static const char* machineTypeToString(MachineType type) { ...@@ -237,7 +318,7 @@ static const char* machineTypeToString(MachineType type) {
switch (type) { switch (type) {
case MachineType::WiFi: return "0 WiFi"; case MachineType::WiFi: return "0 WiFi";
case MachineType::Camera: return "1 Camera"; case MachineType::Camera: return "1 Camera";
case MachineType::T_3G: return "2 3G"; case MachineType::Gprs_IoT: return "2 Gprs_IoT";
case MachineType::NetMod: return "3 NetMod"; case MachineType::NetMod: return "3 NetMod";
case MachineType::Gprs: return "4 GPRS"; case MachineType::Gprs: return "4 GPRS";
case MachineType::Lcd: return "5 LCD"; case MachineType::Lcd: return "5 LCD";
...@@ -245,6 +326,7 @@ static const char* machineTypeToString(MachineType type) { ...@@ -245,6 +326,7 @@ static const char* machineTypeToString(MachineType type) {
case MachineType::TrueColor:return "7 TrueColor"; case MachineType::TrueColor:return "7 TrueColor";
case MachineType::ThreeSection:return "8 ThreeSection"; case MachineType::ThreeSection:return "8 ThreeSection";
case MachineType::IoT: return "9 IoT"; case MachineType::IoT: return "9 IoT";
case MachineType::Gprs_Phone: return "10 Gprs_Phone";
default: return "Unknown MachineType"; default: return "Unknown MachineType";
} }
} }
...@@ -253,7 +335,7 @@ static const wchar_t* machineTypeToWString(MachineType type) { ...@@ -253,7 +335,7 @@ static const wchar_t* machineTypeToWString(MachineType type) {
switch (type) { switch (type) {
case MachineType::WiFi: return L"0 WiFi主机"; case MachineType::WiFi: return L"0 WiFi主机";
case MachineType::Camera: return L"1 摄像头主机"; case MachineType::Camera: return L"1 摄像头主机";
case MachineType::T_3G: return L"2 3G主机"; case MachineType::Gprs_IoT: return L"2 物联卡主机";
case MachineType::NetMod: return L"3 网络模块+工程主机"; case MachineType::NetMod: return L"3 网络模块+工程主机";
case MachineType::Gprs: return L"4 GPRS主机"; case MachineType::Gprs: return L"4 GPRS主机";
case MachineType::Lcd: return L"5 液晶主机"; case MachineType::Lcd: return L"5 液晶主机";
...@@ -261,6 +343,7 @@ static const wchar_t* machineTypeToWString(MachineType type) { ...@@ -261,6 +343,7 @@ static const wchar_t* machineTypeToWString(MachineType type) {
case MachineType::TrueColor:return L"7 真彩主机"; case MachineType::TrueColor:return L"7 真彩主机";
case MachineType::ThreeSection:return L"8 三区段主机"; case MachineType::ThreeSection:return L"8 三区段主机";
case MachineType::IoT: return L"9 物联卡主机"; case MachineType::IoT: return L"9 物联卡主机";
case MachineType::Gprs_Phone: return L"10 GPRS主机能打电话";
default: return L"未知主机"; default: return L"未知主机";
} }
} }
......
...@@ -17,6 +17,8 @@ static common::MachineType machineTypeFromAdemcoEvent(ademco::ADEMCO_EVENT e) { ...@@ -17,6 +17,8 @@ static common::MachineType machineTypeFromAdemcoEvent(ademco::ADEMCO_EVENT e) {
case ademco::EVENT_I_AM_WIFI_MACHINE: return common::MachineType::WiFi; case ademco::EVENT_I_AM_WIFI_MACHINE: return common::MachineType::WiFi;
case ademco::EVENT_I_AM_3_SECTION_MACHINE: return common::MachineType::ThreeSection; case ademco::EVENT_I_AM_3_SECTION_MACHINE: return common::MachineType::ThreeSection;
case ademco::EVENT_I_AM_IOT_MACHINE: return common::MachineType::IoT; case ademco::EVENT_I_AM_IOT_MACHINE: return common::MachineType::IoT;
case ademco::EVENT_I_AM_GPRS_IOT: return common::MachineType::Gprs_IoT;
case ademco::EVENT_I_AM_GPRS_PHONE: return common::MachineType::Gprs_Phone;
default: return common::MachineType::InvalidMachineType; default: return common::MachineType::InvalidMachineType;
} }
} }
...@@ -33,6 +35,8 @@ static ademco::ADEMCO_EVENT ademcoEventFromMachineType(common::MachineType type) ...@@ -33,6 +35,8 @@ static ademco::ADEMCO_EVENT ademcoEventFromMachineType(common::MachineType type)
case common::MachineType::Wired: return ademco::EVENT_I_AM_WIRE_MACHINE; case common::MachineType::Wired: return ademco::EVENT_I_AM_WIRE_MACHINE;
case common::MachineType::ThreeSection: return ademco::EVENT_I_AM_3_SECTION_MACHINE; case common::MachineType::ThreeSection: return ademco::EVENT_I_AM_3_SECTION_MACHINE;
case common::MachineType::IoT: return ademco::EVENT_I_AM_IOT_MACHINE; case common::MachineType::IoT: return ademco::EVENT_I_AM_IOT_MACHINE;
case common::MachineType::Gprs_IoT: return ademco::EVENT_I_AM_GPRS_IOT;
case common::MachineType::Gprs_Phone: return ademco::EVENT_I_AM_GPRS_PHONE;
default: return ademco::EVENT_INVALID_EVENT; default: return ademco::EVENT_INVALID_EVENT;
} }
} }
......
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