📄 testmain.hpp
字号:
#if !defined(INC_testmain_HPP)
#define INC_testmain_HPP
#include <zinc/zaf.hpp>
#define p_data 0x378
#define p_state 0x379
#define p_control 0x37a
#define SERVER_MAX_CONNECTIONS 4
#define SERVER_WORK_PRIORITY 70 /* priority of server's work task */
#define SERVER_STACK_SIZE 10000 /* stack size of server's work task */
const ZafEventType ONE_SECOND = 10000;
const ZafEventType CUZHUANTAI = 11003;
const ZafEventType ZHUANMESSAGE_SEND = 11004;
const ZafEventType ZHUAN_TIMER = 11005;
const ZafEventType MULTI_TEST = 12000;
const ZafEventType MULTI_RCV = 12001;
const ZafEventType MULTI_SEND = 12002;
const ZafEventType CLEAR_BUTTON = 12003;
const ZafEventType UDP_SELECTED = 12004;
const ZafEventType TCP_SELECTED = 12005;
const ZafEventType SEND_COM_DATA = 13000; //multiProt
const ZafEventType OPEN_MULTI = 12009;
const ZafEventType CLEAR_MULTI = 12008;
class TestWindow : public ZafWindow//定义主窗口类;
{
public:
// --- General members ---
TestWindow(ZafIChar *name, ZafObjectPersistence &persist);
~TestWindow(void){};
ZafEventType Event(const ZafEventStruct &event);
int JttyComRecv();
void SetBaudrate();
void SetDatabit();
void com_test();
void InitWindow();
void query_Comm();
//void comIntr (int para);
void zijianAPT();
void beginAVRhui();
void beginAVRfa();
void TOAVRzijian();
void ToAVRzijianjiguang();
void zijianshow();
void entrydatapage();
void delay(unsigned long);
void begin_send();
void ETXrecAVR();
void pio_testSend();
ZafString *senddata, *recvdata;
ZafButton *com1, *com2, *com3, *com4;
ZafButton *inner, *query;
ZafComboBox *baudrate, *stopbit, *databit, *parity;
ZafStatusBar *statusBar;
};
class mystring : public ZafString//派生类;
{
public:
mystring(int left, int top, int width, const ZafIChar *text,int maxLength);
~mystring() {};
};
class SystemRealTimeData : public ZafDialogWindow//定义测试多协议通讯的窗口类;
{
public:
// --- General members ---
SystemRealTimeData(ZafIChar *name, ZafObjectPersistence &persist);
~SystemRealTimeData(void);
ZafEventType Event(const ZafEventStruct &event);
struct sendMessage
{
unsigned char messageHead; //第1字节: 信息头(0xcc)
unsigned char messageCmd; //第2字节: 命令字?????
unsigned short driverAngleX; //第3~4字节: 驱动角度X
unsigned short driverAngleY; //第5~6字节: 驱动角度Y
unsigned char crc; //第7字节: 第2字节到第6字节的按位异或和
};
struct rcvMessage //转台数据
{
unsigned char custate;//状态字(0x01-归零,0x03-扫描捕获,0x04-随动指向,0x06-稳定跟踪,0x05-手动)
unsigned short cufangwjiao;//粗转台方位角度
unsigned short cufuyjiao;//粗转台俯仰角角度
unsigned short cufangwtuoba;//粗转台方位脱靶量
unsigned short cufuytuoba;//粗转台俯仰脱靶量
unsigned char saomiaostate;//扫描捕获过程结束报告(1-扫描结束)
unsigned char jingstate;//状态字(0x95-稳定跟踪,0x85-不稳定跟踪)
unsigned short jingfangwtuoba;//精转台方位脱靶量
unsigned short jingfuytuoba;//精转台俯仰脱靶量
};
ZafString *Cufang,*Cuyang,*Cuftuo,*Cuytuo,*Jftuo,*Jytuo;
void send_message();
void begin_send();
void rcv_message(unsigned char *rcvString,int readLen);
void cudisplay_message();
void jingdisplay_message();
void display_message();
struct AVRMessage//AVR接收
{
unsigned char messagehead;//信息头
unsigned short command;//AVR命令
unsigned char crc;//第一字节和第二字节的异或和
};
unsigned char avrmessage[3];
void AVRrcv_message(unsigned char *rcvString,int AVRreaLen);
void AVRdisplay_message();
ZafString *YuXingbuhuo,*YuXingGenZ,*YuXingDuiZ,*YuXingTongX,*YuXingTuX,
*YuXingShuJ,*YuXingDaiJ;
float trans_int_float(int x,int y,float z);//整型转换浮点数
int trans_float_int(float x,int y,int z);//浮点型转整型
ZafString *longitude,*latitude,*pianhangjiao,*henggunjiao,*pitchingAngle,
*dongspeed,*height,*beispeed,*tianspeed;
ZafText *mcastRcvData,*mcastSendData;
ZafInteger *mcastPortNum;
ZafButton *mcastCommunication,*broadCommunication,*pointCommunication;
ZafButton *udpProtocol,*tcpProtocol;
void delay(unsigned long);
int JttyComRecvCu();
unsigned int MODE_SEL;
unsigned int protocalintNum;
};
#endif /* INC_testmain_HPP */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -