Skip to content

This repository contains the CoffeeCaller source code repository, majorly for the TiaC CoffeeCaller Board

License

Notifications You must be signed in to change notification settings

Alicipy/CoffeeCaller

Repository files navigation

CoffeeCaller

CoffeeCaller is a Zephyr RTOS module that provides the source code for the TiaC CoffeeCaller board.

Project Purpose

This repository contains the source code for the 'CoffeeCaller' application, a simple self-designed development board that coordinates coffee breaks between colleagues that sit in different office rooms in a building.

In each room, there is one prepared Coffee Caller board, which communicates to others via a Mesh technology (e.g., OpenThread). When one wants to drink coffee, them press the button, which triggers a buzzer and LEDs on each CoffeeCaller it can reach. Then, others can communicate that they would also drink coffee by pressing the button on their CoffeeCaller too, which triggers a short acknowledgement beep.

After some time, the Coffeecaller signals if someone wants to go with you for coffee or not by doing beeping noices and flashing LEDs.

Project state

This project is still in development, and multiple features are still missing.

Features

  • Build with Zephyr RTOS
  • Everything builds and is executable for TiaC CoffeeCaller and native_sim (for development purposes).
  • Test setups for multiple test levels

Supported boards

We tested the code on the following boards:

Other boards may work but are not actively tested.

Toolchain setup

To compile the applications, you need the Zephyr SDK installed. For that, follow the instructions on the Zephyr SDK installation page

Getting Started

This is a super short intro to what needs to be done to setup the workspace. More details at Zephyrs 'Getting started' guide.

Create a new workspace and change the working directory:

mkdir cc_ws
cd cc_ws

Create + activate a Python virtual environment:

python3 -m venv .venv
. .venv/bin/activate

Now install the Zephyr RTOS meta-tool west.

pip install west

Setup the workspace and clone the repository with all modules and Zephyr:

west init -m https://github.com/Alicipy/CoffeeCaller
west update

Now, install all Python requirements for Zephyr so all features work:

pip install -r zephyr/scripts/requirements.txt

Afterward, you can work with the repository and workspace.

Usage

These list the most common use cases during development. To cover all use cases, please consult the west documentation.

Execute all commands in the workspace cc_ws.

Building an application for a specific board

west build -b <board_name> <path_to_application>
west build -b coffeecaller_nrf52/nrf52840 ./CoffeeCaller/applications/coffeecaller

Flashing to the board

The coffeecaller_nrf52/nrf52840 board has an uf2 bootloader. So connect the board and after mounting, do:

west flash -r uf2

Executing tests

Executing (a subset of) tests for all supported boards:

west twister -T <path_to_test_folder>
# example to execute all integration tests in `tests` folder
west twister --integration -T ./CoffeeCaller/tests
# example to execute all tests for `native_sim`
west twister -p native_sim -T ./CoffeeCaller

About

This repository contains the CoffeeCaller source code repository, majorly for the TiaC CoffeeCaller Board

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •