Skip to content

Commit

Permalink
Merge branch 'EdgeTX:main' into SE-translations
Browse files Browse the repository at this point in the history
  • Loading branch information
ulfhedlund authored Nov 7, 2023
2 parents 670ad20 + e9d7428 commit a9a002d
Show file tree
Hide file tree
Showing 21 changed files with 329 additions and 175 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@
[submodule "radio/src/thirdparty/libopenui/thirdparty/lvgl"]
path = radio/src/thirdparty/libopenui/thirdparty/lvgl
url = https://github.com/EdgeTX/lvgl.git
branch = release/v8.2
branch = v8.3-patched
5 changes: 3 additions & 2 deletions radio/src/MultiProtoDefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
*/

//
// Data based on MPM firmware version 1.3.3.20
// Data based on MPM firmware version 1.3.3.33 multi.txt
//

#if defined(MULTIMODULE) or defined(SIMU)
Expand Down Expand Up @@ -125,6 +125,7 @@ enum ModuleSubtypeMulti {
MODULE_SUBTYPE_MULTI_XERALL, //90
MODULE_SUBTYPE_MULTI_MT99XX2,
MODULE_SUBTYPE_MULTI_KYOSHO2,
MODULE_SUBTYPE_MULTI_SCORPIO,
//
// spare entries - don't touch,
// just add to known protocols
Expand Down Expand Up @@ -163,7 +164,7 @@ enum ModuleSubtypeMulti {
"Tiger", "XK","XN297DU","FrSkyX2","FrSkyR9","Propel","FrSky L","Skyartc","ESkyV2","DSM_RX",\
"JJRC345","Q90C","Kyosho","RadLink","ExpLRS","Realacc","OMP","M-Link","WFLY2","E016Hv2",\
"E010r5","LOLI","E129","JOYSWAY","E016H","Config","IKEA","WILLIFM","Losi","MouldKg",\
"Xerall","MT99XX2", "Kyosho2"
"Xerall","MT99XX2", "Kyosho2", "Scorpio"
#define SPARE_PROTO_NAMES \
"NN 1","NN 2","NN 3","NN 4","NN 5","NN 6","NN 7","NN 8","NN 9","NN 10"
#define SPARE_SUBTYPE_NAMES \
Expand Down
10 changes: 6 additions & 4 deletions radio/src/MultiSubtypeDefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
*/

//
// Data based on MPM firmware version 1.3.3.20
// Data based on MPM firmware version 1.3.3.33 multi.txt
//

#if defined(MULTIMODULE) or defined(SIMU)
Expand Down Expand Up @@ -123,7 +123,7 @@ STRLIST(STR_SUBTYPE_E01X, {"E012","E015"})
STRLIST(STR_SUBTYPE_V911S, {"Std","E119"})
STRLIST(STR_SUBTYPE_GD00X, {"GD_V1","GD_V2"})
STRLIST(STR_SUBTYPE_V761, {"3ch","4ch","TOPRC"})
STRLIST(STR_SUBTYPE_KF606, {"KF606","MIG320"})
STRLIST(STR_SUBTYPE_KF606, {"KF606","MIG320","ZCZ50"})
STRLIST(STR_SUBTYPE_REDPINE, {"Fast","Slow"})
STRLIST(STR_SUBTYPE_POTENSIC, {"A20"})
STRLIST(STR_SUBTYPE_ZSX, {"280JJRC"})
Expand All @@ -148,6 +148,7 @@ STRLIST(STR_SUBTYPE_WFLY2, {"RF20x"})
STRLIST(STR_SUBTYPE_MOULDKG, {"Analog","Digital"})
STRLIST(STR_SUBTYPE_MT992, {"PA18"})
STRLIST(STR_SUBTYPE_RX, {"Multi","CPPM"})
STRLIST(STR_SUBTYPE_DSM_RX, {"Multi","CloneTX","EraseTX","CPPM"})
STRLIST(STR_SUBTYPE_E129, {"STD","C186"})

//
Expand Down Expand Up @@ -209,7 +210,7 @@ PROTODEF {
{MODULE_SUBTYPE_MULTI_V911S, 1, false, false, STR_SUBTYPE_V911S, STR_MULTI_RFTUNE},
{MODULE_SUBTYPE_MULTI_GD00X, 1, false, false, STR_SUBTYPE_GD00X, STR_MULTI_RFTUNE},
{MODULE_SUBTYPE_MULTI_V761, 2, false, false, STR_SUBTYPE_V761, nullptr},
{MODULE_SUBTYPE_MULTI_KF606, 1, false, false, STR_SUBTYPE_KF606, STR_MULTI_RFTUNE},
{MODULE_SUBTYPE_MULTI_KF606, 2, false, false, STR_SUBTYPE_KF606, STR_MULTI_RFTUNE},
{MODULE_SUBTYPE_MULTI_REDPINE, 1, false, false, STR_SUBTYPE_REDPINE, STR_MULTI_RFTUNE},
{MODULE_SUBTYPE_MULTI_POTENSIC, 0, false, false, STR_SUBTYPE_POTENSIC, nullptr},
{MODULE_SUBTYPE_MULTI_ZSX, 0, false, false, STR_SUBTYPE_ZSX, nullptr},
Expand All @@ -230,7 +231,7 @@ PROTODEF {
{MODULE_SUBTYPE_MULTI_FRSKYL, 1, false, false, STR_SUBTYPE_FRSKYL, STR_MULTI_RFTUNE},
{MODULE_SUBTYPE_MULTI_SKYARTEC, 0, false, true, NO_SUBTYPE, STR_MULTI_RFTUNE},
{MODULE_SUBTYPE_MULTI_ESKY150V2, 0, false, true, STR_SUBTYPE_ESKY150V2, STR_MULTI_RFTUNE},
{MODULE_SUBTYPE_MULTI_DSM_RX, 1, false, true, STR_SUBTYPE_RX, nullptr}, //new
{MODULE_SUBTYPE_MULTI_DSM_RX, 3, false, true, STR_SUBTYPE_DSM_RX, nullptr}, //new
{MODULE_SUBTYPE_MULTI_JJRC345, 1, false, false, STR_SUBTYPE_JJRC345, nullptr},
{MODULE_SUBTYPE_MULTI_Q90C, 0, false, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
{MODULE_SUBTYPE_MULTI_KYOSHO, 1, false, true, STR_SUBTYPE_KYOSHO, nullptr},
Expand All @@ -254,6 +255,7 @@ PROTODEF {
{MODULE_SUBTYPE_MULTI_XERALL, 0, false, false, NO_SUBTYPE, nullptr}, //new
{MODULE_SUBTYPE_MULTI_MT99XX2, 0, false, false, STR_SUBTYPE_MT992, nullptr},
{MODULE_SUBTYPE_MULTI_KYOSHO2, 0, false, false, STR_SUBTYPE_KYOSHO2, nullptr},
{MODULE_SUBTYPE_MULTI_SCORPIO, 0, false, true, NO_SUBTYPE, nullptr},
{MODULE_SUBTYPE_MULTI_NN1, 7, true, true, STR_SUBTYPE_NN, STR_MULTI_OPTION},
{MODULE_SUBTYPE_MULTI_NN2, 7, true, true, STR_SUBTYPE_NN, STR_MULTI_OPTION},
{MODULE_SUBTYPE_MULTI_NN3, 7, true, true, STR_SUBTYPE_NN, STR_MULTI_OPTION},
Expand Down
2 changes: 1 addition & 1 deletion radio/src/gui/colorlcd/standalone_lua.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ void StandaloneLuaWindow::checkEvents()
if (luaState != INTERPRETER_RELOAD_PERMANENT_SCRIPTS) {
// if LUA finished a full cycle,
// invalidate to display the screen buffer
if (luaTask(0, true)) { invalidate(); }
if (luaTask(true)) { invalidate(); }
}

if (luaState == INTERPRETER_RELOAD_PERMANENT_SCRIPTS) {
Expand Down
83 changes: 43 additions & 40 deletions radio/src/gui/colorlcd/themes/etx_lv_theme.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,16 @@ static lv_theme_t theme;
#define LV_STYLE_CONST_SINGLE_INIT(var_name, prop, value) \
const lv_style_t var_name = {.v_p = {.value1 = {.num = value}}, \
.prop1 = prop, \
.is_const = 0, \
.has_group = 1 << ((prop & 0x1FF) >> 4), \
.prop_cnt = 1}

// Create a style with multiple properties
// Copied from lv_style.h and modified to compile with ARM GCC C++
#define LV_STYLE_CONST_MULTI_INIT(var_name, prop_array) \
const lv_style_t var_name = {.v_p = {.const_props = prop_array}, \
.prop1 = 0, \
.is_const = 1, \
.prop1 = LV_STYLE_PROP_ANY, \
.has_group = 0xFF, \
.prop_cnt = 0}
.prop_cnt = (sizeof(prop_array) / sizeof((prop_array)[0]))}

// Opacity
LV_STYLE_CONST_SINGLE_INIT(bg_opacity_transparent, LV_STYLE_BG_OPA,
Expand Down Expand Up @@ -286,33 +284,41 @@ class EdgeTxStyles
lv_style_t font_std;
lv_style_t font_bold;

EdgeTxStyles()
EdgeTxStyles() {}

void init()
{
// Colors
for (int i = DEFAULT_COLOR_INDEX; i < LCD_COLOR_COUNT; i += 1) {
lv_style_init(&bg_color[i]);
lv_style_init(&txt_color[i]);
if (!initDone) {
initDone = true;

// Colors
for (int i = DEFAULT_COLOR_INDEX; i < LCD_COLOR_COUNT; i += 1) {
lv_style_init(&bg_color[i]);
lv_style_init(&txt_color[i]);
}
lv_style_init(&border_color_secondary1);
lv_style_init(&border_color_secondary2);
lv_style_init(&border_color_focus);

lv_style_init(&bg_color_grey);
lv_style_set_bg_color(&bg_color_grey, lv_palette_main(LV_PALETTE_GREY));
lv_style_init(&bg_color_white);
lv_style_set_bg_color(&bg_color_white, lv_color_white());
lv_style_init(&bg_color_black);
lv_style_set_bg_color(&bg_color_black, lv_color_black());
lv_style_init(&fg_color_black);
lv_style_set_text_color(&fg_color_black, lv_color_black());
lv_style_init(&border_color_black);
lv_style_set_border_color(&border_color_black, lv_color_black());

// Fonts
lv_style_init(&font_std);
lv_style_set_text_font(&font_std, getFont(FONT(STD)));
lv_style_init(&font_bold);
lv_style_set_text_font(&font_bold, getFont(FONT(BOLD)));

applyColors();
}
lv_style_init(&border_color_secondary1);
lv_style_init(&border_color_secondary2);
lv_style_init(&border_color_focus);

lv_style_init(&bg_color_grey);
lv_style_set_bg_color(&bg_color_grey, lv_palette_main(LV_PALETTE_GREY));
lv_style_init(&bg_color_white);
lv_style_set_bg_color(&bg_color_white, lv_color_white());
lv_style_init(&bg_color_black);
lv_style_set_bg_color(&bg_color_black, lv_color_black());
lv_style_init(&fg_color_black);
lv_style_set_text_color(&fg_color_black, lv_color_black());
lv_style_init(&border_color_black);
lv_style_set_border_color(&border_color_black, lv_color_black());

// Fonts
lv_style_init(&font_std);
lv_style_set_text_font(&font_std, getFont(FONT(STD)));
lv_style_init(&font_bold);
lv_style_set_text_font(&font_bold, getFont(FONT(BOLD)));
}

void applyColors()
Expand All @@ -334,11 +340,12 @@ class EdgeTxStyles
}

protected:
bool initDone = false;
};

static EdgeTxStyles* styles;
static EdgeTxStyles mainStyles;
static EdgeTxStyles* previewStyles;
static EdgeTxStyles* mainStyles;
static EdgeTxStyles* styles = &mainStyles;

/**********************
* GLOBAL FUNCTIONS
Expand All @@ -355,11 +362,7 @@ lv_theme_t* etx_lv_theme_init(lv_disp_t* disp, lv_color_t color_primary,
theme.font_large = font;
theme.flags = 0;

if (!styles) {
styles = new EdgeTxStyles();
mainStyles = styles;
}
styles->applyColors();
styles->init();

if (disp == NULL || lv_disp_get_theme(disp) == &theme)
lv_obj_report_style_change(NULL);
Expand All @@ -374,7 +377,7 @@ void usePreviewStyle()
styles->applyColors();
}

void useMainStyle() { styles = mainStyles; }
void useMainStyle() { styles = &mainStyles; }

/**********************
* Custom object creation
Expand Down Expand Up @@ -569,8 +572,7 @@ void etx_switch_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)

void etx_slider_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
{
etx_add_colors_and_opacity(obj, LV_PART_MAIN,
COLOR_THEME_SECONDARY1_INDEX,
etx_add_colors_and_opacity(obj, LV_PART_MAIN, COLOR_THEME_SECONDARY1_INDEX,
COLOR_THEME_PRIMARY2_INDEX);
lv_obj_add_style(obj, (lv_style_t*)&circle, LV_PART_MAIN);
lv_obj_add_style(obj, &styles->bg_color[COLOR_THEME_FOCUS_INDEX],
Expand All @@ -586,7 +588,8 @@ void etx_slider_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
lv_obj_add_style(obj, (lv_style_t*)&bg_opacity_cover, LV_PART_KNOB);
lv_obj_add_style(obj, (lv_style_t*)&slider_knob, LV_PART_KNOB);
lv_obj_add_style(obj, &styles->border_color_secondary1, LV_PART_KNOB);
lv_obj_add_style(obj, &styles->border_color_focus, LV_PART_KNOB | LV_STATE_FOCUSED);
lv_obj_add_style(obj, &styles->border_color_focus,
LV_PART_KNOB | LV_STATE_FOCUSED);
}

void etx_btnmatrix_constructor(const lv_obj_class_t* class_p, lv_obj_t* obj)
Expand Down
5 changes: 1 addition & 4 deletions radio/src/lua/interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1255,14 +1255,11 @@ static bool resumeLua(bool init, bool allowLcdUsage)
} //resumeLua(...)


bool luaTask(event_t evt, bool allowLcdUsage)
bool luaTask(bool allowLcdUsage)
{
bool init = false;
bool scriptWasRun = false;

// Add event to buffer
if (evt != 0) { luaPushEvent(evt); }

// For preemption
luaCycleStart = get_tmr10ms();

Expand Down
2 changes: 1 addition & 1 deletion radio/src/lua/lua_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ extern ScriptInternalData scriptInternalData[MAX_SCRIPTS];
extern ScriptInputsOutputs scriptInputsOutputs[MAX_SCRIPTS];

void luaClose(lua_State ** L);
bool luaTask(event_t evt, bool allowLcdUsage);
bool luaTask(bool allowLcdUsage);
void checkLuaMemoryUsage();
void luaExec(const char * filename);
void luaDoGc(lua_State * L, bool full);
Expand Down
Loading

0 comments on commit a9a002d

Please sign in to comment.