⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 port_test.h

📁 this program is ubicontent example source using BREW thanks.
💻 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 + -