Hi,
I am able to read/write to default and custom events using simconnect, but as far as data is concerned I can only read and write to default data, not custom simvars.
Specifically I am trying to read if TRK/FPA mode is active on the Flybywire A32NX, with no success up to now. I am posting the relevant part of the code below if anyone can spot the issue (which I guess it must be very obvious to many of you
) and help me, much appreciated. (Code builds and runs ok but value of fcuTrkFpaModeActive is always 0).
Thanks in advance
---------------------------------------------------------------------------------------------------
enum ClientData
{
LOCAL_VARIABLES,
};
enum DATA_DEFINE_ID0
{
DEFINITION_A32NX_LOCAL_VARIABLES,
};
enum DATA_REQUEST_ID0
{
REQUEST_A32NX_LOCAL_VARIABLES,
};
struct ClientDataLocalVariables
{
double fcuTrkFpaModeActive;
};
---------------------------------------------------------------------
case SIMCONNECT_RECV_ID_CLIENT_DATA:
{
SIMCONNECT_RECV_CLIENT_DATA* pObjData = (SIMCONNECT_RECV_CLIENT_DATA*)pData;
switch (pObjData->dwRequestID)
{
case REQUEST_A32NX_LOCAL_VARIABLES:
ClientDataLocalVariables* pCDLV = (ClientDataLocalVariables*)&pObjData->dwData;
double TrkMode = pCDLV->fcuTrkFpaModeActive;
break;
}
break;
}
----------------------------------------------------------------------
hr = SimConnect_MapClientDataNameToID(hSimConnect, "A32NX_CLIENT_DATA_LOCAL_VARIABLES", ClientData::LOCAL_VARIABLES);
hr &= SimConnect_CreateClientData(hSimConnect, ClientData::LOCAL_VARIABLES, sizeof(ClientDataLocalVariables), SIMCONNECT_CLIENT_DATA_REQUEST_FLAG_DEFAULT);
hr &= SimConnect_AddToClientDataDefinition(hSimConnect, DEFINITION_A32NX_LOCAL_VARIABLES, SIMCONNECT_CLIENTDATAOFFSET_AUTO, sizeof(ClientDataLocalVariables));
hr &= SimConnect_RequestClientData(hSimConnect, ClientData::LOCAL_VARIABLES, REQUEST_A32NX_LOCAL_VARIABLES, DEFINITION_A32NX_LOCAL_VARIABLES, SIMCONNECT_CLIENT_DATA_PERIOD_SECOND, SIMCONNECT_CLIENT_DATA_REQUEST_FLAG_DEFAULT);
---------------------------------------------------------------------------------------------------
I am able to read/write to default and custom events using simconnect, but as far as data is concerned I can only read and write to default data, not custom simvars.
Specifically I am trying to read if TRK/FPA mode is active on the Flybywire A32NX, with no success up to now. I am posting the relevant part of the code below if anyone can spot the issue (which I guess it must be very obvious to many of you
Thanks in advance
---------------------------------------------------------------------------------------------------
enum ClientData
{
LOCAL_VARIABLES,
};
enum DATA_DEFINE_ID0
{
DEFINITION_A32NX_LOCAL_VARIABLES,
};
enum DATA_REQUEST_ID0
{
REQUEST_A32NX_LOCAL_VARIABLES,
};
struct ClientDataLocalVariables
{
double fcuTrkFpaModeActive;
};
---------------------------------------------------------------------
case SIMCONNECT_RECV_ID_CLIENT_DATA:
{
SIMCONNECT_RECV_CLIENT_DATA* pObjData = (SIMCONNECT_RECV_CLIENT_DATA*)pData;
switch (pObjData->dwRequestID)
{
case REQUEST_A32NX_LOCAL_VARIABLES:
ClientDataLocalVariables* pCDLV = (ClientDataLocalVariables*)&pObjData->dwData;
double TrkMode = pCDLV->fcuTrkFpaModeActive;
break;
}
break;
}
----------------------------------------------------------------------
hr = SimConnect_MapClientDataNameToID(hSimConnect, "A32NX_CLIENT_DATA_LOCAL_VARIABLES", ClientData::LOCAL_VARIABLES);
hr &= SimConnect_CreateClientData(hSimConnect, ClientData::LOCAL_VARIABLES, sizeof(ClientDataLocalVariables), SIMCONNECT_CLIENT_DATA_REQUEST_FLAG_DEFAULT);
hr &= SimConnect_AddToClientDataDefinition(hSimConnect, DEFINITION_A32NX_LOCAL_VARIABLES, SIMCONNECT_CLIENTDATAOFFSET_AUTO, sizeof(ClientDataLocalVariables));
hr &= SimConnect_RequestClientData(hSimConnect, ClientData::LOCAL_VARIABLES, REQUEST_A32NX_LOCAL_VARIABLES, DEFINITION_A32NX_LOCAL_VARIABLES, SIMCONNECT_CLIENT_DATA_PERIOD_SECOND, SIMCONNECT_CLIENT_DATA_REQUEST_FLAG_DEFAULT);
---------------------------------------------------------------------------------------------------