|
|
|
|
// JoyStickControlDlg.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "CH91PayloadSoftware.h"
|
|
|
|
|
#include "JoyStickControlDlg.h"
|
|
|
|
|
#include "afxdialogex.h"
|
|
|
|
|
#include "GlobalMember.h"
|
|
|
|
|
#include "Global.h"
|
|
|
|
|
#include "GlobalMessage.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CJoyStickControlDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CJoyStickControlDlg, CDialogEx)
|
|
|
|
|
|
|
|
|
|
CJoyStickControlDlg::CJoyStickControlDlg(CWnd* pParent /*=NULL*/)
|
|
|
|
|
: CDialogEx(CJoyStickControlDlg::IDD, pParent)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CJoyStickControlDlg::~CJoyStickControlDlg()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CJoyStickControlDlg::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::DoDataExchange(pDX);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CJoyStickControlDlg, CDialogEx)
|
|
|
|
|
ON_WM_TIMER()
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CJoyStickControlDlg <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BOOL CJoyStickControlDlg::OnInitDialog()
|
|
|
|
|
{
|
|
|
|
|
CDialogEx::OnInitDialog();
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD>ھ<EFBFBD><DABE><EFBFBD>
|
|
|
|
|
g_JoyStickControlDlgHwnd = GetSafeHwnd();
|
|
|
|
|
// ҡ<>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
m_JoyStickListener = new JSParser::JoyStickListener();
|
|
|
|
|
m_JoyStickListener->init(g_JoyStickControlDlgHwnd);
|
|
|
|
|
|
|
|
|
|
// <20>趨ʱ<E8B6A8><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
SetTimer(1, 2000, nullptr);
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
|
|
|
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CJoyStickControlDlg::OnTimer(UINT_PTR nIDEvent)
|
|
|
|
|
{
|
|
|
|
|
//if (m_JoyStickListener->isInit())
|
|
|
|
|
//{
|
|
|
|
|
// // <20><><EFBFBD><EFBFBD>ҡ<EFBFBD><D2A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
// m_JoyStickListener->UpdateStick(stick_Height, stick_Width);
|
|
|
|
|
// // <20><><EFBFBD><EFBFBD>ҡ<EFBFBD>˰<EFBFBD><CBB0><EFBFBD>״̬
|
|
|
|
|
// m_JoyStickListener->UpdateButtons(m_JoyStickButtons);
|
|
|
|
|
|
|
|
|
|
// // <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
// UpdateControl();
|
|
|
|
|
//}
|
|
|
|
|
//else
|
|
|
|
|
//{
|
|
|
|
|
// m_JoyStickListener->init(g_JoyStickControlDlgHwnd);
|
|
|
|
|
//}
|
|
|
|
|
CDialogEx::OnTimer(nIDEvent);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CJoyStickControlDlg::UpdateControl()
|
|
|
|
|
{
|
|
|
|
|
if (g_bCtrlFromSoftware == FALSE)
|
|
|
|
|
{
|
|
|
|
|
// <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>٣<EFBFBD><D9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷ<EFBFBD>
|
|
|
|
|
if (m_JoyStickButtons[0] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 1002;
|
|
|
|
|
g_ServoSpeedUpDown = (int)(0 - stick_Height * 512);
|
|
|
|
|
g_ServoSpeedLeftRight = (int)(stick_Width * 512);
|
|
|
|
|
//TRACE("X:%d Y:%d\n",g_ServoSpeedUpDown,g_ServoSpeedLeftRight);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
// EO<45>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>٣<EFBFBD><D9A3><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[3] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 16;
|
|
|
|
|
g_TrackOffset.y = (int)(0 - stick_Height * 540);
|
|
|
|
|
g_TrackOffset.x = (int)(stick_Width * 960);
|
|
|
|
|
}
|
|
|
|
|
// IR<49>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>٣<EFBFBD><D9A3><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[2] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 17;
|
|
|
|
|
g_TrackOffset.y = (int)(0 - stick_Height * 288);
|
|
|
|
|
g_TrackOffset.x = (int)(stick_Width * 360);
|
|
|
|
|
}
|
|
|
|
|
// EO<45>Զ<EFBFBD><D4B6>Խ<EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[1] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 69;
|
|
|
|
|
}
|
|
|
|
|
// IR<49>Զ<EFBFBD><D4B6>Խ<EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[4] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 78;
|
|
|
|
|
}
|
|
|
|
|
// EO<45>ӳ<EFBFBD>С
|
|
|
|
|
else if (m_JoyStickButtons[6] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 60;
|
|
|
|
|
}
|
|
|
|
|
// EO<45>ӳ<EFBFBD><D3B3><EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[8] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 59;
|
|
|
|
|
}
|
|
|
|
|
// IR<49>ӳ<EFBFBD>С
|
|
|
|
|
else if (m_JoyStickButtons[10] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 81;
|
|
|
|
|
}
|
|
|
|
|
// IR<49>ӳ<EFBFBD><D3B3><EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[12] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 80;
|
|
|
|
|
}
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[14] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 34;
|
|
|
|
|
}
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[16] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 35;
|
|
|
|
|
}
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[15] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 32;
|
|
|
|
|
}
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
else if (m_JoyStickButtons[17] == true)
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 33;
|
|
|
|
|
}
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
g_payloadCtrlProtocol = 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|