Add data definition for remote aircraft and configuration

refs #186
This commit is contained in:
Roland Winklmeier
2014-03-14 18:51:02 +01:00
parent 7f333da322
commit 08fd9a5cbc
2 changed files with 63 additions and 1 deletions

View File

@@ -19,6 +19,8 @@ namespace BlackCore
{
HRESULT hr = S_OK;
hr = initOwnAircraft(hSimConnect);
hr = initAircraftPosition(hSimConnect);
hr = initAircraftConfiguration(hSimConnect);
return hr;
}
@@ -41,5 +43,28 @@ namespace BlackCore
return hr;
}
HRESULT CSimConnectDataDefinition::initAircraftPosition(const HANDLE hSimConnect)
{
HRESULT hr = S_OK;
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Latitude", "Degrees");
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Longitude", "Degrees");
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Altitude", "Feet");
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Heading Degrees True", "Degrees");
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Pitch Degrees", "Degrees");
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Bank Degrees", "Degrees");
return hr;
}
HRESULT CSimConnectDataDefinition::initAircraftConfiguration(const HANDLE hSimConnect)
{
HRESULT hr = S_OK;
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR CENTER POSITION", "Percent Over 100");
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR LEFT POSITION", "Percent Over 100");
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR RIGHT POSITION", "Percent Over 100");
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR TAIL POSITION", "Percent Over 100");
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR AUX POSITION", "Percent Over 100");
return hr;
}
}
}

View File

@@ -13,7 +13,7 @@ namespace BlackCore
namespace FSX
{
//! \brief Data struct of our own aircraft
struct OwnAircraft
struct DataDefinitionOwnAircraft
{
double latitude; //!< Latitude
double longitude; //!< Longitude
@@ -30,6 +30,27 @@ namespace BlackCore
double com2StandbyMHz; //!< COM1 standby frequency
};
//! \brief Data struct of aircraft position
struct DataDefinitionAircraftPosition
{
double latitude; //!< Latitude
double longitude; //!< Longitude
double altitude; //!< Altitude
double trueHeading; //!< True heading
double pitch; //!< Pitch
double bank; //!< Bank
};
//! \brief Data struct of aircraft position
struct DataDefinitionAircraftConfiguration
{
double gearCenter; //!< Gear center
double gearLeft; //!< Gear left
double gearRight; //!< Gear right
double gearTail; //!< Gear tail
double gearAux; //!< Gear aux
};
//! \brief Handles SimConnect data definitions
class CSimConnectDataDefinition
{
@@ -38,6 +59,8 @@ namespace BlackCore
//! \brief SimConnect definiton ID's
enum DataDefiniton {
DataOwnAircraft,
DataAircraftPosition,
DataAircraftConfiguration
};
//! \brief SimConnect request ID's
@@ -61,6 +84,20 @@ namespace BlackCore
* \return
*/
static HRESULT initOwnAircraft(const HANDLE hSimConnect);
/*!
* \brief Initialize data definition for remote aircrafts
* \param hSimConnect
* \return
*/
static HRESULT initAircraftPosition(const HANDLE hSimConnect);
/*!
* \brief Initialize data definition for remote aircraft configuration
* \param hSimConnect
* \return
*/
static HRESULT initAircraftConfiguration(const HANDLE hSimConnect);
};
}
}