// Set up the data definition hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "Title", NULL, SIMCONNECT_DATATYPE_STRING256); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "ABSOLUTE TIME", "seconds"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "Kohlsman setting hg", "inHg"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "Kohlsman setting mb", "millibars"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "Plane Altitude", "feet"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "INDICATED ALTITUDE", "feet"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "PRESSURE ALTITUDE", "feet"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "PLANE HEADING DEGREES GYRO", "degrees"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV OBS:1", "degrees"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV RADIAL:1", "degrees"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV DME:1", "nautical miles"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV DMESPEED:1", "knots"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV GLIDE SLOPE ERROR:1", "degrees"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT HEADING LOCK DIR", "degrees"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT ALTITUDE LOCK VAR", "feet"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT VERTICAL HOLD VAR", "feet/minute"); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "ELECTRICAL MASTER BATTERY", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AVIONICS MASTER SWITCH", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "CIRCUIT GENERAL PANEL ON", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "MARKER SOUND", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "MARKER BEACON STATE", "Enum",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT MASTER", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT WING LEVELER", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT NAV1 LOCK", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT HEADING LOCK", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT ALTITUDE LOCK", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT ATTITUDE HOLD", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT GLIDESLOPE HOLD", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT APPROACH HOLD", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT BACKCOURSE HOLD", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT YAW DAMPER", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT AIRSPEED HOLD", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT MACH HOLD", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT THROTTLE ARM", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT TAKEOFF POWER ACTIVE", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT VERTICAL HOLD", "boolean", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT ALTITUDE ARM", "boolean", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT APPROACH ACTIVE", "boolean", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT APPROACH ARM", "boolean", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT APPROACH CAPTURED", "boolean", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT APPROACH IS LOCALIZER", "boolean", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT GLIDESLOPE ACTIVE", "boolean", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT GLIDESLOPE ARM", "boolean", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "AUTOPILOT FLIGHT DIRECTOR ACTIVE", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV TOFROM:1", "Enum",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV CODES:1", "Flags",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV HAS LOCALIZER:1", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV HAS GLIDE SLOPE:1", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV SIGNAL:1", "number",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV CDI:1", "number", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV GSI:1", "number", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "NAV BACK COURSE FLAGS:1", "Flags", SIMCONNECT_DATATYPE_INT32); hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "CIRCUIT AUTOPILOT ON", "boolean",SIMCONNECT_DATATYPE_INT32); hr = SimConnect_SubscribeToSystemEvent(hSimConnect, EVENT_SIM_START, "SimStart"); // Define hardware events hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_TOGGLE_MASTER_BAT, "TOGGLE_MASTER_BATTERY"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AVIONICS_MASTER_SET, "AVIONICS_MASTER_SET"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_MASTER, "AP_MASTER"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_TOGGLE_FLIGHT_DIRECTOR, "TOGGLE_FLIGHT_DIRECTOR"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_WING_LEVELER, "AP_WING_LEVELER"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_WING_LEVELER_ON, "AP_WING_LEVELER_ON"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_WING_LEVELER_OFF, "AP_WING_LEVELER_OFF"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_HDG_HOLD, "AP_HDG_HOLD"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_HDG_HOLD_ON, "AP_HDG_HOLD_ON"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_HDG_HOLD_OFF, "AP_HDG_HOLD_OFF"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_PANEL_HEADING_ON, "AP_PANEL_HEADING_ON"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_PANEL_HEADING_ON, "AP_PANEL_HEADING_OFF"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_NAV1_HOLD, "AP_NAV1_HOLD"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_NAV1_HOLD_ON, "AP_NAV1_HOLD_ON"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AUTO_THROTTLE_ARM, "AUTO_THROTTLE_ARM"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_YAW_DAMPER_TOGGLE, "YAW_DAMPER_TOGGLE"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_ALT_HOLD, "AP_ALT_HOLD"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_ALT_HOLD_ON, "AP_ALT_HOLD_ON"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_ALT_HOLD_OFF, "AP_ALT_HOLD_OFF"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_PANEL_ALTITUDE_ON, "AP_PANEL_ALTITUDE_ON"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_PANEL_ALTITUDE_OFF, "AP_PANEL_ALTITUDE_OFF"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_PANEL_ALTITUDE_SET, "AP_PANEL_ALTITUDE_SET"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_PANEL_ALTITUDE_HOLD, "AP_PANEL_ALTITUDE_HOLD"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_ALT_VAR_SET_ENGLISH, "AP_ALT_VAR_SET_ENGLISH"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_ALT_VAR_INC, "AP_ALT_VAR_INC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_ALT_VAR_DEC, "AP_ALT_VAR_DEC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_VS_VAR_SET_ENGLISH, "AP_VS_VAR_SET_ENGLISH"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_VS_VAR_INC, "AP_VS_VAR_INC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_VS_VAR_DEC, "AP_VS_VAR_DEC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_VS_HOLD, "AP_VS_HOLD"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_VS_ON, "AP_VS_ON"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_VS_OFF, "AP_VS_OFF"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_VS_SET, "AP_VS_SET"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_APR_HOLD, "AP_APR_HOLD"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_BC_HOLD, "AP_BC_HOLD"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_APR_HOLD_ON, "AP_APR_HOLD_ON"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_APR_HOLD_OFF, "AP_APR_HOLD_OFF"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_LOC_HOLD_ON, "AP_LOC_HOLD_ON"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_AP_LOC_HOLD_OFF, "AP_LOC_HOLD_OFF"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_VOR1_OBI_INC, "VOR1_OBI_INC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_VOR1_OBI_DEC, "VOR1_OBI_DEC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_KOHLSMAN_SET, "KOHLSMAN_SET"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_KOHLSMAN_SET, "KOHLSMAN_INC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_KOHLSMAN_SET, "KOHLSMAN_DEC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_BAROMETRIC, "BAROMETRIC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_HEADING_BUG_INC, "HEADING_BUG_INC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_HEADING_BUG_DEC, "HEADING_BUG_DEC"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_DME_TOGGLE, "TOGGLE_DME");