You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**+ Configurable navigation controls, radio type independent**
8
8
- added user events: `longPress.page`, `release.page`
9
9
- added radio schemes: Taranis X-Lite, Taranis X9E
10
10
- added controls:
11
-
****Page back*** on long press [PAGE]
12
-
****Back to first page*** on long press [MENU]
11
+
****Page back*\*** on long press [PAGE]
12
+
****Back to first page*\*** on long press [MENU]
13
13
****Close menu*** on release [MENU] button
14
-
****Quit editing*** on release [MENU] button*(not discarding changes)*
14
+
****Quit editing*** on release [MENU] button
15
15
16
-
**+ Minified script files, shrinked down to 75% the size of 1.3.0** (thanks to [mathiasbynens/luamin](https://github.com/mathiasbynens/luamin))
16
+
**+ Minified script files** (thanks to [mathiasbynens/luamin](https://github.com/mathiasbynens/luamin))
17
17
18
-
## Notes
19
-
Wanted to explore the potential of the popular betaflight-tx-lua-scripts a bit, as I wasn't quit satisfied with a few things. Came up with this mod and it upgraded the UX for me so well, that I decided to share it with the community. Runs nique smooth on my FrSky Taranis Q X7, but I wasn't able to do tests with any other models than FrSky so far.
18
+
##
20
19
21
-
Install and use this modified version just the way you're used to. First time users should have a glimpse at the [install instructions](#installing).
> \**You can not access other telemetry screen slots, cause its part of design. The input [PAGE] is used for stepping pages, similar to the OpenTX system menu.
23
+
Apply [a patch](https://github.com/Matze-Jung/betaflight-tx-lua-scripts-mod/tree/master/patches) if you want to have the original input mapping restored.*
24
+
25
+
26
+
##
27
+
28
+
OpenTX provides only four telemetry screen slots and to me, the navigation doesn't seem to be very familiar. Sacrifice switches to trigger screens ain't an satisfying option either. The betaflight script has the capability of navigating screens already and is compatible to a range of radios. So why not use that?
29
+
30
+
With this mod the limit number of telemetry screens depend only on the system memory. Just list them in your platforms config file. You don't even have to display the betaflight screens if not needed.
31
+
32
+
Install this modified version just the way you're used to. First time users should have a glimpse at the [install instructions](#installing).
22
33
23
34
### Loading telemetry scripts
24
35
To add, change or reorder pages, edit the `PageFiles = { ... }` table in your `SCRIPTS/BF/[platform]/[platform]pre.lua` file.
25
36
26
-
As a point to start, uncomment the first line of `PageFiles` to load the example home screen `exmpl1.lua`*(except Horus)*.
37
+
Uncomment the first item of `PageFiles` to load the example home screen `../../TELEMETRY/exmpl1.lua` or insert your own scripts.
38
+
> *If you have TBS Crossfire, try*`../../../CROSSFIRE/crossfire.lua`
27
39
28
-
Order the pages to your needs (I prefer the vtx settings as my second, after the custom home screen).
40
+
Order the pages to your needs. I prefer the vtx settings as last, one before home screen. Then long press [MENU], long press [PAGE] is a quick and rememberable action to access vtx settings.
29
41
30
42
Prepend `-- ` to the line to hide a page (e.g. rescue.lua and gps.lua, if you don't use GPS).
31
43
32
-
Use relative pathnames to refer external templates.
44
+
Use relative pathnames to refer external scripts.
33
45
If you add or edit pages, keep in mind that the radios internal memory isn't endless.
34
46
35
-
> *If you have TBS Crossfire, you can try*`../../../CROSSFIRE/crossfire.lua`*. The Page seems to load, but tell me if it's actually working.*
47
+
> *To layout and create custom telemetry screens, I would recommend a grid-system like [opentx-lua-widgets](https://github.com/Matze-Jung/opentx-lua-widgets).*
36
48
37
49
### Mapping navigation controls
38
50
The code wich handles the user events was abstracted from `ui.lua` into a table `ctrlSchema = { ... }` and placed in each `SCRIPTS/BF/[platform]/[platform]pre.lua` file.
@@ -42,14 +54,14 @@ For instance: if you want to have switching pages on the [DIAL WHEEL] input, cha
42
54
43
55
To add a transmitter control schema based on its platform, just overwrite the affected table fields below the schema table (see overrides for X9E in `SCRIPTS/BF/X9/x9pre.lua`[for example](https://github.com/Matze-Jung/betaflight-tx-lua-scripts-mod/blob/7c4463aec29757763e8eb7aea49905e677711ef7/src/SCRIPTS/BF/X9/x9pre.lua#L101)).
44
56
45
-
This concept should have the potential to implement new coming radios much easier and be handled separately from the core ui code.
57
+
This concept should have the potential to implement new coming radios much easier and be maintenanced separately from the core ui code.
46
58
47
59
### Memory warning
48
-
If you just copied the files, launched the script and a `not enough memory` warning appears, probably restarting the radio is the only thing to do here. If OpenTX still complains, try to delete all `.luac` files (compiled with LUAC 5.3.5, don't know if that's a problem with some devices).
60
+
If you just copied the files, launched the script and a `not enough memory` warning appears, probably restarting the radio is the only thing to do here. If OpenTX still complains, try to delete all `.luac` files and make shure that you've did build OpenTX with the luac-option checked.
49
61
50
62
## Test environment
51
-
* OpenTX v2.2.3 on Taranis Q X7, Betaflight 4.0.3 on OmnibusF4, R-XSR
> *Any [feedback](https://github.com/Matze-Jung/betaflight-tx-lua-scripts-mod/issues/new/choose) about testing on different hardware welcome.*
55
67
@@ -63,24 +75,24 @@ Please go to the [releases page](https://github.com/Matze-Jung/betaflight-tx-lua
63
75
- Compiled/minified files will be created at the `obj` folder. Copy the files to your transmitter as instructed in the [Installing section](#installing) below as if you unzipped from a downloaded file.
64
76
65
77
## Control schema layout
66
-
| State | Action |Condition (X7) |
67
-
| - | - | - |
68
-
| display | prevPage |*longPress.page*|
69
-
|| nextPage |*release.page*|
70
-
|| prevLine |*dial.left*|
71
-
|| nextLine |*dial.right*|
72
-
|| edit |*release.enter*|
73
-
|| menu |*release.menu*|
74
-
|| home |*longPress.menu*|
75
-
|| exit |*release.exit*|
76
-
| editing | decValue |*dial.left*|
77
-
|| stepValue |*dial.right*|
78
-
|| exit |*release.exit* or *release.enter* or *release.menu*|
79
-
| displayMenu | prev |*dial.left*|
80
-
|| next |*dial.right*|
81
-
|| cnfrm |*release.enter*|
82
-
|| exit |*release.exit* or *release.menu*|
83
-
> *Action `func()` is fired when condition is true and in application state.*
0 commit comments