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
3051b102
Commit
3051b102
authored
Jul 30, 2022
by
captainwong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gen_event_md use c lib
parent
b01d640a
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
161 additions
and
187 deletions
+161
-187
README.md
c/README.md
+1
-0
README.md
c/swig/README.md
+0
-0
gen_event_md.cpp
examples/gen_event_md/gen_event_md.cpp
+160
-163
gen_event_md.vcxproj
examples/gen_event_md/gen_event_md.vcxproj
+0
-7
gen_event_md.vcxproj.filters
examples/gen_event_md/gen_event_md.vcxproj.filters
+0
-17
No files found.
c/README.md
0 → 100644
View file @
3051b102
This is the C version of ademco library.
\ No newline at end of file
c/swig/README.md
0 → 100644
View file @
3051b102
examples/gen_event_md/gen_event_md.cpp
View file @
3051b102
#define ENABLE_ADEMCO_EVENT_TO_STRING
#include "../../include/ademco_event.h"
#define ENABLE_COMMON_MACHINE_TYPE_TO_STRING
#define ENABLE_COMMON_ZONE_PROPERTY_TO_STRING
#define ENABLE_G250_KEY_TO_STRING
#include "../../include/hb_detail.h"
#include "../../include/hb_helper.h"
#include "../../c/ademco.h"
#include <jlib/win32/UnicodeTool.h>
#include <jlib/win32/path_op.h>
#include <jlib/util/std_util.h>
#include <map>
using
namespace
ademco
;
using
namespace
hb
;
using
namespace
hb
::
common
;
#ifdef _WIN64
#ifdef _DEBUG
#pragma comment(lib, "../x64/Debug/ademco.lib")
#else
#pragma comment(lib, "../x64/Release/ademco.lib")
#endif
#else // WIN32
#ifdef _DEBUG
#pragma comment(lib, "../Debug/ademco.lib")
#else
#pragma comment(lib, "../Release/ademco.lib")
#endif
#endif
const
char
*
print_bool
(
bool
b
)
{
return
b
?
"√"
:
" "
;
// "×";
}
A
DEMCO_EVENT
statusEvents
[]
=
{
A
demcoEvent
statusEvents
[]
=
{
// 主机或分机状态报告
EVENT_ARM
,
...
...
@@ -29,7 +32,7 @@ ADEMCO_EVENT statusEvents[] = {
EVENT_EMERGENCY
,
};
A
DEMCO_EVENT
alarmEvents
[]
=
{
A
demcoEvent
alarmEvents
[]
=
{
// 防区报警
EVENT_BURGLAR
,
...
...
@@ -45,7 +48,7 @@ ADEMCO_EVENT alarmEvents[] = {
};
A
DEMCO_EVENT
excepEvents
[]
=
{
A
demcoEvent
excepEvents
[]
=
{
// 防区异常
EVENT_AC_BROKE
,
...
...
@@ -70,7 +73,7 @@ ADEMCO_EVENT excepEvents[] = {
};
A
DEMCO_EVENT
privateEvents
[]
=
{
A
demcoEvent
privateEvents
[]
=
{
// ------------------私有事件-----------------------------------------
EVENT_SERIAL485DIS
,
...
...
@@ -124,55 +127,55 @@ ADEMCO_EVENT privateEvents[] = {
EVENT_ONLINE
,
};
void
printEvents
(
const
A
DEMCO_EVENT
*
events
,
size_t
len
)
void
printEvents
(
const
A
demcoEvent
*
events
,
size_t
len
)
{
printf
(
"|事件码|含义|en|
\n
|-----|----|--|
\n
"
);
for
(
size_t
i
=
0
;
i
<
len
;
i
++
)
{
auto
e
=
events
[
i
];
printf
(
"|%04d|%s|%s|
\n
"
,
e
,
jlib
::
win32
::
utf16_to_mbcs
(
ademcoEventToStringChinese
(
e
,
false
)).
data
(
),
ademcoEventToString
English
(
e
,
false
).
data
(
));
ademcoEventToStringChinese
(
e
),
ademcoEventToString
(
e
));
}
printf
(
"
\n
"
);
}
const
char
*
get_core_author
(
MachineType
t
)
const
char
*
get_core_author
(
Hb
MachineType
t
)
{
switch
(
t
)
{
case
hb
:
:
common
::
WiFi
:
case
hb
:
:
common
::
Gprs_Io
T
:
case
hb
:
:
common
::
Gprs
:
case
hb
:
:
common
::
Wired
:
case
HMT_WIFI
:
case
HMT_GPRS_IO
T
:
case
HMT_GPRS
:
case
HMT_WIRED
:
return
"wzq"
;
case
hb
:
:
common
::
NetMod
:
case
hb
:
:
common
::
Lcd
:
case
hb
:
:
common
::
TrueColor
:
case
hb
:
:
common
::
ThreeSection
:
case
hb
:
:
common
::
Io
T
:
case
hb
:
:
common
::
Gprs_Phone
:
case
HMT_NETMOD
:
case
HMT_LCD
:
case
HMT_TRUE_COLOR
:
case
HMT_3_SECTION
:
case
HMT_IO
T
:
case
HMT_GPRS_PHONE
:
return
"jjf"
;
}
return
""
;
}
const
char
*
get_net_author
(
MachineType
t
)
const
char
*
get_net_author
(
Hb
MachineType
t
)
{
switch
(
t
)
{
case
hb
:
:
common
::
WiFi
:
case
hb
:
:
common
::
Wired
:
case
hb
:
:
common
::
NetMod
:
case
HMT_WIFI
:
case
HMT_WIRED
:
case
HMT_NETMOD
:
return
"wzq"
;
case
hb
:
:
common
::
Gprs_Io
T
:
case
hb
:
:
common
::
Gprs
:
case
hb
:
:
common
::
Lcd
:
case
hb
:
:
common
::
TrueColor
:
case
hb
:
:
common
::
ThreeSection
:
case
hb
:
:
common
::
Io
T
:
case
hb
:
:
common
::
Gprs_Phone
:
case
HMT_GPRS_IO
T
:
case
HMT_GPRS
:
case
HMT_LCD
:
case
HMT_TRUE_COLOR
:
case
HMT_3_SECTION
:
case
HMT_IO
T
:
case
HMT_GPRS_PHONE
:
//case hb::common::Nb:
return
"qfm"
;
}
...
...
@@ -180,32 +183,21 @@ const char* get_net_author(MachineType t)
return
""
;
}
std
::
vector
<
std
::
string
>
get_machine_brands
(
MachineType
t
)
std
::
vector
<
std
::
string
>
get_machine_brands
(
Hb
MachineType
t
)
{
switch
(
t
)
{
case
hb
:
:
common
::
WiFi
:
case
hb
:
:
common
::
Camera
:
return
{};
case
hb
:
:
common
::
Gprs_IoT
:
return
{
"5050G-4GW"
,
};
case
hb
:
:
common
::
NetMod
:
return
{
"G250"
};
case
hb
:
:
common
::
Gprs
:
return
{
"4040G"
,
"5050G"
,
"5050G-4G"
,
};
case
hb
:
:
common
::
Lcd
:
return
{
"BJQ560"
,
"BJQ560B"
};
case
hb
:
:
common
::
Wired
:
return
{
"4040R"
,
"5050R"
};
case
hb
:
:
common
::
TrueColor
:
return
{
"G1000"
,
"G1000-4G"
};
case
hb
:
:
common
::
ThreeSection
:
return
{
"G1000"
,
"G1000-4G"
};
case
hb
:
:
common
::
IoT
:
return
{
"2050-4GW"
};
case
hb
:
:
common
::
Gprs_Phone
:
return
{
"2050"
};
case
HMT_WIFI
:
case
HMT_CAMERA
:
return
{};
case
HMT_GPRS_IOT
:
return
{
"5050G-4GW"
,
};
case
HMT_NETMOD
:
return
{
"G250"
};
case
HMT_GPRS
:
return
{
"4040G"
,
"5050G"
,
"5050G-4G"
,
};
case
HMT_LCD
:
return
{
"BJQ560"
,
"BJQ560B"
};
case
HMT_WIRED
:
return
{
"4040R"
,
"5050R"
};
case
HMT_TRUE_COLOR
:
return
{
"G1000"
,
"G1000-4G"
};
case
HMT_3_SECTION
:
return
{
"G1000"
,
"G1000-4G"
};
case
HMT_IOT
:
return
{
"2050-4GW"
};
case
HMT_GPRS_PHONE
:
return
{
"2050"
};
//case hb::common::Nb: return { "" };
default
:
return
{};
break
;
}
...
...
@@ -223,7 +215,7 @@ std::string brand_to_path(const std::string& brand)
return
{};
}
void
print_machine_brands
(
MachineType
t
)
void
print_machine_brands
(
Hb
MachineType
t
)
{
printf
(
"|<ul>"
);
for
(
auto
brand
:
get_machine_brands
(
t
))
{
...
...
@@ -246,24 +238,24 @@ void print_machineTypes()
"|---------|-------|----|----|-----|----|-------|----|-------|---|----|---|----|
\n
"
);
for
(
auto
e
:
AdemcoEvents
)
{
if
(
isMachineTypeEvent
(
e
))
{
auto
t
=
hb
::
machineTypeFromAdemcoEvent
(
e
);
if
(
!
machineIsSelling
(
t
))
continue
;
printf
(
"|%04d %s"
,
(
int
)
e
,
jlib
::
win32
::
utf16_to_mbcs
(
ademcoEventToStringChinese
(
e
,
false
)).
data
(
));
printf
(
"|%s"
,
jlib
::
win32
::
utf16_to_mbcs
(
machineTypeToWString
(
t
)).
data
(
));
printf
(
"|%s"
,
print_bool
(
m
achineCanArm
(
t
)));
printf
(
"|%s"
,
print_bool
(
m
achineCanDisarm
(
t
)));
printf
(
"|%s"
,
print_bool
(
m
achineCanHalfArm
(
t
)));
printf
(
"|%s"
,
print_bool
(
m
achineCanEnterSettings
(
t
)));
printf
(
"|%s"
,
print_bool
(
m
achineCanReportSignalStrength
(
t
)));
printf
(
"|1~%d"
,
z
oneMax
(
t
));
if
(
m
achineHasWiredZone
(
t
))
{
printf
(
"|%d~%d"
,
wiredZoneMin
(
t
),
w
iredZoneMax
(
t
));
if
(
ademcoIsMachineTypeEvent
(
e
))
{
auto
t
=
hb
MachineTypeFromAdemcoEvent
(
e
);
if
(
!
hbMachineIsSelling
(
t
))
continue
;
printf
(
"|%04d %s"
,
(
int
)
e
,
ademcoEventToStringChinese
(
e
));
printf
(
"|%s"
,
hbMachineTypeToStringChinese
(
t
));
printf
(
"|%s"
,
print_bool
(
hbM
achineCanArm
(
t
)));
printf
(
"|%s"
,
print_bool
(
hbM
achineCanDisarm
(
t
)));
printf
(
"|%s"
,
print_bool
(
hbM
achineCanHalfArm
(
t
)));
printf
(
"|%s"
,
print_bool
(
hbM
achineCanEnterSettings
(
t
)));
printf
(
"|%s"
,
print_bool
(
hbM
achineCanReportSignalStrength
(
t
)));
printf
(
"|1~%d"
,
hbZ
oneMax
(
t
));
if
(
hbM
achineHasWiredZone
(
t
))
{
printf
(
"|%d~%d"
,
hbWiredZoneMin
(
t
),
hbW
iredZoneMax
(
t
));
}
else
{
printf
(
"| "
);
}
printf
(
"|%s"
,
print_bool
(
m
achineCanReportBySMS
(
t
)));
printf
(
"|%s"
,
print_bool
(
hbM
achineCanReportBySMS
(
t
)));
printf
(
"|%s"
,
get_core_author
(
t
));
printf
(
"|%s"
,
get_net_author
(
t
));
print_machine_brands
(
t
);
...
...
@@ -282,9 +274,9 @@ void print_imgs()
std
::
map
<
std
::
string
,
std
::
string
>
imgs
;
for
(
auto
e
:
AdemcoEvents
)
{
if
(
i
sMachineTypeEvent
(
e
))
{
auto
t
=
hb
::
m
achineTypeFromAdemcoEvent
(
e
);
if
(
!
m
achineIsSelling
(
t
))
continue
;
if
(
ademcoI
sMachineTypeEvent
(
e
))
{
auto
t
=
hb
M
achineTypeFromAdemcoEvent
(
e
);
if
(
!
hbM
achineIsSelling
(
t
))
continue
;
for
(
auto
brand
:
get_machine_brands
(
t
))
{
auto
path
=
brand_to_path
(
brand
);
...
...
@@ -301,14 +293,22 @@ void print_imgs()
printf
(
"
\n\n
"
);
}
bool
zprop_is_contain
(
HbZoneProperty
prop
)
{
for
(
const
auto
&
zp
:
hbZoneProperties
)
{
if
(
zp
==
prop
)
return
true
;
}
return
false
;
}
void
print_available_zone_props
()
{
printf
(
"### *恒博主机类型与支持的防区属性对照表*
\n\n
"
);
auto
all_props
=
getAvailableZoneProperties
();
auto
print_prop
=
[](
ZoneProperty
zp
)
{
printf
(
"%02X %s"
,
(
Char
)
zp
,
jlib
::
win32
::
utf16_to_mbcs
(
zonePropertyToStringChinese
(
zp
)).
data
());
//auto all_props = getAvailableZoneProperties();
auto
print_prop
=
[](
HbZoneProperty
zp
)
{
printf
(
"%02X %s"
,
zp
,
hbZonePropertyToStringChinese
(
zp
));
};
...
...
@@ -316,51 +316,50 @@ void print_available_zone_props()
printf
(
"* 防区属性是否支持失联报告
\n\n
"
);
printf
(
"|"
);
for
(
auto
zp
:
all_prop
s
)
{
for
(
auto
zp
:
hbZonePropertie
s
)
{
printf
(
"|"
);
print_prop
(
zp
);
}
printf
(
"|
\n
"
);
printf
(
"|----"
);
for
(
size_t
i
=
0
;
i
<
all_props
.
size
(
);
i
++
)
{
for
(
size_t
i
=
0
;
i
<
sizeof
(
hbZoneProperties
)
/
sizeof
(
hbZoneProperties
[
0
]
);
i
++
)
{
printf
(
"|----"
);
}
printf
(
"|
\n
"
);
printf
(
"|失联支持"
);
for
(
auto
zp
:
all_prop
s
)
{
printf
(
"|%s"
,
print_bool
(
z
onePropCanReportLost
(
zp
)));
for
(
auto
zp
:
hbZonePropertie
s
)
{
printf
(
"|%s"
,
print_bool
(
hbZ
onePropCanReportLost
(
zp
)));
}
printf
(
"|
\n\n
"
);
printf
(
"* 主机类型与支持的防区属性对照表
\n\n
"
);
printf
(
"|事件码|类型|型号"
);
for
(
auto
zp
:
all_prop
s
)
{
for
(
auto
zp
:
hbZonePropertie
s
)
{
//printf("|"); print_prop(zp);
printf
(
"|%02X"
,
(
int
)
zp
);
}
printf
(
"|
\n
"
);
printf
(
"|----|----|----"
);
for
(
size_t
i
=
0
;
i
<
all_props
.
size
(
);
i
++
)
{
for
(
size_t
i
=
0
;
i
<
sizeof
(
hbZoneProperties
)
/
sizeof
(
hbZoneProperties
[
0
]
);
i
++
)
{
printf
(
"|----"
);
}
printf
(
"|
\n
"
);
for
(
auto
e
:
AdemcoEvents
)
{
if
(
i
sMachineTypeEvent
(
e
))
{
auto
t
=
hb
::
m
achineTypeFromAdemcoEvent
(
e
);
if
(
!
m
achineIsSelling
(
t
))
continue
;
if
(
ademcoI
sMachineTypeEvent
(
e
))
{
auto
t
=
hb
M
achineTypeFromAdemcoEvent
(
e
);
if
(
!
hbM
achineIsSelling
(
t
))
continue
;
printf
(
"|%04d"
,
(
int
)
e
);
printf
(
"|%d"
,
(
int
)
t
);
print_machine_brands
(
t
);
auto
avail_props
=
getAvailableZoneProperties
(
t
);
for
(
auto
zp
:
all_props
)
{
printf
(
"|%s"
,
print_bool
(
jlib
::
is_contain
(
avail_props
,
zp
)));
HbZoneProperty
avail_props
[
12
];
int
count
=
hbGetAvailableZoneProperties
(
t
,
avail_props
);
for
(
auto
zp
:
hbZoneProperties
)
{
printf
(
"|%s"
,
print_bool
(
zprop_is_contain
(
zp
)));
}
printf
(
"|
\n
"
);
}
...
...
@@ -372,70 +371,68 @@ void print_available_zone_props()
void
print_g250_alarm_codes
()
{
using
namespace
g250
;
printf
(
"# 工程主机串口通信协议
\n\n
"
);
printf
(
"9600, N, 8, 1
\n\n
"
);
printf
(
"SUM = DATA(N) = DATA(0) + DATA(1) + ... + DATA(N-1)
\n\n
"
);
// 按键码
printf
(
"
\n\n
## EB AB addr data sum
\n
"
);
printf
(
"PC到主机,按键
\n
"
);
printf
(
"* addr: PC模拟键盘地址,1~4,暂时固定为3
\n
"
);
printf
(
"* data: 按键码
\n\n
"
);
printf
(
"|按键码|按键|
\n
"
);
printf
(
"|-----|----|
\n
"
);
for
(
Key
k
=
Key
::
Key_NULL
;
k
<=
Key
::
Key_STOP_ALARM
;
k
=
Key
(
k
+
1
))
{
auto
s
=
keyToString
(
k
);
if
(
s
)
{
printf
(
"|%02X|%s|
\n
"
,
k
,
jlib
::
win32
::
utf16_to_mbcs
(
s
).
c_str
());
}
}
// EB B1 报警码
printf
(
"
\n\n
## EB B1 data0 data1 data2 code data4 sum
\n
"
);
printf
(
"主机到PC事件报告
\n
"
);
printf
(
"* data0: 命令字总字长,固定为8
\n
"
);
printf
(
"* data1: 防区号高位
\n
"
);
printf
(
"* data2: 防区号低位
\n
"
);
printf
(
"* data4: 00 表示data1与data2为主机直属防区号,01~F0 表示data1与data2为分机防区号(已废弃),EE 表示分机自身状态(已废弃)
\n
"
);
printf
(
"* code: 报警码
\n\n
"
);
printf
(
"|报警码|安定宝事件码|含义|
\n
"
);
printf
(
"|------|----------|----|
\n
"
);
static
Char
codes
[]
=
{
g250
::
MachineStatus
::
Arm
,
g250
::
MachineStatus
::
Disarm
,
g250
::
MachineStatus
::
HalfArm
,
AlarmCode
::
MACHINE_EMERGENCY
,
AlarmCode
::
ALARM_BURGLAR
,
AlarmCode
::
ALARM_FIRE
,
AlarmCode
::
ALARM_DURESS
,
AlarmCode
::
ALARM_GAS
,
AlarmCode
::
ALARM_WATER
,
AlarmCode
::
ALARM_TAMPER
,
AlarmCode
::
ALARM_S_BATTERY_LOW
,
AlarmCode
::
ALARM_R_BATTERY_LOW
,
AlarmCode
::
ALARM_S_BATTERY_BROKE
,
AlarmCode
::
ALARM_R_BATTERY_BROKE
,
AlarmCode
::
ALARM_BETTERY_RECOVER
,
AlarmCode
::
ALARM_SOLAR_DISTURB
,
AlarmCode
::
ALARM_SOLAR_RECOVER
,
AlarmCode
::
ALARM_LONGTIME_DISCONN
,
AlarmCode
::
ALARM_LONGTIME_RECOVER
,
AlarmCode
::
ALARM_DOOR_RING
,
AlarmCode
::
ALARM_SM_EXCEPTION
,
AlarmCode
::
ALARM_SM_EXCEPT_RESUME
,
AlarmCode
::
ALARM_SM_POWER_EXCEPT
,
AlarmCode
::
ALARM_SM_POWER_RESUME
,
AlarmCode
::
ALARM_AC_BROKE
,
AlarmCode
::
ALARM_AC_RECOVER
,
};
for
(
auto
code
:
codes
)
{
printf
(
"|%02X|%04d|%s|
\n
"
,
code
,
ademcoEventFromCode
(
code
),
jlib
::
win32
::
utf16_to_mbcs
(
ademcoEventToStringChinese
(
ademcoEventFromCode
(
code
),
false
)).
c_str
());
}
//printf("# 工程主机串口通信协议\n\n");
//printf("9600, N, 8, 1\n\n");
//printf("SUM = DATA(N) = DATA(0) + DATA(1) + ... + DATA(N-1)\n\n");
//// 按键码
//printf("\n\n## EB AB addr data sum\n");
//printf("PC到主机,按键\n");
//printf("* addr: PC模拟键盘地址,1~4,暂时固定为3\n");
//printf("* data: 按键码\n\n");
//printf("|按键码|按键|\n");
//printf("|-----|----|\n");
//for (Key k = Key::Key_NULL; k <= Key::Key_STOP_ALARM; k = Key(k + 1)) {
// auto s = keyToString(k);
// if (s) {
// printf("|%02X|%s|\n", k, jlib::win32::utf16_to_mbcs(s).c_str());
// }
//}
//// EB B1 报警码
//printf("\n\n## EB B1 data0 data1 data2 code data4 sum\n");
//printf("主机到PC事件报告\n");
//printf("* data0: 命令字总字长,固定为8\n");
//printf("* data1: 防区号高位\n");
//printf("* data2: 防区号低位\n");
//printf("* data4: 00 表示data1与data2为主机直属防区号,01~F0 表示data1与data2为分机防区号(已废弃),EE 表示分机自身状态(已废弃)\n");
//printf("* code: 报警码\n\n");
//printf("|报警码|安定宝事件码|含义|\n");
//printf("|------|----------|----|\n");
//static Char codes[] = {
// g250::MachineStatus::Arm,
// g250::MachineStatus::Disarm,
// g250::MachineStatus::HalfArm,
// AlarmCode::MACHINE_EMERGENCY,
// AlarmCode::ALARM_BURGLAR,
// AlarmCode::ALARM_FIRE,
// AlarmCode::ALARM_DURESS,
// AlarmCode::ALARM_GAS,
// AlarmCode::ALARM_WATER,
// AlarmCode::ALARM_TAMPER,
// AlarmCode::ALARM_S_BATTERY_LOW,
// AlarmCode::ALARM_R_BATTERY_LOW,
// AlarmCode::ALARM_S_BATTERY_BROKE,
// AlarmCode::ALARM_R_BATTERY_BROKE,
// AlarmCode::ALARM_BETTERY_RECOVER,
// AlarmCode::ALARM_SOLAR_DISTURB,
// AlarmCode::ALARM_SOLAR_RECOVER,
// AlarmCode::ALARM_LONGTIME_DISCONN,
// AlarmCode::ALARM_LONGTIME_RECOVER,
// AlarmCode::ALARM_DOOR_RING,
// AlarmCode::ALARM_SM_EXCEPTION,
// AlarmCode::ALARM_SM_EXCEPT_RESUME,
// AlarmCode::ALARM_SM_POWER_EXCEPT,
// AlarmCode::ALARM_SM_POWER_RESUME,
// AlarmCode::ALARM_AC_BROKE,
// AlarmCode::ALARM_AC_RECOVER,
//};
//for (auto code : codes) {
// printf("|%02X|%04d|%s|\n", code, ademcoEventFromCode(code), jlib::win32::utf16_to_mbcs(ademcoEventToStringChinese(ademcoEventFromCode(code), false)).c_str());
//}
}
...
...
examples/gen_event_md/gen_event_md.vcxproj
View file @
3051b102
...
...
@@ -145,13 +145,6 @@
<ItemGroup>
<ClCompile
Include=
"gen_event_md.cpp"
/>
</ItemGroup>
<ItemGroup>
<ClInclude
Include=
"..\..\include\ademco_detail.h"
/>
<ClInclude
Include=
"..\..\include\ademco_event.h"
/>
<ClInclude
Include=
"..\..\include\ademco_packet.h"
/>
<ClInclude
Include=
"..\..\include\hb_detail.h"
/>
<ClInclude
Include=
"..\..\include\hb_helper.h"
/>
</ItemGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.targets"
/>
<ImportGroup
Label=
"ExtensionTargets"
>
</ImportGroup>
...
...
examples/gen_event_md/gen_event_md.vcxproj.filters
View file @
3051b102
...
...
@@ -19,21 +19,4 @@
<Filter>
Source Files
</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude
Include=
"..\..\include\ademco_detail.h"
>
<Filter>
Header Files
</Filter>
</ClInclude>
<ClInclude
Include=
"..\..\include\ademco_event.h"
>
<Filter>
Header Files
</Filter>
</ClInclude>
<ClInclude
Include=
"..\..\include\ademco_packet.h"
>
<Filter>
Header Files
</Filter>
</ClInclude>
<ClInclude
Include=
"..\..\include\hb_detail.h"
>
<Filter>
Header Files
</Filter>
</ClInclude>
<ClInclude
Include=
"..\..\include\hb_helper.h"
>
<Filter>
Header Files
</Filter>
</ClInclude>
</ItemGroup>
</Project>
\ No newline at end of file
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