- Messages
- 125
- Country
I have a freeware app (C# MSFS) almost ready to release .. I just need to read and set NAV frequencies and IFR etc.
public void GetNavRadioStates()
{
if (!bRequestNav)
{
//NAV FREQUENCY
simconnect.AddToDataDefinition(DEFINITIONS.NavRadio, "NAV ACTIVE FREQUENCY:1", "MHz", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
simconnect.AddToDataDefinition(DEFINITIONS.NavRadio, "NAV STANDBY FREQUENCY:1", "MHz", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
simconnect.AddToDataDefinition(DEFINITIONS.NavRadio, "NAV ACTIVE FREQUENCY:2", "MHz", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
simconnect.AddToDataDefinition(DEFINITIONS.NavRadio, "NAV STANDBY FREQUENCY:2", "MHz", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
//NAV HAS GLIDE SLOPE
}
simconnect.RegisterDataDefineStruct<NavRadioStruct>(DEFINITIONS.NavRadio);
simconnect.RequestDataOnSimObject(DATA_REQUESTS.NavRadioRequest, DEFINITIONS.NavRadio, SimConnect.SIMCONNECT_OBJECT_ID_USER, SIMCONNECT_PERIOD.SECOND, SIMCONNECT_DATA_REQUEST_FLAG.CHANGED, 0, 0, 0);
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] //Radio
public struct NavRadioStruct
{
public double Nav1;
public double Nav1Stnby;
public double Nav2;
public double Nav2Stnby;
}
This only returns 0 (zero)
I have tried the other data types in the Data Definition ... can someone point me to a solution in C# ... or C++ (i'll try to translate)
thanks!!
!!
EDITED FLOAT64
public void GetNavRadioStates()
{
if (!bRequestNav)
{
//NAV FREQUENCY
simconnect.AddToDataDefinition(DEFINITIONS.NavRadio, "NAV ACTIVE FREQUENCY:1", "MHz", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
simconnect.AddToDataDefinition(DEFINITIONS.NavRadio, "NAV STANDBY FREQUENCY:1", "MHz", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
simconnect.AddToDataDefinition(DEFINITIONS.NavRadio, "NAV ACTIVE FREQUENCY:2", "MHz", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
simconnect.AddToDataDefinition(DEFINITIONS.NavRadio, "NAV STANDBY FREQUENCY:2", "MHz", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
//NAV HAS GLIDE SLOPE
}
simconnect.RegisterDataDefineStruct<NavRadioStruct>(DEFINITIONS.NavRadio);
simconnect.RequestDataOnSimObject(DATA_REQUESTS.NavRadioRequest, DEFINITIONS.NavRadio, SimConnect.SIMCONNECT_OBJECT_ID_USER, SIMCONNECT_PERIOD.SECOND, SIMCONNECT_DATA_REQUEST_FLAG.CHANGED, 0, 0, 0);
}
[StructLayout(LayoutKind.Sequential, Pack = 1)] //Radio
public struct NavRadioStruct
{
public double Nav1;
public double Nav1Stnby;
public double Nav2;
public double Nav2Stnby;
}
This only returns 0 (zero)
I have tried the other data types in the Data Definition ... can someone point me to a solution in C# ... or C++ (i'll try to translate)
thanks!!
!!
EDITED FLOAT64
Last edited: