20240130 增加IMP显示和控制界面和串口通信
parent
d09470095e
commit
006dfa62b8
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,36 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Global.h"
|
||||||
|
#include "resource.h"
|
||||||
|
#include "GlobalMessage.h"
|
||||||
|
#include "ComControlFunction.h"
|
||||||
|
#include "Serial.h"
|
||||||
|
|
||||||
|
// CDlgIMP 对话框
|
||||||
|
|
||||||
|
class CDlgIMP : public CDialogEx
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC(CDlgIMP)
|
||||||
|
|
||||||
|
public:
|
||||||
|
CDlgIMP();
|
||||||
|
virtual ~CDlgIMP();
|
||||||
|
|
||||||
|
// 对话框数据
|
||||||
|
enum { IDD = IDD_DLG_IMP };
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||||
|
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
public:
|
||||||
|
void SetIMPData(CFrameIMPDown_ data);
|
||||||
|
afx_msg void OnBnClickedButton1();
|
||||||
|
afx_msg LRESULT ImpSerialConnectMessage(WPARAM param, LPARAM lparam); //IMP通信开始
|
||||||
|
virtual BOOL OnInitDialog();
|
||||||
|
|
||||||
|
CSerial m_SerialIMP; // IMP通信串口
|
||||||
|
char pSerialPort[20];//串口号
|
||||||
|
DWORD pSerialPortBaud;//端口号
|
||||||
|
//void onInitIMPFrame();//初始化IMP协议
|
||||||
|
afx_msg LRESULT OnUpdateIMPDownDataChecked(WPARAM param, LPARAM lparam); //处理IMP下行通过校验的遥测数据
|
||||||
|
};
|
@ -0,0 +1,84 @@
|
|||||||
|
|
||||||
|
#include "FrameRecieve.h"
|
||||||
|
|
||||||
|
#if _MSC_VER > 1000
|
||||||
|
#pragma once
|
||||||
|
#endif // _MSC_VER > 1000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __WIN_32_VC__
|
||||||
|
typedef unsigned char BYTE;
|
||||||
|
typedef unsigned char INT8U;
|
||||||
|
typedef unsigned short INT16U;
|
||||||
|
typedef unsigned int INT32U;
|
||||||
|
typedef char INT8S;
|
||||||
|
typedef short INT16S;
|
||||||
|
typedef int INT32S;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
//超视距通用协议帧
|
||||||
|
typedef struct struProtocalIMPDown{
|
||||||
|
UINT8 head; //帧头0x
|
||||||
|
UINT8 Bytes; //字节数
|
||||||
|
UINT8 StatusWord; //状态字
|
||||||
|
UINT8 FaultWord; //故障字
|
||||||
|
UINT8 CHKSUM; //校验和
|
||||||
|
UINT8 EndFlag; //结束标志
|
||||||
|
}ProtocalIMPDown;
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
|
//超视距通用帧数据
|
||||||
|
typedef struct struDataIMPDown{
|
||||||
|
UINT8 head; //帧头0x
|
||||||
|
UINT8 Bytes; //预留
|
||||||
|
UINT8 StatusWord; //状态字
|
||||||
|
UINT8 FaultWord; //故障字
|
||||||
|
UINT8 CHKSUM; //校验和
|
||||||
|
UINT8 EndFlag; //结束标志
|
||||||
|
}DataIMPDown;
|
||||||
|
|
||||||
|
class CFrameIMPDown_ : public CFrameAbstract
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CFrameIMPDown_(void);
|
||||||
|
~CFrameIMPDown_(void);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual BOOL FullFrame();
|
||||||
|
|
||||||
|
virtual BOOL OnCheck();
|
||||||
|
void DoCheck();
|
||||||
|
|
||||||
|
virtual struCHECK CheckCRC(BYTE* const p);
|
||||||
|
|
||||||
|
virtual void Decode();
|
||||||
|
BYTE recvDataValue[6];
|
||||||
|
|
||||||
|
public:
|
||||||
|
DataIMPDown Data; //IMP下行协议数据
|
||||||
|
|
||||||
|
public:
|
||||||
|
float LimitedValueF(float val,float minimum, float maximum)
|
||||||
|
{
|
||||||
|
val = val>maximum?maximum:val;
|
||||||
|
val = val<minimum?minimum:val;
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
int LimitedValueI(int val,int minimum, int maximum)
|
||||||
|
{
|
||||||
|
val = val>maximum?maximum:val;
|
||||||
|
val = val<minimum?minimum:val;
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
double LimitedValueD(double val,double minimum, double maximum)
|
||||||
|
{
|
||||||
|
val = val>maximum?maximum:val;
|
||||||
|
val = val<minimum?minimum:val;
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,12 @@
|
|||||||
|
#include "StdAfx.h"
|
||||||
|
#include "IMPConect.h"
|
||||||
|
|
||||||
|
|
||||||
|
IMPConect::IMPConect(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
IMPConect::~IMPConect(void)
|
||||||
|
{
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
#pragma once
|
||||||
|
class IMPConect
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
IMPConect(void);
|
||||||
|
~IMPConect(void);
|
||||||
|
};
|
Binary file not shown.
Loading…
Reference in New Issue