Commit 8770892b authored by captainwong's avatar captainwong

signal strength range

parent 2c06df2e
...@@ -52,12 +52,17 @@ void ademcoPrint(const ademco_char_t* p, size_t len) { ...@@ -52,12 +52,17 @@ void ademcoPrint(const ademco_char_t* p, size_t len) {
printf("\n"); printf("\n");
} }
uint8_t ademcoEncodeSignalStrength(int strength) { uint8_t ademcoEncodeSignalStrength(uint8_t strength) {
if (strength > ADEMCO_SIGNAL_STRENGTH_MAX)
strength = ADEMCO_SIGNAL_STRENGTH_MAX;
return ((strength / 10) << 4) | (strength % 10); return ((strength / 10) << 4) | (strength % 10);
} }
int ademcoDecodeSignalStrength(uint8_t code) { uint8_t ademcoDecodeSignalStrength(uint8_t code) {
return ((code >> 4) & 0x0F) * 10 + (code & 0x0F); uint8_t strength = ((code >> 4) & 0x0F) * 10 + (code & 0x0F);
if (strength > ADEMCO_SIGNAL_STRENGTH_MAX)
strength = ADEMCO_SIGNAL_STRENGTH_MAX;
return strength;
} }
int ademcoIsValidAccount(const char* acct) { int ademcoIsValidAccount(const char* acct) {
......
...@@ -89,6 +89,10 @@ static inline int ademcoIsValidZoneStrict(AdemcoZone zone) { ...@@ -89,6 +89,10 @@ static inline int ademcoIsValidZoneStrict(AdemcoZone zone) {
#define ADEMCO_GG_MAX 99 #define ADEMCO_GG_MAX 99
#define ADEMCO_GG_SENTINEL 100 #define ADEMCO_GG_SENTINEL 100
//! 信号强度范围 [0, 31]
#define ADEMCO_SIGNAL_STRENGTH_MIN 0
#define ADEMCO_SIGNAL_STRENGTH_MAX 31
// Ademco events // Ademco events
typedef enum AdemcoEvent { typedef enum AdemcoEvent {
EVENT_INVALID_EVENT = 0, EVENT_INVALID_EVENT = 0,
...@@ -182,7 +186,7 @@ typedef enum AdemcoEvent { ...@@ -182,7 +186,7 @@ typedef enum AdemcoEvent {
EVENT_SIM_IS_NOT_IOT_CARD = 3756, // 主机SIM卡为非物联卡,启用主机侧电话设置 EVENT_SIM_IS_NOT_IOT_CARD = 3756, // 主机SIM卡为非物联卡,启用主机侧电话设置
EVENT_WHAT_IS_YOUR_TYPE = 1798, // 索要主机类型 EVENT_WHAT_IS_YOUR_TYPE = 1798, // 索要主机类型
EVENT_SIGNAL_STRENGTH_CHANGED = 1799, // 主机信号强度变化 EVENT_SIGNAL_STRENGTH_CHANGED = 1799, // 主机信号强度变化,强度值编码后以 xdata 传输
// 2021年1月24日17:06:55修改,对标丛文3B0 3B2 // 2021年1月24日17:06:55修改,对标丛文3B0 3B2
EVENT_OFFLINE = 1944, // 主机断线 EVENT_OFFLINE = 1944, // 主机断线
...@@ -361,8 +365,8 @@ typedef struct AdemcoPacket { ...@@ -361,8 +365,8 @@ typedef struct AdemcoPacket {
//! print as HEX //! print as HEX
ADEMCO_EXPORT_SYMBOL void ademcoPrint(const ademco_char_t* buff, size_t len); ADEMCO_EXPORT_SYMBOL void ademcoPrint(const ademco_char_t* buff, size_t len);
ADEMCO_EXPORT_SYMBOL uint8_t ademcoEncodeSignalStrength(int strength); ADEMCO_EXPORT_SYMBOL uint8_t ademcoEncodeSignalStrength(uint8_t strength);
ADEMCO_EXPORT_SYMBOL int ademcoDecodeSignalStrength(uint8_t code); ADEMCO_EXPORT_SYMBOL uint8_t ademcoDecodeSignalStrength(uint8_t code);
//////////////////////// AdemcoEvent functions //////////////////////// //////////////////////// AdemcoEvent functions ////////////////////////
//! 是否合法主机账号 //! 是否合法主机账号
......
#/bin/bash #/bin/bash
rm -rf linux_java rm -rf linux_java
rm -rf mac_java rm -rf mac_java
rm -rf win_csharp rm -rf win_csharp
rm -rf win_java rm -rf win_java
rm -rf server_demo rm -rf server_demo
rm -rf win_node rm -rf win_node
cd ../swig cd ../swig
rm -rf *.exp *.lib *.dll *.exe *.obj *.class com/ rm -rf *.exp *.lib *.dll *.exe *.obj *.class com/ build/
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