LVARS: Interfacer des avions add-ons: C'EST POSSIBLE !

FSUIPC / Emulateurs de claviers & souris / IOCP, etc...

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede hirem » Sam 16 Mar 2013 18:01

C'est bon ...pour l'instant je n'ai que un switch cablé mais je vois bien apparaitre les deux boutons sous FSUIPC et mon inverter peut maintenant être en position 1 ou off. Je vais cabler l'autre moitié pour faire la totale mais j'ai compris le principe....super, enfin l' INVERTER est maté applaublanc applaublanc applaublanc
Merci BOB
Rémy
Avatar de l’utilisateur
hirem
 
Messages: 462
Inscription: 20/04/09

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede Honoresia » Sam 10 Aoû 2013 09:10

Super ce post, mon étude de projet avance. Je fais de simples tests sur le Diamond DA20-100 avant de voir ce qu'il est possible sur le flight1 B200.

Pour l'instant, je butte sur la lecture d'une température d'huile sur DA20-100 Katana 4X.

J'ai fait le listing via FSUIPC comme décrit au premier post.
Sans tout y mettre (long), j'ai repéré ceci :
[...]
2982848 L:TEMPERATURE_CYLINDER_HEAD_CELSIUS = 94.858700
2982848 L:TEMPERATURE_CYLINDER_HEAD = 202.745660
2982848 L:TEMPERATURE_OIL = 152.184523
2982848 L:PRESSURE_OIL = 35.819967
[...]

Donc pour ce test je veux lire la valeur de la température d'huile afin de reprendre cela avec panel builder. La finalité est d'afficher la valeur de l'aiguille qui tremble, car avec la jauge de base de panel builder on a une valeur lisse et stable.

Alors, j'ai programmé le script LUA, afin d'envoyer la température d'huile dans un offset. Le .LUA est lancé via FSUIPC.ini

Avec panel builder je ne sais pas comment changer l'offset. Je sais ou cela ce trouve, mais il y a plusieurs DATA POINTS et je ne sais pas à quoi cela correspond...

voici mon script LUA :

while 1 do
-- LECTURE DES LVARS
rpm = ipc.readLvar("L:TEMPERATURE_OIL")
-- LECTURE DES OFFSETS

-- ECRITURE DANS DES OFFSETS LIBRES
ipc.writeSD(0X66C8, _oil_test)

-- A QUOI CA SERT ?
ipc.sleep(68)

--
end
Honoresia
 
Messages: 23
Inscription: 6/08/13

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede stevelep » Sam 10 Aoû 2013 11:38

Salut,

Oui c'est une bonne méthode pour interfacer les add-ons.
On a pas beaucoup d'expérience là-dessus, il y a encore des choses à tester et à découvrir chouettedoights
Merci de partager tes codes et tes expériences.

Les L:VARS repérée correspondent sûrement à l'aiguille de la gauge et les tremblements
devraient être aussi reproduit.
Parfois il y a des calculs dans les gauges et donc plusieurs L:VARS, valeur de base, valeur calculée
avec les tremblements etc... regarde bien toute la liste.
Tu peux voir les valeurs envoyée dans FSUIPC avec FSInterrogate pour voir comment ca bouge
et si il faut utiliser un facteur (x10 X100 ou X1000) pour que la valeur contienne aussi les
chiffres après la virgule.

Je ne connais pas Panel Builder. Mets nous une copie d'écran et un lien vers le manuel.

-- A QUOI CA SERT ?
ipc.sleep(68)


Je sais pas a quoi ça sert, c'est du copié-collé depuis le manuel de FSUIPC.
Mais je pense qu'il faut le laisser.

Voila

Tient nous au courant

BOB
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede Honoresia » Sam 10 Aoû 2013 12:07

Voici les Lvars pour le Flight1 B200.

Ça pourrait intéresser plus d'un ! Il faudrait alors lister ce qui sera exploitable dans cet aéronef en vue d'interfacer. Un bon compromis pour un cockpit avec cet addon serait 3 écran tactiles pour simplifier les affichages glass cockpit, et du SIOC pour les switches panels.

Code: Tout sélectionner

592913 Aircraft="F1_Kingair_B200"
   592913    Panel includes these local variables:
   592913       L:GCU477Cursor = 0.000000
   592913       L:B200_rotary_PEDLITE_knob = 0.000000
   592913       L:F1C182T_lyoke_hide = 1.000000
   592913       L:F1C182T_ryoke_hide = 0.000000
   592913       L:B200_rotary_PNLLITE_knob = 0.000000
   592929       L:B200_rocker_YOKECLOCK_switch = 0.000000
   592929       L:B200CAirCondN1Low = 0.000000
   592929       L:B200CBattCharge = 0.000000
   592929       L:B200CBrakeDeiceOn = 0.000000
   592929       L:B200CCabinDoor = 0.000000
   592929       L:B200CDuctOTemp = 0.000000
   592929       L:B200CElecHeatOn = 0.000000
   592929       L:B200CElecTrimOff = 0.000000
   592929       L:B200CExtPwr = 0.000000
   592929       L:B200CFuelCrossfeed = 0.000000
   592929       L:B200CHydFluidLow = 0.000000
   592929       L:B200CLAutofeather = 0.000000
   592929       L:B200CLBld = 0.000000
   592929       L:B200CLChipDet = 0.000000
   592929       L:B200CLdgTaxiLt = 0.000000
   592929       L:B200CLEngAntiIce = 0.000000
   592929       L:B200CLEngIceFail = 0.000000
   592929       L:B200CLGen = 0.000000
   592929       L:B200CLgndOff = 0.000000
   592929       L:B200CLIgnition = 0.000000
   592929       L:B200CPassOxyOn = 0.000000
   592929       L:B200CPropSync = 0.000000
   592929       L:B200CRAutofeather = 0.000000
   592929       L:B200CRBld = 0.000000
   592929       L:B200CRChipDet = 0.000000
   592929       L:B200CREngAntiIce = 0.000000
   592929       L:B200CREngIceFail = 0.000000
   592929       L:B200CRGen = 0.000000
   592929       L:B200CRIgnition = 0.000000
   592929       L:B200CRvsNotReady = 0.000000
   592929       L:B200CBlank = 0.000000
   592929       L:B200WAltWarn = 0.000000
   592929       L:B200WAPDisconnect = 0.000000
   592929       L:B200WAPTrimFail = 0.000000
   592929       L:B200WCabinDoor = 0.000000
   592929       L:B200WLBlAirFail = 0.000000
   592929       L:B200WLChipDetect = 0.000000
   592929       L:B200WLEngFire = 0.000000
   592929       L:B200WLFuelPress = 0.000000
   592929       L:B200WLGenOvht = 0.000000
   592929       L:B200WLOilPress = 0.000000
   592929       L:B200WRBlAirFail = 0.000000
   592929       L:B200WRChipDetect = 0.000000
   592929       L:B200WREngFire = 0.000000
   592929       L:B200WRFuelPress = 0.000000
   592929       L:B200WRGenOvht = 0.000000
   592944       L:B200WROilPress = 0.000000
   592944       L:B200WBlank = 0.000000
   592944       L:B200MCaution = 0.000000
   592944       L:B200MWarning = 0.000000
   592944       L:B200LEngFireWarn = 0.000000
   592944       L:B200LEngFireOk = 0.000000
   592944       L:B200LEngFireD = 0.000000
   592944       L:B200REngFireWarn = 0.000000
   592944       L:B200REngFireD = 0.000000
   592944       L:B200REngFireOk = 0.000000
   592944       L:G1000710ALTLight = 0.000000
   592944       L:G1000710APLight = 0.000000
   592944       L:G1000710APRLight = 0.000000
   592944       L:G1000710BCLight = 0.000000
   592944       L:G1000710FDLight = 0.000000
   592944       L:G1000710FLCLight = 0.000000
   592944       L:G1000710HDGLight = 0.000000
   592944       L:G1000710NAVLight = 0.000000
   592944       L:G1000710VSLight = 0.000000
   592944       L:G1000710YDLight = 0.000000
   592944       L:B200LFuelNoTransfer = 0.000000
   592944       L:B200RFuelNoTransfer = 0.000000
   592944       L:B200nosmokingfsb_sw = 1.000000
   592944       L:B200_Oxymaskvis = 0.000000
   592944       L:ReadLightR2Switch = 0.000000
   592944       L:B200IceLight = 0.000000
   592944       L:WingIcingLeftPercent = 0.000000
   592944       L:Oxycontrolvalve = 0.000000
   592944       L:CabinAltExceed = 0.000000
   592944       L:B200_rotary_INSLITE_knob = 0.000000
   592944       L:WSIcingRightPercent = 0.000000
   592944       L:WSIcingLeftPercent = 0.000000
   592944       L:G1000PaLight = 0.000000
   592944       L:G1000MusicLight = 0.000000
   592944       L:G1000Com1Light = 1.000000
   592960       L:G1000Com2MicLight = 0.000000
   592960       L:G1000Nav1Light = 0.000000
   592960       L:G1000Com2Light = 0.000000
   592960       L:G1000Com3MicLight = 0.000000
   592960       L:G1000AdfLight = 0.000000
   592960       L:G1000Nav2Light = 0.000000
   592960       L:G1000Com3Light = 0.000000
   592960       L:G1000HiSensLight = 0.000000
   592960       L:G1000DmeLight = 0.000000
   592960       L:G1000TelLight = 0.000000
   592960       L:G1000AuxLight = 0.000000
   592960       L:G1000SpkrLight = 0.000000
   592960       L:G1000MkrMuteLight = 1.000000
   592960       L:G1000Com1MicLight = 1.000000
   592960       L:G1000ManSqLight = 0.000000
   592960       L:G1000IntrComLight = 0.000000
   592960       L:G1000PlayLight = 0.000000
   592960       L:G1000RecLight = 0.000000
   592960       L:B200_rotary_AVILITE_knob = 0.000000
   592960       L:B200_rotary_OVDLITE_knob = 0.000000
   592960       L:B200_rotary_STBYLITE_knob = 0.000000
   592960       L:B200_rotary_PFLLITE_knob = 0.000000
   592960       L:IsModelHere = 1.000000
   592960       L:IsModelHereChk = 1.000000
   592960       L:TIEDOWN = 0.000000
   592960       L:F1MAINVC = 0.000000
   592960       L:ReadLightR4Switch = 0.000000
   592960       L:ReadLightR5Switch = 0.000000
   592960       L:ReadLightL1Switch = 0.000000
   592960       L:ReadLightL2Switch = 0.000000
   592960       L:ReadLightR1Switch = 0.000000
   592960       L:ReadLightL3Switch = 0.000000
   592960       L:ReadLightR3Switch = 0.000000
   592960       L:ReadLightL5Switch = 0.000000
   592960       L:B200LogoLight = 0.000000
   592960       L:B200TickStrobe = 0.000000
   592960       L:WHEELSCHOCKED = 0.000000
   592960       L:SPLATSDISABLED = 0.000000
   592960       L:GPWSACTIVE = 1.000000
   592960       L:PFDToggled = 0.000000
   592960       L:MFDToggled = 0.000000
   592960       L:map_ZoomStep = 0.000000
   592960       L:map_ZoomFactor = 0.000000
   592960       L:MapInit = 0.000000
   592960       L:LayerAirports = 0.000000
   592960       L:LayerAirspaces = 0.000000
   592960       L:LayerTerrain = 0.000000
   592960       L:LayerVORs = 0.000000
   592960       L:LayerILSs = 0.000000
   592960       L:LayerNDBs = 0.000000
   592960       L:LayerLowAirways = 0.000000
   592975       L:LayerTags = 0.000000
   592975       L:LayerCompass = 0.000000
   592975       L:LayerIntersections = 0.000000
   592975       L:LayerRangeRings = 0.000000
   592975       L:VehicleObjectDetail = 0.000000
   592975       L:Filter = 0.000000
   592975       L:test1 = 0.015456
   592975       L:test2 = 0.072361
   592975       L:test3 = 0.000000
   592975       L:test4 = 0.072361
   592975       L:test5 = 0.000000
   592975       L:test6 = 0.070900
   592975       L:test7 = 0.009453
   592975       L:test8 = 0.000000
   592975       L:test9 = 29.398746
   592975       L:test10 = 0.000000
   592975       L:test11 = 0.000000
   592975       L:Paused = 0.000000
   592975       L:WriteToAccuFeel = 1.000000
   592975       L:AccuFeelOn = 1.000000
   592975       L:AF_StallAoA = 18.315419
   592975       L:AF_MaxMach = 0.550000
   592975       L:AF_MaxIAS = 363.707741
   592975       L:AF_CabinIntegrity = 80.000000
   592975       L:AF_WindVolume = 50.000000
   592975       L:AF_ShockAbsorption = 43.321959
   592975       L:AF_AircraftSize = 33.321959
   592975       L:MasterAccuFeelOn = 1.000000
   592975       L:AF_MasterVolume = 75.000000
   592975       L:AF_DragRumble = 50.000000
   592975       L:AF_BrakeSqueal = 50.000000
   592975       L:AF_TireScreech = 50.000000
   592975       L:AF_PropVolume = 50.000000
   592975       L:AF_ResetAircraftData = 0.000000
   592975       L:HighestRPM = 0.000000
   592975       L:OnJacks = 0.000000
   592975       L:AF_OpenCockpit = 0.000000
   592975       L:AF_Stall_Instability = 0.000000
   592975       L:AF_AutoTurbulence = 1.000000
   592975       L:AF_Chop = 50.000000
   592975       L:AF_Gusts = 50.000000
   592975       L:AF_ClearAirTurbulence = 50.000000
   592975       L:AF_WaterDrag = 50.000000
   592975       L:AF_AutoWaves = 1.000000
   592975       L:AF_WaveSize = 25.000000
   592975       L:AF_WaveSpeed = 50.000000
   592975       L:AF_TireSideForces = 50.000000
   592975       L:AF_AircraftVolume = 75.000000
   592991       L:AF_AirON = 1.000000
   592991       L:AF_LandON = 1.000000
   592991       L:AF_SeaON = 1.000000
   592991       L:AF_GlobalLandON = 1.000000
   592991       L:AF_GlobalAirON = 1.000000
   592991       L:AF_GlobalSeaON = 1.000000
   592991       L:AF_GlobalTurbulenceStrength = 50.000000
   592991       L:AF_GlobalTurbulenceVolume = 50.000000
   592991       L:CustomFMEnabledByLua = 1.000000
   592991       L:AccuSim = 0.000000
   592991       L:MDL_0X01 = 0.000000
   592991       L:PicArmrest = 0.000000
   592991       L:WIPER STATE = 0.000000
   592991       L:WIPER POS = 0.000000
   592991       L:WIPER SPEED = 0.000000
   592991       L:FdeckdoorTwo = 0.000000
   592991       L:FdeckdoorOne = 0.000000
   592991       L:B200_copilotwindow = 0.000000
   592991       L:CpArmrest = 0.000000
   592991       L:B200_IceVibration = 0.000000
   592991       L:B200_VibrationIce = 0.000000
   592991       L:B200_pilotwindow = 0.000000
   592991       L:F1C182T_pilotwindow = 0.000000
   592991       L:F1C182T_copilotwindow = 0.000000
   592991       L:B200BATTSWITCH = 1.000000
   592991       L:B200LEFTGEN = 1.000000
   592991       L:B200RIGHTGEN = 1.000000
   592991       L:B200PRESSDUMP = 1.000000
   592991       L:B200LSTARTER = 1.000000
   592991       L:B200RSTARTER = 1.000000
   592991       L:B200AUTOFEATHER = 1.000000
   592991       L:B200CROSSFEED = 1.000000
   592991       L:B200windshieldice_left_sw = 1.000000
   592991       L:B200windshieldice_right_sw = 1.000000
   592991       L:B200surfacedeice_sw = 1.000000
   592991       L:B200OxygenAuto = 1.000000
   592991       L:B200_Prop0Still = 0.000000
   592991       L:B200_Prop1Still = 0.000000
   592991       L:B200LPROPSTARTER = 0.000000
   592991       L:B200RPROPSTARTER = 0.000000
   592991       L:B200needle_cabin_alt_diff = 98.117581
   592991       L:B200needle_cabin_alt_rate = -0.000000
   592991       L:B200needle_cabin_press_diff = 1.940950
   592991       L:B200needle_cabin_alt_dial = 30.000000
   592991       L:B200LBleedSwitch = 0.000000
   592991       L:B200RBleedSwitch = 0.000000
   592991       L:B200StbyAttitudePitch = -11.029115
   592991       L:B200StbyAttitudeBank = 2.217839
   592991       L:B200SuctionPressure = 4.900000
   592991       L:B200StbyAttCaged = 0.000000
   592991       L:B200_firetest_knob = 0.000000
   592991       L:B200LEngFireExt = 0.000000
   592991       L:B200REngFireExt = 0.000000
   593007       L:B200brakeice_sw = 0.000000
   593007       L:B200LAuxTransfer = 0.000000
   593007       L:B200RAuxTransfer = 0.000000
   593007       L:B200OxygenMan = 0.000000
   593007       L:B200WTestSwitch = 0.000000
   593007       L:B200testLXFR = 0.000000
   593007       L:B200testRXFR = 0.000000
   593007       L:B200LStdbyPump = 0.000000
   593007       L:B200LFuelShutoff = 0.000000
   593007       L:B200RStdbyPump = 0.000000
   593007       L:B200RFuelShutoff = 0.000000
   593007       L:F1B200_MWC = 0.000000
   593007       L:B200HydFluidSensorSwitch = 0.000000
   593007       L:F1B200_MCC = 0.000000
   593007       L:B200_cabintempmode_knob = 0.000000
   593007       L:B200ElecGuard = 0.000000
   593007       L:F1B200_FUEL_MAINAUX = 0.000000
   593007       L:B200LFuelNeedle = 195.000006
   593007       L:B200RFuelNeedle = 195.000006
   593007       L:B200_EngVibration = 0.000000
   593007       L:B200prop_amps_sw = 0.000000
   593007       L:B200prop_amps_val = 0.000000
   593007       L:B200battload = -0.000000
   593007       L:B200RudderBoost = 0.000000
   593007       L:B200fuelvent_left_sw = 0.000000
   593007       L:B200fuelvent_right_sw = 0.000000
   593007       L:B200stallwarn_sw = 0.000000
   593007       L:B200needle_amps_gen1 = 27.750000
   593007       L:B200needle_amps_gen2 = 27.750000
   593007       L:B200needle_volts_gen1 = 28.000000
   593007       L:B200needle_volts_gen2 = 28.000000
   593007       L:B200startbright_sw = 0.000000
   593007       L:TDSS = 0.000000
   593007       L:LEVER POS = 0.000000
   593007       L:B200LAutoIgn = 0.000000
   593007       L:B200RAutoIgn = 0.000000
   593007       L:B200oxypress_val = 2000.000000
   593007       L:B200stallwarntest_sw = 0.000000
   593007       L:F1B200_CLOCKTIMER = 0.000000
   593007       L:F1B200_STSP = 0.000000
   593007       L:F1B200_RESET = 0.000000
   593007       L:B200_micoxypilot = 0.000000
   593007       L:B200PilotAir = 0.000000
   593007       L:B200_ice_emer = 0.000000
   593007       L:B200REngFireGuard = 0.000000
   593007       L:ApCrsKnobRight = 0.000000
   593007       L:B200propgov_sw = 0.000000
   593007       L:SunShadeLeft = 0.000000
   593007       L:B200CabinAir = 0.000000
   593007       L:B200CopilotAir = 0.000000
   593007       L:B200knob_rate = 5.000000
   593022       L:B200coffeefurn_sw = 0.000000
   593022       L:CabinTableRight = 0.000000
   593022       L:B200_vane_manual = 0.000000
   593022       L:B200DefrostAir = 0.000000
   593022       L:B200_Vibration = 0.000000
   593022       L:B200_micoxycopilot = 0.000000
   593022       L:B200RPushVolts = 0.000000
   593022       L:EmergencyThrottleInUse = 0.000000
   593022       L:Engine1ThrottlePosition = 14.159063
   593022       L:B200Eng2ThrottlePos = 14.000000
   593022       L:B200LPushVolts = 0.000000
   593022       L:ApHdgKnob = 0.000000
   593022       L:B200LEngFireGuard = 0.000000
   593022       L:SunShadeRight = 0.000000
   593022       L:CabinTableLeft = 0.000000
   593022       L:ApCrsKnob = 0.000000
   593022       L:B200ventblower_sw = 0.000000
   593022       L:ApAltSelKnob = 0.000000
   593022       L:B200_cabintemp_knob = 0.000000
   593022       L:B200prop_amps_innerouter_sw = 0.000000
   593022       L:B200manualtemp_sw = 0.000000
   593022       L:B200aftblower_sw = 0.000000
   593022       L:B200_elevtrim_off = 0.000000
   593022       L:B200knob_altitude = 0.000000
   593022       L:WIPER SWITCH = 0.000000
   593022       L:B200elecricalheat_sw = 0.000000
   593022       L:LITTtemp = 609.792236
   593022       L:RITTtemp = 609.792236
   593022       L:G1000AP = 0.000000
   593022       L:G1000FD = 0.000000
   593022       L:G1000HDG = 0.000000
   593022       L:G1000ALT = 0.000000
   593022       L:G1000NAV = 0.000000
   593022       L:G1000VNV = 0.000000
   593022       L:G1000APR = 0.000000
   593022       L:G1000BC = 0.000000
   593022       L:G1000VS = 0.000000
   593022       L:G1000UP = 0.000000
   593022       L:G1000FLC = 0.000000
   593022       L:G1000DN = 0.000000
   593022       L:G1000GA = 0.000000
   593022       L:G1000ComFlipPFD = 0.000000
   593022       L:G1000ComFlipMFD = 0.000000
   593022       L:G1000NavFlipPFD = 0.000000
   593022       L:G1000NavFlipMFD = 0.000000
   593022       L:G1000FMSPushPFD = 0.000000
   593022       L:G1000FMSPushMFD = 0.000000
   593022       L:G1000HdgPushPFD = 0.000000
   593022       L:G1000HdgPushMFD = 0.000000
   593022       L:G1000CrsPushPFD = 0.000000
   593038       L:G1000CrsPushMFD = 0.000000
   593038       L:G1000BaroPushPFD = 0.000000
   593038       L:G1000ComPushPFD = 0.000000
   593038       L:G1000ComPushMFD = 0.000000
   593038       L:G1000NavPushPFD = 0.000000
   593038       L:G1000NavPushMFD = 0.000000
   593038       L:G1000Com1 = 1.000000
   593038       L:G1000Com2 = 0.000000
   593038       L:G1000Com1Mic = 0.000000
   593038       L:G1000Com2Mic = 0.000000
   593038       L:G1000Pa = 0.000000
   593038       L:G1000Tel = 0.000000
   593038       L:G1000Music = 0.000000
   593038       L:G1000Spkr = 0.000000
   593038       L:G1000MkrMute = 0.000000
   593038       L:G1000HiSens = 0.000000
   593038       L:G1000Dme = 0.000000
   593038       L:G1000Adf = 0.000000
   593038       L:G1000Nav1 = 0.000000
   593038       L:G1000Nav2 = 0.000000
   593038       L:G1000Aux = 0.000000
   593038       L:G1000Rec = 0.000000
   593038       L:G1000Play = 0.000000
   593038       L:G1000IntrCom = 0.000000
   593038       L:G1000ManSq = 0.000000
   593038       L:F1G1000APALT = 1500.000000
   593038       L:RotaryTestKnob = 0.000000
   593038       L:MustangInstrLt = 0.000000
   593038       L:MOUSEPOSY4 = 678.000000
   593038       L:PLEVER2 POS = 81.500000
   593038       L:MOUSEPOSY3 = 0.000000
   593038       L:PLEVER1 POS = 0.000000

Honoresia
 
Messages: 23
Inscription: 6/08/13

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede Honoresia » Sam 10 Aoû 2013 16:52

Bon çà y est j'ai réussi à lire Oil temp et Oil press du DA20-100 Katana via un script LUA, et de reverser cela dans un offset libre, comme décrit dans les premiers posts.

Maintenant avec panel builder, j'ai toujours une valeur lisse qui ne tremble pas avec le moteur. La valeur d'offset FSUIPC tremble bien quand à elle. Donc il faut que je creuse du côté de panel builder, je pense.

Code: Tout sélectionner

while 1 do

-- LECTURE DES LVARS
oil_press = ipc.readLvar("L:NEEDLE_OIL_PRESS")
oil_temp = ipc.readLvar("L:NEEDLE_OIL_TEMP")
-- LECTURE DES OFFSETS

-- ECRITURE DANS DES OFFSETS LIBRES
ipc.writeSD(0X66C8, oil_press)
ipc.writeSD(0X66C9, oil_temp)

-- TEMPS D'ATTENTE (RAFRAICHISSEMENT AVANT NOUVELLE BOUCLE)
ipc.sleep(100)

end



Le manuel de Panel Builder : http://simplugins.com/Panel_Builder_Manual.pdf

Capture d'image : http://www.jbussy.com/-/galleries/galer ... bae98587c0

Pardon je ne sais pas encore comment insérer une image mais je vais chercher...
Honoresia
 
Messages: 23
Inscription: 6/08/13

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede FiX » Sam 10 Aoû 2013 19:00

Réussir a lire une gauge et réinjecter la valeur dans un offset FSUIPC, c'est déjà du beau boulot!
Et ça ouvre pas mal de perspectives!
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede Honoresia » Sam 10 Aoû 2013 23:51

C'est fait ! ! !

J'arrive à lire une valeur de jauge spécifique au DA20. Bon on applaudit pas j'ai simplement appliqué la méthode du premier post, je ne mérite en rien !

OBJECTIF :
- Extraire des variables internes à un addon.
- Avec un superbe addon comme le DA20, pouvoir afficher sur mes instruments les "jauges aiguilles" avec les valeurs qui tremblent en fonction du moteur. Cela donne plus de vie au tableau de bord et avec un Buttkicker dans le siège çà devient plus immersif et moins cher que du full motion.

AVEC QUOI :
- Pour l'instrumentation virtuelle des jauges, j'utilise Panel Builder : 50€ la license + un écran LCD plaqué derrière votre MDF de tableau de bord, çà permet de programmer son affichage en 10min.

COMMENT :
1) Avec FSUIPC j'ai listé les variables locales de mon DA20-100 (via FSUIPC, avec le contrôle "List Local Panel Vars")
2) Dans cette longue liste (dans le fichier FSUIPC.txt situé dans le dossier modules de FSX), j'ai cherché pour ce test tout ce qui se rapporte à oil temp et oil press.
3) Dans cette longue liste, il a fallu déduire quelle était la valeur simulée de l'huile qui bougeait avec les vibrations du moteur. Pas forcément évident au premier coup d'oeil...
4) Afin de m'aider dans ma déduction, j'ai crée ce script qui permet d'extraire les variables locales, et l'astuce consiste à les diriger sur l'offset utilisé par défaut par Panel Builder pour la jauge de pression et température d'huile :

Code: Tout sélectionner

while 1 do

-- LECTURE DES LVARS
oil_press = ipc.readLvar("L:NEEDLE_OIL_PRESS") 
oil_temp = ipc.readLvar("L:NEEDLE_OIL_TEMP")

-- ECRITURE DANS DES OFFSETS UTILISES PAR PANEL BUILDER (REGARDER L'OFFSET DE LA JAUGE RECHERCHEE)
ipc.writeSD(0X08BA, oil_press) -- Par défaut Panel Builder pointe la pression d'huile sur 08BA
ipc.writeSD(0X08B8, oil_temp) -- Par défaut Panel Builder pointe la température d'huile sur 08B8

-- TEMPS D'ATTENTE (RAFRAICHISSEMENT AVANT NOUVELLE BOUCLE)
ipc.sleep(100)

end



J'ai alors programmé FSUIPC pour m'afficher dans dans la barre de titre les variables récupérées et j'ai constaté que pour ma pression et température d'huile c'était les variables "NEEDLE_OIL_PRESS" et "NEEDLE_OIL_TEMP qui simulaient les valeurs qui vibrent avec le moteur.

Comme le script extrait les variables locales et les redirige sur les offsets de jauges par défaut de Panel Builder, le travail est fini ! Panel Builder m'affiche un tableau de bord vivant qui bouge avec les vibration ! Coooool, on gagne un temps fou en interfaçage là !

POURQUOI PANEL BUILDER AU FAIT :
- tombé dessus par hasard alors fallait bien tester...
- pas chère comme solution.
- tout est déjà prêt pour mettre en réseau les pc et faire du multi écran. Rien à éditer dans la configuration par défaut.
- au niveau FPS, c'est top !
- pour du multi PC, pas besoin de deux FSX sur chaque PC. Le PC instrumentation n'a besoin QUE DE Panel Builder sur Windows !
Honoresia
 
Messages: 23
Inscription: 6/08/13

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede Honoresia » Dim 11 Aoû 2013 10:44

Bon en fait non, réinjecter des Lvars dans des offsets connus çà fou le bordel... Si je remet la Lvars du DA20 pression d'huile dans l'offset connu 08BA alors les calculs suivants de la pression ne sont plus bons et la valeur sort de ce qui est connu.

murrouge
Honoresia
 
Messages: 23
Inscription: 6/08/13

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede Chris91 » Dim 11 Aoû 2013 11:33

Bonjour Steve, merci affiche

Formidable post, qui ouvre vraiment des horizons, car moi aussi j'étais intéréssée par
ce projet d'interfacer mes autres avions. pour ne pas perdre ce post il est en pdf sur mon bureau !

Juste une petite question , avec ce principe crois tu qu'on peut aussi interfacer le PMDG ,se libérant ainsi
des contraintes de cet addons. et évitant ainsi d'avoir la suite Prosim 737 ?

Cordialement, rigolus
PC :Intel I7 3.700 OC: 4.4 -Waterc Corsair H100-RAM:16 Giga CG: 2 GTX 970 - CM:Asus Maximus extreme V -DD: SSD 256 go -SSD de 512go -1,5 To- usb 3.5 TO -3 écrans BENQ 120 Hz -3 écrans IIyama 1680*1050- HUB-display port -
Avatar de l’utilisateur
Chris91
 
Messages: 278
Inscription: 6/07/10

Re: Interfacer des avions add-ons: C'EST POSSIBLE !!!!

Messagede FiX » Dim 11 Aoû 2013 11:40

Honoresia a écrit:Bon en fait non, réinjecter des Lvars dans des offsets connus çà fou le bordel... Si je remet la Lvars du DA20 pression d'huile dans l'offset connu 08BA alors les calculs suivants de la pression ne sont plus bons et la valeur sort de ce qui est connu.

murrouge



Bienvenue dans le monde du home cockpit!
Tu vas voir que ce petit émoticône murrouge , va te servir trèèès souvent... cligneoeil
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

PrécédenteSuivante

Retourner vers Liaisons entreFS et les autres logiciels





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités