Why?
This code returns FreqMhz = 128.30 which is correct:
Changing to this (with changes highlighted in red) returns FreqBCD = 0
This code returns FreqMhz = 128.30 which is correct:
Code:
double FreqMHz;
.
.
.
struct AIRCRAFT_RADIO
{
double FreqCom1A;
};
.
.
.
SimConnect_AddToDataDefinition(hSimConnect,
DATA_AIRCRAFT_RADIO,
"COM ACTIVE FREQUENCY:1",
"MHz");
.
.
.
switch (pObjData->dwRequestID)
{
case REQ_AIRCRAFT_RADIO:
{
// Cast void pointer to point to new data structure
AIRCRAFT_RADIO *pS = (AIRCRAFT_RADIO *)&pObjData->dwData;
// Extract data from structure
FreqMHz = pS->FreqCom1A;
.
.
.
Changing to this (with changes highlighted in red) returns FreqBCD = 0
Code:
[COLOR="Red"]short int FreqBCD;
.[/COLOR].
.
.
.
.struct AIRCRAFT_RADIO
{
[COLOR="red"]short int FreqCom1A;[/COLOR]
};
.
.
.
SimConnect_AddToDataDefinition(hSimConnect,
DATA_AIRCRAFT_RADIO,
"COM ACTIVE FREQUENCY:1",
[COLOR="red"]"Frequency BCD16");[/COLOR]
.
.
.
switch (pObjData->dwRequestID)
{
case REQ_AIRCRAFT_RADIO:
{
// Cast void pointer to point to new data structure
AIRCRAFT_RADIO *pS = (AIRCRAFT_RADIO *)&pObjData->dwData;
// Extract data from structure
[COLOR="red"] FreqBCD = pS->FreqCom1A;[/COLOR]
.
.
.
Last edited:

