~tristan957/tllt-cp

The Learning Little Toaster Control Panel
5d185275 — Tristan Partin 1 year, 3 months ago
Fix recipe UI to show correct recipe
03ccb981 — Tristan Partin 1 year, 3 months ago
Make the recipe UI work. Everying not toast
b641e5e7 — Tristan Partin 1 year, 3 months ago
Implement manual control of heating elements

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~tristan957/tllt-cp
read/write
git@git.sr.ht:~tristan957/tllt-cp

You can also use your local clone with git send-email.

builds.sr.ht status

The Learning Little Toaster Control Panel

Organization

This project is seperated into three parts:

  • GUI
  • client library
  • driver

The GUI is the control panel for interacting with the toaster. The client library is utilized by the GUI to interact with the server. The driver is used to talk to the toaster.

Dependencies

  • libcurl >= 7.52.1
  • glib >= 2.50.3
  • gtk >= 3.22
  • libjson-glib >= 1.2.6

Disclaimer: These are known working dependency versions. Previous versions may work fine.

Development Environment

This project uses clang-format to format files and Meson as the build system. Project should build fine with clang or gcc.

To initalize the build environment, run

CC={compiler of choice} meson build

WiringPi

By default, the driver builds with support for WiringPi. To disable support, run meson configure -Dwith-wiringPi=false build. You will need to make sure that WiringPi is installed on your system if you don't disable the option. Instructions for manually building it, can be found in the wiringPi repository.

Environment Variables

  • TLLT_CP_SERVER - URL of the server
  • TLLT_TOASTER_CONFIG_FILE_PATH - file path of the toaster config

Toaster Config File

JSON file like the following

{
    "top-heating-element": {
        "gpio-pin": 1
    },
    "bottom-heating-element": {
        "gpio-pin": 2
    },
    "thermistor": {
        "spi-chan": 0,
        "base-pin": 100,
        "number-of-pins": 8
    }
}

Building

ninja -C build

Testing

ninja test -C build

Running

GUI

./build/src/tllt-cp

Tests

./build/tests/{path to test executable}