chore: auto define navigation type based on keys present (#4893)

This commit is contained in:
3djc
2024-05-27 19:00:31 +10:00
committed by GitHub
parent e807ccbebf
commit 83c325c779
5 changed files with 50 additions and 38 deletions
+1 -3
View File
@@ -5,10 +5,8 @@ if(NOT GUI_DIR STREQUAL colorlcd)
set(SRC
${SRC}
gui/navigation/common.cpp
gui/navigation/navigation_${NAVIGATION_TYPE}.cpp
gui/navigation/navigation.cpp
)
string(TOUPPER ${NAVIGATION_TYPE} NAVIGATION_TYPE)
add_definitions(-DNAVIGATION_${NAVIGATION_TYPE})
endif()
set(SRC
+34
View File
@@ -0,0 +1,34 @@
/*
* Copyright (C) EdgeTX
*
* Based on code named
* opentx - https://github.com/opentx/opentx
* th9x - http://code.google.com/p/th9x
* er9x - http://code.google.com/p/er9x
* gruvin9x - http://code.google.com/p/gruvin9x
*
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include "opentx.h"
#if defined(NAVIGATION_X9D)
#include "navigation_x9d.cpp"
#elif defined(NAVIGATION_9X)
#include "navigation_9x.cpp"
#elif defined(NAVIGATION_XLITE)
#include "navigation_xlite"
#elif defined(NAVIGATION_X7)
#include "navigation_x7.cpp"
#else
static_assert("navigation not defined");
#endif
+14 -2
View File
@@ -97,13 +97,25 @@ enum RotaryEncoderMode {
#define CASE_JACK_DETECT(x)
#endif
#include "debug.h"
#include "myeeprom.h"
#include "curves.h"
// Define navigation type based on available keys
#if LCD_W == 212
#define NAVIGATION_X9D
#elif defined(KEYS_GPIO_REG_LEFT)
#define NAVIGATION_9X
#elif defined(KEYS_GPIO_REG_SHIFT)
#define NAVIGATION_XLITE
#elif defined(KEYS_GPIO_REG_PAGEUP) && defined(KEYS_GPIO_REG_TELE)
#define NAVIGATION_X7
#define NAVIGATION_X7_TX12
#else
#define NAVIGATION_X7
#endif
void memswap(void * a, void * b, uint8_t size);
// TODO: move these config check macros somewhere else
-26
View File
@@ -33,7 +33,6 @@ if(PCB STREQUAL X9E)
endif()
set(GUI_DIR 212x64)
set(BITMAPS_DIR 212x64)
set(NAVIGATION_TYPE x9d)
set(BITMAPS_TARGET taranis_bitmaps)
set(FONTS_TARGET taranis_fonts)
set(LCD_DRIVER lcd_driver_spi.cpp)
@@ -49,7 +48,6 @@ elseif(PCB STREQUAL X9D+)
add_definitions(-DEEPROM_VARIANT=0)
set(GUI_DIR 212x64)
set(BITMAPS_DIR 212x64)
set(NAVIGATION_TYPE x9d)
set(BITMAPS_TARGET taranis_bitmaps)
set(FONTS_TARGET taranis_fonts)
set(LCD_DRIVER lcd_driver_spi.cpp)
@@ -90,7 +88,6 @@ elseif(PCB STREQUAL X9D)
add_definitions(-DEEPROM_VARIANT=0)
set(GUI_DIR 212x64)
set(BITMAPS_DIR 212x64)
set(NAVIGATION_TYPE x9d)
set(BITMAPS_TARGET taranis_bitmaps)
set(FONTS_TARGET taranis_fonts)
set(LCD_DRIVER lcd_driver_aspi.cpp)
@@ -116,7 +113,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_STD YES)
set(FLAVOUR t12)
set(NAVIGATION_TYPE 9x)
set(CPU_TYPE_FULL STM32F205xE)
add_definitions(-DRADIO_T12)
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
@@ -127,7 +123,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR tpro)
set(NAVIGATION_TYPE x7)
set(ROTARY_ENCODER YES)
set(CPU_TYPE_FULL STM32F205xE)
add_definitions(-DFUNCTION_SWITCHES)
@@ -140,7 +135,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR tprov2)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F407xE)
set(ROTARY_ENCODER YES)
add_definitions(-DFUNCTION_SWITCHES)
@@ -152,7 +146,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR t14)
set(NAVIGATION_TYPE x7)
set(ROTARY_ENCODER YES)
set(CPU_TYPE_FULL STM32F407xG)
set(PXX2 ON)
@@ -164,7 +157,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR t20)
set(NAVIGATION_TYPE x7)
set(ROTARY_ENCODER YES)
set(CPU_TYPE_FULL STM32F407xE)
set(FLYSKY_GIMBAL ON)
@@ -178,7 +170,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR t20v2)
set(NAVIGATION_TYPE x7)
set(ROTARY_ENCODER YES)
set(CPU_TYPE_FULL STM32F407xG)
set(FLYSKY_GIMBAL ON)
@@ -193,7 +184,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR tlite)
set(NAVIGATION_TYPE 9x)
set(CPU_TYPE_FULL STM32F205xE)
add_definitions(-DRADIO_TLITE)
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
@@ -205,7 +195,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR tlitef4)
set(NAVIGATION_TYPE 9x)
set(CPU_TYPE_FULL STM32F407xE) # for size report
add_definitions(-DRADIO_TLITE)
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
@@ -217,7 +206,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR lr3pro)
set(NAVIGATION_TYPE 9x)
set(CPU_TYPE_FULL STM32F205xE)
add_definitions(-DRADIO_LR3PRO)
add_definitions(-DRADIO_FAMILY_JUMPER_T12)
@@ -228,7 +216,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_STD YES)
set(FLAVOUR tx12)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F205xE)
set(ROTARY_ENCODER YES)
set(BLUETOOTH NO)
@@ -241,7 +228,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_STD YES)
set(FLAVOUR tx12mk2)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F407xE)
set(ROTARY_ENCODER YES)
set(USB_CHARGER YES)
@@ -258,7 +244,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR mt12)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F407xG)
set(ROTARY_ENCODER YES)
set(BLUETOOTH NO)
@@ -278,7 +263,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_STD YES)
set(FLAVOUR boxer)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F407xG)
set(ROTARY_ENCODER YES)
set(USB_CHARGER YES)
@@ -295,7 +279,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR zorro)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F407xE)
set(ROTARY_ENCODER YES)
set(USB_CHARGER YES)
@@ -312,7 +295,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR pocket)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F407xE)
set(ROTARY_ENCODER YES)
set(USB_CHARGER YES)
@@ -328,7 +310,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(HARDWARE_EXTERNAL_MODULE NO)
set(FLAVOUR t8)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F205xE)
set(ROTARY_ENCODER NO)
set(BLUETOOTH NO)
@@ -344,7 +325,6 @@ elseif(PCB STREQUAL X7)
set(HARDWARE_EXTERNAL_MODULE YES)
set(MODULE_SIZE_SML YES)
set(FLAVOUR commando8)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F407xE)
set(ROTARY_ENCODER NO)
set(BLUETOOTH NO)
@@ -357,7 +337,6 @@ elseif(PCB STREQUAL X7)
set(INTERNAL_MODULE_SERIAL YES)
set(MODULE_SIZE_STD YES)
set(FLAVOUR x7access)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F407xE)
add_definitions(-DRADIO_X7ACCESS)
add_definitions(-DEEPROM_VARIANT=0x4000)
@@ -372,7 +351,6 @@ elseif(PCB STREQUAL X7)
else()
set(DEFAULT_INTERNAL_MODULE XJT_PXX1 CACHE STRING "Default internal module")
set(FLAVOUR x7)
set(NAVIGATION_TYPE x7)
set(CPU_TYPE_FULL STM32F205xE)
add_definitions(-DRADIO_X7)
add_definitions(-DEEPROM_VARIANT=0x4000)
@@ -406,7 +384,6 @@ elseif(PCB STREQUAL X9LITE)
set(PXX2 ON)
set(GUI_DIR 128x64)
set(BITMAPS_DIR 128x64)
set(NAVIGATION_TYPE x7)
set(BITMAPS_TARGET 9x_bitmaps)
set(FONTS_TARGET 9x_fonts_1bit)
set(LCD_DRIVER lcd_driver_spi.cpp)
@@ -430,7 +407,6 @@ elseif(PCB STREQUAL X9LITES)
set(PXX2 ON)
set(GUI_DIR 128x64)
set(BITMAPS_DIR 128x64)
set(NAVIGATION_TYPE x7)
set(BITMAPS_TARGET 9x_bitmaps)
set(FONTS_TARGET 9x_fonts_1bit)
set(LCD_DRIVER lcd_driver_spi.cpp)
@@ -454,7 +430,6 @@ elseif(PCB STREQUAL XLITE)
set(PXX2 ON)
set(GUI_DIR 128x64)
set(BITMAPS_DIR 128x64)
set(NAVIGATION_TYPE xlite)
set(BITMAPS_TARGET 9x_bitmaps)
set(FONTS_TARGET 9x_fonts_1bit)
set(LCD_DRIVER lcd_driver_spi.cpp)
@@ -476,7 +451,6 @@ elseif(PCB STREQUAL XLITES)
add_definitions(-DPWR_BUTTON_${PWR_BUTTON})
set(GUI_DIR 128x64)
set(BITMAPS_DIR 128x64)
set(NAVIGATION_TYPE xlite)
set(BITMAPS_TARGET 9x_bitmaps)
set(FONTS_TARGET 9x_fonts_1bit)
set(LCD_DRIVER lcd_driver_spi.cpp)
+1 -7
View File
@@ -19,8 +19,7 @@
* GNU General Public License for more details.
*/
#ifndef _BOARD_H_
#define _BOARD_H_
#pragma once
#include <inttypes.h>
#include "hal.h"
@@ -31,10 +30,6 @@
#include "opentx_constants.h"
#include "board_common.h"
#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_MT12)
#define NAVIGATION_X7_TX12
#endif
#if defined(ROTARY_ENCODER_NAVIGATION)
// Rotary Encoder driver
void rotaryEncoderInit();
@@ -430,4 +425,3 @@ void setTopBatteryValue(uint32_t volts);
#define NUM_TRIMS_KEYS (NUM_TRIMS * 2)
#endif // _BOARD_H_