aboutsummaryrefslogtreecommitdiff
path: root/docs/design.adoc
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2024-04-22 17:07:44 +0200
committerlonkaars <loek@pipeframe.xyz>2024-04-22 17:07:44 +0200
commitdd8379e545b4beb6611a8152bca87e9276dde797 (patch)
treecc465d54177dcb834dc018ab9964dc3e607a1cf0 /docs/design.adoc
parentacea0828b8638764fa698aae54ba403912354bb8 (diff)
finish TODOs
Diffstat (limited to 'docs/design.adoc')
-rw-r--r--docs/design.adoc23
1 files changed, 12 insertions, 11 deletions
diff --git a/docs/design.adoc b/docs/design.adoc
index 533c02a..5ebbb15 100644
--- a/docs/design.adoc
+++ b/docs/design.adoc
@@ -175,11 +175,11 @@ Address definitions and protocol specifications are further detailed in
=== Power supply
One of the user requirements is that the puzzle box runs on battery power
-(<<reqs.adoc#req:89>>). Due to the team composition of this year's (23-24) run
-of the puzzle box project, a new power supply was not chosen, even though the
-current power supply was determined insufficient by the 21-22 group. This year,
-additional requirements were specified for the power supply, which were used
-when selecting MCUs suitable for battery-powered applications.
+(<<reqs.adoc#req:pwr-battery>>). Due to the team composition of this year's
+(23-24) run of the puzzle box project, a new power supply was not chosen, even
+though the current power supply was determined insufficient by the 21-22 group.
+This year, additional requirements were specified for the power supply, which
+were used when selecting MCUs suitable for battery-powered applications.
[[fig:power-supply-top]]
.Power supply module top-level block diagram
@@ -216,11 +216,11 @@ The puzzle framework is the foundation of the puzzle box software, and is
designed to facilitate the following:
* Allow puzzle modules to be swapped with minimal downtime or maintenance
- (<<reqs.adoc#req:132>>).
+ (<<reqs.adoc#req:pm-swap>>).
* Simplify the development process and integration of new puzzle modules
- (<<reqs.adoc#req:130>>).
+ (<<reqs.adoc#req:main-static>>).
* Provide abstracted interfaces to allow for easy integration of the puzzle box
- as part of a larger whole (<<reqs.adoc#req:133>>).
+ as part of a larger whole (<<reqs.adoc#req:main-interface>>).
[[sec:framework-state]]
==== State
@@ -230,8 +230,8 @@ All puzzle modules implement the same state machine shown in
transitions that a puzzle module may take on its own. The main controller also
allows the game operator to manually set the current state as one of the states
on the right half of <<fig:puzzle-module-common-state>>, which can be used to
-skip a puzzle if a player is stuck (<<reqs.adoc#req:168>>) or reset a game if
-it is malfunctioning (<<reqs.adoc#req:167>>).
+skip a puzzle if a player is stuck (<<reqs.adoc#req:edge-skip-puzzle>>) or
+reset a game if it is malfunctioning (<<reqs.adoc#req:edge-manual-reset>>).
Puzzle modules start in the 'uninitialized' state, where they repeatedly send
messages to the main controller (see <<sec:main-bridge>>). The state transition
@@ -332,7 +332,8 @@ The bridge is used to remotely access and control the puzzle box.
The Raspberry Pi 3B+ used as main controller during the 21-22 run of the
project set up a Wi-Fi Mesh network cite:[2122_design] to communicate with the
puzzle box. This year's main controller (Raspberry Pi Pico W cite:[research])
-uses a standard 802.11b/g/n access point instead (<<reqs.adoc#req:137>>).
+uses a standard 802.11b/g/n access point instead
+(<<reqs.adoc#req:main-802-11-ap>>).
On this network, the main controller hosts a server that serves TCP socket
connections. These sockets directly forward all internal messages sent to the