From ebcc6e19d2fdddbbce6d3ac93ec9ac29663a1d7e Mon Sep 17 00:00:00 2001 From: lonkaars Date: Sat, 20 Apr 2024 15:53:24 +0200 Subject: give referenced requirements meaningful identifiers + comment TODOs in text --- docs/readme.md | 2 + docs/requirements.adoc | 416 ++++++++++++++++++++++++------------------------- docs/research.adoc | 36 +++-- 3 files changed, 233 insertions(+), 221 deletions(-) diff --git a/docs/readme.md b/docs/readme.md index e58c5fb..c5067b5 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -9,6 +9,8 @@ makefile is provided for convenience. - "I2C" is written as `I^2^C` - "C++" is written as `{cpp}` +- please give cross references, links, image files, figure ids, etc. meaningful + names ## TODO diff --git a/docs/requirements.adoc b/docs/requirements.adoc index 37f914b..e3225a5 100644 --- a/docs/requirements.adoc +++ b/docs/requirements.adoc @@ -112,54 +112,54 @@ describes all functional requirements of the puzzle box. |=== | ID | <> | Specification -| <> | <> | -[[req:001,R-001]] The dimensions of the puzzle box are 30×30×30cm ± 5% (Length × Width × Height). +| <> | <> | +[[req:1,R-001]] The dimensions of the puzzle box are 30×30×30cm ± 5% (Length × Width × Height). -| <> | <> | -[[req:002,R-002]] The puzzle box extends a maximum of 5cm on the sides and the top. +| <> | <> | +[[req:2,R-002]] The puzzle box extends a maximum of 5cm on the sides and the top. -| <> | <> | -[[req:003,R-003]] The puzzle box is flat at the bottom. +| <> | <> | +[[req:3,R-003]] The puzzle box is flat at the bottom. -| <> | <> | -[[req:004,R-004]] The puzzle box has a key switch at the bottom of the NeoTrellis puzzle. +| <> | <> | +[[req:4,R-004]] The puzzle box has a key switch at the bottom of the NeoTrellis puzzle. -| <> | <> | -[[req:005,R-005]] The puzzle box has an indicator LED at the bottom of the NeoTrellis puzzle. +| <> | <> | +[[req:5,R-005]] The puzzle box has an indicator LED at the bottom of the NeoTrellis puzzle. -| <> | <> | -[[req:006,R-006]] The indicator LED turns green when the system is on and not charging. +| <> | <> | +[[req:6,R-006]] The indicator LED turns green when the system is on and not charging. -| <> | <> | -[[req:007,R-007]] The indicator LED turns blue when the battery is charging. +| <> | <> | +[[req:7,R-007]] The indicator LED turns blue when the battery is charging. -| <> | <> | -[[req:008,R-008]] The indicator LED turns red when the battery does not have enough capacity for the duration of one game and is not charging. +| <> | <> | +[[req:8,R-008]] The indicator LED turns red when the battery does not have enough capacity for the duration of one game and is not charging. -| <> | <> | -[[req:009,R-009]] The puzzle box has a USB-C port at the bottom of the NeoTrellis puzzle for battery charging. +| <> | <> | +[[req:9,R-009]] The puzzle box has a USB-C port at the bottom of the NeoTrellis puzzle for battery charging. -| <> | <> | -[[req:010,R-010]] The puzzle box has a distance sensor at the bottom to detect if it is lifted. +| <> | <> | +[[req:10,R-010]] The puzzle box has a distance sensor at the bottom to detect if it is lifted. -| <> | <> | -[[req:011,R-011]] The puzzle box main board (PCB on the bottom plate) includes a speaker. +| <> | <> | +[[req:11,R-011]] The puzzle box main board (PCB on the bottom plate) includes a speaker. -| <> | <> | -[[req:012,R-012]] When the puzzle box is lifted, the mainboard speaker emits an alarm sound for at least 10 seconds. It stops only when it has been on a table for another 10 seconds (detected by the distance sensor). +| <> | <> | +[[req:12,R-012]] When the puzzle box is lifted, the mainboard speaker emits an alarm sound for at least 10 seconds. It stops only when it has been on a table for another 10 seconds (detected by the distance sensor). -| <> | <> | -[[req:013,R-013]] When the game is completed, the puzzle box produces a victory sound. +| <> | <> | +[[req:13,R-013]] When the game is completed, the puzzle box produces a victory sound. -| <> | <> | -[[req:014,R-014]] Pressing the "identify" button on the web panel causes the indicator LED to blink. +| <> | <> | +[[req:14,R-014]] Pressing the "identify" button on the web panel causes the indicator LED to blink. -| <> | <> | -[[req:015,R-015]] Pressing the "identify" button on the web panel triggers a sound from the speaker. +| <> | <> | +[[req:15,R-015]] Pressing the "identify" button on the web panel triggers a sound from the speaker. -| <> | <> | +| <> | <> | // section 3.7 is inside the citation, and does not refer to section 3.7 in this document -[[req:016,R-016]] The game starts once the scheduler time is reached (refer to cite:[Bek23] section 3.7). +[[req:16,R-016]] The game starts once the scheduler time is reached (refer to cite:[Bek23] section 3.7). |=== === The bomb @@ -169,29 +169,29 @@ describes all functional requirements of the puzzle box. |=== | ID | <> | Specification -| <> | <> | -[[req:017,R-017]] The bomb includes a 6-digit 7-segment display for showing the remaining playtime. +| <> | <> | +[[req:17,R-017]] The bomb includes a 6-digit 7-segment display for showing the remaining playtime. -| <> | <> | -[[req:018,R-018]] The bomb contains a keypad for entering the disarm code. +| <> | <> | +[[req:18,R-018]] The bomb contains a keypad for entering the disarm code. -| <> | <> | -[[req:019,R-019]] The 6-digit 7-segment display turns off when no game is in progress. +| <> | <> | +[[req:19,R-019]] The 6-digit 7-segment display turns off when no game is in progress. -| <> | <> | -[[req:020,R-020]] Once the disarm code is entered on the bomb keypad, the game is complete. +| <> | <> | +[[req:20,R-020]] Once the disarm code is entered on the bomb keypad, the game is complete. -| <> | <> | -[[req:021,R-021]] When the game is finished, the bomb emits a victory sound. +| <> | <> | +[[req:21,R-021]] When the game is finished, the bomb emits a victory sound. -| <> | <> | -[[req:022,R-022]] The timer on the bomb counts down from 60:00:00 to 00:00:00. +| <> | <> | +[[req:22,R-022]] The timer on the bomb counts down from 60:00:00 to 00:00:00. -| <> | <> | -[[req:023,R-023]] Pressing the "identify" button on the web panel causes the indicator LED to blink. +| <> | <> | +[[req:23,R-023]] Pressing the "identify" button on the web panel causes the indicator LED to blink. -| <> | <> | -[[req:024,R-024]] Pressing the "identify" button on the web panel triggers a sound from the speaker. +| <> | <> | +[[req:24,R-024]] Pressing the "identify" button on the web panel triggers a sound from the speaker. |=== @@ -202,14 +202,14 @@ describes all functional requirements of the puzzle box. |=== | ID | <> | Specification -| <> | <> | -[[req:025,R-025]] The game lasts for 1 hour. +| <> | <> | +[[req:25,R-025]] The game lasts for 1 hour. -| <> | <> | -[[req:026,R-026]] The game should be solvable within the given playtime, without the player having prior knowledge of the game or its mechanics. +| <> | <> | +[[req:26,R-026]] The game should be solvable within the given playtime, without the player having prior knowledge of the game or its mechanics. -| <> | <> | -[[req:027,R-027]] The puzzles should be easy enough to solve without any prior knowledge of the game or its mechanics. +| <> | <> | +[[req:27,R-027]] The puzzles should be easy enough to solve without any prior knowledge of the game or its mechanics. | <> | <> | [[req:167,R-167]] A puzzle module can manually be reset at the discretion of the game operator @@ -217,23 +217,23 @@ describes all functional requirements of the puzzle box. | <> | <> | [[req:168,R-168]] A puzzle module can manually be set as solved at the discretion of the game operator -| <> | <> | -[[req:028,R-028]] The disarm code for the bomb consists of 4 digits. +| <> | <> | +[[req:28,R-028]] The disarm code for the bomb consists of 4 digits. -| <> | <> | -[[req:029,R-029]] Once all games are solved, the mainboard PCB displays the disarm code on a red 7-segment 4-digit screen. +| <> | <> | +[[req:29,R-029]] Once all games are solved, the mainboard PCB displays the disarm code on a red 7-segment 4-digit screen. -| <> | <> | -[[req:030,R-030]] The puzzle box records the playtime of each game. +| <> | <> | +[[req:30,R-030]] The puzzle box records the playtime of each game. -| <> | <> | -[[req:031,R-031]] The puzzle box features 5 playable puzzles. +| <> | <> | +[[req:31,R-031]] The puzzle box features 5 playable puzzles. -| <> | <> | -[[req:032,R-032]] Only one game is active at a time; the other games do not respond to buttons. +| <> | <> | +[[req:32,R-032]] Only one game is active at a time; the other games do not respond to buttons. -| <> | <> | -[[req:033,R-033]] The game always starts with the NeoTrellis puzzle. +| <> | <> | +[[req:33,R-033]] The game always starts with the NeoTrellis puzzle. |=== ==== NeoTrellis puzzle @@ -243,20 +243,20 @@ describes all functional requirements of the puzzle box. |=== | ID | <> | Specification -| <> | <> | -[[req:034,R-034]] There is an 8x8 LED matrix where each LED can display different colors. +| <> | <> | +[[req:34,R-034]] There is an 8x8 LED matrix where each LED can display different colors. -| <> | <> | -[[req:035,R-035]] At the start of the puzzle, a pattern is displayed as shown in <>. +| <> | <> | +[[req:35,R-035]] At the start of the puzzle, a pattern is displayed as shown in <>. -| <> | <> | -[[req:036,R-036]] When a button is pressed, the adjacent LEDs and the pressed LED toggle (If an LED is off, it turns on. If an LED is on, it turns off). +| <> | <> | +[[req:36,R-036]] When a button is pressed, the adjacent LEDs and the pressed LED toggle (If an LED is off, it turns on. If an LED is on, it turns off). -| <> | <> | -[[req:037,R-037]] All LEDs in the Neotrellis that are turned on are blue. +| <> | <> | +[[req:37,R-037]] All LEDs in the Neotrellis that are turned on are blue. -| <> | <> | -[[req:038,R-038]] The puzzle is considered solved when all LEDs are turned off, and then the software puzzle starts. +| <> | <> | +[[req:38,R-038]] The puzzle is considered solved when all LEDs are turned off, and then the software puzzle starts. |=== ==== Software puzzle @@ -266,29 +266,29 @@ describes all functional requirements of the puzzle box. |=== | ID | <> | Specification -| <> | <> | -[[req:039,R-039]] The software puzzle board has 6 banana plug connectors with different logic gates displayed next to them (Refer to <> for a sketch and <> for a banana plug example). +| <> | <> | +[[req:39,R-039]] The software puzzle board has 6 banana plug connectors with different logic gates displayed next to them (Refer to <> for a sketch and <> for a banana plug example). -| <> | <> | -[[req:040,R-040]] The software puzzle board has 6 banana plug connectors labeled with the letters A through F (Refer to <> for a sketch). +| <> | <> | +[[req:40,R-040]] The software puzzle board has 6 banana plug connectors labeled with the letters A through F (Refer to <> for a sketch). -| <> | <> | -[[req:041,R-041]] At the start of the puzzle box game, the preparer must connect all cables in parallel (horizontally) to the connectors. +| <> | <> | +[[req:41,R-041]] At the start of the puzzle box game, the preparer must connect all cables in parallel (horizontally) to the connectors. -| <> | <> | -[[req:042,R-042]] There are C code blocks visible only to the players on the bomb side, corresponding to the letters A through F (Refer to <> for the codes). +| <> | <> | +[[req:42,R-042]] There are C code blocks visible only to the players on the bomb side, corresponding to the letters A through F (Refer to <> for the codes). -| <> | <> | -[[req:043,R-043]] The combinations of logic gates to letters are always the same. +| <> | <> | +[[req:43,R-043]] The combinations of logic gates to letters are always the same. -| <> | <> | -[[req:044,R-044]] The puzzle is considered solved when the cables from the logic gates match the code blocks (Refer to <> and <> for the combinations). +| <> | <> | +[[req:44,R-044]] The puzzle is considered solved when the cables from the logic gates match the code blocks (Refer to <> and <> for the combinations). -| <> | <> | -[[req:045,R-045]] Once the puzzle is solved, the green indicator LED will light up (Refer to <> and <>). +| <> | <> | +[[req:45,R-045]] Once the puzzle is solved, the green indicator LED will light up (Refer to <> and <>). -| <> | <> | -[[req:046,R-046]] After the puzzle is solved, the automation puzzle begins. +| <> | <> | +[[req:46,R-046]] After the puzzle is solved, the automation puzzle begins. |=== ==== Automation puzzle @@ -301,8 +301,8 @@ documentation. Due to time constraints, the section will be left empty. |=== | ID | <> | Specification -| <> | <> | -[[req:047,R-047]] After the puzzle is solved, the hardware puzzle begins. +| <> | <> | +[[req:47,R-047]] After the puzzle is solved, the hardware puzzle begins. |=== ==== Hardware puzzle @@ -312,86 +312,86 @@ documentation. Due to time constraints, the section will be left empty. |=== | ID | <> | Specification -| <> | <> | -[[req:048,R-048]] There are eight switches on the hardware puzzle board. +| <> | <> | +[[req:48,R-048]] There are eight switches on the hardware puzzle board. -| <> | <> | -[[req:049,R-049]] The hardware puzzle board features a diagram of a combinatorial circuit with 8 inputs (linked to the switches) and 1 output (Refer to <> for a sketch). +| <> | <> | +[[req:49,R-049]] The hardware puzzle board features a diagram of a combinatorial circuit with 8 inputs (linked to the switches) and 1 output (Refer to <> for a sketch). -| <> | <> | -[[req:050,R-050]] The hardware puzzle board includes a red 7-segment 4-digit display (Refer to <> for a sketch). +| <> | <> | +[[req:50,R-050]] The hardware puzzle board includes a red 7-segment 4-digit display (Refer to <> for a sketch). -| <> | <> | -[[req:051,R-051]] There are 4 potentiometers on the hardware puzzle board (Refer to <> for a sketch). +| <> | <> | +[[req:51,R-051]] There are 4 potentiometers on the hardware puzzle board (Refer to <> for a sketch). -| <> | <> | -[[req:052,R-052]] A blue LED on the hardware puzzle board displays the morse code. +| <> | <> | +[[req:52,R-052]] A blue LED on the hardware puzzle board displays the morse code. -| <> | <> | -[[req:053,R-053]] A green LED on the hardware puzzle board indicates whether the combinatorial circuit is solved. +| <> | <> | +[[req:53,R-053]] A green LED on the hardware puzzle board indicates whether the combinatorial circuit is solved. -| <> | <> | -[[req:054,R-054]] At the start of the puzzle, the potentiometers are inactive. +| <> | <> | +[[req:54,R-054]] At the start of the puzzle, the potentiometers are inactive. -| <> | <> | -[[req:055,R-055]] The 7-segment display is off at the beginning of the puzzle. +| <> | <> | +[[req:55,R-055]] The 7-segment display is off at the beginning of the puzzle. -| <> | <> | -[[req:056,R-056]] The LED for the combinatorial puzzle is off initially. +| <> | <> | +[[req:56,R-056]] The LED for the combinatorial puzzle is off initially. -| <> | <> | -[[req:057,R-057]] The morse code LED is off at the puzzle's outset. +| <> | <> | +[[req:57,R-057]] The morse code LED is off at the puzzle's outset. -| <> | <> | -[[req:058,R-058]] The preparer must set all switches to the down position at the start of the puzzle box game. +| <> | <> | +[[req:58,R-058]] The preparer must set all switches to the down position at the start of the puzzle box game. -| <> | <> | -[[req:059,R-059]] The preparer must turn all potentiometers to the left (value '0') at the beginning of the puzzle box game. +| <> | <> | +[[req:59,R-059]] The preparer must turn all potentiometers to the left (value '0') at the beginning of the puzzle box game. -| <> | <> | -[[req:060,R-060]] The puzzle consists of two phases. +| <> | <> | +[[req:60,R-060]] The puzzle consists of two phases. -| <> | <> | -[[req:061,R-061]] The puzzle begins in phase 1. +| <> | <> | +[[req:61,R-061]] The puzzle begins in phase 1. -| <> | <> | -[[req:062,R-062]] During the puzzle, the switches must be toggled to obtain a logical '1' at the output of the combinatorial circuit. +| <> | <> | +[[req:62,R-062]] During the puzzle, the switches must be toggled to obtain a logical '1' at the output of the combinatorial circuit. -| <> | <> | -[[req:063,R-063]] When the output of the combinatorial circuit equals '1', the green indicator LED turns on (Refer to <> for a sketch). +| <> | <> | +[[req:63,R-063]] When the output of the combinatorial circuit equals '1', the green indicator LED turns on (Refer to <> for a sketch). -| <> | <> | -[[req:064,R-064]] The puzzle proceeds to phase 2 when the output of the combinatorial circuit is a logical '1'. +| <> | <> | +[[req:64,R-064]] The puzzle proceeds to phase 2 when the output of the combinatorial circuit is a logical '1'. -| <> | <> | -[[req:065,R-065]] The switches no longer respond once the puzzle enters phase 2. +| <> | <> | +[[req:65,R-065]] The switches no longer respond once the puzzle enters phase 2. -| <> | <> | -[[req:066,R-066]] The indicator LED from phase 1 remains green during phase 2. +| <> | <> | +[[req:66,R-066]] The indicator LED from phase 1 remains green during phase 2. -| <> | <> | -[[req:067,R-067]] In phase 2, a morse code is displayed using an LED. This morse code represents 4 numbers from 0 to 9 and repeats every second. +| <> | <> | +[[req:67,R-067]] In phase 2, a morse code is displayed using an LED. This morse code represents 4 numbers from 0 to 9 and repeats every second. -| <> | <> | -[[req:068,R-068]] The morse code is randomly generated. +| <> | <> | +[[req:68,R-068]] The morse code is randomly generated. -| <> | <> | -[[req:069,R-069]] Each potentiometer can be rotated to display a value from 0 to 9 on the corresponding 4-digit 7-segment display. The order of the potentiometers matches the order of the segments on the display (Refer to <> for a sketch). +| <> | <> | +[[req:69,R-069]] Each potentiometer can be rotated to display a value from 0 to 9 on the corresponding 4-digit 7-segment display. The order of the potentiometers matches the order of the segments on the display (Refer to <> for a sketch). -| <> | <> | -[[req:070,R-070]] The puzzle is considered solved when the code displayed on the 7-segment 4-digit screen matches the 4 numbers from the morse code. +| <> | <> | +[[req:70,R-070]] The puzzle is considered solved when the code displayed on the 7-segment 4-digit screen matches the 4 numbers from the morse code. -| <> | <> | -[[req:071,R-071]] Once the puzzle is solved, the value shown on the 7-segment 4-digit display cannot be changed. +| <> | <> | +[[req:71,R-071]] Once the puzzle is solved, the value shown on the 7-segment 4-digit display cannot be changed. -| <> | <> | -[[req:072,R-072]] A 2-second victory sound is produced by the speaker upon solving the puzzle. +| <> | <> | +[[req:72,R-072]] A 2-second victory sound is produced by the speaker upon solving the puzzle. -| <> | <> | -[[req:073,R-073]] During the victory sound, the 7-segment display blinks twice per second. +| <> | <> | +[[req:73,R-073]] During the victory sound, the 7-segment display blinks twice per second. -| <> | <> | -[[req:074,R-074]] After the victory sound, the puzzle has been solved and the vault puzzle begins. +| <> | <> | +[[req:74,R-074]] After the victory sound, the puzzle has been solved and the vault puzzle begins. |=== ==== Vault puzzle @@ -401,47 +401,47 @@ documentation. Due to time constraints, the section will be left empty. |=== | ID | <> | Specification -| <> | <> | -[[req:075,R-075]] The vault puzzle board features a red 7-segment 4-digit display. +| <> | <> | +[[req:75,R-075]] The vault puzzle board features a red 7-segment 4-digit display. -| <> | <> | -[[req:076,R-076]] On the vault puzzle board, there is a 4x4 grid of holes for ventilation and sound. +| <> | <> | +[[req:76,R-076]] On the vault puzzle board, there is a 4x4 grid of holes for ventilation and sound. -| <> | <> | -[[req:077,R-077]] The vault puzzle board includes a vault door, and the inside of the vault is transparent, allowing you to see inside the puzzle box. +| <> | <> | +[[req:77,R-077]] The vault puzzle board includes a vault door, and the inside of the vault is transparent, allowing you to see inside the puzzle box. -| <> | <> | -[[req:078,R-078]] A sensor is integrated with the vault to detect when the vault is closed. +| <> | <> | +[[req:78,R-078]] A sensor is integrated with the vault to detect when the vault is closed. -| <> | <> | -[[req:079,R-079]] At the beginning of the puzzle box game, the preparer must close the vault. +| <> | <> | +[[req:79,R-079]] At the beginning of the puzzle box game, the preparer must close the vault. -| <> | <> | -[[req:080,R-080]] The puzzle starts at level 1. +| <> | <> | +[[req:80,R-080]] The puzzle starts at level 1. -| <> | <> | -[[req:081,R-081]] Initially, the 7-segment display shows a code consisting of a letter and a digit. This code represents a valid key combination for level 1 (Refer to <> for all combinations). +| <> | <> | +[[req:81,R-081]] Initially, the 7-segment display shows a code consisting of a letter and a digit. This code represents a valid key combination for level 1 (Refer to <> for all combinations). -| <> | <> | -[[req:082,R-082]] There are a total of 5 levels. After each level, a key combination is displayed, starting with a letter followed by a digit, which is valid for that level (Refer to <>). +| <> | <> | +[[req:82,R-082]] There are a total of 5 levels. After each level, a key combination is displayed, starting with a letter followed by a digit, which is valid for that level (Refer to <>). -| <> | <> | -[[req:083,R-083]] Each level has unique key combinations for the button locations (Refer to <>). +| <> | <> | +[[req:83,R-083]] Each level has unique key combinations for the button locations (Refer to <>). -| <> | <> | -[[req:084,R-084]] Pressing the button corresponding to the letter-digit combinations advances the puzzle to the next level. +| <> | <> | +[[req:84,R-084]] Pressing the button corresponding to the letter-digit combinations advances the puzzle to the next level. -| <> | <> | -[[req:085,R-085]] If an incorrect button is pressed, the game resets to level 1. +| <> | <> | +[[req:85,R-085]] If an incorrect button is pressed, the game resets to level 1. -| <> | <> | -[[req:086,R-086]] An error sound is produced by the speaker when an incorrect button is pressed. +| <> | <> | +[[req:86,R-086]] An error sound is produced by the speaker when an incorrect button is pressed. -| <> | <> | -[[req:087,R-087]] The 7-segment display blinks when an incorrect button is pressed. +| <> | <> | +[[req:87,R-087]] The 7-segment display blinks when an incorrect button is pressed. -| <> | <> | -[[req:088,R-088]] After completing 5 levels, the puzzle is solved, and the vault opens. +| <> | <> | +[[req:88,R-088]] After completing 5 levels, the puzzle is solved, and the vault opens. |=== === Battery @@ -451,14 +451,14 @@ documentation. Due to time constraints, the section will be left empty. |=== | ID | <> | Specification -| <> | <> | -[[req:089,R-089]] The puzzle box is powered by a rechargeable battery. +| <> | <> | +[[req:89,R-089]] The puzzle box is powered by a rechargeable battery. -| <> | <> | -[[req:090,R-090]] The battery lasts for a minimum of 4 hours. +| <> | <> | +[[req:90,R-090]] The battery lasts for a minimum of 4 hours. -| <> | <> | -[[req:091,R-091]] The battery in the puzzle box can be replaced. +| <> | <> | +[[req:91,R-091]] The battery in the puzzle box can be replaced. |=== === Network Communication @@ -468,11 +468,11 @@ documentation. Due to time constraints, the section will be left empty. |=== | ID | <> | Specification -| <> | <> | -[[req:092,R-092]] The puzzle boxes, bombs, and the puzzle box hub must all be able to communicate with each other. +| <> | <> | +[[req:92,R-092]] The puzzle boxes, bombs, and the puzzle box hub must all be able to communicate with each other. -| <> | <> | -[[req:093,R-093]] Communication between two devices in the network must have a range of at least 20 meters in an open field. +| <> | <> | +[[req:93,R-093]] Communication between two devices in the network must have a range of at least 20 meters in an open field. |=== === Framework @@ -501,8 +501,8 @@ documentation. Due to time constraints, the section will be left empty. |=== | ID | <> | Specification -| <> | <> | -[[req:094,R-094]] The puzzle box hub hosts a website that can be accessed by a device connected to the network. +| <> | <> | +[[req:94,R-094]] The puzzle box hub hosts a website that can be accessed by a device connected to the network. |=== [[sec:technical]] @@ -554,23 +554,23 @@ technical specifications of the puzzle box. |=== | ID | <> | Specification -| <> | <> | -[[req:136,R-136]] The main controller has at least 1 I2C peripheral. +| <> | <> | +[[req:main-i2c-ctrl,R-136]] The main controller has at least 1 I2C peripheral. -| <> | <> | -[[req:137,R-137]] The main controller can connect to a standard 802.11b/g/n access point. +| <> | <> | +[[req:main-802-11-ap,R-137]] The main controller can connect to a standard 802.11b/g/n access point. -| <> | <> | -[[req:138,R-138]] The main controller can serve TCP socket connection(s). +| <> | <> | +[[req:main-tcp-socket,R-138]] The main controller can serve TCP socket connection(s). -| <> | <> | -[[req:139,R-139]] The main controller is available as a development kit from Farnell. +| <> | <> | +[[req:main-devkit-supplier,R-139]] The main controller is available as a development kit from Farnell. | <> | <> | [[req:140,R-140]] The main controller can communicate over I²C with a speed of 400kb/s -| <> | <> | -[[req:166,R-166]] The main controller is power efficient. +| <> | <> | +[[req:main-pwr-efficient,R-166]] The main controller is power efficient. |=== === Puzzle module controller @@ -579,20 +579,20 @@ technical specifications of the puzzle box. |=== | ID | <> | Specification -| <> | <> | -[[req:141,R-141]] The puzzle module controller has at least 1 I2C peripheral. +| <> | <> | +[[req:pm-i2c-ctrl,R-141]] The puzzle module controller has at least 1 I2C peripheral. -| <> | <> | -[[req:142,R-142]] The puzzle module controller has enough I/O ports to control a puzzle. +| <> | <> | +[[req:pm-gpio,R-142]] The puzzle module controller has enough I/O ports to control a puzzle. -| <> | <> | -[[req:143,R-143]] The puzzle module is power efficient. +| <> | <> | +[[req:pm-pwr-efficient,R-143]] The puzzle module is power efficient. -| <> | <> | -[[req:144,R-144]] The puzzle module has a configurable clock speed. +| <> | <> | +[[req:pm-clk-ctrl,R-144]] The puzzle module has a configurable clock speed. -| <> | <> | -[[req:145,R-145]] The puzzle module controller is available as a development kit from Farnell. +| <> | <> | +[[req:pm-devkit-supplier,R-145]] The puzzle module controller is available as a development kit from Farnell. | <> | <> | [[req:146,R-146]] The puzzle module can communicate over I²C with a speed of 400kb/s diff --git a/docs/research.adoc b/docs/research.adoc index ab4175e..7e5b78c 100644 --- a/docs/research.adoc +++ b/docs/research.adoc @@ -124,11 +124,15 @@ controller and controller used in puzzle modules. The following criteria were used to compare MCUs that are suitable candidates as main controller unit: -* Must have at least 1 I^2^C peripheral (R#136). -* Must be able to connect to a standard 802.11b/g/n access point (R#137). -* Must be able to serve TCP socket connection(s) (R#138). -* Should be power efficient (R#166). -* Is available as a development kit from Farnell (R#139). +* Must have at least 1 I^2^C peripheral + (<>). +* Must be able to connect to a standard 802.11b/g/n access point + (<>). +* Must be able to serve TCP socket connection(s) + (<>). +* Should be power efficient (<>). +* Is available as a development kit from Farnell + (<>). <> lists the considered MCU options matching the above criteria. This list is a compilation of microcontroller offerings from the following @@ -156,12 +160,14 @@ The Raspberry Pi Pico W board is utilized during development. The following criteria were used to compare MCUs that are suitable candidates for controlling the puzzle modules: -* Must have at least 1 I^2^C peripheral (R#141). +* Must have at least 1 I^2^C peripheral + (<>). * Should has enough I/O ports to directly control moderately complex puzzles - (R#142). -* Should be power efficient (R#143). -* Is available as a development kit from Farnell (R#145). -* Has a configurable clock speed (R#144). + (<>). +* Should be power efficient (<>). +* Is available as a development kit from Farnell + (<>). +* Has a configurable clock speed (<>). <> lists the considered MCU options matching the above criteria. This list is a compilation of microcontroller offerings from the following @@ -607,14 +613,18 @@ students and the choice of microcontrollers also affects the software to be written. The other difference is that the 21-22 group only tells how they realise the design without indicating which design choices they made for this and what other options there were. The 22-23 group did do this and described it -in the design document. TODO Refer to design document +in the design document. +// TODO Refer to design document === What to consider when developing software The hardware group (22-23), in addition to the recommendations in the requirements package, has provided enough information to work with as a -software group. TODO: Refereren naar eisenpakket 22/23 It was recommended by -last year's group that software students pick up the following steps: +software group. +// TODO: Refereren naar eisenpakket 22/23 + +It was recommended by last year's group that software students pick up the +following steps: . Choose suitable microcontrollers . Understand the operation of wifi mesh + set up the web page -- cgit v1.2.3