An open firmware for MIDIPLUS SmartPAD (being a pretty cheap launchpad-like MIDI-controller)
This project is developed and maintained by DerFetzer.
-
The used STM32F103RBT6 unfortunately has flash read protection activated and there is a function that resets the microcontroller when there is activity on the SWD interface.
-
There is an update mechanism in the original firmware but I did not look at it for long. Current updater can be downloaded at MIDIPLUS homepage.
-
s0len0id assembled a great documentation of stock firmware function here.
-
In order to remove read protection you have to mass erase the device, so the original firmware will be lost. You have to try during startup with something like the following:
$ openocd -f /usr/share/openocd/scripts/interface/stlink-v1.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg -c init -c "reset halt" -c "flash banks" -c "stm32f1x mass_erase 0" -c "stm32f1x unlock 0"
-
For reverse engineered information about the used hardware see hardware folder.
-
This firmware is designed to be used with the HID-bootloader.
-
Have a look at the included Ardour MIDI map to get an idea of used MIDI messages.
rust-std
components (pre-compiledcore
crate) for the ARM Cortex-M3 targets. Run:
$ rustup target add thumbv7m-none-eabi
This crate is licensed under either of
-
Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
-
MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
This crate is based on the cortex-m-quickstart template.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Contribution to this crate is organized under the terms of the Rust Code of Conduct, the maintainer of this crate, DerFetzer, promises to intervene to uphold that code of conduct.