Replies: 6 comments 8 replies
-
Would be great to be able to connect XCVario, SoftRF, and XCSoar. That would be a great budget setup. As far as I know, there is a limitation for a single Bluetooth connection though: https://github.com/lyusupov/SoftRF/wiki/Badge-Edition#two-seater Maybe
would be possible, where XCVario would forward the Flarm/OGN messages |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I have tested that everything is normal. Vario can receive GPS. I haven't tested FLMA yet |
Beta Was this translation helpful? Give feedback.
-
I have gotten SoftRF (on a T-Beam) talking to XCvario via a serial cable. I used a TTL-RS232 converter board, although the XCvario does not need it (according to the manual), but with RS232 levels (more or less) and an RJ45 jack this T-Beam is now FLARM-compatible in serial connections to any other device, which is nice. The cable connection also powers the T-Beam via the XCvario - I also built a 12V-5V converter inside the T-Beam case. It is connected to the XCvario S2 jack via a standard ethernet cable with the wire for pin 7 cut. Of course the factory-supplied XCvario multi-purpose cable can be used instead - make sure it is plugged into S1! That said, I would like to see a way to send the GNSS+traffic data from SoftRF to XCvario without the need to build a serial connection, as it takes significant work to build, and only some people know how to do that. Such a wireless connection would be useful is, for example, a club glider has a standalone XCvario but no FLARM, and a pilot brings along a portable SoftRF device. Or the club adds a SoftRF device - this is happening in several clubs in the USA right now, but most do not have an XCvario at this point. The question is: what is to be gained from that connection? That depends what else the pilot uses. If not using anything else, then the traffic warnings on the XCvario are good to have. If using XCsoar or Tophat on an android device with audio, then that device, receiving the data directly from SoftRF, can give voice-warning about traffic. And one would like to see the traffic on the moving map. In that case there is no real need to connect SoftRF to the XCvario too. But ideally data from both SoftRF and XCvario would reach XCsoar in combination, to gain both traffic display and better airspeed and wind speed and vario data. Moreover, if the android device does not have audio, for example on an e-reader for the sunlight readable e-paper display, the traffic warning on XCvario is still desirable - and the e-reader also needs GNSS data, which it can get from SoftRF. Can the three devices be connected wirelessly? One obstacle is that XCsoar/Tophat want to connect to an existing Wifi network, and the standard version of SoftRF creates a Wifi network, as does XCvario. XCsoar cannot connect to two networks at the same time. Conversely, if using Bluetooth, connections are limited (just one?), and the Android device wants to be "master", while XCvario and SoftRF are slave clients, thus XCvario and SoftRF cannot communicate with each other. If a Bluetooth Master mode would be added to XCvario, then SoftRF could connect to XCvario, but not to XCsoar at the same time. If a WiFi UDP listener mode were added to XCvario, then both it and XCsoar could listen to the data from SoftRF, both connecting to the Wifi network created by SoftRF, but then XCsoar won't get XCvario data. Does a UDP connection have a callback channel? If so, then maybe SoftRF could be configured to receive that, and re-send to XCsoar? Or can potentially add TCP capability to SoftRF. So many options, none perfect! |
Beta Was this translation helpful? Give feedback.
-
I have indeed noticed that the SoftRF settings-setting web server is slow if it is using BT at the same time. How about this use case: XCvario listens to SoftRF via BT. When it receives data (GNSS and traffic), or has vario data to send, it sends to XCsoar via WiFi. (UDP may be "cheaper" in CPU load than TCP.) It could also be the opposite, receive from SoftRF via UDP and send to XCsoar via BT, but the e-readers I prefer for use do not have BT. Either way, each connection is one-way. Bidirectional use is not needed in this use case. How much of the time does the data transmission from XCvario to XCsoar take? Can limit how often XCvario sends data, once a second would be enough. So most of the time XCvario could be listening to the transmissions from SoftRF. And if it misses hearing such a transmission occasionally, that is not a problem. Would that work? |
Beta Was this translation helpful? Give feedback.
-
Another approach is to modify SoftRF to allow it to be a client on the WiFi network created by XCvario. XCvario would need to listen to packets from SoftRF and send packets to XCsoar, as two clients on the same WiFi network (the one created by XCvario). Source code is already in place in SoftRF to be a WiFi client. But how to tell SoftRF the network name and password, and how to change settings on it later? Can the web server part of SoftRF keep working when it is a WiFi client? I think so, since that is done in OGNbase (another ESP32 project I work on, based on SoftRF source code). OGNbase connects to the "house" WiFi since it needs to send data to OGN over the internet. And it also has the web-server UI. It also stores and reads settings from a config file stored in SPIFFS. This approach needs a new version of SoftRF. I can experiment with modifying SoftRF to be a wifi client. But XCvario would also need modification, to have it accept GNSS and traffic data from a (second) WiFi client. Ideally via UDP, since currently SoftRF does not use TCP. Source code for that is available, for example, in XCsoar. In this type of use can also send the data (from XCvario to XCsoar) via UDP instead of TCP. |
Beta Was this translation helpful? Give feedback.
-
There is a brandnew project using a generic hardware plus MK2 software: http://www.lilygo.cn/prod_view.aspx?TypeId=50033&Id=1163 as Flarm and also GPS source.
Datatransfer has been demonstrated with a baudrate of 38400, with Tx + Rx Inversion set to Normal.
More info to come...
Beta Was this translation helpful? Give feedback.
All reactions