Commit 23b94b8
authored
Merge pull request #102 from jblanked/dev
Picoware - v1.7.2
This is an update to the MicroPython version that introduces a C++ game engine, a new logging system, and a significantly improved `FileBrowser` with copy and move support. It also brings a high-performance `textbox_mp` C module for near-instant text rendering, an expanded `Settings` app with manual time and theme controls, three new screensavers, and audio recording support via the new `INMP441` app.
## Changelog
Added:
- `INMP441` app (record audio to SD card)
- `copy`, `move`, `file_copy`, and `file_move` methods to the `Storage` class
- C++ game engine with MicroPython C modules
- C++ guards to several MicroPython C modules
- `list_directory` method in the `sd_mp` module that only returns file names instead of dicts
- Scaling attributes to the `lcd_mp` C module
- Task ID to logging in the `ThreadManager` class
- `fetch` method to the `Time` class that connects via socket and syncs the NTP time on a separate thread
- `DatePicker` GUI class
- `log_mp` C module and `Log` class
- `log` method to the `ViewManager` (and updated several system apps to use it)
- `textbox_mp` C module: load and scroll text within milliseconds
- Three new screensavers: `Aurora Borealis`, `Color Tunnel`, and `Lissajous`
- `LatheCalc` app (by @Slasher006): machinist calculator and shop reference multi-tool
Updated:
- `Egg Timer`, `Unit Converter`, and `bohrgesch` app optimizations (by @Slasher006)
- `UART` class defaults to `GP0`, `GP1`, and `UART0`
- `System` class with simplified `BOARD_ID` tracking
- `file_write`, `file_open`, and `file_seek` within the `Storage` class with try/catch and correct return values
- `freq` method of the `ViewManager` class with a `frequency` parameter that allows devs to change the frequency to a custom value instead of the presets
- `sd_read_block` method in the `sdcard` driver to retry up to 3 times to handle transient SPI/card-busy failures
- `fat32` driver to advance the next-free hint and find the actual last/free cluster
- `sd_mp` read methods to use the heap
- `vfs_unmount` method of the `Storage` class with the correct function call
- `read_directory` method of the `Storage` class with an additional field for `is_directory`
- `size` method of the `Storage` class to return `0` if the path is a directory
- `FileBrowser` GUI class with a two-pane window with new copying and moving features (by @Slasher006 and Gemini AI, with many optimizations by @jblanked)
- `HTTP` class to check if the request should close and close the socket if so
- `Menu` and `List` classes with updated styling
- `Choice` class with a two-column list
- `Settings` app: users can manually set the time, choose their theme color, enable/disable debug, and all settings from before
- `Desktop` app to use NTP time and saved GMT offset
- `Textbox` GUI class to use the new `textbox_mp` C module
- `JB-News` app to parse back button presses in `View` mode and use the system's selected color
- `Big Buck Bunny` app with an info screen explaining how to compile the movie so the app can run it
- `SSH Terminal` app to track history, colorize the terminal, and simplify inputFile tree
163 files changed
+13523
-7455
lines changed- builds/MicroPython
- apps_unfrozen
- games
- screensavers
- apps
- games
- screensavers
- guides
- src/MicroPython
- PicoCalc
- picoware_game
- picoware_lcd
- auto_complete
- engine
- engine
- font
- jpeg
- lcd
- log
- picoware_boards
- picoware
- applications
- system
- wifi
- engine
- gui
- system
- response
- sd
- textbox
- vector
- vt
- tools
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
163 files changed
+13523
-7455
lines changedBinary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
0 commit comments