Merge branch 'next' into schwabe/ar9x_test_and_fix
|
@ -24,4 +24,4 @@ install:
|
|||
- sudo dpkg --install gcc-avr_1%3a4.8-2.1_amd64.deb avr-libc_1%3a1.8.0-4.1_all.deb libmpfr4_3.1.2-1_amd64.deb binutils-avr_2.23.1-2.1_amd64.deb libmpc3_1.0.1-1ubuntu1_amd64.deb
|
||||
|
||||
script:
|
||||
- ./radio/util/commit-tests.sh .
|
||||
- ./tools/commit-tests.sh .
|
||||
|
|
|
@ -130,10 +130,12 @@ QString FirmwareInterface::seekLabel(const QString & label)
|
|||
|
||||
QString FirmwareInterface::getFlavour() const
|
||||
{
|
||||
if (flavour == "opentx-x9dp")
|
||||
return "opentx-taranis-plus";
|
||||
else if (flavour == "opentx-x9d")
|
||||
return "opentx-taranis";
|
||||
if (flavour == "opentx-taranis-x9e")
|
||||
return "opentx-x9e";
|
||||
else if (flavour == "opentx-x9dp" || flavour == "opentx-taranis-plus")
|
||||
return "opentx-x9d+";
|
||||
else if (flavour == "opentx-taranis")
|
||||
return "opentx-x9d";
|
||||
else
|
||||
return flavour;
|
||||
}
|
||||
|
|
|
@ -1147,7 +1147,7 @@ void addOpenTxTaranisOptions(OpenTxFirmware * firmware)
|
|||
Option usb_options[] = { { "massstorage", QObject::tr("Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader)") }, { "cli", QObject::tr("Instead of Joystick emulation, USB connection is Command Line Interface") }, { NULL } };
|
||||
firmware->addOptions(usb_options);
|
||||
firmware->addOption("mixersmon", QObject::tr("Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views"));
|
||||
firmware->addOption("eu", QObject::tr("Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015"));
|
||||
firmware->addOption("eu", QObject::tr("Removes D8 FrSky protocol support which is not legal for use in the EU on radios sold after Jan 1st, 2015"));
|
||||
firmware->addOption("internalppm", QObject::tr("Support for PPM internal module hack"));
|
||||
firmware->addOption("multimodule", QObject::tr("Support for the DIY-Multiprotocol-TX-Module"));
|
||||
firmware->addOption("sqt5font", QObject::tr("Use alternative SQT5 font"));
|
||||
|
@ -1176,20 +1176,20 @@ void registerOpenTxFirmwares()
|
|||
Option dsm2_options[] = { { "DSM2", QObject::tr("Support for DSM2 modules"), 0 }, { "DSM2PPM", QObject::tr("Support for DSM2 modules using ppm instead of true serial"), 0 }, { NULL } };
|
||||
|
||||
/* Taranis Plus board */
|
||||
firmware = new OpenTxFirmware("opentx-taranisplus", QObject::tr("FrSky Taranis Plus"), BOARD_TARANIS_PLUS);
|
||||
firmware = new OpenTxFirmware("opentx-x9d+", QObject::tr("FrSky Taranis Plus"), BOARD_TARANIS_PLUS);
|
||||
addOpenTxTaranisOptions(firmware);
|
||||
addOpenTxCommonOptions(firmware);
|
||||
firmwares.push_back(firmware);
|
||||
|
||||
/* Taranis board */
|
||||
firmware = new OpenTxFirmware("opentx-taranis", QObject::tr("FrSky Taranis"), BOARD_TARANIS);
|
||||
firmware = new OpenTxFirmware("opentx-x9d", QObject::tr("FrSky Taranis"), BOARD_TARANIS);
|
||||
firmware->addOption("haptic", QObject::tr("Haptic module installed"));
|
||||
addOpenTxTaranisOptions(firmware);
|
||||
addOpenTxCommonOptions(firmware);
|
||||
firmwares.push_back(firmware);
|
||||
|
||||
/* Taranis X9E board */
|
||||
firmware = new OpenTxFirmware("opentx-taranisx9e", QObject::tr("FrSky Taranis X9E"), BOARD_TARANIS_X9E);
|
||||
firmware = new OpenTxFirmware("opentx-x9e", QObject::tr("FrSky Taranis X9E"), BOARD_TARANIS_X9E);
|
||||
firmware->addOption("shutdownconfirm", QObject::tr("Confirmation before radio shutdown"));
|
||||
addOpenTxTaranisOptions(firmware);
|
||||
addOpenTxCommonOptions(firmware);
|
||||
|
@ -1460,7 +1460,7 @@ void registerOpenTxFirmwares()
|
|||
addOpenTxCommonOptions(firmware);
|
||||
firmwares.push_back(firmware);
|
||||
|
||||
default_firmware_variant = GetFirmware("opentx-taranisplus-en");
|
||||
default_firmware_variant = GetFirmware("opentx-x9d+");
|
||||
current_firmware_variant = default_firmware_variant;
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ if (inputs.rotenc) pind |= 0x20;
|
|||
if (inputs.rotenc) PIOB->PIO_PDSR &= ~0x40; else PIOB->PIO_PDSR |= 0x40;
|
||||
#endif
|
||||
|
||||
#if defined(PCBFLAMENCO) || (defined(PCBTARANIS) && defined(REV9E))
|
||||
#if defined(PCBFLAMENCO) || defined(PCBX9E)
|
||||
if (inputs.rotenc) simuSetKey(KEY_ENTER, true);
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -8067,8 +8067,8 @@ Mixage actif par défaut si non-renseigné.</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../firmwares/opentx/opentxinterface.cpp" line="1144"/>
|
||||
<source>Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015</source>
|
||||
<translation>Supprime les protocoles RF D8 et LR12 qui ne sont plus utilisable légalementen Europe sur les radios vendues après le 1er janvier 2015</translation>
|
||||
<source>Removes D8 FrSky protocol support which is not legal for use in the EU on radios sold after Jan 1st, 2015</source>
|
||||
<translation>Supprime le protocole RF D8 qui n'est plus utilisable légalement en Europe sur les radios vendues après le 1er janvier 2015</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../firmwares/opentx/opentxinterface.cpp" line="1145"/>
|
||||
|
|
|
@ -1,25 +1,37 @@
|
|||
local COLUMN_2 = 140
|
||||
|
||||
local edit = false
|
||||
local pages = { }
|
||||
local pageIndex = 1
|
||||
local fieldIndex = 1
|
||||
local pageOffset = 0
|
||||
local pages = { }
|
||||
local edit = false
|
||||
local charIndex = 1
|
||||
|
||||
-- Change display attribute to current field
|
||||
local function incrField(step)
|
||||
local fields = pages[pageIndex].fields
|
||||
local field = fields[fieldIndex]
|
||||
local min, max = 0, 0
|
||||
if field.type <= 5 then
|
||||
min = field.min
|
||||
max = field.max
|
||||
elseif field.type == 9 then
|
||||
min = 0
|
||||
max = #field.values - 1
|
||||
end
|
||||
if (step < 0 and field.value > min) or (step > 0 and field.value < max) then
|
||||
field.value = field.value + step
|
||||
if field.type == 10 then
|
||||
local byte = string.byte(field.value, charIndex) + step
|
||||
if byte < 32 then
|
||||
byte = 32
|
||||
elseif byte > 122 then
|
||||
byte = 122
|
||||
end
|
||||
field.value = string.sub(field.value, 1, charIndex-1) .. string.char(byte) .. string.sub(field.value, charIndex+1)
|
||||
else
|
||||
local min, max = 0, 0
|
||||
if field.type <= 5 then
|
||||
min = field.min
|
||||
max = field.max
|
||||
step = field.step * step
|
||||
elseif field.type == 9 then
|
||||
min = 0
|
||||
max = #field.values - 1
|
||||
end
|
||||
if (step < 0 and field.value > min) or (step > 0 and field.value < max) then
|
||||
field.value = field.value + step
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -32,9 +44,11 @@ end
|
|||
local function selectField(step)
|
||||
local fields = pages[pageIndex].fields
|
||||
local newFieldIndex = fieldIndex
|
||||
local field = fields[newFieldIndex]
|
||||
repeat
|
||||
newFieldIndex = 1 + ((newFieldIndex + step - 1 + #fields) % #fields)
|
||||
until newFieldIndex == fieldIndex or (pages[pageIndex].fields[newFieldIndex].type ~= 11 and pages[pageIndex].fields[newFieldIndex].name ~= nil)
|
||||
field = fields[newFieldIndex]
|
||||
until newFieldIndex == fieldIndex or (field.type ~= 11 and field.type ~= 12 and field.name ~= nil)
|
||||
fieldIndex = newFieldIndex
|
||||
if fieldIndex > 7 + pageOffset then
|
||||
pageOffset = fieldIndex - 7
|
||||
|
@ -135,45 +149,140 @@ local function fieldGetString(data, offset)
|
|||
return result, offset
|
||||
end
|
||||
|
||||
-- UINT8
|
||||
local function fieldUint8SelectionLoad(field, data, offset)
|
||||
field.value = data[offset]
|
||||
field.min = data[offset+1]
|
||||
field.max = data[offset+2]
|
||||
field.unit, offset = fieldGetString(data, offset+4)
|
||||
local function fieldGetValue(data, offset, size)
|
||||
local result = 0
|
||||
for i=0, size-1 do
|
||||
result = bit32.lshift(result, 8) + data[offset + i]
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
local function fieldUint8SelectionSave(fieldIndex)
|
||||
crossfireTelemetryPush(0x2D, { pages[pageIndex].id, 0xEA, fieldIndex, pages[pageIndex].fields[fieldIndex].value })
|
||||
local function fieldUnsignedSelectionLoad(field, data, offset, size)
|
||||
field.value = fieldGetValue(data, offset, size)
|
||||
field.min = fieldGetValue(data, offset+size, size)
|
||||
field.max = fieldGetValue(data, offset+2*size, size)
|
||||
field.unit, offset = fieldGetString(data, offset+3*size)
|
||||
field.step = 1
|
||||
end
|
||||
|
||||
local function fieldIntSelectionDisplay(field, y, attr)
|
||||
local function fieldUnsignedToSigned(field, size)
|
||||
local bandval = bit32.lshift(0x80, (size-1)*8)
|
||||
field.value = field.value - bit32.band(field.value, bandval) * 2
|
||||
field.min = field.min - bit32.band(field.min, bandval) * 2
|
||||
field.max = field.max - bit32.band(field.max, bandval) * 2
|
||||
end
|
||||
|
||||
local function fieldSignedSelectionLoad(field, data, offset, size)
|
||||
fieldUnsignedSelectionLoad(field, data, offset, size)
|
||||
fieldUnsignedToSigned(field, size)
|
||||
end
|
||||
|
||||
local function fieldIntSave(fieldIndex, value, size)
|
||||
local frame = { pages[pageIndex].id, 0xEA, fieldIndex }
|
||||
for i=size-1, 0, -1 do
|
||||
frame[#frame + 1] = (bit32.rshift(value, 8*i) % 256)
|
||||
end
|
||||
crossfireTelemetryPush(0x2D, frame)
|
||||
end
|
||||
|
||||
local function fieldUnsignedSelectionSave(fieldIndex, size)
|
||||
local value = pages[pageIndex].fields[fieldIndex].value
|
||||
fieldIntSave(fieldIndex, value, size)
|
||||
end
|
||||
|
||||
local function fieldSignedSelectionSave(fieldIndex, size)
|
||||
local value = pages[pageIndex].fields[fieldIndex].value
|
||||
if value < 0 then
|
||||
value = bit32.lshift(0x100, (size-1)*8) - value
|
||||
end
|
||||
fieldIntSave(fieldIndex, value, size)
|
||||
end
|
||||
|
||||
local function fieldIntDisplay(field, y, attr)
|
||||
lcd.drawNumber(COLUMN_2, y, field.value, LEFT + attr)
|
||||
lcd.drawText(lcd.getLastPos(), y, field.unit, attr)
|
||||
end
|
||||
|
||||
-- UINT16
|
||||
local function fieldUint16SelectionLoad(field, data, offset)
|
||||
field.value = bit32.lshift(data[offset], 8) + data[offset+1]
|
||||
field.min = bit32.lshift(data[offset+2], 8) + data[offset+3]
|
||||
field.max = bit32.lshift(data[offset+4], 8) + data[offset+5]
|
||||
field.unit, offset = fieldGetString(data, offset+6)
|
||||
-- UINT8
|
||||
local function fieldUint8Load(field, data, offset)
|
||||
fieldUnsignedSelectionLoad(field, data, offset, 1)
|
||||
end
|
||||
|
||||
local function fieldUint16SelectionSave(fieldIndex)
|
||||
crossfireTelemetryPush(0x2D, { pages[pageIndex].id, 0xEA, fieldIndex, bit32.rshift(pages[pageIndex].fields[fieldIndex].value, 8), pages[pageIndex].fields[fieldIndex].value % 255 })
|
||||
local function fieldUint8Save(fieldIndex)
|
||||
fieldUnsignedSelectionSave(fieldIndex, 1)
|
||||
end
|
||||
|
||||
-- INT8
|
||||
local function fieldInt8Load(field, data, offset)
|
||||
fieldSignedSelectionLoad(field, data, offset, 1)
|
||||
end
|
||||
|
||||
local function fieldInt8Save(fieldIndex)
|
||||
fieldSignedSelectionSave(fieldIndex, 1)
|
||||
end
|
||||
|
||||
-- UINT16
|
||||
local function fieldUint16Load(field, data, offset)
|
||||
fieldUnsignedSelectionLoad(field, data, offset, 2)
|
||||
end
|
||||
|
||||
local function fieldUint16Save(fieldIndex)
|
||||
|
||||
fieldUnsignedSelectionSave(fieldIndex, 2)
|
||||
end
|
||||
|
||||
-- INT16
|
||||
local function fieldInt16Load(field, data, offset)
|
||||
fieldSignedSelectionLoad(field, data, offset, 2)
|
||||
end
|
||||
|
||||
local function fieldInt16Save(fieldIndex)
|
||||
fieldSignedSelectionSave(fieldIndex, 2)
|
||||
end
|
||||
|
||||
-- UINT32
|
||||
local function fieldUint32SelectionLoad(field, data, offset)
|
||||
field.value = bit32.lshift(data[offset], 24) + bit32.lshift(data[offset+1], 16) + bit32.lshift(data[offset+2], 8) + data[offset+3]
|
||||
field.min = bit32.lshift(data[offset+4], 24) + bit32.lshift(data[offset+5], 16) + bit32.lshift(data[offset+6], 8) + data[offset+7]
|
||||
field.max = bit32.lshift(data[offset+8], 24) + bit32.lshift(data[offset+9], 16) + bit32.lshift(data[offset+10], 8) + data[offset+11]
|
||||
field.unit, offset = fieldGetString(data, offset+12)
|
||||
local function fieldUint32Load(field, data, offset)
|
||||
fieldUnsignedSelectionLoad(field, data, offset, 4)
|
||||
end
|
||||
|
||||
local function fieldUint32SelectionSave(fieldIndex)
|
||||
crossfireTelemetryPush(0x2D, { pages[pageIndex].id, 0xEA, fieldIndex, bit32.rshift(pages[pageIndex].fields[fieldIndex].value, 24), bit32.rshift(pages[pageIndex].fields[fieldIndex].value, 16) % 255, bit32.rshift(pages[pageIndex].fields[fieldIndex].value, 8) % 255, pages[pageIndex].fields[fieldIndex].value % 255 })
|
||||
local function fieldUint32Save(fieldIndex)
|
||||
fieldUnsignedSelectionSave(fieldIndex, 4)
|
||||
end
|
||||
|
||||
-- INT32
|
||||
local function fieldInt32Load(field, data, offset)
|
||||
fieldSignedSelectionLoad(field, data, offset, 4)
|
||||
end
|
||||
|
||||
local function fieldInt32Save(fieldIndex)
|
||||
fieldSignedSelectionSave(fieldIndex, 4)
|
||||
end
|
||||
|
||||
-- FLOAT
|
||||
local function fieldFloatSelectionLoad(field, data, offset)
|
||||
field.value = fieldGetValue(data, offset, 4)
|
||||
field.min = fieldGetValue(data, offset+4, 4)
|
||||
field.max = fieldGetValue(data, offset+8, 4)
|
||||
fieldUnsignedToSigned(field, 4)
|
||||
field.prec = data[offset+12]
|
||||
if field.prec > 2 then
|
||||
field.prec = 2
|
||||
end
|
||||
field.step = fieldGetValue(data, offset+13, 4)
|
||||
field.unit, offset = fieldGetString(data, offset+14)
|
||||
end
|
||||
|
||||
local function fieldFloatSelectionDisplay(field, y, attr)
|
||||
local attrnum
|
||||
if field.prec == 1 then
|
||||
attrnum = LEFT + attr + PREC1
|
||||
elseif field.prec == 2 then
|
||||
attrnum = LEFT + attr + PREC2
|
||||
else
|
||||
attrnum = LEFT + attr
|
||||
end
|
||||
lcd.drawNumber(COLUMN_2, y, field.value, attrnum)
|
||||
lcd.drawText(lcd.getLastPos(), y, field.unit, attr)
|
||||
end
|
||||
|
||||
-- TEXT SELECTION
|
||||
|
@ -193,36 +302,54 @@ local function fieldTextSelectionDisplay(field, y, attr)
|
|||
end
|
||||
|
||||
-- STRING
|
||||
local function fieldStringSelectionLoad(field, data, offset)
|
||||
local function fieldStringLoad(field, data, offset)
|
||||
field.value, offset = fieldGetString(data, offset)
|
||||
if #data >= offset then
|
||||
field.maxlen = data[offset]
|
||||
end
|
||||
end
|
||||
|
||||
local function fieldStringSelectionSave(fieldIndex)
|
||||
-- crossfireTelemetryPush(0x2D, { pages[pageIndex].id, 0xEA, fieldIndex, })
|
||||
local function fieldStringSave(fieldIndex)
|
||||
local frame = { pages[pageIndex].id, 0xEA, fieldIndex }
|
||||
for i=1, string.len(field.value) do
|
||||
frame[#frame + 1] = string.byte(field.value, i)
|
||||
end
|
||||
frame[#frame + 1] = 0
|
||||
crossfireTelemetryPush(0x2D, frame)
|
||||
end
|
||||
|
||||
local function fieldStringSelectionDisplay(field, y, attr)
|
||||
lcd.drawText(COLUMN_2, y, field.value, attr)
|
||||
local function fieldStringDisplay(field, y, attr)
|
||||
if edit == true and attr ~= 0 then
|
||||
lcd.drawText(COLUMN_2, y, field.value, FIXEDWIDTH)
|
||||
lcd.drawText(COLUMN_2+6*charIndex-6, y, string.sub(field.value, charIndex, charIndex), FIXEDWIDTH + attr)
|
||||
else
|
||||
lcd.drawText(COLUMN_2, y, field.value, FIXEDWIDTH + attr)
|
||||
end
|
||||
end
|
||||
|
||||
local function fieldCommandLoad(field, data, offset)
|
||||
-- TODO
|
||||
end
|
||||
|
||||
local function fieldCommandDisplay(field, y, attr)
|
||||
lcd.drawText(0, y, field.name, attr)
|
||||
end
|
||||
|
||||
local types_functions = {
|
||||
{ load=fieldUint8SelectionLoad, save=fieldUint8SelectionSave, display=fieldIntSelectionDisplay },
|
||||
{ load=fieldUint8SelectionLoad, save=fieldUint8SelectionSave, display=fieldIntSelectionDisplay },
|
||||
{ load=fieldUint16SelectionLoad, save=fieldUint16SelectionSave, display=fieldIntSelectionDisplay },
|
||||
{ load=fieldUint16SelectionLoad, save=fieldUint16SelectionSave, display=fieldIntSelectionDisplay },
|
||||
{ load=fieldUint32SelectionLoad, save=fieldUint32SelectionSave, display=fieldIntSelectionDisplay },
|
||||
{ load=fieldUint32SelectionLoad, save=fieldUint32SelectionSave, display=fieldIntSelectionDisplay },
|
||||
nil,
|
||||
{ load=fieldUint8Load, save=fieldUint8Save, display=fieldIntDisplay },
|
||||
{ load=fieldInt8Load, save=fieldInt8Save, display=fieldIntDisplay },
|
||||
{ load=fieldUint16Load, save=fieldUint16Save, display=fieldIntDisplay },
|
||||
{ load=fieldInt16Load, save=fieldInt16Save, display=fieldIntDisplay },
|
||||
{ load=fieldUint32Load, save=fieldUint32Save, display=fieldIntDisplay },
|
||||
{ load=fieldInt32Load, save=fieldInt32Save, display=fieldIntDisplay },
|
||||
nil,
|
||||
nil,
|
||||
{ load=fieldFloatSelectionLoad, save=fieldInt32Save, display=fieldFloatSelectionDisplay },
|
||||
{ load=fieldTextSelectionLoad, save=fieldTextSelectionSave, display=fieldTextSelectionDisplay },
|
||||
{ load=fieldStringSelectionLoad, save=fieldStringSelectionSave, display=fieldStringSelectionDisplay },
|
||||
{ load=fieldStringLoad, save=fieldStringSave, display=fieldStringDisplay },
|
||||
nil,
|
||||
{ load=fieldStringSelectionLoad, save=fieldStringSelectionSave, display=fieldStringSelectionDisplay },
|
||||
|
||||
{ load=fieldStringLoad, save=nil, display=fieldStringDisplay },
|
||||
{ load=fieldCommandLoad, save=nil, display=fieldCommandDisplay },
|
||||
}
|
||||
|
||||
local function parseParameterInfoMessage(data)
|
||||
|
@ -295,11 +422,24 @@ end
|
|||
local function runDevicePage(index, event)
|
||||
local page = pages[index]
|
||||
if event == EVT_EXIT_BREAK then -- exit script
|
||||
return 2
|
||||
if edit == true then
|
||||
edit = false
|
||||
else
|
||||
return 2
|
||||
end
|
||||
elseif event == EVT_ENTER_BREAK then -- toggle editing/selecting current field
|
||||
local field = page.fields[fieldIndex]
|
||||
if field.name ~= nil then
|
||||
edit = not edit
|
||||
if field.type == 10 then
|
||||
if edit == false then
|
||||
edit = true
|
||||
charIndex = 1
|
||||
else
|
||||
charIndex = charIndex + 1
|
||||
end
|
||||
else
|
||||
edit = not edit
|
||||
end
|
||||
if edit == false and field.functions.save ~= nil then
|
||||
field.functions.save(fieldIndex)
|
||||
end
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
include(CMakeForceCompiler)
|
||||
include(Bitmaps)
|
||||
|
||||
set(PCB "TARANIS" CACHE STRING "Radio type")
|
||||
set(PCB "X9D+" CACHE STRING "Radio type")
|
||||
set(TRANSLATIONS "EN" CACHE STRING "Radio language")
|
||||
option(HELI "Heli menu" ON)
|
||||
option(FLIGHT_MODES "Flight Modes" ON)
|
||||
|
@ -53,9 +53,9 @@ set(M128_VARIANT 32768)
|
|||
set(FIRMWARE_DEPENDENCIES firmware_translations)
|
||||
|
||||
set(9X_GUI_SRC
|
||||
menu_model_inputs_mixes.cpp
|
||||
menu_general_diagkeys.cpp
|
||||
menu_general_diaganas.cpp
|
||||
model_inputs_mixes.cpp
|
||||
radio_diagkeys.cpp
|
||||
radio_diaganas.cpp
|
||||
)
|
||||
|
||||
set(FATFS_SRC
|
||||
|
@ -66,7 +66,7 @@ set(FATFS_SRC
|
|||
|
||||
if(PCB STREQUAL HORUS)
|
||||
include(targets/horus/CMakeLists.txt)
|
||||
elseif(PCB STREQUAL TARANIS)
|
||||
elseif(PCB STREQUAL X9E OR PCB STREQUAL X9D+ OR PCB STREQUAL X9D OR PCB STREQUAL X7D)
|
||||
include(targets/taranis/CMakeLists.txt)
|
||||
elseif(PCB STREQUAL SKY9X OR PCB STREQUAL 9XRPRO OR PCB STREQUAL AR9X)
|
||||
include(targets/sky9x/CMakeLists.txt)
|
||||
|
@ -78,11 +78,11 @@ elseif(PCB STREQUAL 9X2561)
|
|||
string(TOLOWER ${PCB} FLAVOUR)
|
||||
set(EEPROM EEPROM_RLC)
|
||||
add_definitions(-DEEPROM_VARIANT=${M2561_VARIANT})
|
||||
set(GUI_DIR 9x)
|
||||
set(GUI_DIR 128x64)
|
||||
set(TARGET_DIR 9x)
|
||||
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} 9x_bitmaps)
|
||||
add_definitions(-DPCBSTD -DPCB${PCB} -DCPUM2561)
|
||||
set(TARGET_SRC ${TARGET_SRC} board_stock.cpp)
|
||||
set(TARGET_SRC ${TARGET_SRC} board.cpp)
|
||||
set(GUI_SRC ${GUI_SRC} ${9X_GUI_SRC})
|
||||
if(SP22)
|
||||
add_definitions(-DSP22)
|
||||
|
@ -99,6 +99,8 @@ else()
|
|||
message(FATAL_ERROR "Unknown PCB '${PCB}'")
|
||||
endif()
|
||||
|
||||
include_directories(gui gui/${GUI_DIR})
|
||||
|
||||
if(NOT PCB STREQUAL 9XR AND NOT PCB STREQUAL 9XRPRO)
|
||||
option(DBLKEYS "Double Keys" ON)
|
||||
if(DBLKEYS)
|
||||
|
@ -107,23 +109,25 @@ if(NOT PCB STREQUAL 9XR AND NOT PCB STREQUAL 9XRPRO)
|
|||
endif()
|
||||
|
||||
if(CPU_TYPE STREQUAL STM32F4)
|
||||
include(common/arm/stm32/f4/CMakeLists.txt)
|
||||
include(targets/common/arm/stm32/f4/CMakeLists.txt)
|
||||
endif()
|
||||
|
||||
if(CPU_TYPE STREQUAL STM32F2)
|
||||
include(common/arm/stm32/f2/CMakeLists.txt)
|
||||
include(targets/common/arm/stm32/f2/CMakeLists.txt)
|
||||
endif()
|
||||
|
||||
if(CPU_FAMILY STREQUAL STM32)
|
||||
include(common/arm/stm32/CMakeLists.txt)
|
||||
include(targets/common/arm/stm32/CMakeLists.txt)
|
||||
endif()
|
||||
|
||||
if(ARCH STREQUAL ARM)
|
||||
include(common/arm/CMakeLists.txt)
|
||||
include(targets/common/arm/CMakeLists.txt)
|
||||
else()
|
||||
include(common/avr/CMakeLists.txt)
|
||||
include(targets/common/avr/CMakeLists.txt)
|
||||
endif()
|
||||
|
||||
include_directories(targets/${TARGET_DIR} ${THIRDPARTY_DIR})
|
||||
|
||||
foreach(LANGUAGE ${GUI_LANGUAGES})
|
||||
string(TOUPPER ${LANGUAGE} LANGUAGE_CAPITALIZED)
|
||||
if(TRANSLATIONS STREQUAL ${LANGUAGE_CAPITALIZED})
|
||||
|
@ -158,7 +162,6 @@ set(GUI_SRC
|
|||
lcd.cpp
|
||||
splash.cpp
|
||||
fonts.cpp
|
||||
helpers.cpp
|
||||
navigation.cpp
|
||||
popups.cpp
|
||||
widgets.cpp
|
||||
|
@ -168,16 +171,16 @@ set(GUI_SRC
|
|||
set(GUI_SRC
|
||||
${GUI_SRC}
|
||||
menu_model.cpp
|
||||
menu_model_select.cpp
|
||||
menu_model_setup.cpp
|
||||
menu_model_limits.cpp
|
||||
menu_model_logical_switches.cpp
|
||||
model_select.cpp
|
||||
model_setup.cpp
|
||||
model_outputs.cpp
|
||||
model_logical_switches.cpp
|
||||
model_special_functions.cpp
|
||||
menu_model_telemetry.cpp
|
||||
menu_general.cpp
|
||||
model_telemetry.cpp
|
||||
menu_radio.cpp
|
||||
radio_setup.cpp
|
||||
menu_general_trainer.cpp
|
||||
menu_general_version.cpp
|
||||
radio_trainer.cpp
|
||||
radio_version.cpp
|
||||
radio_calibration.cpp
|
||||
view_main.cpp
|
||||
view_statistics.cpp
|
||||
|
@ -198,7 +201,7 @@ endif()
|
|||
if(TEMPLATES)
|
||||
add_definitions(-DTEMPLATES)
|
||||
set(SRC ${SRC} templates.cpp)
|
||||
set(GUI_SRC ${GUI_SRC} menu_model_templates.cpp)
|
||||
set(GUI_SRC ${GUI_SRC} model_templates.cpp)
|
||||
endif()
|
||||
|
||||
if(NOT LUA STREQUAL NO)
|
||||
|
@ -207,7 +210,7 @@ if(NOT LUA STREQUAL NO)
|
|||
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} ${LUA_EXPORT})
|
||||
if(LUA STREQUAL YES)
|
||||
add_definitions(-DLUA_MODEL_SCRIPTS)
|
||||
set(GUI_SRC ${GUI_SRC} menu_model_custom_scripts.cpp)
|
||||
set(GUI_SRC ${GUI_SRC} model_custom_scripts.cpp)
|
||||
endif()
|
||||
set(SRC ${SRC} lua/interface.cpp lua/api_general.cpp lua/api_lcd.cpp lua/api_model.cpp)
|
||||
set(LUA_SRC lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c lobject.c lopcodes.c lparser.c
|
||||
|
@ -221,17 +224,17 @@ endif()
|
|||
|
||||
if(HELI)
|
||||
add_definitions(-DHELI)
|
||||
set(GUI_SRC ${GUI_SRC} menu_model_heli.cpp)
|
||||
set(GUI_SRC ${GUI_SRC} model_heli.cpp)
|
||||
endif()
|
||||
|
||||
if(FLIGHT_MODES)
|
||||
add_definitions(-DFLIGHT_MODES)
|
||||
set(GUI_SRC ${GUI_SRC} menu_model_flightmodes.cpp)
|
||||
set(GUI_SRC ${GUI_SRC} model_flightmodes.cpp)
|
||||
endif()
|
||||
|
||||
if(CURVES)
|
||||
add_definitions(-DCURVES)
|
||||
set(GUI_SRC ${GUI_SRC} menu_model_curves.cpp)
|
||||
set(GUI_SRC ${GUI_SRC} model_curves.cpp)
|
||||
endif()
|
||||
|
||||
if(GVARS)
|
||||
|
@ -273,7 +276,7 @@ if(SDCARD)
|
|||
add_definitions(-DSDCARD)
|
||||
include_directories(${FATFS_DIR} ${FATFS_DIR}/option)
|
||||
set(SRC ${SRC} sdcard.cpp rtc.cpp logs.cpp)
|
||||
set(GUI_SRC ${GUI_SRC} menu_general_sdmanager.cpp)
|
||||
set(GUI_SRC ${GUI_SRC} radio_sdmanager.cpp)
|
||||
set(FIRMWARE_SRC ${FIRMWARE_SRC} ${FATFS_SRC})
|
||||
endif()
|
||||
|
||||
|
@ -399,7 +402,7 @@ endif()
|
|||
set(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CPP_FLAGS} -g")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-mcpu=${MCU} -mthumb -lm -T${RADIO_SRC_DIRECTORY}/${LINKER_SCRIPT} -Wl,-Map=firmware.map,--cref,--no-warn-mismatch,--gc-sections")
|
||||
|
||||
if(PCB STREQUAL TARANIS)
|
||||
if(PCB STREQUAL X9D OR PCB STREQUAL X9D+ OR PCB STREQUAL X9E)
|
||||
add_subdirectory(targets/${TARGET_DIR}/bootloader)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/targets/${TARGET_DIR}/bootloader)
|
||||
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} bootloader)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
add_bitmaps_target(9x_xbm_1bit ${RADIO_SRC_DIRECTORY}/bitmaps/sticks.xbm 128 1bit 4)
|
||||
add_bitmaps_target(9x_fonts_1bit ${RADIO_SRC_DIRECTORY}/fonts/std/*.png 128 "")
|
||||
add_bitmaps_target(9x_bitmaps ${RADIO_SRC_DIRECTORY}/bitmaps/9x/*.png 128 1bit)
|
||||
add_bitmaps_target(9x_bitmaps ${RADIO_SRC_DIRECTORY}/bitmaps/128x64/*.png 128 1bit)
|
||||
add_dependencies(9x_bitmaps 9x_fonts_1bit 9x_xbm_1bit)
|
Before Width: | Height: | Size: 212 B After Width: | Height: | Size: 212 B |
Before Width: | Height: | Size: 196 B After Width: | Height: | Size: 196 B |
Before Width: | Height: | Size: 353 B After Width: | Height: | Size: 353 B |
|
@ -1,4 +1,4 @@
|
|||
add_bitmaps_target(taranis_xbm ${RADIO_SRC_DIRECTORY}/bitmaps/sticks.xbm 128 1bit 4)
|
||||
add_bitmaps_target(taranis_fonts ${RADIO_SRC_DIRECTORY}/fonts/std/*.png 128 "")
|
||||
add_bitmaps_target(taranis_bitmaps ${RADIO_SRC_DIRECTORY}/bitmaps/taranis/*.png 212 4bits)
|
||||
add_dependencies(taranis_bitmaps taranis_fonts taranis_xbm)
|
||||
add_bitmaps_target(taranis_bitmaps ${RADIO_SRC_DIRECTORY}/bitmaps/212x64/*.png 212 4bits)
|
||||
add_dependencies(taranis_bitmaps taranis_fonts taranis_xbm)
|
Before Width: | Height: | Size: 740 B After Width: | Height: | Size: 740 B |
Before Width: | Height: | Size: 583 B After Width: | Height: | Size: 583 B |
Before Width: | Height: | Size: 502 B After Width: | Height: | Size: 502 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 559 B After Width: | Height: | Size: 559 B |
Before Width: | Height: | Size: 999 B After Width: | Height: | Size: 999 B |
Before Width: | Height: | Size: 532 B After Width: | Height: | Size: 532 B |
Before Width: | Height: | Size: 559 B After Width: | Height: | Size: 559 B |
Before Width: | Height: | Size: 690 B After Width: | Height: | Size: 690 B |
Before Width: | Height: | Size: 478 B After Width: | Height: | Size: 478 B |
Before Width: | Height: | Size: 538 B After Width: | Height: | Size: 538 B |
Before Width: | Height: | Size: 386 B After Width: | Height: | Size: 386 B |
Before Width: | Height: | Size: 598 B After Width: | Height: | Size: 598 B |
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 566 B |
Before Width: | Height: | Size: 696 B After Width: | Height: | Size: 696 B |
Before Width: | Height: | Size: 636 B After Width: | Height: | Size: 636 B |
Before Width: | Height: | Size: 682 B After Width: | Height: | Size: 682 B |
Before Width: | Height: | Size: 708 B After Width: | Height: | Size: 708 B |
Before Width: | Height: | Size: 494 B After Width: | Height: | Size: 494 B |
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 570 B |
Before Width: | Height: | Size: 434 B After Width: | Height: | Size: 434 B |
Before Width: | Height: | Size: 615 B After Width: | Height: | Size: 615 B |
Before Width: | Height: | Size: 652 B After Width: | Height: | Size: 652 B |
Before Width: | Height: | Size: 550 B After Width: | Height: | Size: 550 B |
Before Width: | Height: | Size: 548 B After Width: | Height: | Size: 548 B |
Before Width: | Height: | Size: 790 B After Width: | Height: | Size: 790 B |
Before Width: | Height: | Size: 653 B After Width: | Height: | Size: 653 B |
Before Width: | Height: | Size: 392 B After Width: | Height: | Size: 392 B |
|
@ -1,12 +1,12 @@
|
|||
add_bitmaps_target(horus_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/horus/bmp_*.png" 480 5/6/5)
|
||||
add_bitmaps_target(horus_calibration_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/horus/calibration/bmp_*.png" 480 5/6/5)
|
||||
add_bitmaps_target(horus_button_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/horus/button/alpha_*.png" 480 4/4/4/4)
|
||||
add_bitmaps_target(horus_alpha_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/horus/alpha_*.png" 480 4/4/4/4)
|
||||
add_bitmaps_target(horus_alpha_calibration_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/horus/calibration/alpha_*.png" 480 4/4/4/4)
|
||||
add_bitmaps_target(horus_masks ${RADIO_SRC_DIRECTORY}/bitmaps/horus/mask_*.png 480 8bits)
|
||||
add_bitmaps_target(horus_slider_masks "${RADIO_SRC_DIRECTORY}/bitmaps/horus/slider/*.png" 480 8bits)
|
||||
add_bitmaps_target(horus_layouts_masks "${RADIO_SRC_DIRECTORY}/gui/horus/layouts/*.png" 480 8bits)
|
||||
add_bitmaps_target(horus_themes_bitmaps "${RADIO_SRC_DIRECTORY}/gui/horus/themes/*.png" 480 5/6/5)
|
||||
add_bitmaps_target(horus_fonts ${RADIO_SRC_DIRECTORY}/fonts/horus/*.png 480 8bits)
|
||||
add_bitmaps_target(horus_volume_masks ${RADIO_SRC_DIRECTORY}/bitmaps/horus/volume/*.png 480 8bits)
|
||||
add_bitmaps_target(horus_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/480x272/bmp_*.png" 480 5/6/5)
|
||||
add_bitmaps_target(horus_calibration_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/480x272/calibration/bmp_*.png" 480 5/6/5)
|
||||
add_bitmaps_target(horus_button_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/480x272/button/alpha_*.png" 480 4/4/4/4)
|
||||
add_bitmaps_target(horus_alpha_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/480x272/alpha_*.png" 480 4/4/4/4)
|
||||
add_bitmaps_target(horus_alpha_calibration_bitmaps "${RADIO_SRC_DIRECTORY}/bitmaps/480x272/calibration/alpha_*.png" 480 4/4/4/4)
|
||||
add_bitmaps_target(horus_masks ${RADIO_SRC_DIRECTORY}/bitmaps/480x272/mask_*.png 480 8bits)
|
||||
add_bitmaps_target(horus_slider_masks "${RADIO_SRC_DIRECTORY}/bitmaps/480x272/slider/*.png" 480 8bits)
|
||||
add_bitmaps_target(horus_layouts_masks "${RADIO_SRC_DIRECTORY}/gui/480x272/layouts/*.png" 480 8bits)
|
||||
add_bitmaps_target(horus_themes_bitmaps "${RADIO_SRC_DIRECTORY}/gui/480x272/themes/*.png" 480 5/6/5)
|
||||
add_bitmaps_target(horus_fonts ${RADIO_SRC_DIRECTORY}/fonts/480x272/*.png 480 8bits)
|
||||
add_bitmaps_target(horus_volume_masks ${RADIO_SRC_DIRECTORY}/bitmaps/480x272/volume/*.png 480 8bits)
|
||||
add_dependencies(horus_bitmaps horus_calibration_bitmaps horus_button_bitmaps horus_alpha_bitmaps horus_alpha_calibration_bitmaps horus_masks horus_slider_masks horus_layouts_masks horus_themes_bitmaps horus_fonts horus_volume_masks)
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 454 B After Width: | Height: | Size: 454 B |
Before Width: | Height: | Size: 618 B After Width: | Height: | Size: 618 B |
Before Width: | Height: | Size: 664 B After Width: | Height: | Size: 664 B |
Before Width: | Height: | Size: 405 B After Width: | Height: | Size: 405 B |
Before Width: | Height: | Size: 423 B After Width: | Height: | Size: 423 B |
Before Width: | Height: | Size: 251 B After Width: | Height: | Size: 251 B |
Before Width: | Height: | Size: 369 B After Width: | Height: | Size: 369 B |
Before Width: | Height: | Size: 222 B After Width: | Height: | Size: 222 B |
Before Width: | Height: | Size: 270 B After Width: | Height: | Size: 270 B |
Before Width: | Height: | Size: 485 B After Width: | Height: | Size: 485 B |
Before Width: | Height: | Size: 402 B After Width: | Height: | Size: 402 B |
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 244 B |
Before Width: | Height: | Size: 315 B After Width: | Height: | Size: 315 B |
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 432 B After Width: | Height: | Size: 432 B |
Before Width: | Height: | Size: 433 B After Width: | Height: | Size: 433 B |
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 257 B |
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 312 B |
Before Width: | Height: | Size: 212 B After Width: | Height: | Size: 212 B |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 304 B |
Before Width: | Height: | Size: 345 B After Width: | Height: | Size: 345 B |
Before Width: | Height: | Size: 315 B After Width: | Height: | Size: 315 B |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 412 B After Width: | Height: | Size: 412 B |
Before Width: | Height: | Size: 785 B After Width: | Height: | Size: 785 B |
Before Width: | Height: | Size: 684 B After Width: | Height: | Size: 684 B |
Before Width: | Height: | Size: 516 B After Width: | Height: | Size: 516 B |
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 302 B |
Before Width: | Height: | Size: 436 B After Width: | Height: | Size: 436 B |
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 210 B |
Before Width: | Height: | Size: 601 B After Width: | Height: | Size: 601 B |
Before Width: | Height: | Size: 440 B After Width: | Height: | Size: 440 B |
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 171 B |
Before Width: | Height: | Size: 154 B After Width: | Height: | Size: 154 B |
Before Width: | Height: | Size: 227 B After Width: | Height: | Size: 227 B |
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 232 B |
Before Width: | Height: | Size: 259 B After Width: | Height: | Size: 259 B |
Before Width: | Height: | Size: 866 B After Width: | Height: | Size: 866 B |
Before Width: | Height: | Size: 833 B After Width: | Height: | Size: 833 B |
Before Width: | Height: | Size: 922 B After Width: | Height: | Size: 922 B |
Before Width: | Height: | Size: 1,012 B After Width: | Height: | Size: 1,012 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 604 B After Width: | Height: | Size: 604 B |
|
@ -1,3 +1,3 @@
|
|||
add_subdirectory(9x)
|
||||
add_subdirectory(taranis)
|
||||
add_subdirectory(horus)
|
||||
add_subdirectory(128x64)
|
||||
add_subdirectory(212x64)
|
||||
add_subdirectory(480x272)
|
||||
|
|
|
@ -502,7 +502,7 @@ int cliDisplay(const char ** argv)
|
|||
name[len] = '\0';
|
||||
serialPrint("[%s] = %s", name, switchState(EnumKeys(i)) ? "on" : "off");
|
||||
}
|
||||
#if defined(ROTARY_ENCODER_NAVIGATION) || defined(REV9E) || defined(PCBHORUS) || defined(PCBFLAMENCO)
|
||||
#if defined(ROTARY_ENCODER_NAVIGATION) || defined(PCBX9E) || defined(PCBHORUS) || defined(PCBFLAMENCO)
|
||||
serialPrint("[Enc.] = %d", rotencValue / 2);
|
||||
#endif
|
||||
for (int i=TRM_BASE; i<=TRM_LAST; i++) {
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
#define MAX_SCRIPTS 7
|
||||
#define MAX_INPUTS 32
|
||||
#define NUM_TRAINER 16
|
||||
#if defined(REV9E)
|
||||
#if defined(PCBX9E)
|
||||
#define NUM_POTS 8
|
||||
#define NUM_XPOTS 4
|
||||
#else
|
||||
|
@ -207,7 +207,7 @@ enum CurveType {
|
|||
|
||||
#if defined(PCBFLAMENCO)
|
||||
#define NUM_SWITCHES 5
|
||||
#elif defined(PCBTARANIS) && defined(REV9E)
|
||||
#elif defined(PCBX9E)
|
||||
#define NUM_SWITCHES 18 // yes, it's a lot!
|
||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||
#define NUM_SWITCHES 8
|
||||
|
@ -606,7 +606,7 @@ enum SwitchSources {
|
|||
SWSRC_SH1,
|
||||
SWSRC_SH2,
|
||||
SWSRC_TRAINER = SWSRC_SH2,
|
||||
#if defined(REV9E)
|
||||
#if defined(PCBX9E)
|
||||
SWSRC_SI0,
|
||||
SWSRC_SI1,
|
||||
SWSRC_SI2,
|
||||
|
@ -773,13 +773,13 @@ enum MixSources {
|
|||
MIXSRC_POT1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer 1")
|
||||
MIXSRC_POT2, LUA_EXPORT("s2", "Potentiometer 2")
|
||||
MIXSRC_POT3, LUA_EXPORT("s3", "Potentiometer 3")
|
||||
#if defined(REV9E)
|
||||
#if defined(PCBX9E)
|
||||
MIXSRC_POT4, LUA_EXPORT("s4", "Potentiometer 4 (X9E only)")
|
||||
#endif
|
||||
MIXSRC_FIRST_SLIDER,
|
||||
MIXSRC_SLIDER1 = MIXSRC_FIRST_SLIDER, LUA_EXPORT("ls", "Left slider")
|
||||
MIXSRC_SLIDER2, LUA_EXPORT("rs", "Right slider")
|
||||
#if defined(REV9E)
|
||||
#if defined(PCBX9E)
|
||||
MIXSRC_SLIDER3, LUA_EXPORT("lcs", "Left center slider (X9E only)")
|
||||
MIXSRC_SLIDER4, LUA_EXPORT("rcs", "Right center slider (X9E only)")
|
||||
MIXSRC_LAST_POT = MIXSRC_SLIDER4,
|
||||
|
@ -851,7 +851,7 @@ enum MixSources {
|
|||
MIXSRC_SF, LUA_EXPORT("sf", "Switch F")
|
||||
MIXSRC_SG, LUA_EXPORT("sg", "Switch G")
|
||||
MIXSRC_SH, LUA_EXPORT("sh", "Switch H")
|
||||
#if defined(REV9E)
|
||||
#if defined(PCBX9E)
|
||||
MIXSRC_SI, LUA_EXPORT("si", "Switch I (X9E only)")
|
||||
MIXSRC_SJ, LUA_EXPORT("sj", "Switch J (X9E only)")
|
||||
MIXSRC_SK, LUA_EXPORT("sk", "Switch K (X9E only)")
|
||||
|
|
|
@ -46,10 +46,10 @@
|
|||
#define TARANIS_FIELD(x)
|
||||
#endif
|
||||
|
||||
#if defined(PCBTARANIS) && defined(REV9E)
|
||||
#define TARANIS_REV9E_FIELD(x) x;
|
||||
#if defined(PCBX9E)
|
||||
#define TARANIS_PCBX9E_FIELD(x) x;
|
||||
#else
|
||||
#define TARANIS_REV9E_FIELD(x)
|
||||
#define TARANIS_PCBX9E_FIELD(x)
|
||||
#endif
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
|
@ -728,7 +728,7 @@ PACK(struct ModelHeader {
|
|||
#if defined(COLORLCD)
|
||||
typedef uint16_t swconfig_t;
|
||||
typedef uint32_t swarnstate_t;
|
||||
#elif defined(PCBTARANIS) && defined(REV9E)
|
||||
#elif defined(PCBX9E)
|
||||
typedef uint64_t swconfig_t;
|
||||
typedef uint64_t swarnstate_t;
|
||||
typedef uint32_t swarnenable_t;
|
||||
|
@ -767,8 +767,8 @@ typedef uint8_t swarnenable_t;
|
|||
#endif
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
#include "gui/horus/layout.h"
|
||||
#include "gui/horus/topbar.h"
|
||||
#include "gui/480x272/layout.h"
|
||||
#include "gui/480x272/topbar.h"
|
||||
PACK(struct CustomScreenData {
|
||||
char layoutName[10];
|
||||
Layout::PersistentData layoutData;
|
||||
|
@ -842,7 +842,7 @@ PACK(struct ModelData {
|
|||
|
||||
ARM_FIELD(NOBACKUP(TelemetrySensor telemetrySensors[MAX_SENSORS]))
|
||||
|
||||
TARANIS_REV9E_FIELD(uint8_t toplcdTimer)
|
||||
TARANIS_PCBX9E_FIELD(uint8_t toplcdTimer)
|
||||
|
||||
CUSTOM_SCREENS_DATA
|
||||
|
||||
|
@ -929,7 +929,7 @@ PACK(struct TrainerData {
|
|||
char switchNames[NUM_SWITCHES][LEN_SWITCH_NAME]; \
|
||||
char anaNames[NUM_STICKS+NUM_POTS][LEN_ANA_NAME];
|
||||
#elif defined(PCBTARANIS)
|
||||
#if defined(REV9E)
|
||||
#if defined(PCBX9E)
|
||||
#define BLUETOOTH_FIELDS \
|
||||
uint8_t bluetoothEnable; \
|
||||
char bluetoothName[LEN_BLUETOOTH_NAME];
|
||||
|
@ -967,7 +967,7 @@ PACK(struct TrainerData {
|
|||
#endif
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
#include "gui/horus/theme.h"
|
||||
#include "gui/480x272/theme.h"
|
||||
#define THEME_DATA \
|
||||
NOBACKUP(char themeName[8]); \
|
||||
NOBACKUP(Theme::PersistentData themeData);
|
||||
|
@ -1078,7 +1078,7 @@ static inline void check_struct()
|
|||
CHKSIZE(ModelHeader, 24);
|
||||
CHKSIZE(CurveData, 4);
|
||||
|
||||
#if defined(REV9E)
|
||||
#if defined(PCBX9E)
|
||||
CHKSIZE(RadioData, 952);
|
||||
CHKSIZE(ModelData, 6520);
|
||||
#else
|
||||
|
|