Skip to content

Andreasdahlberg/sillycat

Repository files navigation

SillyCat

Build Status Quality Gate Status

Development

Getting Started

The following steps are required

  1. Install required packages

    $ sudo apt install scons gcc-avr avr-libc avrdude
  2. Install optional packages

    $ sudo apt install astyle valgrind
  3. Install cmocka

    $ sudo apt install cmake
    $ git clone git://git.cryptomilk.org/projects/cmocka.git
    $ mkdir cmocka/build && cd cmocka/build
    $ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
    $ make
    $ sudo make install
  4. Install freetype-py

    $ sudo apt install python3-setuptools
    $ git clone https://github.com/rougier/freetype-py.git freetype-py
    $ cd freetype-py
    $ sudo python3 setup.py install

Building

$ cd firmware
$ scons build-main-release build-node-release

Board bringup

  1. Set fuses

    $ scons init-fuses
  2. Get configuration

    $ scripts/memory/config.py load /dev/ttyACM0 conf.eep
  3. Set configuration values

    $ scripts/memory/config.py set conf.eep version 1
    $ scripts/memory/config.py set conf.eep network_id AABBCCDDEEFF
    $ scripts/memory/config.py set conf.eep aes_key 1DUMMYKEYFOOBAR1
    $ scripts/memory/config.py set conf.eep master_address 170
    $ scripts/memory/config.py set conf.eep address 170
    $ scripts/memory/config.py set conf.eep broadcast_address 255
    $ scripts/memory/config.py set conf.eep report_interval 60

    See Configuration for details.

  4. Save configuration to device

    $ /config.py save /dev/ttyACM0 conf.eep
  5. Flash firmware

    scons flash-main-release

Testing

See Testing

CI

See Docker

Support

If you're having any problems, please raise an issue on GitHub and i will be happy to help.