📄 port_test.h
字号:
//======================================================
//颇老: port_test.h
//
//林力: 勤靛迄栏肺 力绢窍绰 UBI 窍快胶甫 困茄 荤侩磊 捞亥飘 庆歹 颇老
//
//汲疙:
// 备炼眉 冯(Room) 扁过捞 利侩等 览侩橇肺弊伐 备炼眉客
// 荤侩磊 裹困狼 捞亥飘 贸府 窃荐 沥狼 庆歹
//
//累己磊:
// 2009. 10. 23 蜡悼快, 辫楷铰, 沥籍裹
//======================================================
#ifndef PORT_TEST_H
#define PORT_TEST_H
typedef struct port_test port_test;
typedef unsigned short WORD;
typedef unsigned char BYTE;
#define MAX_SEND_BUF 22
#define GID 0x27
#define SET_DATA(sp, id, flag, cmd) (sp[7] = id, sp[8] = 0x01, sp[9] = flag, sp[10] = cmd, sp[11] = cmd);
// (0) (1) (2) (3) (4) (5) (6)
#define SEND_PACKET_HEAD 0x7E, 0x42, 0xFF, 0xFF, GID, GID, 0x0C
// (7) (8) (9) (A) (B)
#define SEND_PACKET_DUMY 0x00, 0x00, 0x00, 0x00, 0x00
// (C) (D) (E) (F) (10) (11) (12) (13) (14) (15)
#define SEND_PACKET_TAIL 0x48, 0x41, 0x4E, 0x42, 0x41, 0x43, 0x4B, 0x00, 0x00, 0x7E
typedef BYTE SEND_PACKET[MAX_SEND_BUF];
// (0) (1) (2) (3) (4) (5) (6)
#define RECV_PACKET_HEAD 0x7E, 0x42, 0xFF, 0xFF, 0x00, GID, 0x0D
// (7) (8) (9) (A) (B) (C) (D) (E) (F) (10) (11)
#define RECV_PACKET_DATA O_ID, O_LN, O_CD, CDS_L, CDS_H, TMP_L, TMP_H, HUM_L, HUM_H, BAT_L, BAT_H
// (12) (13) (14) (15) (16)
#define RECV_PACKET_TAIL 0x35, 0x35, CRC_L, CRC_H, 0x7E
// (0) SYNC_BYTE(START FLAG)
// (1) PACKET_TYPE(NOT ACK REQUEST PACKET)
// 0xFF UNKNOWN PACKET
// 0x40 ACK REPLY PACKET
// 0x41 ACK REQUEST PACKET
// 0x42 NOT ACK REQUEST PACKET
// (2)(3) ADDRESS(RF BROADCASTIONG)
// 0x007E SERIAL
// 0xFFFF RF BROAD CASTING
// (4) MESSAGE_TYPE(AMTYPE_XUART)
// 0x00 AMTYPE_XUART
// 0x03 AMTYPE_MHOP_DEBUG
// 0x11 AMTYPE_SURGE_MSG
// 0x32 AMTYPE_XSENSOR
// 0x33 AMTYPE_XMULTIHOP
// 0xFA AMTYPE_MHOP_MSG
// (5) GROUP_ID(HANBACK DEFINE)
// (6) DATA_LENGTH
// (7) OBJECT_ID
// (8) OBJECT_DATA_LENGTH
// (9) OBJECT_CMD
// (A)(B) CDS
// (C)(D) TMP
// (E)(F) HUMID
// (10)(11) BATT
// (12) 0x35(ALWAY)
// (13) 0x35(ALWAY)
// (14)(15) CRC16
// (16) SYNC_BATE(END FLAG)
typedef enum
{
TOILET_LIGHT = 0x41,
LIVING_ROOM_FIRST_LIGHT = 0x3F,
ROOM_FIRST_LIGHT = 0x3D,
LIVING_ROOM_SECOND_LIGHT = 0x40,
ROOM_SECOND_LIGHT = 0x3E,
TV_POWER = 0x58,
REFRIGERATOR_POWER = 0x53,
VENTILATION_FAN_POWER = 0x5E,
AIR_CONDITIONER_POWER = 0x54,
ROOM_FIRST_POWER = 0x51,
ROOM_SECOND_POWER = 0x52,
DOORLOCK = 0x1F,
GASS_BREAKER = 0x33,
CURTAIN = 0x29,
MOVING_DETECTION = 0x01,
WINDOW_OPEN_DETECTION = 0x0B,
GASS_DETECTION = 0x65
}OBJ_ID;
typedef enum
{
RELAY = 0x01,
SENSOR = 0x02,
PIR = 0x03, //MOVING
REED = 0x04, //WINDOW_OPEN
GASS = 0x05
}OBJ_FLAG;
typedef enum
{
ON1 = 0x05,
OFF1 = 0x06,
OPEN = 0x07, //DoorLock, GassBreaker
CLOSE = 0x08 //GassBreaker
}OBJ_CMD;
typedef enum
{
ALL = 0x05,
CDS = 0x04, //reserved
HUM = 0x03, //reserved
TMP = 0x02 //reserved
}SENSOR_FLAG;
struct port_test{
AEEApplet a;
AEEDeviceInfo DeviceInfo;
EVENT_ENTRY *pEventEntry;
int eventSize;
KEY_EVENT_ENTRY *pKeyEventEntry;
int keyEventSize;
//捞 镑俊 眠啊 鞘靛甫 火涝茄促.
IPort * pPort;
IFile *pFile;
AEECallback cbReadable;
ISoundPlayer *pSP;
ISoundPlayer *Menu[9];
IShell *pIShell;
IImage * mainImage;
IImage * doorlockImage;
IImage * doorlockIconImage;
IImage * ledImage;
IImage * powerImage;
IImage * cutainImage;
IImage * cutainIconImage;
IImage * gasImage;
IImage * gasIconImage;
IImage * safeImage;
IImage * safeIconImage[3];
IImage * modeImage;
IImage * modeIconImage[4];
IImage * setImage;
IImage * setIconImage;
IImage * errorImage1;
IImage * errorImage2;
IImage * errorImage3;
IImage * loadingImage;
IImage * alarmImage;
IImage * alarmBackImage;
IImage * ICon[6];
IImage * alarmSubImage;
int mainImageVal;
int nCurItem;
int nCurMenu;
int nCurItemSub;
int nDoorLockItem[6][2];
int nLedItem[6][2];
int nPowerItem[6][2];
int nCurtainItem[6][2];
int nGasItem[6][2];
int nSafeItem[6][2];
int nModeItem[6][2];
int nAlarmItem[6][2];
int nAlarmKeyIndex;
//int nSelect[6];
int nAlarmSetHour;
int nAlarmSetMin;
int nAlarmSetObj;
char nAlarmSetCmd;
int nAlarmSetIndex;
boolean nAlarmOnOff;
boolean nAlarmOKCancel;
int nAlarmGetPosition[5][2];
int nLedValue[2]; //季辑 蔼阑 厚背窍扁 困茄 历厘 鞘靛
int nLedCount;
int nLedState;
char FlagProgramStart;
char Buf[30];
};
int port_test_PreTranslateKey(uint16 * pVkey, uint32 * pBitFlags);
boolean port_test_Init(port_test *pMe);
void port_test_Free(port_test *pMe);
#endif //PORT_TEST_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -