First, set up your structure definition in ESP:
hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Altitude", "feet", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED);
hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Latitude", "degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED);
hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Longitude","degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED);
hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Heading Degrees True", "degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED);
hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Pitch Degrees", "degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED);
hr = SimConnect_AddToDataDefinition(_hSimConnect,DEFINITION, "Plane Bank Degrees", "degrees", SIMCONNECT_DATATYPE_FLOAT64, 0.0f, SIMCONNECT_UNUSED);
.and have a struct for it:
struct PLANE_XYZ_HPR
{
double altitude;
double latitude;
double longitude;
double heading;
double pitch;
double roll;
} _PlanePos;
populate the above, then call
res = SimConnect_SetDataOnSimObject(_hSimConnect,DEFINITION, SIMCONNECT_OBJECT_ID_USER, 0, 0, sizeof(_PlanePos),&_PlanePos );
to set the data.
I have more code if you want to PM me.
Regards, Jon