# Firefly Node Firmware
This is the firmware application repository for the Tattletale Puck security device. This device uses the nRF5 family as the host MCU(s).

## Repository Setup
This application uses Zephyr RTOS to build and run the application code. This repo uses the Nordic fork of the Zephyr project.

### Dependencies

- Install [Zephyr Source](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/installation.html). This application uses **v2.8.0** stable release: `west init -m https://github.com/nrfconnect/sdk-nrf --mr v2.8.0`
- Install Python3.10 if not already installed:
    - Linux: `apt-get install python3 python3-pip`
    - Mac OS: `brew install python3 python3-pip`

### Building
The `invoke` tooling is used as a build wrapper for a simplified interface for building and debugging the application. Invoke commands can be added to `tasks.py` for any additional tooling functionality.

- Building firmware: `inv build`
- Flashing firmware: `inv flash`
- List commands available: `inv --list`