Skip to content

Update/micropython v1.24.1 usermod #367

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: update/micropython_v1.24.1_usermod
Choose a base branch
from
Open
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 0 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +0,0 @@
[submodule "lvgl"]
path = lvgl
url = https://github.com/lvgl/lvgl.git
[submodule "micropython/pycparser"]
path = pycparser
url = https://github.com/eliben/pycparser.git
7 changes: 4 additions & 3 deletions lv_conf.h
Original file line number Diff line number Diff line change
Expand Up @@ -424,10 +424,10 @@ extern void mp_lv_deinit_gc();
#define LV_FONT_MONTSERRAT_8 0
#define LV_FONT_MONTSERRAT_10 0
#define LV_FONT_MONTSERRAT_12 0
#define LV_FONT_MONTSERRAT_14 1
#define LV_FONT_MONTSERRAT_14 0
#define LV_FONT_MONTSERRAT_16 1
#define LV_FONT_MONTSERRAT_18 0
#define LV_FONT_MONTSERRAT_20 0
#define LV_FONT_MONTSERRAT_20 1
#define LV_FONT_MONTSERRAT_22 0
#define LV_FONT_MONTSERRAT_24 1
#define LV_FONT_MONTSERRAT_26 0
Expand All @@ -442,6 +442,7 @@ extern void mp_lv_deinit_gc();
#define LV_FONT_MONTSERRAT_44 0
#define LV_FONT_MONTSERRAT_46 0
#define LV_FONT_MONTSERRAT_48 0
#define LV_FONT_SIYUAN_HEITI_MEDIUM_24 1

/*Demonstrate special features*/
#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /*bpp = 3*/
Expand All @@ -458,7 +459,7 @@ extern void mp_lv_deinit_gc();
#define LV_FONT_CUSTOM_DECLARE

/*Always set a default font*/
#define LV_FONT_DEFAULT &lv_font_montserrat_14
#define LV_FONT_DEFAULT &lv_font_montserrat_16

/*Enable handling large font and/or fonts with a lot of characters.
*The limit depends on the font size, font face and bpp.
Expand Down
1 change: 0 additions & 1 deletion lvgl
Submodule lvgl deleted from 773860
27 changes: 27 additions & 0 deletions lvgl/.devcontainer/__CMakeLists.txt__
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
cmake_minimum_required(VERSION 3.12)
project (lv_emscripten)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -s USE_SDL=2")

include_directories(${PROJECT_SOURCE_DIR})

add_subdirectory(lvgl)
file(GLOB MY_SOURCES "./*.c")
set(SOURCES ${MY_SOURCES})

add_executable(index ${SOURCES} ${INCLUDES})

if(NOT LVGL_CHOSEN_DEMO)
set(LVGL_CHOSEN_DEMO lv_demo_widgets)
endif()
set_source_files_properties(main.c PROPERTIES COMPILE_FLAGS -DCHOSEN_DEMO=${LVGL_CHOSEN_DEMO})

set(CMAKE_EXECUTABLE_SUFFIX ".html")
target_link_libraries(index
lvgl
lvgl_examples
lvgl_demos
lvgl_thorvg
SDL2
)
set_target_properties(index PROPERTIES LINK_FLAGS "--shell-file ${PROJECT_SOURCE_DIR}/lvgl/.devcontainer/lvgl_shell.html -s SINGLE_FILE=1")
5 changes: 5 additions & 0 deletions lvgl/.devcontainer/__build_all.sh__
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
cd build
emcmake cmake ..
emmake make -j$(nproc)
echo "Built succesfully, opening index.html"
code index.html
17 changes: 17 additions & 0 deletions lvgl/.devcontainer/__c_cpp_properties.json__
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/local/emsdk/upstream/emscripten/cache/sysroot/include/"
],
"defines": [],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++14",
"intelliSenseMode": "linux-clang-x64"
}
],
"version": 4
}
107 changes: 107 additions & 0 deletions lvgl/.devcontainer/__main.c__
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@

/**
* @file main
*
*/

/*********************
* INCLUDES
*********************/
#include <stdlib.h>
#include <unistd.h>
#define SDL_MAIN_HANDLED /*To fix SDL's "undefined reference to WinMain" issue*/
#include <SDL2/SDL.h>
#include <emscripten.h>
#include "lvgl/lvgl.h"
#include "lvgl/demos/lv_demos.h"
#include "lvgl/examples/lv_examples.h"

/*********************
* DEFINES
*********************/

/*On OSX SDL needs different handling*/
#if defined(__APPLE__) && defined(TARGET_OS_MAC)
# if __APPLE__ && TARGET_OS_MAC
#define SDL_APPLE
# endif
#endif

/**********************
* TYPEDEFS
**********************/

/**********************
* STATIC PROTOTYPES
**********************/
static void hal_init(void);
static int tick_thread(void * data);
static void memory_monitor(lv_timer_t * param);

/**********************
* STATIC VARIABLES
**********************/
static lv_display_t * disp1;

int monitor_hor_res, monitor_ver_res;

/**********************
* MACROS
**********************/

/**********************
* GLOBAL FUNCTIONS
**********************/
void do_loop(void *arg);

/* Allows disabling CHOSEN_DEMO */
static void lv_example_noop(void) {
}

int main(int argc, char ** argv)
{

monitor_hor_res = 800;
monitor_ver_res = 480;
printf("Starting with screen resolution of %dx%d px\n", monitor_hor_res, monitor_ver_res);

/*Initialize LittlevGL*/
lv_init();

/*Initialize the HAL (display, input devices, tick) for LittlevGL*/
hal_init();

lv_demo_widgets();

emscripten_set_main_loop_arg(do_loop, NULL, -1, true);
}

void do_loop(void *arg)
{
/* Periodically call the lv_timer handler.
* It could be done in a timer interrupt or an OS task too.*/
lv_timer_handler();
}

/**********************
* STATIC FUNCTIONS
**********************/


/**
* Initialize the Hardware Abstraction Layer (HAL) for the Littlev graphics library
*/
static void hal_init(void)
{
lv_display_t * disp = lv_sdl_window_create(monitor_hor_res, monitor_ver_res);

lv_group_t * g = lv_group_create();
lv_group_set_default(g);

lv_sdl_mouse_create();
lv_indev_t * mousewheel = lv_sdl_mousewheel_create();
lv_indev_set_group(mousewheel, lv_group_get_default());

lv_indev_t * keyboard = lv_sdl_keyboard_create();
lv_indev_set_group(keyboard, lv_group_get_default());
}
5 changes: 5 additions & 0 deletions lvgl/.devcontainer/__settings.json__
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"files.associations": {
"sdl.h": "c"
}
}
28 changes: 28 additions & 0 deletions lvgl/.devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"image": "mcr.microsoft.com/devcontainers/universal:2",
"features": {
"ghcr.io/ebaskoro/devcontainer-features/emscripten:1": {}
},
"postCreateCommand": "chmod +x /workspace/lvgl_app/lvgl/.devcontainer/setup.sh; /workspace/lvgl_app/lvgl/.devcontainer/setup.sh",
"postStartCommand": ". /usr/local/emsdk/emsdk_env.sh;",

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
//"searKing.preview-vscode"
"analytic-signal.preview-html"
]
}
},

"hostRequirements": {
"cpus": 4
},

"workspaceMount": "source=${localWorkspaceFolder},target=/workspace/lvgl_app/lvgl,type=bind",
"workspaceFolder": "/workspace/lvgl_app"

}
70 changes: 70 additions & 0 deletions lvgl/.devcontainer/lv_conf.defaults
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
LV_COLOR_DEPTH 32
LV_MEM_SIZE (1024 * 1024)
LV_DRAW_THREAD_STACK_SIZE (64 * 1024)
LV_USE_MATRIX 1
LV_USE_FLOAT 1
LV_USE_LOTTIE 1

LV_USE_DRAW_SW_COMPLEX_GRADIENTS 1
LV_OBJ_STYLE_CACHE 1
LV_USE_LOG 1
LV_LOG_PRINTF 1
LV_USE_PERF_MONITOR 1
LV_USE_SYSMON 1

LV_USE_ASSERT_MEM_INTEGRITY 1
LV_USE_ASSERT_OBJ 1
LV_USE_ASSERT_STYLE 1
LV_FONT_MONTSERRAT_12 1
LV_FONT_MONTSERRAT_14 1
LV_FONT_MONTSERRAT_16 1
LV_FONT_MONTSERRAT_18 1
LV_FONT_MONTSERRAT_20 1
LV_FONT_MONTSERRAT_22 1
LV_FONT_MONTSERRAT_24 1
LV_FONT_MONTSERRAT_26 1
LV_FONT_MONTSERRAT_28 1
LV_FONT_MONTSERRAT_30 1
LV_FONT_MONTSERRAT_32 1
LV_FONT_MONTSERRAT_34 1
LV_FONT_MONTSERRAT_36 1
LV_FONT_MONTSERRAT_38 1
LV_FONT_MONTSERRAT_40 1
LV_FONT_MONTSERRAT_42 1
LV_FONT_MONTSERRAT_44 1
LV_FONT_MONTSERRAT_46 1
LV_FONT_MONTSERRAT_48 1
LV_FONT_MONTSERRAT_28_COMPRESSED 1
LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1
LV_FONT_SIMSUN_16_CJK 1
LV_FONT_UNSCII_8 1

LV_USE_IMGFONT 1
LV_USE_FS_STDIO 1
LV_FS_STDIO_LETTER 'A'
LV_USE_FS_MEMFS 1
LV_FS_MEMFS_LETTER 'M'
LV_USE_THORVG_INTERNAL 1
LV_USE_LZ4_INTERNAL 1
LV_USE_VECTOR_GRAPHIC 1
LV_USE_TINY_TTF 1
LV_USE_BARCODE 1
LV_USE_QRCODE 1
LV_USE_RLE 1
LV_BIN_DECODER_RAM_LOAD 1
LV_USE_TJPGD 1
LV_USE_BMP 1
LV_USE_LODEPNG 1
LV_USE_SDL 1

LV_USE_DEMO_WIDGETS 1
LV_USE_DEMO_KEYPAD_AND_ENCODER 1
LV_USE_DEMO_BENCHMARK 1
LV_USE_DEMO_RENDER 1
LV_USE_DEMO_STRESS 1
LV_USE_DEMO_MUSIC 1
LV_USE_DEMO_FLEX_LAYOUT 1
LV_USE_DEMO_MULTILANG 1
LV_USE_DEMO_TRANSFORM 1
LV_USE_DEMO_SCROLL 1

85 changes: 85 additions & 0 deletions lvgl/.devcontainer/lvgl_shell.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<html>
<head>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, shrink-to-fit=no'/>
<style type="text/css">
html, body {
margin: 0;

width: 100%;
height: 100%;
min-width: 100%;
min-height: 100%;
}

body {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}

.git-commit-info {
font-family: Consolas, 'Courier New', Courier, monospace;
background-color: #f1f1f1;
padding: 2px;
text-align: left;
}
#git-hash {
text-align: center;
}
#output {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="git-hash"></div>
<p id="output">
<canvas id="canvas"></canvas>
</p>
<script src="gitrev.js"></script>
<script>
var siteURL = new URL(window.location.href);
var w = siteURL.searchParams.get("w") || "800";
var h = siteURL.searchParams.get("h") || "480";
var canvas = document.getElementById('canvas');
canvas.setAttribute("width", w);
canvas.setAttribute("height", h);
console.log("Requested " + w + "x" + h + " px");
var Module = {
print: function(text) {
console.log(text);
},
printErr: function(text) {
console.error(text);
},
canvas: (function() {
return canvas;
})(),
arguments: [ siteURL.searchParams.get("w") || "800", siteURL.searchParams.get("h") || "480", siteURL.searchParams.get("example") ?? "default" ]
};
if(typeof window.git_hash != 'undefined') {
var gitHashDiv = document.querySelector("#git-hash");
var gitLink = document.createElement("div");
var gitHashComponents = window.git_hash.split(" ").filter(component => component.trim().length > 0);
for(var i = 0; i < gitHashComponents.length; i++) {
console.log(gitHashComponents[i], gitHashComponents[i].length);
/* This is an extremely lazy way of checking for a Git hash, but it works */
if(gitHashComponents[i].length == 40) {
gitHashComponents[i] = `<a href="https://github.com/lvgl/${gitHashComponents[i+1]}/commit/${gitHashComponents[i]}">${gitHashComponents[i]}</a>`;
} else {
/* Repository name */
gitHashComponents[i] += "<br/>";
}
}
gitLink.classList.add("git-commit-info");
gitLink.innerHTML = gitHashComponents.join(" ");
gitHashDiv.textContent = "LVGL compiled to Emscripten. Git commit information:";
gitHashDiv.appendChild(gitLink);
}
window.addEventListener("click", () => window.focus());
</script>
{{{ SCRIPT }}}
</body>
</html>
Loading
Loading