SkillAgentSearch skills...

Pyrus

A firmware for the PineTime

Install / Use

/learn @Kuruyia/Pyrus
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated1y ago
Forks0

Languages

C

Security Score

70/100

Audited on Jul 15, 2024

No findings