https://github.com/dbrgn/pinetime-rtic
Rust + RTFM on the PineTime!
https://github.com/dbrgn/pinetime-rtic
pinetime rust
Last synced: 9 months ago
JSON representation
Rust + RTFM on the PineTime!
- Host: GitHub
- URL: https://github.com/dbrgn/pinetime-rtic
- Owner: dbrgn
- License: apache-2.0
- Created: 2020-01-28T22:57:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-08-17T07:36:21.000Z (almost 5 years ago)
- Last Synced: 2025-07-07T17:37:23.914Z (12 months ago)
- Topics: pinetime, rust
- Language: Rust
- Homepage:
- Size: 12.6 MB
- Stars: 72
- Watchers: 10
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Rust/RTIC on PineTime
Target MCU: nRF52832 (xxAA)
Current status: PoC

What works:
- Bare-metal Rust with [nrf52-hal](https://github.com/nrf-rs/nrf-hal)
- [RTIC](https://rtic.rs/) for concurrency
- [embedded-graphics](https://github.com/jamwaffles/embedded-graphics) for drawing onto the LCD
- Detect button presses
- Cycle through backlight brightness levels using button
- Show battery charge status and voltage
- Send BLE advertisement frames using the pure-Rust
[rubble](https://github.com/jonas-schievink/rubble) stack
Planned:
- A simple watch interface
- Support for the step counter
- Better Bluetooth support
## Development
### Flashing (cargo-embed)
Install cargo-embed:
$ cargo install -f --git https://github.com/probe-rs/cargo-embed/
Flash the target:
$ cargo embed --release
### Flashing (openocd)
Run OpenOCD:
$ ./openocd.sh
Run the code
$ cargo run [--release]
### Flashing (J-Link GDB Server)
Run JLinkGDBServer:
$ ./jlinkgdbserver.sh
Run the code
$ cargo run [--release]
## License
Licensed under either of
* Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or
http://opensource.org/licenses/MIT) at your option.
### Contributing
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.