void OwnedData<std::string>::registerWrite() { this->m_pDataRef = XPLMRegisterDataAccessor( this->m_dataRefIdentifier.c_str(), xplmType_Data, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, writeFuncStr, NULL, this ); ensureValid(); }
void OwnedData<bool>::registerRead() { this->m_pDataRef = XPLMRegisterDataAccessor( this->m_dataRefIdentifier.c_str(), xplmType_Int, 0, readFunc<int>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, this, NULL ); ensureValid(); }
void OwnedData<double>::registerWrite() { this->m_pDataRef = XPLMRegisterDataAccessor( this->m_dataRefIdentifier.c_str(), xplmType_Double, 1, NULL, NULL, NULL, NULL, NULL, writeFunc<double>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, this ); ensureValid(); }
void OwnedData<double>::registerRead() { this->m_pDataRef = XPLMRegisterDataAccessor( this->m_dataRefIdentifier.c_str(), xplmType_Double, 0, NULL, NULL, NULL, NULL, readFunc<double>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, this, NULL); ensureValid(); }
void OwnedData<std::string>::registerRead() { this->m_pDataRef = XPLMRegisterDataAccessor( this->m_dataRefIdentifier.c_str(), xplmType_Data, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, readFuncStr, NULL, this, NULL ); ensureValid(); }
void OwnedData<float>::registerReadWrite() { this->m_pDataRef = XPLMRegisterDataAccessor( this->m_dataRefIdentifier.c_str(), xplmType_Float, 1, NULL, NULL, readFunc<float>, writeFunc<float>, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, this, this ); ensureValid(); }
int XPlanePlugin::pluginStart(char * outName, char * outSig, char *outDesc) { // Set plugin info INFO << "Plugin started"; strcpy(outName, "ExtPlane"); strcpy(outSig, "org.vranki.extplaneplugin"); strcpy(outDesc, "Read and write X-Plane datarefs from external programs using TCP sockets."); // Init application and server app = new QCoreApplication(argc, &argv); server = new TcpServer(this, this); connect(server, SIGNAL(setFlightLoopInterval(float)), this, SLOT(setFlightLoopInterval(float))); // Register the nav custom data accessors XPLMRegisterDataAccessor("extplane/navdata/5km", xplmType_Data, // The types we support 0, // Writable NULL, NULL, // Integer accessors NULL, NULL, // Float accessors NULL, NULL, // Doubles accessors NULL, NULL, // Int array accessors NULL, NULL, // Float array accessors NavCustomData::DataCallback_5km, NULL, // Raw data accessors NULL, NULL); // Refcons not used XPLMRegisterDataAccessor("extplane/navdata/20km", xplmType_Data, // The types we support 0, // Writable NULL, NULL, // Integer accessors NULL, NULL, // Float accessors NULL, NULL, // Doubles accessors NULL, NULL, // Int array accessors NULL, NULL, // Float array accessors NavCustomData::DataCallback_20km, NULL, // Raw data accessors NULL, NULL); // Refcons not used XPLMRegisterDataAccessor("extplane/navdata/100km", xplmType_Data, // The types we support 0, // Writable NULL, NULL, // Integer accessors NULL, NULL, // Float accessors NULL, NULL, // Doubles accessors NULL, NULL, // Int array accessors NULL, NULL, // Float array accessors NavCustomData::DataCallback_100km, NULL, // Raw data accessors NULL, NULL); // Refcons not used app->processEvents(); return 1; }
//============================================================================== // Initialize radio transmission simulation //============================================================================== void radiosys_initialize() { int i; #if (!defined(DEDICATED_SERVER)) && (!defined(ORBITER_MODULE)) XPLMRegisterDataAccessor( "xsp/radio/serial/channel",xplmType_FloatArray,1,0,0,0,0,0,0,0,0, radiosys_read_channel_fv,radiosys_write_channel_fv,0,0, 0,0); XPLMRegisterDataAccessor( "xsp/radio/serial/send",xplmType_FloatArray,1,0,0,0,0,0,0,0,0, 0,radiosys_send_fv,0,0, 0,0); XPLMRegisterDataAccessor( "xsp/radio/serial/recv",xplmType_FloatArray,1,0,0,0,0,0,0,0,0, radiosys_recv_fv,0,0,0, 0,0); #endif //Function to transmit arbitrary data lua_createtable(L,0,32); lua_setglobal(L,"RadioAPI"); //Transmit from a vessel to all other vessels highlevel_addfunction("RadioAPI","Transmit",radiosys_highlevel_transmit); //Read data received by this vessel highlevel_addfunction("RadioAPI","Receive",radiosys_highlevel_receive); //Writes data directly into vessels receive buffer. Used by networking when receiving data from remote server highlevel_addfunction("RadioAPI","WriteReceiveBuffer",radiosys_highlevel_write_vessel_recvbuffer); //Mark channel as receiveable for the vessel highlevel_addfunction("RadioAPI","SetCanChannelReceive",radiosys_highlevel_set_canreceive); //Setup channels for (i = 0; i < RADIOSYS_MAX_CHANNELS; i++) { radiosys_channels[i].prev_time = 0.0; radiosys_channels[i].frequency = radiosys_channel_allocation[i*2+0]; radiosys_channels[i].bps = (int)(radiosys_channel_allocation[i*2+1]*1000); } //Reset radio system timing radiosys_time = 0.0; }
// ***** Process Switch Panel Datareferences ***** void process_switch_register_xsaitekpanels_datareference() { SwitchStartOffOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/startoff/status", xplmType_Int, 1, SwitchStartOffPositionGetDataiCallback, SwitchStartOffPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchStartRightOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/startright/status", xplmType_Int, 1, SwitchStartRightPositionGetDataiCallback, SwitchStartRightPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchStartLeftOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/startleft/status", xplmType_Int, 1, SwitchStartLeftPositionGetDataiCallback, SwitchStartLeftPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchStartBothOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/startboth/status", xplmType_Int, 1, SwitchStartBothPositionGetDataiCallback, SwitchStartBothPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchStartStartOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/startstart/status", xplmType_Int, 1, SwitchStartStartPositionGetDataiCallback, SwitchStartStartPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchBatOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/bat/status", xplmType_Int, 1, SwitchBatPositionGetDataiCallback, SwitchBatPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchAltOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/alt/status", xplmType_Int, 1, SwitchAltPositionGetDataiCallback, SwitchAltPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchAvOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/av/status", xplmType_Int, 1, SwitchAvPositionGetDataiCallback, SwitchAvPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchFuelOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/fuel/status", xplmType_Int, 1, SwitchFuelPositionGetDataiCallback, SwitchFuelPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchDiceOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/dice/status", xplmType_Int, 1, SwitchDicePositionGetDataiCallback, SwitchDicePositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchPitotOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/pitot/status", xplmType_Int, 1, SwitchPitotPositionGetDataiCallback, SwitchPitotPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchGearUpOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/gearup/status", xplmType_Int, 1, SwitchGearUpPositionGetDataiCallback, SwitchGearUpPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchGearDnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/geardn/status", xplmType_Int, 1, SwitchGearDnPositionGetDataiCallback, SwitchGearDnPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchCowlOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/cowl/status", xplmType_Int, 1, SwitchCowlPositionGetDataiCallback, SwitchCowlPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchPanelOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/panel/status", xplmType_Int, 1, SwitchPanelPositionGetDataiCallback, SwitchPanelPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchBeaconOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/beacon/status", xplmType_Int, 1, SwitchBeaconPositionGetDataiCallback, SwitchBeaconPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchNavOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/nav/status", xplmType_Int, 1, SwitchNavPositionGetDataiCallback, SwitchNavPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchStrobeOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/strobe/status", xplmType_Int, 1, SwitchStrobePositionGetDataiCallback, SwitchStrobePositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchTaxiOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/taxi/status", xplmType_Int, 1, SwitchTaxiPositionGetDataiCallback, SwitchTaxiPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); SwitchLandingOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/switchpanel/landing/status", xplmType_Int, 1, SwitchLandingPositionGetDataiCallback, SwitchLandingPositionSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); return; }
// ***** Switch Data Process ***** void process_multi_panel_datareferences() { MultiAltSwitchOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/altswitch/status", xplmType_Int, 1, MultiAltSwitchStatusGetDataiCallback, MultiAltSwitchStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiVsSwitchOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/vsswitch/status", xplmType_Int, 1, MultiVsSwitchStatusGetDataiCallback, MultiVsSwitchStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiIasSwitchOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/iasswitch/status", xplmType_Int, 1, MultiIasSwitchStatusGetDataiCallback, MultiIasSwitchStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiHdgSwitchOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/hdgswitch/status", xplmType_Int, 1, MultiHdgSwitchStatusGetDataiCallback, MultiHdgSwitchStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiCrsSwitchOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/crsswitch/status", xplmType_Int, 1, MultiCrsSwitchStatusGetDataiCallback, MultiCrsSwitchStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiKnobIncOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/knobinc/status", xplmType_Int, 1, MultiKnobIncStatusGetDataiCallback, MultiKnobIncStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiKnobDecOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/knobdec/status", xplmType_Int, 1, MultiKnobDecStatusGetDataiCallback, MultiKnobDecStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiAtOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/at/status", xplmType_Int, 1, MultiAtStatusGetDataiCallback, MultiAtStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiTrimUpOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/trimup/status", xplmType_Int, 1, MultiTrimUpStatusGetDataiCallback, MultiTrimUpStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiTrimDnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/trimdn/status", xplmType_Int, 1, MultiTrimDnStatusGetDataiCallback, MultiTrimDnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiFlapsUpOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/flapsup/status", xplmType_Int, 1, MultiFlapsUpStatusGetDataiCallback, MultiFlapsUpStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiFlapsDnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/flapsdn/status", xplmType_Int, 1, MultiFlapsDnStatusGetDataiCallback, MultiFlapsDnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiApBtnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/apbtn/status", xplmType_Int, 1, MultiApBtnStatusGetDataiCallback, MultiApBtnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiHdgBtnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/hdgbtn/status", xplmType_Int, 1, MultiHdgBtnStatusGetDataiCallback, MultiHdgBtnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiNavBtnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/navbtn/status", xplmType_Int, 1, MultiNavBtnStatusGetDataiCallback, MultiNavBtnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiIasBtnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/iasbtn/status", xplmType_Int, 1, MultiIasBtnStatusGetDataiCallback, MultiIasBtnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiAltBtnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/altbtn/status", xplmType_Int, 1, MultiAltBtnStatusGetDataiCallback, MultiAltBtnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiVsBtnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/vsbtn/status", xplmType_Int, 1, MultiVsBtnStatusGetDataiCallback, MultiVsBtnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiAprBtnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/aprbtn/status", xplmType_Int, 1, MultiAprBtnStatusGetDataiCallback, MultiAprBtnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); MultiRevBtnOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/multipanel/revbtn/status", xplmType_Int, 1, MultiRevBtnStatusGetDataiCallback, MultiRevBtnStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); }
// ***** Radio3 Data Process ***** void process_radio3_upper_datareference() { Rad3UpperCom1OwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprcom1/status", xplmType_Int, 1, Rad3UprCom1StatusGetDataiCallback, Rad3UprCom1StatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperCom2OwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprcom2/status", xplmType_Int, 1, Rad3UprCom2StatusGetDataiCallback, Rad3UprCom2StatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperNav1OwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprnav1/status", xplmType_Int, 1, Rad3UprNav1StatusGetDataiCallback, Rad3UprNav1StatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperNav2OwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprnav2/status", xplmType_Int, 1, Rad3UprNav2StatusGetDataiCallback, Rad3UprNav2StatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperAdfOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3upradf/status", xplmType_Int, 1, Rad3UprAdfStatusGetDataiCallback, Rad3UprAdfStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperDmeOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprdme/status", xplmType_Int, 1, Rad3UprDmeStatusGetDataiCallback, Rad3UprDmeStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperXpdrOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprxpdr/status", xplmType_Int, 1, Rad3UprXpdrStatusGetDataiCallback, Rad3UprXpdrStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperCorseIncOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprcorseinc/status", xplmType_Int, 1, Rad3UprCorseIncStatusGetDataiCallback, Rad3UprCorseIncStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperCorseDecOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprcorsedec/status", xplmType_Int, 1, Rad3UprCorseDecStatusGetDataiCallback, Rad3UprCorseDecStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperFineIncOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprfineinc/status", xplmType_Int, 1, Rad3UprFineIncStatusGetDataiCallback, Rad3UprFineIncStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperFineDecOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3uprfinedec/status", xplmType_Int, 1, Rad3UprFineDecStatusGetDataiCallback, Rad3UprFineDecStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); Rad3UpperActStbyOwnedDataRef = XPLMRegisterDataAccessor("bgood/xsaitekpanels/radiopanel/rad3upractstby/status", xplmType_Int, 1, Rad3UprActStbyStatusGetDataiCallback, Rad3UprActStbyStatusSetDataiCallback, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); }