Develop
Ticket #1758 (closed defect: fixed)
LX MiniMap pro / Lx Color Vario does not work as expected
| Reported by: | Winfried Simon | Owned by: | Turbo |
|---|---|---|---|
| Priority: | normal | Milestone: | XCSoar 6.3 |
| Component: | Devices | Version: | 6.3 |
| Keywords: | Device Driver LX Navigation | Cc: |
Description
Setup
LX Mini Map pro connected to LX Color Vario
Configuration
config3/device/edit
- Port COM2:
- Baudrate 38400
- Bulk baud rate Default
- Driver LX / Colibri
- Sync from device On
- Sync to device On
- Ignore checksum
What I expect
Every Second:
- update of V TAS
- update of Alt. Baro.
- update of Vario
When I change Mc Cready on LX Color Vario
- update of XCSoar Mc Cready Infobox
Menu Config3/Devices says
- LX on COM2: Connected; Baro; Airspeed; Vario
When I change the QNH Setting (Config1, Flight Setup, QNH)
- LX Color Vario should adopt it and show QNH heigh
What I get
No regular Update of VTAS, Alt. Baro, Vario
When I change Mc Cready on LX Color Vario
- update of XCSoar Mc Cready os ok
When I change the QNH Setting (Config1, Flight Setup, QNH)
- LX Color Vario nothing happens
Menu Config3/Devices says
- LX on COM2: Connected
Menu Config3/Devices/Monitor
- no manual action: no communication
- manual change of Mc Cready: LXWP2, LXWP3 sentence
Code Analyses
I took a look at the LK8000 realization from the Lx Naviagion developers and saw, that they initiate the communication every ca. 10 seconds with a PFLX0 Sentence. I think this is missing in XCSoar.
Remark: I wrote an extra driver for XCSoar which work for me. The XCSoar developers told me, that this is not the right way to do it. So I wrote this bug report.
Remark 2: In the XCSoar LX driver there are functions at the external device expected, which the Lx Color Vario do not support. I'm not sure if we get site effects, when we speak to it and asume that it has this functionality (Logger, command mode, declaration of tasks).
thanks
Attachments
Change History
comment:1 Changed 16 months ago by Turbo
- Owner set to Winfried Simon
- Status changed from new to assigned
comment:2 Changed 16 months ago by Winfried Simon
"In the LX flight computers you can configure which sentences the device is sending. Does the vario have the same function or does it have to be configured by the PFLX0 sentence? Please ask LX about this."
- I asked LX, and they told me, that there is no documentation about this.
- In the LK8000 realization they use the PFLX0 sentence, so we should use this solution.
"For QNH: The PutQNH() function for the LX driver is not implemented. Do you have any protocol documentation on how to set the QNH?"
- In Mini Map Pro there is no possibility to set the QNH, but a "altitude offset" which is equivalent.
- Also in the LK8000 realization LX calculate the altitude offset and use a PFLX3 sentence This calculation is a bit complicated and uses its own barometric model. I propose to do this calculation, but usethe given XCSoar barometric model. It's quite simple.
I recognized, that we have to transmit this PFLXO sentence only once, to cause LX Mini Map to repeat the LXWP0 sentence every second. In the LK8000 software, this is repeated every x seconds.
I have done a "minimal invasive" patch, which changes only two files in the Device/ Driver/ LX directory a little bit (Internal.hpp, Settings.cpp). This solution works for me, the patch is attached.
I see the problem, that XCSoar thinks, that the Mini Map device has a logger included. So the user interface shows a "Flight download" button, which does not work. That behavior is, in my opinion, somewhat confusing.
A second drawback of this solution IMHO is, that in case of Mini Map Pro the the LX Device and a FLARM device appears on the same serial interface (LX mentioned that there is inside Min Map pro a embedded controller included, which handles the RS485 communication to the LX peripherals. This controller seems also to combine the data stream of a flarm and the LX peripheral devices). So I fear, that the Flarm download functionality is hidden by the LX driver. But I'm not sure about that.
Another idea is, to write an extra driver, which uses the code base of given LX driver.

I think the LX vario should be able to handle commands that it doesn't support without crashing. If you notice any side-effects please tell us, otherwise the overhead of the duplicate code and separate drivers is not really worth it IMHO.
In the LX flight computers you can configure which sentences the device is sending. Does the vario have the same function or does it have to be configured by the PFLX0 sentence? Please ask LX about this.
For QNH: The PutQNH() function for the LX driver is not implemented. Do you have any protocol documentation on how to set the QNH?