You should include this crate if you are writing code that you want to run on a Adafruit KB2040 - an Arduino Pro Micro-shaped board for keyboards.
This crate includes the rp2040-hal, but also configures each pin of the RP2040 chip according to how it is connected up on the KB2040.
To use this crate, your
Cargo.toml file should contain:
adafruit-kb2040 = "0.3.0"
In your program, you will need to call
adafruit-kb2040::Pins::new to create
Pins structure. This will set up all the GPIOs for any on-board
devices. See the examples folder for more details.
To compile an example, clone the rp-hal repository and run:
rp-hal/boards/adafruit-kb2040 $ cargo build --release --example <name>
You will get an ELF file called
./target/thumbv6m-none-eabi/release/examples/<name>, where the
folder is located at the top of the rp-hal repository checkout. Normally
you would also need to specify
--target=thumbv6m-none-eabi but when
building examples from this git repository, that is set as the default.
If you want to convert the ELF file to a UF2 and automatically copy it to the USB drive exported by the RP2040 bootloader, simply boot your board into bootloader mode and run:
rp-hal/boards/adafruit-kb2040$ cargo run --release --example <name>
If you get an error about not being able to find
cargo install elf2uf2-rs, then repeating the `cargo run` command above.
This example will display a colour-wheel rainbow effect on the on-board LED.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
The steps are:
git checkout -b feature/AmazingFeature)
git commit -m 'Add some AmazingFeature')
git push origin feature/AmazingFeature)
The contents of this repository are dual-licensed under the MIT OR Apache
2.0 License. That means you can choose either the MIT license or the
Apache-2.0 license when you re-use this code. See
APACHE2.0 for more
information on each specific license.
Any submissions to this project (e.g. as Pull Requests) must be made available under these terms.