HHS81 / c182s

Cessna C182S (1996 model) for FlightGear
GNU General Public License v2.0
29 stars 9 forks source link

Replay not recording airspeed and rpm #319

Open ripley709 opened 4 years ago

ripley709 commented 4 years ago

When I fly the C182S and replay afterwards (Ctrl-R) then I have noticed that the airspeed and rpm instruments don't work. All other instruments seem to be working fine. Some code missing somewhere? I use Linux Mint. BR

wlbragg commented 4 years ago

A very brief examination shows a custom indicated-airspeed channel in the FDM. All the flight recorder entries for this aircraft are referring to "stock" or generic signals. The RPM may be modified as well in the "systems" folder. If that is the case some one may need to add those to "special case" properties to a new flight-recorder signals file. If you know anything about flight recorder signals and how to add them to the flight recorder, I think the devs here would take a PR If I ever get the time to dig into it, i might be able to submit a PR for it. It's really not that complicated, it just takes time to dig into the code to see what has been customized and then add that property to a custom flight-recorder entry. See the c172p flight recorder for how to add custom flight-recorder entries and files. You can usually work backwards from the instruments file that is using the property to identify the property being used and then add that property to the recorder files if it is indeed unique and not a default property in the recorder properties. As far as I can tell the default flight-recorder properties for these two instruments are in... /home/.../flightgear/fgdata/Aircraft/Generic/flightrecorder/components/engine-piston-prop.xml /home/.../flightgear/fgdata/Aircraft/Generic/flightrecorder/components/position.xml

ripley709 commented 4 years ago

No result after trying to add custom flight-recorder entry....

wlbragg commented 4 years ago

What did you try?

Indicated airspeed in c182s/Models/Instruments/Airspeed.xml commented out the default and instead uses...

<!--<indicated-speed-kts>instrumentation/airspeed-indicator/indicated-speed-kt</indicated-speed-kts>-->
<indicated-speed-kts>fdm/jsbsim/velocities/vias-kts</indicated-speed-kts><!-- does include error ccording POH Cessna 182S Page 5-9-->

So

fdm/jsbsim/velocities/vias-kts

would be the property to use for indicated-airspeed for that gauge to be recorded.

Looking at RPM (c182s/Models/Instruments/Tach.xml)...

        <property>engines/engine/thruster/rpm</property>

So

engines/engine/thruster/rpm

should be the needed property in the recorder.

Make sure you get the correct data type in the recorder entry, ie: float or double.

ripley709 commented 4 years ago

This what i added to the flight-recorder.xml

<signals include="components/systems-instruments.xml"/>

in file components/engine.xml I added:

float engines/engine/thruster/rpm

and the other one:

float fdm/jsbsim/velocities/vias-kts

... but no result...

ripley709 commented 4 years ago

(new try but without the brackets or it doesn't show in the panel) This what I added to the flight-recorder.xml signals include="components/engine.xml"/ signals include="components/systems-instruments.xml"/

in file components/engine.xml I added: signal type float /type property type="string" engines/engine/thruster/rpm /property signal and the other one: signal type float /type property type="string" fdm/jsbsim/velocities/vias-kts /property /signal

... but no result...

wlbragg commented 4 years ago

It was a quick test but I think I got the vias working with these entries

Sorry I misread what properties you reported not working.

Wow, I'm a bit foggy today, confusing the VSI with the VIAS.

Well, I just added what I thought it needed and I came up with the same failure. It's going to need someone to put some time into it to figure out what is failing. I compared the Tach to c172p and they are similar. Using the same strategy as the c172p to add the c18s tach to the recorder failed.

ripley709 commented 4 years ago

I have also noticed that during replay the last reading of the meters is given. They don't read zero. Maybe this is a clue? Does anybody know where I can find the flightrecorder log that gets created during the simulation and is used for replay?

ripley709 commented 4 years ago

It looks to me that the flight-recorder.xml in c182s/systems is not called. When I try to adapt 182s-set.xml like the 172p configuration or as described in the README.flightrecorder document to call the flight-recorder.xml, I always run into error "FGPropertyValue::GetValue() The property /systems/electrical/outputs/fuel-pump does not exist." Weird...

wlbragg commented 4 years ago

Change

config n="0"

to

config n="1"

Recording of VIAS and Tach still doesn't work though.

ripley709 commented 4 years ago

It looks like the problem isn't in the flightrecorder at all. If I pull up the HUD during replay all the airspeed data is there. So it seems the problem is somewhere between the flightrecorder and the airspeed instrument.

wlbragg commented 4 years ago

It looks like the problem isn't in the flightrecorder at all. If I pull up the HUD during replay all the airspeed data is there.

We don't know what drives the hud though.

If you can, look at the "hud" code and see if you can figure out what properties are feeding it.

wlbragg commented 4 years ago

There is also the fcs_function that contains the same value, I think. That would be fdm/jsbsim/systems/asi/indicated-airspeed This is the function that generates fdm/jsbsim/velocities/vias-kts the velocity version is the one, to my understanding, that is accessible in the systems. So I don't know what is wrong.

<system name="indicated-airspeed">

    <channel name="indicated airspeed">

<fcs_function name="/systems/asi/indicated-airspeed">
          <function>
                <table>
                    <independentVar lookup="row">/instrumentation/airspeed-indicator/indicated-speed-kt</independentVar><!--FlightGear assuems a CAS behind!-->
                    <independentVar lookup="column">fcs/flap-pos-deg</independentVar>
                    <tableData breakPoint="0">
            0   10  20  38  
        0   0   0   0   0   
        49  35  35  35  35
        50  36  36  36  36
        52  38  38  38  38
        53  39  40  40  40
        54  40  40  40  40
        55  42  42  42  42
        56  43  43  43  43
        58  45  45  50  50
        62  55  55  55  55
        64  57  57  60  60
        65  60  60  60  60
        73  70  70  70  70  
        82  80  80  80  80
        90  90  90  90  90
        100 100 100 100 100
        109 110 110 110 110
        118 120 120 120 120
        127 130 130 130 130
        137 140 140 140 140
        146 150 150 150 150
        156 160 150 150 150
                  </tableData> 
                </table>  
          </function>
          <output>velocities/vias-kts</output>   
        </fcs_function>
.........
.........        
    </channel>
</system>
wlbragg commented 4 years ago

I just thought of something, make sure every property that influences velocities/vias-kts which is actually fdm/jsbsnm/velocities/vias-kts is recorded in the recorder, ie:

/instrumentation/airspeed-indicator/indicated-speed-kt
fcs/flap-pos-deg

and also that those properties have an entry in the property tree. I suspect fcs/flap-pos-deg might be an issue.

HHS81 commented 4 years ago

Hi, I'm currently in the end phase of the first semester of my master studies. So I don' t have much time for flightgear. But maybe I find some time to investigate the next time.

wlbragg commented 4 years ago

I had a chance to try the above suggestions and it still didn't work.

HHS81 commented 4 years ago

I guess I have found how to fix it! 😃

HHS81 commented 4 years ago

I can fix ASI and rpm. I can´t fix (yet?) the flap lever, manifold-fluel-flow gauge, cowl flaps.... It seems the JSBSim kinematics aren`t regarded by the flight-recorder system....

HHS81 commented 4 years ago

https://sourceforge.net/p/flightgear/codetickets/2183/

hbeni commented 3 years ago

I tried to fiddle around with this a little, branch Issue-319_Recorder. What puzzles me is that not all defined properties are replayed, even simple ones like the avionics master switches or the cabin heat levers. I have no idea why, honestly.