Skip to content

Commit f8e7eaa

Browse files
authored
adjust events to support OTX2.3.x - Fix #43 (#44)
* adjust to use virtual events implemented in opentx 2.3.x * grouped by display size now (virtual buttons will ensure that scripts are useable)
1 parent 65c8fbf commit f8e7eaa

54 files changed

Lines changed: 1584 additions & 1643 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11

2-
VERSION = 0.14
2+
VERSION = 1.0.0
33
GIT_HASH = $(shell git log -1 --pretty=format:"%h")
44

55
.PHONY: all
66
all: clean prepare luatmp lua zip
77

88
.PHONY: luatmp
99
luatmp:
10-
cat src/common/KissProtocolSPort.lua src/X9/Kiss.lua src/common/KissUI.lua > tmp/X9SP.lua
11-
cat src/common/KissProtocolSPort.lua src/X7/Kiss.lua src/common/KissUI.lua > tmp/X7SP.lua
12-
cat src/common/KissProtocolSPort.lua src/X-Lite/Kiss.lua src/common/KissUI.lua > tmp/X-LiteSP.lua
13-
cat src/common/KissProtocolSPort.lua src/Horus/Kiss.lua src/common/KissUI.lua > tmp/HorusSP.lua
14-
cat src/common/KissProtocolCF.lua src/X9/Kiss.lua src/common/KissUI.lua > tmp/X9CF.lua
15-
cat src/common/KissProtocolCF.lua src/X7/Kiss.lua src/common/KissUI.lua > tmp/X7CF.lua
16-
cat src/common/KissProtocolCF.lua src/X-Lite/Kiss.lua src/common/KissUI.lua > tmp/X-LiteCF.lua
17-
cat src/common/KissProtocolCF.lua src/Horus/Kiss.lua src/common/KissUI.lua > tmp/HorusCF.lua
10+
cat src/common/KissProtocolSPort.lua src/212x64/Kiss.lua src/common/KissUI.lua > tmp/212x64_SPORT.lua
11+
cat src/common/KissProtocolSPort.lua src/128x64/Kiss.lua src/common/KissUI.lua > tmp/128x64_SPORT.lua
12+
cat src/common/KissProtocolSPort.lua src/480x272/Kiss.lua src/common/KissUI.lua > tmp/480x272_SPORT.lua
13+
14+
cat src/common/KissProtocolCF.lua src/212x64/Kiss.lua src/common/KissUI.lua > tmp/212x64_CF.lua
15+
cat src/common/KissProtocolCF.lua src/128x64/Kiss.lua src/common/KissUI.lua > tmp/128x64_CF.lua
16+
cat src/common/KissProtocolCF.lua src/480x272/Kiss.lua src/common/KissUI.lua > tmp/480x272_CF.lua
1817

1918

2019

@@ -28,41 +27,38 @@ clean:
2827

2928
.PHONY: prepare
3029
prepare:
31-
mkdir -p obj/X9/
32-
mkdir -p obj/X7/
33-
mkdir -p obj/Horus/
34-
mkdir -p obj/X-Lite/
30+
mkdir -p obj/212x64/
31+
mkdir -p obj/128x64/
32+
mkdir -p obj/480x272/
3533

3634
mkdir -p tmp/
3735
.PHONY: lua
3836
lua:
39-
cp tmp/X9SP.lua obj/X9/KissSP.lua
40-
cp tmp/X7SP.lua obj/X7/KissSP.lua
41-
cp tmp/X-LiteSP.lua obj/X-Lite/KissSP.lua
42-
cp tmp/HorusSP.lua obj/Horus/KissSP.lua
43-
37+
cp tmp/212x64_SPORT.lua obj/212x64/KissSP.lua
38+
cp tmp/128x64_SPORT.lua obj/128x64/KissSP.lua
39+
cp tmp/480x272_SPORT.lua obj/480x272/KissSP.lua
4440

45-
cp tmp/X9CF.lua obj/X9/KissCF.lua
46-
cp tmp/X7CF.lua obj/X7/KissCF.lua
47-
cp tmp/X-LiteCF.lua obj/KissCF.lua
48-
cp tmp/HorusCF.lua obj/Horus/KissCF.lua
41+
cp tmp/212x64_CF.lua obj/212x64/KissCF.lua
42+
cp tmp/128x64_CF.lua obj/128x64/KissCF.lua
43+
cp tmp/480x272_CF.lua obj/480x272/KissCF.lua
4944

5045

51-
cp -R src/X7/KISS obj/X7/KISS
52-
cp -R src/X7/KISS obj/X-Lite/KISS
53-
cp -R src/X9/KISS obj/X9/KISS
54-
cp -R src/Horus/KISS obj/Horus/KISS
46+
cp -R src/212x64/KISS obj/212x64/KISS
47+
cp -R src/128x64/KISS obj/128x64/KISS
48+
cp -R src/480x272/KISS obj/480x272/KISS
5549

50+
.PHONY: luamin
51+
luamin:
5652
find ./obj/ -type f -name '*.lua' -exec sh -c 'node node_modules/luamin/bin/luamin --file {} > {}.tmp' \; -exec sh -c 'mv {}.tmp {} ' \;
5753

5854
.PHONY: zip
5955
zip:
6056
test -d dist || mkdir dist
61-
cd obj/X9/; zip -r ../../dist/kiss-x9-lua-scripts-${VERSION}-${GIT_HASH}.zip *
62-
cd obj/X7/; zip -r ../../dist/kiss-x7-lua-scripts-${VERSION}-${GIT_HASH}.zip *
63-
cd obj/X-Lite/; zip -r ../../dist/kiss-x_lite-lua-scripts-${VERSION}-${GIT_HASH}.zip *
64-
cd obj/Horus/; zip -r ../../dist/kiss-horus-lua-scripts-${VERSION}-${GIT_HASH}.zip *
57+
cd obj/212x64/; zip -r ../../dist/kiss-212x64-lua-scripts-${VERSION}.zip *
58+
cd obj/128x64/; zip -r ../../dist/kiss-128x64-lua-scripts-${VERSION}.zip *
59+
cd obj/480x272/; zip -r ../../dist/kiss-480x272-lua-scripts-${VERSION}.zip *
6560

6661
.PHONY: dist
67-
dist: clean prepare luatmp lua zip
68-
62+
dist: clean prepare luatmp lua luamin zip
63+
.PHONY: debug
64+
debug: clean prepare luatmp lua

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,19 @@ Please visit the [releases page](https://github.com/flyduino/kissfc-tx-lua-scrip
1212

1313
Unzip the files from the link above and copy both of the lua files into either/both **/SCRIPTS/TELEMETRY** (for telemetry page) or **/SCRIPTS/TOOLS** (to be shown in tools section introduced in Open-TX 2.3.0). In addition the **KISS* folder has to be placed in the root folder on your SD card.
1414

15+
## Flavours
16+
17+
### 128x64 Display
18+
- Taranis Q X7 / X7S
19+
- Taranis X-Lite / X-Lite S / X-Lite Pro
20+
- Taranis X9 Lite / X9 Lite Pro
21+
- Jumper T12
22+
23+
### 212x64 Display
24+
- Taranis X9D / X9D+ / X9D+ 2019
25+
- Taranis X9E
26+
27+
### 480x272 Color Display
28+
- Horus X12S
29+
- Horus X10 / X10S
30+
- Jumper T16

src/128x64/KISS/alarms.lua

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
return {
2+
read = 0x49,
3+
write = 0x4A,
4+
postRead = function(values)
5+
local ret = {}
6+
ret[1] = 100 * (bit32.lshift(values[1], 8) + values[2])
7+
ret[2] = bit32.lshift(values[3], 8) + values[4]
8+
return ret
9+
end,
10+
preWrite = function(values)
11+
local ret = {}
12+
local tmp = bit32.band(math.floor(values[1] / 100), 0xFFFF)
13+
ret[1] = bit32.band(bit32.rshift(tmp, 8), 0xFF)
14+
ret[2] = bit32.band(tmp, 0xFF)
15+
ret[3] = bit32.band(bit32.rshift(values[2], 8), 0xFF)
16+
ret[4] = bit32.band(values[2], 0xFF)
17+
return ret
18+
end,
19+
title = 'Alarms',
20+
text = {},
21+
fields = {
22+
{t = 'VBat', x = 15, y = 27, sp = 70, i = 1, min = 0, max = 26000, prec = 1},
23+
{t = 'mAH', x = 15, y = 40, sp = 70, i = 2, min = 0, max = 26000, inc = 10}
24+
}
25+
}

src/128x64/KISS/filters.lua

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
return {
2+
read = 0x47,
3+
write = 0x48,
4+
postRead = function(values)
5+
local ret = {}
6+
ret[1] = values[3] + 1
7+
ret[2] = bit32.lshift(values[4], 8) + values[5]
8+
ret[3] = bit32.lshift(values[6], 8) + values[7]
9+
ret[4] = values[8] + 1
10+
ret[5] = bit32.lshift(values[9], 8) + values[10]
11+
ret[6] = bit32.lshift(values[11], 8) + values[12]
12+
ret[7] = values[1] + 1
13+
ret[8] = values[2]
14+
ret[9] = values[13] + 1
15+
ret[10] = values[14] + 1
16+
return ret
17+
end,
18+
preWrite = function(values)
19+
local ret = {}
20+
ret[1] = bit32.band(values[7] - 1, 0xFF)
21+
ret[2] = bit32.band(values[8], 0xFF)
22+
ret[3] = bit32.band(values[1] - 1, 0xFF)
23+
ret[4] = bit32.band(bit32.rshift(values[2], 8), 0xFF)
24+
ret[5] = bit32.band(values[2], 0xFF)
25+
ret[6] = bit32.band(bit32.rshift(values[3], 8), 0xFF)
26+
ret[7] = bit32.band(values[3], 0xFF)
27+
ret[8] = bit32.band(values[4] - 1, 0xFF)
28+
ret[9] = bit32.band(bit32.rshift(values[5], 8), 0xFF)
29+
ret[10] = bit32.band(values[5], 0xFF)
30+
ret[11] = bit32.band(bit32.rshift(values[6], 8), 0xFF)
31+
ret[12] = bit32.band(values[6], 0xFF)
32+
ret[13] = bit32.band(values[9] - 1, 0xFF)
33+
ret[14] = bit32.band(values[10] - 1, 0xFF)
34+
return ret
35+
end,
36+
title = 'Filters',
37+
text = {
38+
{t = 'Center', x = 50, y = 10},
39+
{t = 'Cutoff', x = 90, y = 10},
40+
{t = 'Notch', x = 3, y = 10},
41+
{t = 'Roll', x = 3, y = 20},
42+
{t = 'Pitch', x = 3, y = 30},
43+
{t = 'R/P', x = 3, y = 42},
44+
{t = 'Yaw f.', x = 65, y = 42},
45+
{t = 'Yaw', x = 3, y = 52},
46+
{t = 'Dterm', x = 65, y = 52}
47+
},
48+
lines = {
49+
{x1 = 1, y1 = 39, x2 = 125, y2 = 39}
50+
},
51+
fields = {
52+
-- Filters
53+
{x = 15, y = 20, i = 1, min = 1, max = 2, table = {'Off', 'On'}},
54+
{x = 45, y = 20, i = 2, min = 0, max = 490},
55+
{x = 80, y = 20, i = 3, min = 0, max = 490},
56+
{x = 15, y = 30, i = 4, min = 1, max = 2, table = {'Off', 'On'}},
57+
{x = 45, y = 30, i = 5, min = 0, max = 490},
58+
{x = 80, y = 30, i = 6, min = 0, max = 490},
59+
{x = 15, y = 42, i = 7, min = 1, max = 7, table = {'Off', 'High', 'MedHi', 'Med', 'MedLo', 'Low', 'VerLo'}},
60+
{x = 80, y = 42, i = 8, min = 0, max = 97},
61+
{x = 15, y = 52, i = 9, min = 1, max = 7, table = {'Off', 'High', 'MedHi', 'Med', 'MedLo', 'Low', 'VerLo'}},
62+
{x = 80, y = 52, i = 10, min = 1, max = 7, table = {'Off', 'High', 'MedHi', 'Med', 'MedLo', 'Low', 'VerLo'}}
63+
}
64+
}

src/128x64/KISS/pids.lua

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
return {
2+
read = 0x43,
3+
write = 0x44,
4+
postRead = function(values)
5+
local ret = {}
6+
for i = 0, 2 do
7+
ret[i * 3 + 1] = bit32.lshift(values[i * 6 + 1], 8) + values[i * 6 + 2]
8+
ret[i * 3 + 2] = bit32.lshift(values[i * 6 + 3], 8) + values[i * 6 + 4]
9+
ret[i * 3 + 3] = bit32.lshift(values[i * 6 + 5], 8) + values[i * 6 + 6]
10+
end
11+
return ret
12+
end,
13+
preWrite = function(values)
14+
local ret = {}
15+
for i = 0, 2 do
16+
ret[i * 6 + 1] = bit32.rshift(values[i * 3 + 1], 8)
17+
ret[i * 6 + 2] = bit32.band(values[i * 3 + 1], 0xFF)
18+
ret[i * 6 + 3] = bit32.rshift(values[i * 3 + 2], 8)
19+
ret[i * 6 + 4] = bit32.band(values[i * 3 + 2], 0xFF)
20+
ret[i * 6 + 5] = bit32.rshift(values[i * 3 + 3], 8)
21+
ret[i * 6 + 6] = bit32.band(values[i * 3 + 3], 0xFF)
22+
end
23+
return ret
24+
end,
25+
title = 'PIDs',
26+
text = {
27+
{t = 'P', x = 45, y = 14},
28+
{t = 'I', x = 78, y = 14},
29+
{t = 'D', x = 107, y = 14},
30+
{t = 'Roll', x = 3, y = 25},
31+
{t = 'Pitch', x = 3, y = 38},
32+
{t = 'Yaw', x = 3, y = 50}
33+
},
34+
fields = {
35+
{x = 20, y = 25, i = 1, max = 65000, prec = 2},
36+
{x = 48, y = 25, i = 2, max = 65000, prec = 3},
37+
{x = 80, y = 25, i = 3, max = 65000, prec = 2},
38+
{x = 20, y = 38, i = 4, max = 65000, prec = 2},
39+
{x = 48, y = 38, i = 5, max = 65000, prec = 3},
40+
{x = 80, y = 38, i = 6, max = 65000, prec = 2},
41+
{x = 20, y = 50, i = 7, max = 65000, prec = 2},
42+
{x = 48, y = 50, i = 8, max = 65000, prec = 3},
43+
{x = 80, y = 50, i = 9, max = 65000, prec = 2}
44+
}
45+
}

src/128x64/KISS/rates.lua

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
return {
2+
read = 0x4D,
3+
write = 0x4E,
4+
postRead = function(values)
5+
local ret = {}
6+
for i = 1, 9 do
7+
ret[i] = bit32.lshift(values[(i - 1) * 2 + 1], 8) + values[(i - 1) * 2 + 2]
8+
end
9+
return ret
10+
end,
11+
preWrite = function(values)
12+
local ret = {}
13+
for i = 1, 9 do
14+
ret[(i - 1) * 2 + 1] = bit32.rshift(values[i], 8)
15+
ret[(i - 1) * 2 + 2] = bit32.band(values[i], 0xFF)
16+
end
17+
return ret
18+
end,
19+
title = 'Rates',
20+
text = {
21+
{t = 'RC', x = 41, y = 14},
22+
{t = 'Rate', x = 65, y = 14},
23+
{t = 'Curve', x = 95, y = 14},
24+
{t = 'Roll', x = 3, y = 25},
25+
{t = 'Pitch', x = 3, y = 38},
26+
{t = 'Yaw', x = 3, y = 50}
27+
},
28+
fields = {
29+
-- RC Rate
30+
{x = 16, y = 25, i = 1, max = 65000, prec = 2},
31+
{x = 48, y = 25, i = 2, max = 65000, prec = 2},
32+
{x = 80, y = 25, i = 3, max = 65000, prec = 2},
33+
-- Rate
34+
{x = 16, y = 38, i = 4, max = 65000, prec = 2},
35+
{x = 48, y = 38, i = 5, max = 65000, prec = 2},
36+
{x = 80, y = 38, i = 6, max = 65000, prec = 2},
37+
-- RC Curve
38+
{x = 16, y = 50, i = 7, max = 65000, prec = 2},
39+
{x = 48, y = 50, i = 8, max = 65000, prec = 2},
40+
{x = 80, y = 50, i = 9, max = 65000, prec = 2}
41+
}
42+
}

src/128x64/KISS/setpnt.lua

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
return {
2+
read = 0x52,
3+
write = 0x53,
4+
postRead = function(values)
5+
local ret = {}
6+
ret[1] = values[1]
7+
return ret
8+
end,
9+
preWrite = function(values)
10+
local ret = {}
11+
ret[1] = values[1]
12+
return ret
13+
end,
14+
title = 'Setpoints',
15+
text = {},
16+
fields = {
17+
{t = 'D Setpoint', x = 15, y = 27, sp = 70, i = 1, min = 0, max = 100}
18+
}
19+
}

src/128x64/KISS/tpa.lua

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
return {
2+
read = 0x4B,
3+
write = 0x4C,
4+
postRead = function(values)
5+
local ret = {}
6+
for i = 1, 3 do
7+
ret[i] = bit32.lshift(values[(i - 1) * 2 + 1], 8) + values[(i - 1) * 2 + 2]
8+
end
9+
ret[4] = values[7] + 1
10+
for i = 5, 10 do
11+
ret[i] = values[i + 3]
12+
end
13+
return ret
14+
end,
15+
preWrite = function(values)
16+
local ret = {}
17+
for i = 1, 3 do
18+
ret[(i - 1) * 2 + 1] = bit32.rshift(values[i], 8)
19+
ret[(i - 1) * 2 + 2] = bit32.band(values[i], 0xFF)
20+
end
21+
ret[7] = bit32.band(values[4] - 1, 0xFF)
22+
for i = 5, 10 do
23+
ret[i + 3] = bit32.band(values[i], 0xFF)
24+
end
25+
return ret
26+
end,
27+
title = 'TPA',
28+
text = {
29+
{t = 'P', x = 45, y = 10},
30+
{t = 'I', x = 78, y = 10},
31+
{t = 'D', x = 107, y = 10},
32+
{t = 'TPA', x = 3, y = 20},
33+
{t = '0', x = 35, y = 43},
34+
{t = '100', x = 105, y = 43},
35+
{t = 'Thr%', x = 3, y = 43},
36+
{t = 'Inf%', x = 3, y = 53}
37+
},
38+
lines = {
39+
{x1 = 1, y1 = 30, x2 = 125, y2 = 30}
40+
},
41+
fields = {
42+
-- TPA
43+
{x = 20, y = 20, i = 1, max = 900, prec = 2},
44+
{x = 53, y = 20, i = 2, max = 900, prec = 2},
45+
{x = 80, y = 20, i = 3, max = 900, prec = 2},
46+
{t = 'Custom TPA', x = 3, y = 33, sp = 65, i = 4, min = 1, max = 2, table = {'Off', 'On'}},
47+
{x = 38, y = 43, i = 5, max = 100},
48+
{x = 61, y = 43, i = 6, max = 100},
49+
{x = 15, y = 53, i = 7, max = 100},
50+
{x = 38, y = 53, i = 8, max = 100},
51+
{x = 61, y = 53, i = 9, max = 100},
52+
{x = 85, y = 53, i = 10, max = 100}
53+
}
54+
}

src/128x64/KISS/vtx.lua

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
return {
2+
read = 0x45,
3+
write = 0x46,
4+
postRead = function(values)
5+
local ret = {}
6+
ret[1] = values[1]
7+
ret[2] = 1 + bit32.rshift(values[2], 3)
8+
ret[3] = 1 + bit32.band(values[2], 0x07)
9+
ret[4] = bit32.lshift(values[3], 8) + values[4]
10+
ret[5] = bit32.lshift(values[5], 8) + values[6]
11+
return ret
12+
end,
13+
preWrite = function(values)
14+
local ret = {}
15+
ret[1] = bit32.band(values[1], 0xFF)
16+
ret[2] = bit32.band((values[2] - 1) * 8 + values[3] - 1, 0xFF)
17+
ret[3] = bit32.band(bit32.rshift(values[4], 8), 0xFF)
18+
ret[4] = bit32.band(values[4], 0xFF)
19+
ret[5] = bit32.band(bit32.rshift(values[5], 8), 0xFF)
20+
ret[6] = bit32.band(values[5], 0xFF)
21+
return ret
22+
end,
23+
title = 'VTX',
24+
text = {},
25+
fields = {
26+
{t = 'Band', x = 15, y = 14, sp = 70, i = 2, min = 1, max = 5, table = {'A', 'B', 'E', 'FS', 'RB'}},
27+
{t = 'Channel', x = 15, y = 27, sp = 70, i = 3, min = 1, max = 8},
28+
{t = 'Low Power', x = 15, y = 40, sp = 70, i = 4, min = 0, max = 2000},
29+
{t = 'High Power', x = 15, y = 53, sp = 70, i = 5, min = 0, max = 2000}
30+
}
31+
}

0 commit comments

Comments
 (0)