An environment for experimenting with rust on the PineTime nrf52-based smart watch.
Note that you will need to clear the nrf52 flash protection before you will be able to program the PineTime.
For installation and debugging you can connect with the PineTime on its SWD debug port using, for example:
- openocd (built with proper support). We've used an inexpensive ST-Link adapter to with openocd.
- daily build of the Black Magic Probe firmware
- Segger J-Link or similar
This is work-in-progress
- Debug build runs on PineTime
- Release build runs on PineTime
- Internal SPI bus access
- Support for rendering to display (using st7789 driver)
- Internal I2C bus access
- Load driver for HRS3300 heart rate sensor
- Load driver for BMA421 accelerometer
- Explicitly set clock configuration (low speed clock still has problems)
- Semihosting debug support via swd port
- Support for Segger RTT (instead of semihosting)
- Translate HRS3300 readings into actual BPM
- Access CST816S touchpad (requires creating a driver)
- Access all onboard sensors (some missing embedded HAL drivers)
- Calibration routines for accelerometers
- Reading battery status ports (using ADC?)
- flash memory read/write at runtime (using spi-memory may have problems)
- CI
- Documentation
- PineTime has a low speed 32.768 kHz crystal and a high speed 32 MHz crystal. The example code now configures these clocks, though there's still some issue with the low frequency clock configuration.
See the "PineTime Port Assignment" document for notes on which devices are attached to which buses.
BSD-3-Clause, see LICENSE
file.