Skip to content

Kuruyia/Pyrus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pyrus

Pyrus is yet another PineTime firmware whose goal is to run bare metal, without any kind of RTOS.
This project is based on JF002's nrf52-baseproject, which is a base to get CMake to work with the nRF52 MCU and SDK.

What's working

  • ST7789 LCD Controller, with support for hardware-assisted vertical scrolling
  • nRF52's Real Time Counter, to keep track of the time
  • nRF52's BLE, advertising and bonding works:
    • AMS Client to control the current media on iOS devices
    • CTS Client to synchronize the watch clock with the smartphone

Building

You should follow the instructions of the nrf52-baseproject to get a build environment ready to compile Pyrus.
This project is currently being compiled using gcc-arm-none-eabi-10-2020-q4-major and the nRF5 SDK 17.0.2.

Once your environment is ready, you just have to run the following commands to compile this firmware:

git clone https://github.com/Arc13/Pyrus.git
cd Pyrus
mkdir build && cd build
cmake -DARM_NONE_EABI_TOOLCHAIN_PATH=[...] -DNRF5_SDK_PATH=[...] -DNRFJPROG=[...] ..

If you haven't already, you need to flash the SoftDevice only once:

cmake --build . --target FLASH_SOFTDEVICE

To compile the firmware, you can run this command:

cmake --build . --target Pyrus-fw

You will then have the generated firmware image available under the src/ directory.

Flashing

If your PineTime is directly connected to your machine (via, for instance, the nRF52-DK integrated SEGGER JLink debugger/programmer), you can flash this image to the smartwatch with the following command:

nrfjprog --program Pyrus-fw.hex --sectorerase

Acknowledgments

About

A firmware for the PineTime

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published