![]() |
Jeti Lua scripts ... using and creating them
Hi All,
As a relative newcomer to the Jeti world, I have been quite interested to see what can be done with Lua scripts to extend the transmitter's functions. While I am nobody's professional programmer, I do enjoy writing simple code and it's been fun to learn about Lua itself and the Jeti APIs. Jeti has done a very nice job in my opinion and they even include a TX emulator that runs on Linux, Mac and PC. Very handy for development! Over the last few months, I've been developing some Lua programs purely for my own interest, but have had some of my fellow flyers express some interest so I thought I'd post something here. Perhaps we can get a conversation going on what we can use Lua for to enhance our flying experience, and teach each other about how to do it. Personally I've learned a LOT from reading Tero's RC-Thoughts site, and also reading some of the professionally-written code (e.g. Daniel's work on the Digitech CTU is very impressive). I will start with a simple script for announcing speed. Several of us have been annoyed with aspects of the built-in telemetry speech, so it seemed like a natural thing to try with a Lua app. Below is a link to a dropbox folder that should have everything needed .. but I've not done this sort of code delivery before so let me know if any problems. Start with the README-DFM-SpdA.md file. If you have installed any apps in your TX I am sure you will have no problems. If it's not clear let me know and I'll update the README. The basic idea of this script is to vary the interval of speed announcements (integer mph or km/hr only .. no decimals!) depending on how much the speed has changed since the last announcement. It can also provide continuous speed announcement automatically below a set reference speed that is handy for landings (inspired by Carsten's ASSI system). The README has further info. Many thanks to my friend Walt L for suggesting we try something like this. I have also been working on a "super timer" that counts up and speaks the time elapsed since takeoff (which of course the TX can do on its own...) but one that also announces fuel state with the timer every minute. It also watches battery capacity and peak current from the packs connected to a Jeti Central Box. It's quite informative (and sometimes alarming...) to see how much current the flaps on a big jet can draw in the traffic pattern. Lastly, I've been working on a script to turn the TX screen into a map and show the aircraft's flight path (from GPS) along with "tapes" for speed, altitude, heading etc. It was inspired by Jeti demo code for artificial horizon using their assist receiver. It even has an additional "ILS" screen to show alignment and glidepath on final. I call it "LSO" (after Navy Landing Signal Officer) since the pilot can't look at it .. the spotter (the "LSO") can though! More on these other two scripts later. Dropbox link: https://www.dropbox.com/sh/4hf8er8i2...AhoncV3oa?dl=0 All feedback welcome! Dave McQ |
Thanks! I have not messed with LUA's but the decimal speed readouts drive me nuts.
|
This is why I love my Jeti. It is SO much more powerful than I can even imagine. Great job and thanks for starting this!
|
Yes correct, check out RCThoughts - has created a bunch of scripts as well as instructions to build your own sensors for a few $$ only.
https://www.rc-thoughts.com/ Also TextToSpeech tools to create countless voice alarms/notifications. https://www.rc-thoughts.com/tts/ Tassos |
Nice! Going to give this a play later.
Have you considered using GitHub to store, update, get suggestions, get bug reports, track and distribute this? I've been using GitHub for some non-RC related stuff and love it. ...jim |
Hi Jim, thanks. Yes, it's all hosted on github already (github.com/davidmcq137/JetiLuaDFM) but I thought it was easier for the non-techies to get it via dropbox. That's why I said I had not distributed code this way before ...
I noted that dropbox is how Sandor distributes the Lua code for his CTU device. Some of my flying friends locally were intimidated by the usual "the code's on github, go ahead and get it" that you and I are used to hearing :-) .. so I followed Sandor's example. If there turns out to be interest in this app or others, I would probably want to use a more proper structure as you suggest. Given your experience in IT, I'd encourage you to take a look at the LSO app ... it's on a rather different scale than the speed announcer! Dave |
Understood. I see that your repository is more than just the app in the original post. So yeah, dropbox is a good idea. I've cloned your repository to my desktop for now. May fork it to my repository later if I think I might modify it. And if I find any bugs or have improvements to suggest, will do so on GitHub.
Thanks! ...jim |
Yes, there is other stuff there. The speed announcer is reasonably tidied up, the time announcer is close, as is the LSO code. There is also a lot of other junk there in various states. Time for some housecleaning if guests are going to be visiting :-) I am finishing a "distribution" of the time announcer in the next day or so and will also put it on db once done with a readme etc.
It was nice to be neighbors at GA jets, and I smile when I recall the story of your helmet! FYI, I only have a DS-24, I have no idea if the code will work properly on a previous system ... I have done a pretty careful job of testing on the Jeti emulator, the TX and I've been flying the apps all summer on my own jets ... but have not done a lot of optimization on space, speed that might be needed for the DS-16. Based on what I have read and learned, I suspect the speed and time announcers will work on on the 16 but there is no way the LSO will... Regarding playing with the speed announcer .. as you can note in the code, if you set the speed interval to 99, it turns debug mode on. setting it to 98 turns it off. Those are both implausible values for this parameter that should be about 10. You can also just edit the code and set DEBUG = true. Then it will print the stuff it would have done via text-to-speech on the TX (the Jeti emulator seems not to support playing audio .. unless I have missed something), and it uses the P8 slider as the airspeed input. So you can get an idea of how it works. By print, I mean it will show up on the Apps console. Works on the TX but much easier on the emulator. If you want to play with it in a more realistic way, you can connect a small syringe to the pitot tube static port .. but you have to be careful .. it senses fairly small pressures and the sensor is delicate. So you have to add a "buffer" volume so that the syringe does not make too much pressure. See the attached pic. You still have to have a light touch with the plunger! Dave https://cimg9.ibsrv.net/gimg/www.rcu...c16beffeeb.jpg Pitot airspeed test rig with the Jeti MSpeed sensor |
Thank you for your Contribution Dave and also Welcome to our team.
looking forward to your Lua stuff and developments for Jeti.. Sandor |
| All times are GMT -8. The time now is 02:39 AM. |
Copyright © 2026 MH Sub I, LLC dba Internet Brands. All rights reserved. Use of this site indicates your consent to the Terms of Use.