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
50ea97c2
Commit
50ea97c2
authored
Jul 30, 2022
by
captainwong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mkrelease
parent
f9d4c7fb
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
15 additions
and
236 deletions
+15
-236
linux_java.sh
swig/linux_java.sh
+1
-1
mac_java.sh
swig/mac_java.sh
+1
-1
clean.sh
tools/clean.sh
+4
-1
linux_java.sh
tools/linux_java.sh
+1
-1
CSharpDemo.cs
tools/linux_java/CSharpDemo.cs
+0
-222
mac_java.sh
tools/mac_java.sh
+1
-1
mkrelease.sh
tools/mkrelease.sh
+7
-9
No files found.
swig/linux_java.sh
View file @
50ea97c2
#/bin/bash
#
!
/bin/bash
mkdir
-p
com/hb3344/ademco
swig
-java
-package
com.hb3344.ademco
-outdir
com/hb3344/ademco
-o
libademco_java_wrap.c libademco.swig
...
...
swig/mac_java.sh
View file @
50ea97c2
#/bin/bash
#
!
/bin/bash
mkdir
-p
com/hb3344/ademco
swig
-java
-package
com.hb3344.ademco
-outdir
com/hb3344/ademco
-o
libademco_java_wrap.c libademco.swig
...
...
tools/clean.sh
View file @
50ea97c2
#/bin/bash
rm
-rf
linux_java
rm
-rf
mac_java
rm
-rf
win_csharp
rm
-rf
win_java
cd
../swig
rm
-rf
*
.exp
*
.lib
*
.dll
*
.exe
*
.obj
*
.class com/
#cd ../tools
\ No newline at end of file
tools/linux_java.sh
View file @
50ea97c2
#/bin/bash
#
!
/bin/bash
cd
../swig
./linux_java.sh
...
...
tools/linux_java/CSharpDemo.cs
deleted
100644 → 0
View file @
f9d4c7fb
using
System
;
using
System.Diagnostics
;
using
System.Runtime.InteropServices
;
using
System.Text.RegularExpressions
;
using
System.Net
;
using
System.Net.Sockets
;
using
System.Text
;
using
System.Threading
;
using
System.IO
;
using
System.Collections.Concurrent
;
using
com.hb3344.ademco
;
namespace
CSharpDemo
{
class
Program
{
static
void
Main
(
string
[]
args
)
{
// test parse
{
Console
.
WriteLine
(
"test parse"
);
string
str
=
"\nC5C30053\"HENG-BO\"0000R000000L000000#90219125916578[#000000|1737 00 000]_09:11:19,08-05-2019\r"
;
byte
[]
raw
=
Encoding
.
ASCII
.
GetBytes
(
str
);
SWIGTYPE_p_int
cb
=
libademco
.
new_intp
();
AdemcoPacket
pkt
=
new
AdemcoPacket
();
AdemcoParseResult
res
=
libademco
.
ademcoPacketParse
(
raw
,
raw
.
Length
,
pkt
,
cb
);
Debug
.
Assert
(
res
==
AdemcoParseResult
.
RESULT_OK
);
Debug
.
Assert
(
libademco
.
intp_value
(
cb
)
==
str
.
Length
);
Debug
.
Assert
(
pkt
.
crc
==
0xC5C3
);
Debug
.
Assert
(
pkt
.
len
==
0x0053
);
Debug
.
Assert
(
pkt
.
id
==
AdemcoPacketId
.
AID_HB
);
Debug
.
Assert
(
pkt
.
seq
==
0
);
Debug
.
Assert
(
pkt
.
acct
==
"90219125916578"
);
Debug
.
Assert
(
pkt
.
data
.
ademcoId
==
0
);
Debug
.
Assert
(
pkt
.
data
.
ademcoEvent
==
AdemcoEvent
.
EVENT_I_AM_WIRE_MACHINE
);
Debug
.
Assert
(
pkt
.
data
.
gg
==
0
);
Debug
.
Assert
(
pkt
.
data
.
zone
==
0
);
Console
.
WriteLine
(
"res={0:D}, commited={1:D}"
,
res
,
libademco
.
intp_value
(
cb
));
}
// test pack
{
Console
.
WriteLine
(
"test pack"
);
byte
[]
buff
=
new
byte
[
1024
];
int
len
=
libademco
.
ademcoMakeHbPacket
(
buff
,
1024
,
1
,
"861234567890"
,
666666
,
AdemcoEvent
.
EVENT_ARM
,
0
,
0
,
null
);
Debug
.
Assert
(
len
>
0
);
Console
.
WriteLine
(
"len={0:D}"
,
len
);
libademco
.
ademcoPrint
(
buff
,
len
);
Console
.
WriteLine
(
"test parse packed data"
);
AdemcoPacket
pkt
=
new
AdemcoPacket
();
SWIGTYPE_p_int
cb
=
libademco
.
new_intp
();
AdemcoParseResult
res
=
libademco
.
ademcoPacketParse
(
buff
,
len
,
pkt
,
cb
);
Debug
.
Assert
(
res
==
AdemcoParseResult
.
RESULT_OK
);
Debug
.
Assert
(
libademco
.
intp_value
(
cb
)
==
len
);
Debug
.
Assert
(
pkt
.
id
==
AdemcoPacketId
.
AID_HB
);
Debug
.
Assert
(
pkt
.
seq
==
1
);
Debug
.
Assert
(
pkt
.
acct
==
"861234567890"
);
Debug
.
Assert
(
pkt
.
data
.
ademcoId
==
666666
);
Debug
.
Assert
(
pkt
.
data
.
ademcoEvent
==
AdemcoEvent
.
EVENT_ARM
);
Debug
.
Assert
(
pkt
.
data
.
gg
==
0
);
Debug
.
Assert
(
pkt
.
data
.
zone
==
0
);
}
// test pack
// buff not enough
{
Console
.
WriteLine
(
"test pack, buff not enough"
);
Byte
[]
buff
=
new
Byte
[
10
];
int
len
=
libademco
.
ademcoMakeHbPacket
(
buff
,
10
,
1
,
"861234567890"
,
666666
,
AdemcoEvent
.
EVENT_ARM
,
0
,
0
,
null
);
Debug
.
Assert
(
len
==
0
);
}
Console
.
WriteLine
(
""
);
simpleServer
(
12345
);
}
static
void
simpleServer
(
int
port
)
{
Console
.
WriteLine
(
"running simpleServer {0:D}"
,
port
);
try
{
var
listener
=
new
TcpListener
(
IPAddress
.
Any
,
port
);
listener
.
Start
();
while
(
true
){
TcpClient
client
=
listener
.
AcceptTcpClient
();
Thread
thread
=
new
Thread
(
new
ParameterizedThreadStart
(
clientHandler
));
thread
.
Start
(
client
);
}
}
catch
(
Exception
e
)
{
Console
.
WriteLine
(
e
.
Message
);
}
}
static
byte
[]
append
(
byte
[]
origin
,
byte
[]
buf
,
int
len
){
byte
[]
dst
=
new
byte
[
origin
.
Length
+
len
];
Array
.
ConstrainedCopy
(
origin
,
0
,
dst
,
0
,
origin
.
Length
);
Array
.
ConstrainedCopy
(
buf
,
0
,
dst
,
origin
.
Length
,
len
);
return
dst
;
}
static
byte
[]
eat
(
byte
[]
origin
,
int
len
){
if
(
origin
.
Length
==
len
){
return
new
byte
[
0
];}
byte
[]
dst
=
new
byte
[
origin
.
Length
-
len
];
Array
.
ConstrainedCopy
(
origin
,
len
,
dst
,
0
,
origin
.
Length
-
len
);
return
dst
;
}
static
ushort
nextSeq
(
ushort
seq
){
if
(++
seq
==
10000
){
seq
=
1
;}
return
seq
;
}
static
void
clientHandler
(
object
cli
)
{
TcpClient
client
=
(
TcpClient
)
cli
;
NetworkStream
stream
=
client
.
GetStream
();
AdemcoPacket
pkt
=
new
AdemcoPacket
();
SWIGTYPE_p_int
cb
=
libademco
.
new_intp
();
byte
[]
buff
=
new
byte
[
0
];
int
nread
=
0
;
uint
ademco_id
=
0
;
string
acct
=
""
;
HbMachineType
type
=
HbMachineType
.
HMT_INVALID
;
HbMachineStatus
status
=
HbMachineStatus
.
HMS_INVALID
;
ushort
seq
=
0
;
int
counter
=
1
;
while
(
true
)
{
byte
[]
msg
=
new
byte
[
1024
];
try
{
nread
=
stream
.
Read
(
msg
,
0
,
1024
);
}
catch
{
break
;
}
if
(
nread
==
0
){
break
;}
buff
=
append
(
buff
,
msg
,
nread
);
AdemcoParseResult
res
=
AdemcoParseResult
.
RESULT_OK
;
while
(
res
==
AdemcoParseResult
.
RESULT_OK
){
res
=
libademco
.
ademcoPacketParse
(
buff
,
buff
.
Length
,
pkt
,
cb
);
switch
(
res
){
case
AdemcoParseResult
.
RESULT_OK
:
Console
.
Write
(
"C:"
);
libademco
.
ademcoPrint
(
buff
,
libademco
.
intp_value
(
cb
));
buff
=
eat
(
buff
,
libademco
.
intp_value
(
cb
));
switch
(
pkt
.
id
)
{
case
AdemcoPacketId
.
AID_NULL
:
replyAck
(
stream
,
pkt
.
seq
,
pkt
.
acct
);
break
;
case
AdemcoPacketId
.
AID_HB
:
case
AdemcoPacketId
.
AID_ADM_CID
:
replyAck
(
stream
,
pkt
.
seq
,
pkt
.
acct
);
acct
=
pkt
.
acct
;
ademco_id
=
pkt
.
data
.
ademcoId
;
if
(
libademco
.
ademcoIsMachineTypeEvent
(
pkt
.
data
.
ademcoEvent
)
!=
0
){
type
=
libademco
.
hbMachineTypeFromAdemcoEvent
(
pkt
.
data
.
ademcoEvent
);
}
if
(
libademco
.
ademcoIsMachineStatusEvent
(
pkt
.
data
.
ademcoEvent
)
!=
0
){
status
=
libademco
.
hbMachineStatusFromAdemcoEvent
(
pkt
.
data
.
ademcoEvent
);
}
// 示范布撤防的调用方式
if
(++
counter
%
5
==
0
){
if
(
status
==
HbMachineStatus
.
HMS_ARM
){
sendDisarm
(
stream
,
nextSeq
(
seq
),
acct
,
ademco_id
,
"123456"
);
}
else
{
sendArm
(
stream
,
nextSeq
(
seq
),
acct
,
ademco_id
);
}
}
break
;
default
:
break
;
}
break
;
case
AdemcoParseResult
.
RESULT_ERROR
:
buff
=
new
byte
[
0
];
break
;
}
}
}
}
static
void
replyAck
(
NetworkStream
stream
,
ushort
seq
,
string
acct
){
byte
[]
buff
=
new
byte
[
1024
];
int
len
=
libademco
.
ademcoMakeAckPacket
(
buff
,
1024
,
seq
,
acct
,
0
);
Console
.
Write
(
"S:"
);
libademco
.
ademcoPrint
(
buff
,
len
);
stream
.
Write
(
buff
,
0
,
len
);
}
static
void
sendArm
(
NetworkStream
stream
,
ushort
seq
,
string
acct
,
uint
ademcoId
){
byte
[]
buff
=
new
byte
[
1024
];
int
len
=
libademco
.
ademcoMakeHbPacket
(
buff
,
1024
,
seq
,
acct
,
ademcoId
,
AdemcoEvent
.
EVENT_ARM
,
0
,
0
,
null
);
Console
.
Write
(
"S:"
);
libademco
.
ademcoPrint
(
buff
,
len
);
stream
.
Write
(
buff
,
0
,
len
);
}
static
void
sendDisarm
(
NetworkStream
stream
,
ushort
seq
,
string
acct
,
uint
ademcoId
,
string
pwd
){
byte
[]
buff
=
new
byte
[
1024
];
AdemcoXDataSegment
xdata
=
null
;
if
(!
string
.
IsNullOrEmpty
(
pwd
)){
xdata
=
new
AdemcoXDataSegment
();
libademco
.
ademcoMakeXData
(
xdata
,
AdemcoXDataLengthFormat
.
TWO_HEX
,
AdemcoXDataTransform
.
AdemcoXDataTransform_as_is
,
Encoding
.
ASCII
.
GetBytes
(
pwd
),
pwd
.
Length
);
}
int
len
=
libademco
.
ademcoMakeHbPacket
(
buff
,
1024
,
seq
,
acct
,
ademcoId
,
AdemcoEvent
.
EVENT_DISARM
,
0
,
0
,
xdata
);
Console
.
Write
(
"S:"
);
libademco
.
ademcoPrint
(
buff
,
len
);
stream
.
Write
(
buff
,
0
,
len
);
}
}
}
tools/mac_java.sh
View file @
50ea97c2
#/bin/bash
#
!
/bin/bash
cd
../swig
./mac_java.sh
...
...
tools/mkrelease.sh
View file @
50ea97c2
#/bin/bash
#
!
/bin/bash
# win-java
./clean.sh
...
...
@@ -28,16 +28,14 @@ zip win_csharp.zip win_csharp
rm
-rf
win_csharp
# ubuntu20.04 java
host
=
192.168.2.107
ssh
-t
root@
${
host
}
"cd /root/projects/ademco_hb && git pull origin c && cd swig && ./linux_java.sh && cd ../tools && ./linux_java.sh"
scp root@
${
host
}
:/root/projects/ademco_hb/tools/linux_java.zip
.
ssh
-t
root@
${
host
}
"rm -f /root/projects/ademco_hb/tools/linux_java.zip"
ssh
-t
root@192.168.2.107
"cd /root/projects/ademco_hb && git reset --hard HEAD && git pull origin c && cd swig && export JAVA_HOME='/usr/lib/jvm/java-8-openjdk-amd64' && ./linux_java.sh && cd ../tools && ./linux_java.sh"
scp root@192.168.2.107:/root/projects/ademco_hb/tools/linux_java.zip
.
ssh
-t
root@192.168.2.107
"rm -f /root/projects/ademco_hb/tools/linux_java.zip"
# macOS java
host
=
192.168.2.107
ssh
-t
jack@
${
host
}
"cd /Users/jack/projects/ademco_hb && git pull origin c && cd swig && ./mac_java.sh && cd ../tools && ./linux_java.sh"
scp jack@
${
host
}
:/Users/jack/projects/ademco_hb/tools/mac_java.zip
.
ssh
-t
jack@
${
host
}
"rm -f /Users/jack/projects/ademco_hb/tools/mac_java.zip"
ssh
-t
jack@wangjackdeMacBook-Pro
"cd /Users/jack/projects/ademco_hb && git reset --hard HEAD && git pull origin c && cd swig && source ~/.zshrc && export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home' && ./mac_java.sh && cd ../tools && ./mac_java.sh"
scp jack@wangjackdeMacBook-Pro:/Users/jack/projects/ademco_hb/tools/mac_java.zip
.
ssh
-t
jack@wangjackdeMacBook-Pro
"rm -f /Users/jack/projects/ademco_hb/tools/mac_java.zip"
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