Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
A
ademco_hb
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
captainwong
ademco_hb
Commits
8bf24ba2
Commit
8bf24ba2
authored
Jul 23, 2021
by
captainwong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add event solar disturb recover 3387; update g250
parent
76cceefd
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
71 additions
and
28 deletions
+71
-28
README.md
docs/README.md
+1
-0
gen_event_md.cpp
examples/gen_event_md/gen_event_md.cpp
+1
-0
ademco_event.h
include/ademco_event.h
+7
-1
hb_detail.h
include/hb_detail.h
+51
-16
hb_helper.h
include/hb_helper.h
+11
-11
No files found.
docs/README.md
View file @
8bf24ba2
...
...
@@ -98,6 +98,7 @@
|3302|复电|BATATTERY_RECOVER|
|1311|坏电|BADBATTERY|
|1387|光扰|SOLARDISTURB|
|3387|光扰恢复|SOLARDISTURB_RECOVER|
|1381|失效|DISCONNECT|
|3381|恢复|RECONNECT|
|1384|防区电源故障|BATTERY_EXCEPTION|
...
...
examples/gen_event_md/gen_event_md.cpp
View file @
8bf24ba2
...
...
@@ -53,6 +53,7 @@ ADEMCO_EVENT excepEvents[] = {
EVENT_BATTERY_RECOVER
,
EVENT_BADBATTERY
,
EVENT_SOLARDISTURB
,
EVENT_SOLARDISTURB_RECOVER
,
EVENT_DISCONNECT
,
EVENT_RECONNECT
,
EVENT_BATTERY_EXCEPTION
,
...
...
include/ademco_event.h
View file @
8bf24ba2
...
...
@@ -88,6 +88,7 @@ enum ADEMCO_EVENT : uint32_t {
EVENT_BATTERY_RECOVER
=
3302
,
// 复电
EVENT_BADBATTERY
=
1311
,
// 坏电
EVENT_SOLARDISTURB
=
1387
,
// 光扰
EVENT_SOLARDISTURB_RECOVER
=
3387
,
// 光扰恢复
EVENT_DISCONNECT
=
1381
,
// 失效
EVENT_RECONNECT
=
3381
,
// 恢复
EVENT_BATTERY_EXCEPTION
=
1384
,
// 电源故障
...
...
@@ -196,6 +197,7 @@ static constexpr ADEMCO_EVENT AdemcoEvents[] = {
EVENT_BATTERY_RECOVER
,
EVENT_BADBATTERY
,
EVENT_SOLARDISTURB
,
EVENT_SOLARDISTURB_RECOVER
,
EVENT_DISCONNECT
,
EVENT_RECONNECT
,
EVENT_LOST
,
...
...
@@ -277,6 +279,7 @@ inline std::string ademcoEventToStringEnglish(ADEMCO_EVENT ademco_event, bool wi
case
EVENT_BATTERY_RECOVER
:
return
n_to_s
(
ademco_event
)
+
"BATATTERY_RECOVER"
;
case
EVENT_BADBATTERY
:
return
n_to_s
(
ademco_event
)
+
"BADBATTERY"
;
case
EVENT_SOLARDISTURB
:
return
n_to_s
(
ademco_event
)
+
"SOLARDISTURB"
;
case
EVENT_SOLARDISTURB_RECOVER
:
return
n_to_s
(
ademco_event
)
+
"SOLARDISTURB_RECOVER"
;
case
EVENT_DISCONNECT
:
return
n_to_s
(
ademco_event
)
+
"DISCONNECT"
;
case
EVENT_RECONNECT
:
return
n_to_s
(
ademco_event
)
+
"RECONNECT"
;
case
EVENT_LOST
:
return
n_to_s
(
ademco_event
)
+
"LOST"
;
...
...
@@ -361,6 +364,7 @@ inline const std::wstring ademcoEventToStringChinese(ADEMCO_EVENT ademco_event,
case
EVENT_BATTERY_RECOVER
:
return
n_to_s
(
ademco_event
)
+
L"复电"
;
case
EVENT_BADBATTERY
:
return
n_to_s
(
ademco_event
)
+
L"坏电"
;
case
EVENT_SOLARDISTURB
:
return
n_to_s
(
ademco_event
)
+
L"光扰"
;
case
EVENT_SOLARDISTURB_RECOVER
:
return
n_to_s
(
ademco_event
)
+
L"光扰恢复"
;
case
EVENT_DISCONNECT
:
return
n_to_s
(
ademco_event
)
+
L"失效"
;
case
EVENT_RECONNECT
:
return
n_to_s
(
ademco_event
)
+
L"恢复"
;
case
EVENT_LOST
:
return
n_to_s
(
ademco_event
)
+
L"失联"
;
...
...
@@ -482,6 +486,7 @@ inline EventLevel GetEventLevel(ADEMCO_EVENT ademco_event)
case
EVENT_BATTERY_RECOVER
:
case
EVENT_BATTERY_EXCEPTION_RECOVER
:
case
EVENT_OTHER_EXCEPTION_RECOVER
:
case
EVENT_SOLARDISTURB_RECOVER
:
return
EVENT_LEVEL_EXCEPTION_RESUME
;
case
EVENT_AC_BROKE
:
...
...
@@ -526,6 +531,7 @@ inline ADEMCO_EVENT getExceptionEventByResumeEvent(ADEMCO_EVENT resume_event)
case
EVENT_BATTERY_EXCEPTION_RECOVER
:
return
EVENT_BATTERY_EXCEPTION
;
case
EVENT_OTHER_EXCEPTION_RECOVER
:
return
EVENT_OTHER_EXCEPTION
;
case
EVENT_AC_RECOVER
:
return
EVENT_AC_BROKE
;
case
EVENT_SOLARDISTURB_RECOVER
:
return
EVENT_SOLARDISTURB
;
default:
return
EVENT_INVALID_EVENT
;
}
}
...
...
include/hb_detail.h
View file @
8bf24ba2
...
...
@@ -1595,9 +1595,9 @@ enum Sound : Char {
SOUND_PART_ALARM
,
//! "接警中心报警选择" 85
SOUND_SEL_ALARM_CENTER
,
//! "网络主机" 86
//! "网络主机" 86
没有资源
SOUND_NET_MACHINE
,
//! 已断开连接 87
//! 已断开连接 87
没有资源
SOUND_DISCONNECT
,
//! 88
...
...
@@ -2005,7 +2005,7 @@ enum AlarmCode : Char {
//! 关机
ALARM_SHUTDOWN
=
0xED
,
//! 防拆
ALARM_T
E
MPER
=
0xBA
,
ALARM_T
A
MPER
=
0xBA
,
//! 发低电
ALARM_S_BATTERY_LOW
=
0xAB
,
//! 收低电
...
...
@@ -2250,14 +2250,6 @@ struct AllZoneInfo {
}
};
/**
* @brief 串口透传协议
* @note 网络传输模块与主机模块通信协议
* @note 客户端(手机APP、接警中心等)会用到一些透传数据
*/
namespace
com
{
//! PC到主机,查询主机(自身或防区)或分机(自身或防区)状态
struct
Query
{
static
constexpr
Char
len
=
8
;
...
...
@@ -2314,12 +2306,22 @@ struct Query {
return
queryZoneStatusOfSubMachine
(
ademco
::
Zone4MachineSelf
);
}
static
Query
queryZoneStatusOfSubMachine
(
Char
zone
)
{
static
Query
queryZoneStatusOfSubMachine
(
uint16_t
zone
)
{
Query
query
;
query
.
setZone
(
zone
);
query
.
data
[
5
]
=
Param
::
Get
::
P1
::
QuerySubMachine
;
query
.
data
[
6
]
=
0xEE
;
sum
(
query
);
return
query
;
sum
(
query
);
return
query
;
}
static
Query
setQuery
(
uint16_t
zone
=
0
,
Param
::
Set
::
P1
action
=
Param
::
Set
::
P1
::
SetArm
)
{
Query
query
;
query
.
setZone
(
zone
);
query
.
data
[
5
]
=
action
;
query
.
data
[
6
]
=
0xEE
;
sum
(
query
);
return
query
;
}
};
...
...
@@ -2352,8 +2354,41 @@ struct WriteToMachineRequest {
}
};
}
// namespace com
}
// namespace old
//! 从 EB B1 。。。命令[5]提取的事件码
ademco
::
ADEMCO_EVENT
ademcoEventFromCode
(
Char
code
)
{
switch
(
code
)
{
case
MachineStatus
:
:
Arm
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_ARM
;
case
MachineStatus
:
:
Disarm
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_DISARM
;
case
MachineStatus
:
:
HalfArm
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_HALFARM
;
case
AlarmCode
:
:
MACHINE_EMERGENCY
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_EMERGENCY
;
case
AlarmCode
:
:
ALARM_BURGLAR
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_BURGLAR
;
case
AlarmCode
:
:
ALARM_FIRE
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_FIRE
;
case
AlarmCode
:
:
ALARM_DURESS
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_DURESS
;
case
AlarmCode
:
:
ALARM_GAS
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_GAS
;
case
AlarmCode
:
:
ALARM_WATER
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_WATER
;
case
AlarmCode
:
:
ALARM_TAMPER
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_TAMPER
;
case
AlarmCode
:
:
ALARM_S_BATTERY_LOW
:
case
AlarmCode
:
:
ALARM_R_BATTERY_LOW
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_LOWBATTERY
;
case
AlarmCode
:
:
ALARM_S_BATTERY_BROKE
:
case
AlarmCode
:
:
ALARM_R_BATTERY_BROKE
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_BADBATTERY
;
case
AlarmCode
:
:
ALARM_BETTERY_RECOVER
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_BATTERY_RECOVER
;
case
AlarmCode
:
:
ALARM_SOLAR_DISTURB
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_SOLARDISTURB
;
case
AlarmCode
:
:
ALARM_SOLAR_RECOVER
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_SOLARDISTURB_RECOVER
;
case
AlarmCode
:
:
ALARM_LONGTIME_DISCONN
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_DISCONNECT
;
case
AlarmCode
:
:
ALARM_LONGTIME_RECOVER
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_RECONNECT
;
case
AlarmCode
:
:
ALARM_DOOR_RING
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_DOORRINGING
;
case
AlarmCode
:
:
ALARM_SM_EXCEPTION
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_SUB_MACHINE_SENSOR_EXCEPTION
;
case
AlarmCode
:
:
ALARM_SM_EXCEPT_RESUME
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_SUB_MACHINE_SENSOR_RESUME
;
case
AlarmCode
:
:
ALARM_SM_POWER_EXCEPT
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_SUB_MACHINE_POWER_EXCEPTION
;
case
AlarmCode
:
:
ALARM_SM_POWER_RESUME
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_SUB_MACHINE_POWER_RESUME
;
case
AlarmCode
:
:
ALARM_STARTUP
:
case
AlarmCode
:
:
ALARM_SHUTDOWN
:
case
AlarmCode
:
:
ALARM_SENDER_REBOOT
:
default
:
return
ademco
::
ADEMCO_EVENT
::
EVENT_INVALID_EVENT
;
}
}
}
// namespace g250
}
// namespace hb
include/hb_helper.h
View file @
8bf24ba2
...
...
@@ -103,18 +103,18 @@ static ademco::ADEMCO_EVENT ademcoEventFromZoneProperty(common::ZoneProperty zp)
}
//! 从防区属性推出应该发送什么警情事件码
static
ademco
::
ADEMCO_EVENT
ademcoEventFromZonePropertyOld
(
old
::
ZoneProperty
zp
)
static
ademco
::
ADEMCO_EVENT
ademcoEventFromZonePropertyOld
(
g250
::
ZoneProperty
zp
)
{
switch
(
zp
)
{
case
hb
:
:
old
::
ZP_GLOBAL
:
return
ademco
::
EVENT_BURGLAR
;
case
hb
:
:
old
::
ZP_HALF
:
return
ademco
::
EVENT_BURGLAR
;
case
hb
:
:
old
::
ZP_EMERGENCY
:
return
ademco
::
EVENT_EMERGENCY
;
case
hb
:
:
old
::
ZP_DOORRING
:
return
ademco
::
EVENT_DOORRINGING
;
case
hb
:
:
old
::
ZP_FIRE
:
return
ademco
::
EVENT_FIRE
;
case
hb
:
:
old
::
ZP_DURESS
:
return
ademco
::
EVENT_DURESS
;
case
hb
:
:
old
::
ZP_GAS
:
return
ademco
::
EVENT_GAS
;
case
hb
:
:
old
::
ZP_WATER
:
return
ademco
::
EVENT_WATER
;
case
hb
:
:
old
::
ZP_SHIELD
:
case
hb
:
:
g250
::
ZP_GLOBAL
:
return
ademco
::
EVENT_BURGLAR
;
case
hb
:
:
g250
::
ZP_HALF
:
return
ademco
::
EVENT_BURGLAR
;
case
hb
:
:
g250
::
ZP_EMERGENCY
:
return
ademco
::
EVENT_EMERGENCY
;
case
hb
:
:
g250
::
ZP_DOORRING
:
return
ademco
::
EVENT_DOORRINGING
;
case
hb
:
:
g250
::
ZP_FIRE
:
return
ademco
::
EVENT_FIRE
;
case
hb
:
:
g250
::
ZP_DURESS
:
return
ademco
::
EVENT_DURESS
;
case
hb
:
:
g250
::
ZP_GAS
:
return
ademco
::
EVENT_GAS
;
case
hb
:
:
g250
::
ZP_WATER
:
return
ademco
::
EVENT_WATER
;
case
hb
:
:
g250
::
ZP_SHIELD
:
default
:
return
ademco
::
EVENT_INVALID_EVENT
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment