Skip to content

Commit c57c3fd

Browse files
Merge branch 'add-submodules'
2 parents bf05813 + 5fde44b commit c57c3fd

26 files changed

+454
-187
lines changed

.github/workflows/linux.yml

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
name: Build LVGL MicroPython on Linux
2+
3+
on:
4+
push:
5+
branches:
6+
- add-submodules
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest # Ubuntu is Debian-based and commonly used in GitHub Actions
11+
12+
steps:
13+
- name: Checkout repository with submodules
14+
uses: actions/checkout@v4
15+
with:
16+
submodules: recursive
17+
18+
- name: Install lvgl_micropython dependencies
19+
run: |
20+
sudo apt-get update
21+
sudo apt-get install -y \
22+
build-essential \
23+
libffi-dev \
24+
pkg-config \
25+
cmake \
26+
ninja-build \
27+
gnome-desktop-testing \
28+
libasound2-dev \
29+
libpulse-dev \
30+
libaudio-dev \
31+
libjack-dev \
32+
libsndio-dev \
33+
libx11-dev \
34+
libxext-dev \
35+
libxrandr-dev \
36+
libxcursor-dev \
37+
libxfixes-dev \
38+
libxi-dev \
39+
libxss-dev \
40+
libxkbcommon-dev \
41+
libdrm-dev \
42+
libgbm-dev \
43+
libgl1-mesa-dev \
44+
libgles2-mesa-dev \
45+
libegl1-mesa-dev \
46+
libdbus-1-dev \
47+
libibus-1.0-dev \
48+
libudev-dev \
49+
fcitx-libs-dev \
50+
libpipewire-0.3-dev \
51+
libwayland-dev \
52+
libdecor-0-dev
53+
54+
- name: Install additional MicroPythonOS dependencies
55+
run: |
56+
sudo apt-get update
57+
sudo apt-get install -y libv4l-dev
58+
59+
- name: Build LVGL MicroPython for unix dev
60+
run: |
61+
./scripts/build_mpos.sh unix dev
62+
63+
- name: Upload built binary as artifact
64+
uses: actions/upload-artifact@v4
65+
with:
66+
name: lvgl_micropy_unix
67+
path: lvgl_micropython/build/lvgl_micropy_unix
68+
compression-level: 0 # dont zip it
69+
retention-days: 7
70+
71+
- name: Build LVGL MicroPython esp32 prod fri3d-2024
72+
run: |
73+
./scripts/build_mpos.sh esp32 prod fri3d-2024
74+
75+
- name: Upload built binary as artifact
76+
uses: actions/upload-artifact@v4
77+
with:
78+
name: MicroPythonOS_fri3d-2024_prod
79+
path: lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
80+
compression-level: 0 # dont zip it
81+
retention-days: 7
82+
83+
- name: Upload built binary as artifact
84+
uses: actions/upload-artifact@v4
85+
with:
86+
name: MicroPythonOS_fri3d-2024_prod.ota
87+
path: lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
88+
compression-level: 0 # dont zip it
89+
retention-days: 7
90+
91+
- name: Cleanup
92+
run: |
93+
rm lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
94+
rm lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
95+
96+
- name: Build LVGL MicroPython esp32 dev fri3d-2024
97+
run: |
98+
./scripts/build_mpos.sh esp32 dev fri3d-2024
99+
100+
- name: Upload built binary as artifact
101+
uses: actions/upload-artifact@v4
102+
with:
103+
name: MicroPythonOS_fri3d-2024_dev
104+
path: lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
105+
compression-level: 0 # dont zip it
106+
retention-days: 7
107+
108+
- name: Cleanup
109+
run: |
110+
rm lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
111+
rm lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
112+
113+
- name: Build LVGL MicroPython esp32 prod waveshare-esp32-s3-touch-lcd-2
114+
run: |
115+
./scripts/build_mpos.sh esp32 prod waveshare-esp32-s3-touch-lcd-2
116+
117+
- name: Upload built binary as artifact
118+
uses: actions/upload-artifact@v4
119+
with:
120+
name: MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_prod
121+
path: lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
122+
compression-level: 0 # dont zip it
123+
retention-days: 7
124+
125+
- name: Upload built binary as artifact
126+
uses: actions/upload-artifact@v4
127+
with:
128+
name: MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_prod.ota
129+
path: lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
130+
compression-level: 0 # dont zip it
131+
retention-days: 7
132+
133+
- name: Cleanup
134+
run: |
135+
rm lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
136+
rm lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
137+
138+
- name: Build LVGL MicroPython esp32 dev waveshare-esp32-s3-touch-lcd-2
139+
run: |
140+
./scripts/build_mpos.sh esp32 dev waveshare-esp32-s3-touch-lcd-2
141+
142+
- name: Upload built binary as artifact
143+
uses: actions/upload-artifact@v4
144+
with:
145+
name: MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_dev
146+
path: lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
147+
compression-level: 0 # dont zip it
148+
retention-days: 7
149+
150+

.github/workflows/macos.yml

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
name: Build LVGL MicroPython for MacOS
2+
3+
on:
4+
push:
5+
branches:
6+
- add-submodules
7+
pull_request:
8+
branches: [add-submodules]
9+
workflow_dispatch:
10+
11+
jobs:
12+
build:
13+
runs-on: macos-14
14+
15+
steps:
16+
- name: Checkout repository with submodules
17+
uses: actions/checkout@v4
18+
with:
19+
submodules: recursive
20+
21+
- name: Install dependencies via Homebrew
22+
run: |
23+
xcode-select --install || true # already installed on github
24+
brew install pkg-config libffi ninja make SDL2
25+
26+
- name: Build LVGL MicroPython for unix dev
27+
run: |
28+
./scripts/build_mpos.sh macOS dev
29+
30+
- name: Upload built binary as artifact
31+
uses: actions/upload-artifact@v4
32+
with:
33+
name: lvgl_micropy_macOS
34+
path: lvgl_micropython/build/lvgl_micropy_macOS
35+
compression-level: 0 # don't zip it
36+
retention-days: 7
37+
38+
39+
- name: Build LVGL MicroPython esp32 prod fri3d-2024
40+
run: |
41+
./scripts/build_mpos.sh esp32 prod fri3d-2024
42+
43+
- name: Upload built binary as artifact
44+
uses: actions/upload-artifact@v4
45+
with:
46+
name: MicroPythonOS_fri3d-2024_prod
47+
path: lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
48+
compression-level: 0 # don't zip it
49+
retention-days: 7
50+
51+
- name: Upload built binary as artifact
52+
uses: actions/upload-artifact@v4
53+
with:
54+
name: MicroPythonOS_fri3d-2024_prod.ota
55+
path: lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
56+
compression-level: 0 # don't zip it
57+
retention-days: 7
58+
59+
- name: Cleanup
60+
run: |
61+
rm lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
62+
rm lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
63+
64+
- name: Build LVGL MicroPython esp32 dev fri3d-2024
65+
run: |
66+
./scripts/build_mpos.sh esp32 dev fri3d-2024
67+
68+
- name: Upload built binary as artifact
69+
uses: actions/upload-artifact@v4
70+
with:
71+
name: MicroPythonOS_fri3d-2024_dev
72+
path: lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
73+
compression-level: 0 # don't zip it
74+
retention-days: 7
75+
76+
- name: Cleanup
77+
run: |
78+
rm lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
79+
rm lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
80+
81+
82+
- name: Build LVGL MicroPython esp32 prod waveshare-esp32-s3-touch-lcd-2
83+
run: |
84+
./scripts/build_mpos.sh esp32 prod waveshare-esp32-s3-touch-lcd-2
85+
86+
- name: Upload built binary as artifact
87+
uses: actions/upload-artifact@v4
88+
with:
89+
name: MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_prod
90+
path: lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
91+
compression-level: 0 # don't zip it
92+
retention-days: 7
93+
94+
- name: Upload built binary as artifact
95+
uses: actions/upload-artifact@v4
96+
with:
97+
name: MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_prod.ota
98+
path: lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
99+
compression-level: 0 # don't zip it
100+
retention-days: 7
101+
102+
- name: Cleanup
103+
run: |
104+
rm lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
105+
rm lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin
106+
107+
- name: Build LVGL MicroPython esp32 dev waveshare-esp32-s3-touch-lcd-2
108+
run: |
109+
./scripts/build_mpos.sh esp32 dev waveshare-esp32-s3-touch-lcd-2
110+
111+
- name: Upload built binary as artifact
112+
uses: actions/upload-artifact@v4
113+
with:
114+
name: MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_dev
115+
path: lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin
116+
compression-level: 0 # don't zip it
117+
retention-days: 7

.gitmodules

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[submodule "freezeFS"]
2+
path = freezeFS
3+
url = https://github.com/MicroPythonOS/freezeFS
4+
[submodule "secp256k1-embedded-ecdh"]
5+
path = secp256k1-embedded-ecdh
6+
url = https://github.com/MicroPythonOS/secp256k1-embedded-ecdh
7+
branch = micropython_1.25.0
8+
[submodule "lvgl_micropython"]
9+
path = lvgl_micropython
10+
url = https://github.com/MicroPythonOS/lvgl_micropython
11+
[submodule "micropython-camera-API"]
12+
path = micropython-camera-API
13+
url = https://github.com/cnadler86/micropython-camera-API

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
0.3.0
2+
=====
3+
- Overhaul build system: much simplier (single clone and script run), add MacOS support, build with GitHub Workflow, etc.
4+
- Remove "long press pin 0" for bootloader mode; either use the Settings app or keep it pressed while pressing and releasing the "RESET" button
5+
16
0.2.1
27
=====
38
- Settings app: fix stray /cat in Europe/Brussels timezone

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
Main repository for MicroPythonOS.
22

3-
See https://MicroPythonOS.com/ and https://docs.MicroPythonOS.com/
3+
See https://MicroPythonOS.com/ and https://docs.MicroPythonOS.com/ for more info.

c_mpos/micropython.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ add_library(usermod_c_mpos INTERFACE)
77
set(MPOS_C_INCLUDES)
88

99
set(MPOS_C_SOURCES
10-
${CMAKE_CURRENT_LIST_DIR}/src/hello_world.c
1110
${CMAKE_CURRENT_LIST_DIR}/src/quirc_decode.c
1211
${CMAKE_CURRENT_LIST_DIR}/quirc/lib/identify.c
1312
${CMAKE_CURRENT_LIST_DIR}/quirc/lib/version_db.c

c_mpos/micropython.mk

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,15 @@ ifneq (,$(findstring -Wno-missing-field-initializers, $(CFLAGS_USERMOD)))
44
CFLAGS_USERMOD += -Wno-missing-field-initializers
55
endif
66

7-
SRC_USERMOD_C += $(MOD_DIR)/src/hello_world.c
7+
# Check which system this build is being performed on
8+
UNAME_S := $(shell uname -s)
9+
ifneq ($(UNAME_S),Darwin)
10+
# Non-macOS settings (e.g., Linux)
11+
LDFLAGS += -lv4l2
12+
SRC_USERMOD_C += $(MOD_DIR)/src/webcam.c
13+
endif
14+
815
SRC_USERMOD_C += $(MOD_DIR)/src/quirc_decode.c
9-
SRC_USERMOD_C += $(MOD_DIR)/src/webcam.c
1016

1117
SRC_USERMOD_C += $(MOD_DIR)/quirc/lib/identify.c
1218
SRC_USERMOD_C += $(MOD_DIR)/quirc/lib/version_db.c
@@ -15,4 +21,3 @@ SRC_USERMOD_C += $(MOD_DIR)/quirc/lib/quirc.c
1521

1622
CFLAGS+= -I/usr/include
1723

18-
LDFLAGS+= -lv4l2

c_mpos/src/hello_world.c

Lines changed: 0 additions & 32 deletions
This file was deleted.

freezeFS

Submodule freezeFS added at 92f12eb
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
../../../MPOS-Kilculator/
1+
../../../MPOS-QuasiCalculator/

0 commit comments

Comments
 (0)