Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 28 additions & 32 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@

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

.PHONY: all
all: clean prepare luatmp lua zip

.PHONY: luatmp
luatmp:
cat src/common/KissProtocolSPort.lua src/X9/Kiss.lua src/common/KissUI.lua > tmp/X9SP.lua
cat src/common/KissProtocolSPort.lua src/X7/Kiss.lua src/common/KissUI.lua > tmp/X7SP.lua
cat src/common/KissProtocolSPort.lua src/X-Lite/Kiss.lua src/common/KissUI.lua > tmp/X-LiteSP.lua
cat src/common/KissProtocolSPort.lua src/Horus/Kiss.lua src/common/KissUI.lua > tmp/HorusSP.lua
cat src/common/KissProtocolCF.lua src/X9/Kiss.lua src/common/KissUI.lua > tmp/X9CF.lua
cat src/common/KissProtocolCF.lua src/X7/Kiss.lua src/common/KissUI.lua > tmp/X7CF.lua
cat src/common/KissProtocolCF.lua src/X-Lite/Kiss.lua src/common/KissUI.lua > tmp/X-LiteCF.lua
cat src/common/KissProtocolCF.lua src/Horus/Kiss.lua src/common/KissUI.lua > tmp/HorusCF.lua
cat src/common/KissProtocolSPort.lua src/212x64/Kiss.lua src/common/KissUI.lua > tmp/212x64_SPORT.lua
cat src/common/KissProtocolSPort.lua src/128x64/Kiss.lua src/common/KissUI.lua > tmp/128x64_SPORT.lua
cat src/common/KissProtocolSPort.lua src/480x272/Kiss.lua src/common/KissUI.lua > tmp/480x272_SPORT.lua

cat src/common/KissProtocolCF.lua src/212x64/Kiss.lua src/common/KissUI.lua > tmp/212x64_CF.lua
cat src/common/KissProtocolCF.lua src/128x64/Kiss.lua src/common/KissUI.lua > tmp/128x64_CF.lua
cat src/common/KissProtocolCF.lua src/480x272/Kiss.lua src/common/KissUI.lua > tmp/480x272_CF.lua



Expand All @@ -28,41 +27,38 @@ clean:

.PHONY: prepare
prepare:
mkdir -p obj/X9/
mkdir -p obj/X7/
mkdir -p obj/Horus/
mkdir -p obj/X-Lite/
mkdir -p obj/212x64/
mkdir -p obj/128x64/
mkdir -p obj/480x272/

mkdir -p tmp/
.PHONY: lua
lua:
cp tmp/X9SP.lua obj/X9/KissSP.lua
cp tmp/X7SP.lua obj/X7/KissSP.lua
cp tmp/X-LiteSP.lua obj/X-Lite/KissSP.lua
cp tmp/HorusSP.lua obj/Horus/KissSP.lua

cp tmp/212x64_SPORT.lua obj/212x64/KissSP.lua
cp tmp/128x64_SPORT.lua obj/128x64/KissSP.lua
cp tmp/480x272_SPORT.lua obj/480x272/KissSP.lua

cp tmp/X9CF.lua obj/X9/KissCF.lua
cp tmp/X7CF.lua obj/X7/KissCF.lua
cp tmp/X-LiteCF.lua obj/KissCF.lua
cp tmp/HorusCF.lua obj/Horus/KissCF.lua
cp tmp/212x64_CF.lua obj/212x64/KissCF.lua
cp tmp/128x64_CF.lua obj/128x64/KissCF.lua
cp tmp/480x272_CF.lua obj/480x272/KissCF.lua


cp -R src/X7/KISS obj/X7/KISS
cp -R src/X7/KISS obj/X-Lite/KISS
cp -R src/X9/KISS obj/X9/KISS
cp -R src/Horus/KISS obj/Horus/KISS
cp -R src/212x64/KISS obj/212x64/KISS
cp -R src/128x64/KISS obj/128x64/KISS
cp -R src/480x272/KISS obj/480x272/KISS

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

.PHONY: zip
zip:
test -d dist || mkdir dist
cd obj/X9/; zip -r ../../dist/kiss-x9-lua-scripts-${VERSION}-${GIT_HASH}.zip *
cd obj/X7/; zip -r ../../dist/kiss-x7-lua-scripts-${VERSION}-${GIT_HASH}.zip *
cd obj/X-Lite/; zip -r ../../dist/kiss-x_lite-lua-scripts-${VERSION}-${GIT_HASH}.zip *
cd obj/Horus/; zip -r ../../dist/kiss-horus-lua-scripts-${VERSION}-${GIT_HASH}.zip *
cd obj/212x64/; zip -r ../../dist/kiss-212x64-lua-scripts-${VERSION}.zip *
cd obj/128x64/; zip -r ../../dist/kiss-128x64-lua-scripts-${VERSION}.zip *
cd obj/480x272/; zip -r ../../dist/kiss-480x272-lua-scripts-${VERSION}.zip *

.PHONY: dist
dist: clean prepare luatmp lua zip

dist: clean prepare luatmp lua luamin zip
.PHONY: debug
debug: clean prepare luatmp lua
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,19 @@ Please visit the [releases page](https://github.com/flyduino/kissfc-tx-lua-scrip

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.

## Flavours

### 128x64 Display
- Taranis Q X7 / X7S
- Taranis X-Lite / X-Lite S / X-Lite Pro
- Taranis X9 Lite / X9 Lite Pro
- Jumper T12

### 212x64 Display
- Taranis X9D / X9D+ / X9D+ 2019
- Taranis X9E

### 480x272 Color Display
- Horus X12S
- Horus X10 / X10S
- Jumper T16
25 changes: 25 additions & 0 deletions src/128x64/KISS/alarms.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
return {
read = 0x49,
write = 0x4A,
postRead = function(values)
local ret = {}
ret[1] = 100 * (bit32.lshift(values[1], 8) + values[2])
ret[2] = bit32.lshift(values[3], 8) + values[4]
return ret
end,
preWrite = function(values)
local ret = {}
local tmp = bit32.band(math.floor(values[1] / 100), 0xFFFF)
ret[1] = bit32.band(bit32.rshift(tmp, 8), 0xFF)
ret[2] = bit32.band(tmp, 0xFF)
ret[3] = bit32.band(bit32.rshift(values[2], 8), 0xFF)
ret[4] = bit32.band(values[2], 0xFF)
return ret
end,
title = 'Alarms',
text = {},
fields = {
{t = 'VBat', x = 15, y = 27, sp = 70, i = 1, min = 0, max = 26000, prec = 1},
{t = 'mAH', x = 15, y = 40, sp = 70, i = 2, min = 0, max = 26000, inc = 10}
}
}
64 changes: 64 additions & 0 deletions src/128x64/KISS/filters.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
return {
read = 0x47,
write = 0x48,
postRead = function(values)
local ret = {}
ret[1] = values[3] + 1
ret[2] = bit32.lshift(values[4], 8) + values[5]
ret[3] = bit32.lshift(values[6], 8) + values[7]
ret[4] = values[8] + 1
ret[5] = bit32.lshift(values[9], 8) + values[10]
ret[6] = bit32.lshift(values[11], 8) + values[12]
ret[7] = values[1] + 1
ret[8] = values[2]
ret[9] = values[13] + 1
ret[10] = values[14] + 1
return ret
end,
preWrite = function(values)
local ret = {}
ret[1] = bit32.band(values[7] - 1, 0xFF)
ret[2] = bit32.band(values[8], 0xFF)
ret[3] = bit32.band(values[1] - 1, 0xFF)
ret[4] = bit32.band(bit32.rshift(values[2], 8), 0xFF)
ret[5] = bit32.band(values[2], 0xFF)
ret[6] = bit32.band(bit32.rshift(values[3], 8), 0xFF)
ret[7] = bit32.band(values[3], 0xFF)
ret[8] = bit32.band(values[4] - 1, 0xFF)
ret[9] = bit32.band(bit32.rshift(values[5], 8), 0xFF)
ret[10] = bit32.band(values[5], 0xFF)
ret[11] = bit32.band(bit32.rshift(values[6], 8), 0xFF)
ret[12] = bit32.band(values[6], 0xFF)
ret[13] = bit32.band(values[9] - 1, 0xFF)
ret[14] = bit32.band(values[10] - 1, 0xFF)
return ret
end,
title = 'Filters',
text = {
{t = 'Center', x = 50, y = 10},
{t = 'Cutoff', x = 90, y = 10},
{t = 'Notch', x = 3, y = 10},
{t = 'Roll', x = 3, y = 20},
{t = 'Pitch', x = 3, y = 30},
{t = 'R/P', x = 3, y = 42},
{t = 'Yaw f.', x = 65, y = 42},
{t = 'Yaw', x = 3, y = 52},
{t = 'Dterm', x = 65, y = 52}
},
lines = {
{x1 = 1, y1 = 39, x2 = 125, y2 = 39}
},
fields = {
-- Filters
{x = 15, y = 20, i = 1, min = 1, max = 2, table = {'Off', 'On'}},
{x = 45, y = 20, i = 2, min = 0, max = 490},
{x = 80, y = 20, i = 3, min = 0, max = 490},
{x = 15, y = 30, i = 4, min = 1, max = 2, table = {'Off', 'On'}},
{x = 45, y = 30, i = 5, min = 0, max = 490},
{x = 80, y = 30, i = 6, min = 0, max = 490},
{x = 15, y = 42, i = 7, min = 1, max = 7, table = {'Off', 'High', 'MedHi', 'Med', 'MedLo', 'Low', 'VerLo'}},
{x = 80, y = 42, i = 8, min = 0, max = 97},
{x = 15, y = 52, i = 9, min = 1, max = 7, table = {'Off', 'High', 'MedHi', 'Med', 'MedLo', 'Low', 'VerLo'}},
{x = 80, y = 52, i = 10, min = 1, max = 7, table = {'Off', 'High', 'MedHi', 'Med', 'MedLo', 'Low', 'VerLo'}}
}
}
45 changes: 45 additions & 0 deletions src/128x64/KISS/pids.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
return {
read = 0x43,
write = 0x44,
postRead = function(values)
local ret = {}
for i = 0, 2 do
ret[i * 3 + 1] = bit32.lshift(values[i * 6 + 1], 8) + values[i * 6 + 2]
ret[i * 3 + 2] = bit32.lshift(values[i * 6 + 3], 8) + values[i * 6 + 4]
ret[i * 3 + 3] = bit32.lshift(values[i * 6 + 5], 8) + values[i * 6 + 6]
end
return ret
end,
preWrite = function(values)
local ret = {}
for i = 0, 2 do
ret[i * 6 + 1] = bit32.rshift(values[i * 3 + 1], 8)
ret[i * 6 + 2] = bit32.band(values[i * 3 + 1], 0xFF)
ret[i * 6 + 3] = bit32.rshift(values[i * 3 + 2], 8)
ret[i * 6 + 4] = bit32.band(values[i * 3 + 2], 0xFF)
ret[i * 6 + 5] = bit32.rshift(values[i * 3 + 3], 8)
ret[i * 6 + 6] = bit32.band(values[i * 3 + 3], 0xFF)
end
return ret
end,
title = 'PIDs',
text = {
{t = 'P', x = 45, y = 14},
{t = 'I', x = 78, y = 14},
{t = 'D', x = 107, y = 14},
{t = 'Roll', x = 3, y = 25},
{t = 'Pitch', x = 3, y = 38},
{t = 'Yaw', x = 3, y = 50}
},
fields = {
{x = 20, y = 25, i = 1, max = 65000, prec = 2},
{x = 48, y = 25, i = 2, max = 65000, prec = 3},
{x = 80, y = 25, i = 3, max = 65000, prec = 2},
{x = 20, y = 38, i = 4, max = 65000, prec = 2},
{x = 48, y = 38, i = 5, max = 65000, prec = 3},
{x = 80, y = 38, i = 6, max = 65000, prec = 2},
{x = 20, y = 50, i = 7, max = 65000, prec = 2},
{x = 48, y = 50, i = 8, max = 65000, prec = 3},
{x = 80, y = 50, i = 9, max = 65000, prec = 2}
}
}
42 changes: 42 additions & 0 deletions src/128x64/KISS/rates.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
return {
read = 0x4D,
write = 0x4E,
postRead = function(values)
local ret = {}
for i = 1, 9 do
ret[i] = bit32.lshift(values[(i - 1) * 2 + 1], 8) + values[(i - 1) * 2 + 2]
end
return ret
end,
preWrite = function(values)
local ret = {}
for i = 1, 9 do
ret[(i - 1) * 2 + 1] = bit32.rshift(values[i], 8)
ret[(i - 1) * 2 + 2] = bit32.band(values[i], 0xFF)
end
return ret
end,
title = 'Rates',
text = {
{t = 'RC', x = 41, y = 14},
{t = 'Rate', x = 65, y = 14},
{t = 'Curve', x = 95, y = 14},
{t = 'Roll', x = 3, y = 25},
{t = 'Pitch', x = 3, y = 38},
{t = 'Yaw', x = 3, y = 50}
},
fields = {
-- RC Rate
{x = 16, y = 25, i = 1, max = 65000, prec = 2},
{x = 48, y = 25, i = 2, max = 65000, prec = 2},
{x = 80, y = 25, i = 3, max = 65000, prec = 2},
-- Rate
{x = 16, y = 38, i = 4, max = 65000, prec = 2},
{x = 48, y = 38, i = 5, max = 65000, prec = 2},
{x = 80, y = 38, i = 6, max = 65000, prec = 2},
-- RC Curve
{x = 16, y = 50, i = 7, max = 65000, prec = 2},
{x = 48, y = 50, i = 8, max = 65000, prec = 2},
{x = 80, y = 50, i = 9, max = 65000, prec = 2}
}
}
19 changes: 19 additions & 0 deletions src/128x64/KISS/setpnt.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
return {
read = 0x52,
write = 0x53,
postRead = function(values)
local ret = {}
ret[1] = values[1]
return ret
end,
preWrite = function(values)
local ret = {}
ret[1] = values[1]
return ret
end,
title = 'Setpoints',
text = {},
fields = {
{t = 'D Setpoint', x = 15, y = 27, sp = 70, i = 1, min = 0, max = 100}
}
}
54 changes: 54 additions & 0 deletions src/128x64/KISS/tpa.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
return {
read = 0x4B,
write = 0x4C,
postRead = function(values)
local ret = {}
for i = 1, 3 do
ret[i] = bit32.lshift(values[(i - 1) * 2 + 1], 8) + values[(i - 1) * 2 + 2]
end
ret[4] = values[7] + 1
for i = 5, 10 do
ret[i] = values[i + 3]
end
return ret
end,
preWrite = function(values)
local ret = {}
for i = 1, 3 do
ret[(i - 1) * 2 + 1] = bit32.rshift(values[i], 8)
ret[(i - 1) * 2 + 2] = bit32.band(values[i], 0xFF)
end
ret[7] = bit32.band(values[4] - 1, 0xFF)
for i = 5, 10 do
ret[i + 3] = bit32.band(values[i], 0xFF)
end
return ret
end,
title = 'TPA',
text = {
{t = 'P', x = 45, y = 10},
{t = 'I', x = 78, y = 10},
{t = 'D', x = 107, y = 10},
{t = 'TPA', x = 3, y = 20},
{t = '0', x = 35, y = 43},
{t = '100', x = 105, y = 43},
{t = 'Thr%', x = 3, y = 43},
{t = 'Inf%', x = 3, y = 53}
},
lines = {
{x1 = 1, y1 = 30, x2 = 125, y2 = 30}
},
fields = {
-- TPA
{x = 20, y = 20, i = 1, max = 900, prec = 2},
{x = 53, y = 20, i = 2, max = 900, prec = 2},
{x = 80, y = 20, i = 3, max = 900, prec = 2},
{t = 'Custom TPA', x = 3, y = 33, sp = 65, i = 4, min = 1, max = 2, table = {'Off', 'On'}},
{x = 38, y = 43, i = 5, max = 100},
{x = 61, y = 43, i = 6, max = 100},
{x = 15, y = 53, i = 7, max = 100},
{x = 38, y = 53, i = 8, max = 100},
{x = 61, y = 53, i = 9, max = 100},
{x = 85, y = 53, i = 10, max = 100}
}
}
31 changes: 31 additions & 0 deletions src/128x64/KISS/vtx.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
return {
read = 0x45,
write = 0x46,
postRead = function(values)
local ret = {}
ret[1] = values[1]
ret[2] = 1 + bit32.rshift(values[2], 3)
ret[3] = 1 + bit32.band(values[2], 0x07)
ret[4] = bit32.lshift(values[3], 8) + values[4]
ret[5] = bit32.lshift(values[5], 8) + values[6]
return ret
end,
preWrite = function(values)
local ret = {}
ret[1] = bit32.band(values[1], 0xFF)
ret[2] = bit32.band((values[2] - 1) * 8 + values[3] - 1, 0xFF)
ret[3] = bit32.band(bit32.rshift(values[4], 8), 0xFF)
ret[4] = bit32.band(values[4], 0xFF)
ret[5] = bit32.band(bit32.rshift(values[5], 8), 0xFF)
ret[6] = bit32.band(values[5], 0xFF)
return ret
end,
title = 'VTX',
text = {},
fields = {
{t = 'Band', x = 15, y = 14, sp = 70, i = 2, min = 1, max = 5, table = {'A', 'B', 'E', 'FS', 'RB'}},
{t = 'Channel', x = 15, y = 27, sp = 70, i = 3, min = 1, max = 8},
{t = 'Low Power', x = 15, y = 40, sp = 70, i = 4, min = 0, max = 2000},
{t = 'High Power', x = 15, y = 53, sp = 70, i = 5, min = 0, max = 2000}
}
}
Loading