aboutsummaryrefslogtreecommitdiff

Puzzle box

This repository contains the source code for the puzzle framework designed and implemented during the 2023-2024 run of the Puzzlebox project. This year's run of the project consists of only software students, and was developed using the hardware from the 21-22 run of the project.

Improved hardware was designed but not realised during the 22-23 run of the project. This hardware is recommended for future groups participating in the project. The software in this repository should be easily portable to various other microcontrollers, and a recommendation is made in the design document.

Tidyness

Please keep this repository tidy by being aware of the following conventions!

Folder structure

folder contains
/client Desktop PC application for controlling the puzzle box
/docs Project documentation in AsciiDoc(tor) format
/i2ctcp I2C over TCP protocol functions (used by main and client)
/lib Libraries (tracked as submodules)
/main Main controller (RPi pico) software
/puzzle/<name> Puzzle sources, each puzzle has its own subdirectory
/shared Shared code
/test Unit test framework (currently unutilized)

Code style

An .editorconfig file is provided in this repository. Please install the EditorConfig plugin for your text editor of choice to automatically use these.

Currently, no linter/formatter is configured for maintaining consistent code style.

Submodules

This repository tracks (most) dependencies via git submodules.

If something is complaining about missing files

git submodule update --init --recursive --depth 1

until your problems go away.

ESP SDK setup

  1. Install ESP-IDF extension in Visual Studio Code

  2. Install using 'express' option

  3. Install ESP-IDF v5.2.1 (release version)

    Additional help: