LightningPiggy 2.0 Operating System Update
🥁 Word on the farm: MicroPythonOS 0.4.0 is out and running! LightningPiggy 2.0 owners, you’ll want to grab this one by the tail ⚡️🐽
Here’s the change log:
- Add custom MposKeyboard with more than 50% bigger buttons, great for tiny touch screens!
- Apply theme changes (dark mode, color) immediately after saving
- About app: add a bit more info
- Camera app: fix one-in-two "camera image stays blank" issue
- OSUpdate app: enable scrolling with joystick/arrow keys
- OSUpdate app: Major rework with improved reliability and user experience
- add WiFi monitoring - shows "Waiting for WiFi..." instead of error when no connection
- add automatic pause/resume on WiFi loss during downloads using HTTP Range headers
- add user-friendly error messages with specific guidance for each error type
- add "Check Again" button for easy retry after errors
- add state machine for better app state management
- add comprehensive test coverage (42 tests: 31 unit tests + 11 graphical tests)
- refactor code into testable components (NetworkMonitor, UpdateChecker, UpdateDownloader)
- improve download error recovery with progress preservation
- improve timeout handling (5-minute wait for WiFi with clear messaging)
- Tests: add test infrastructure with mock classes for network, HTTP, and partition operations
- Tests: add graphical test helper utilities for UI verification and screenshot capture
- API: change "display" to mpos.ui.main_display
- API: change mpos.ui.th to mpos.ui.task_handler
- waveshare-esp32-s3-touch-lcd-2: power off camera at boot to conserve power
- waveshare-esp32-s3-touch-lcd-2: increase touch screen input clock frequency from 100kHz to 400kHz
Credits
Team LightningPiggy