Skip to content

Commit

Permalink
feat: Add support for Radiomaster MT12 (#4277)
Browse files Browse the repository at this point in the history
Co-authored-by: 3djc <lesitewebdejc@hotmail.com>
Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com>
Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
  • Loading branch information
4 people committed Nov 4, 2023
1 parent cd89e06 commit ca5355e
Show file tree
Hide file tree
Showing 22 changed files with 300 additions and 47 deletions.
11 changes: 7 additions & 4 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,14 @@ body:
- Jumper T18
- Jumper T-Lite
- Jumper T-Pro
- Radiomaster Boxer
- Radiomaster T8
- Jumper T-Pro V2
- RadioMaster Boxer
- RadioMaster MT12
- RadioMaster Pocket
- RadioMaster T8
- RadioMaster TX12 / TX12MK2
- Radiomaster TX16S / TX16SMK2
- Radiomaster Zorro
- RadioMaster TX16S / TX16SMK2
- RadioMaster Zorro
- Other (Please specify below)
validations:
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ jobs:
- t12
- t16
- t18
- t8;zorro;pocket;commando8
- t8;zorro;pocket;mt12;commando8
- tlite;tpro;tprov2;lr3pro
- t20
- tx12;tx12mk2;boxer
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- t12
- t16
- t18
- t8;zorro;pocket;commando8
- t8;zorro;pocket;mt12;commando8
- tlite;tpro;tprov2;lr3pro
- t20
- tx12;tx12mk2;boxer
Expand Down
3 changes: 3 additions & 0 deletions radio/src/datastructs.h
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,9 @@ static inline void check_struct()
#elif defined(RADIO_BOXER)
CHKSIZE(RadioData, 870);
CHKSIZE(ModelData, 6265);
#elif defined(RADIO_MT12)
CHKSIZE(RadioData, 859);
CHKSIZE(ModelData, 6265);
#elif defined(PCBX7)
CHKSIZE(RadioData, 870);
CHKSIZE(ModelData, 6265);
Expand Down
4 changes: 2 additions & 2 deletions radio/src/gui/128x64/model_special_functions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ void onCustomFunctionsFileSelectionMenu(const char * result)
strcpy(directory, SOUNDS_PATH);
strncpy(directory+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
}
if (!sdListFiles(directory, func==FUNC_PLAY_SCRIPT ? SCRIPTS_EXT : SOUNDS_EXT, sizeof(cfn->play.name), nullptr)) {
POPUP_WARNING(func==FUNC_PLAY_SCRIPT ? STR_NO_SCRIPTS_ON_SD : STR_NO_SOUNDS_ON_SD);
if (!sdListFiles(directory, func==FUNC_PLAY_SCRIPT || func==FUNC_RGB_LED ? SCRIPTS_EXT : SOUNDS_EXT, sizeof(cfn->play.name), nullptr)) {
POPUP_WARNING(func==FUNC_PLAY_SCRIPT || func==FUNC_RGB_LED ? STR_NO_SCRIPTS_ON_SD : STR_NO_SOUNDS_ON_SD);
}
}
else if (result != STR_EXIT) {
Expand Down
2 changes: 1 addition & 1 deletion radio/src/lua/api_general.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3202,7 +3202,7 @@ LROT_BEGIN(etxcst, NULL, 0)
LROT_NUMENTRY( EVT_VIRTUAL_ENTER_LONG, EVT_KEY_LONG(KEY_ENTER) )
LROT_NUMENTRY( EVT_VIRTUAL_EXIT, EVT_KEY_BREAK(KEY_EXIT) )
#elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D)
#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_T8) || defined(RADIO_COMMANDO8)
#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_MT12)
LROT_NUMENTRY( EVT_VIRTUAL_PREV_PAGE, EVT_KEY_BREAK(KEY_PAGEUP) )
LROT_NUMENTRY( EVT_VIRTUAL_NEXT_PAGE, EVT_KEY_BREAK(KEY_PAGEDN) )
LROT_NUMENTRY( EVT_VIRTUAL_MENU, EVT_KEY_BREAK(KEY_MODEL) )
Expand Down
6 changes: 3 additions & 3 deletions radio/src/mixer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -460,10 +460,10 @@ getvalue_t getValue(mixsrc_t i, bool* valid)
default:
return telemetryItem.value;
}
} else {
if (valid != nullptr) *valid = false;
return 0;
}

if (valid != nullptr) *valid = false;
return 0;
}

void evalTrims()
Expand Down
6 changes: 5 additions & 1 deletion radio/src/opentx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,10 @@ void generalDefault()
g_eeGeneral.contrast = LCD_CONTRAST_DEFAULT;
#endif

#if defined(LCD_BRIGHTNESS_DEFAULT)
g_eeGeneral.backlightBright = LCD_BRIGHTNESS_DEFAULT;
#endif

#if defined(DEFAULT_INTERNAL_MODULE)
g_eeGeneral.internalModule = DEFAULT_INTERNAL_MODULE;
#endif
Expand All @@ -296,7 +300,7 @@ void generalDefault()

#if defined(SURFACE_RADIO)
g_eeGeneral.stickMode = 0;
g_eeGeneral.templateSetup = 0;
g_eeGeneral.templateSetup = 1;
#elif defined(DEFAULT_MODE)
g_eeGeneral.stickMode = DEFAULT_MODE - 1;
g_eeGeneral.templateSetup = DEFAULT_TEMPLATE_SETUP;
Expand Down
2 changes: 1 addition & 1 deletion radio/src/simu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ void OpenTxSim::updateKeysAndSwitches(bool start)
KEY_Left, KEY_LEFT,
KEY_Up, KEY_UP,
KEY_Down, KEY_DOWN,
#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET)
#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET)
KEY_Page_Up, KEY_PAGEUP,
KEY_Page_Down, KEY_PAGEDN,
KEY_Return, KEY_ENTER,
Expand Down
2 changes: 2 additions & 0 deletions radio/src/targets/common/arm/stm32/bootloader/boot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@

#if defined(PCBXLITE)
#define BOOTLOADER_KEYS 0x0F
#elif defined(RADIO_MT12)
#define BOOTLOADER_KEYS 0x09
#else
#define BOOTLOADER_KEYS 0x42
#endif
Expand Down
25 changes: 25 additions & 0 deletions radio/src/targets/taranis/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,24 @@ elseif(PCB STREQUAL X7)
add_definitions(-DMANUFACTURER_RADIOMASTER)
set(PXX2 ON)
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
elseif(PCBREV STREQUAL MT12)
set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module")
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)
set(USB_CHARGER YES)
set(AUX_SERIAL NO)
set(HELI NO)
add_definitions(-DRADIO_MT12)
add_definitions(-DMANUFACTURER_RADIOMASTER)
set(PXX2 ON)
set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough")
set(LUA_MIXER YES)
set(FLEXSW "2" CACHE STRING "Max flex inputs usable as switches")
elseif(PCBREV STREQUAL BOXER)
set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module")
set(INTERNAL_MODULE_SERIAL YES)
Expand Down Expand Up @@ -586,6 +604,13 @@ if(PCB STREQUAL XLITE OR PCB STREQUAL XLITES OR PCBREV STREQUAL COMMANDO8)
targets/common/arm/stm32/sticks_pwm_driver.cpp)
endif()

if(PCBREV STREQUAL MT12)
set(FIRMWARE_SRC
${FIRMWARE_SRC}
targets/common/arm/stm32/stm32_ws2812.cpp
boards/generic_stm32/rgb_leds.cpp)
endif()

set(FIRMWARE_SRC
${FIRMWARE_SRC}
hal/adc_driver.cpp
Expand Down
20 changes: 16 additions & 4 deletions radio/src/targets/taranis/board.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
#include "opentx_constants.h"
#include "board_common.h"

#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET)
#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_MT12)
#define NAVIGATION_X7_TX12
#endif

Expand Down Expand Up @@ -147,6 +147,10 @@ uint8_t getFSPhysicalState(uint8_t index);
bool getFSLedState(uint8_t index);
#endif

#if defined(ADC_GPIO_PIN_STICK_TH)
#define SURFACE_RADIO true
#endif

PACK(typedef struct {
uint8_t pcbrev:2;
}) HardwareOptions;
Expand Down Expand Up @@ -254,6 +258,10 @@ uint8_t isBacklightEnabled();
#define USB_NAME "Radiomaster Zorro"
#define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */
#define USB_PRODUCT 'R', 'M', ' ', 'Z', 'O', 'R', 'R', 'O' /* 8 Bytes */
#elif defined(RADIO_MT12)
#define USB_NAME "Radiomaster MT12"
#define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */
#define USB_PRODUCT 'R', 'M', ' ', 'M', 'T', '1', '2', ' ' /* 8 Bytes */
#elif defined(RADIO_POCKET)
#define USB_NAME "Radiomaster Pocket"
#define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */
Expand Down Expand Up @@ -386,9 +394,13 @@ void ledBlue();
#define LCD_CONTRAST_MAX 30
#endif

#if defined(RADIO_MT12)
#define LCD_BRIGHTNESS_DEFAULT 50
#endif

#if defined(OLED_SCREEN)
#define LCD_CONTRAST_DEFAULT 254 // full brightness
#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER)
#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12)
#define LCD_CONTRAST_DEFAULT 20
#elif defined(RADIO_TPRO) || defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_TPRO) || defined(RADIO_COMMANDO8)
#define LCD_CONTRAST_DEFAULT 25
Expand Down Expand Up @@ -453,15 +465,15 @@ void setTopBatteryValue(uint32_t volts);
#define BATTERY_DIVIDER 22830
#elif defined (RADIO_T8) || defined(RADIO_COMMANDO8)
#define BATTERY_DIVIDER 50000
#elif defined (RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_POCKET)
#elif defined (RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_POCKET)
#define BATTERY_DIVIDER 23711 // = 2047*128*BATT_SCALE/(100*(VREF*(160+499)/160))
#elif defined (RADIO_LR3PRO)
#define BATTERY_DIVIDER 39500
#else
#define BATTERY_DIVIDER 26214
#endif

#if defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_POCKET)
#if defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_POCKET)
#define VOLTAGE_DROP 45
#elif defined(RADIO_TPROV2) || defined(RADIO_T20)
#define VOLTAGE_DROP 60
Expand Down
Loading

0 comments on commit ca5355e

Please sign in to comment.