This repo contains an object model for the Music Thing Modular Workshop System's Computer module. In abstracting away much of the micropython specifics, it aims to allow a user to interact directly with the components of the module (knobs, sockets, switches and LEDs) in software, and to connect them using a signals/slots API.
The source code can be frozen into the micropython code within a .uf2 file, allowing for flashing of Computer modules with both micropython and the extensions in the package. This process is not mature or well-tested, so per-release, pre-built .uf2 files are provided in the release page of the git repo.
Building requires cmake and the appropriate GNU embedded toolchain. On MacOS these can be installed using homebrew:
brew install cmake
and
brew install gcc-arm-embedded
The bash script clone.sh clones the micropython repo, and initializes the
submodules needed to build the rp2 port of micropython. The build.sh script
then builds the cross-compiler, the board/port submodules and finally the
firmware.uf2 file, which is copied to the root dist directory. This file can
be copied to the RP2040 in the Computer module, with all Computer-specific
functionality then available via import computer in the main.py file running
on the RP2040.
Micropython functionality specific to the RP2040