diff --git a/docs/images/info_002_indicators/description.png b/docs/images/info_002_indicators/description.png new file mode 100644 index 0000000..1b9201e Binary files /dev/null and b/docs/images/info_002_indicators/description.png differ diff --git a/src/modules/info_001_serial_number/doc/index.md b/src/modules/info_001_serial_number/doc/index.md new file mode 100644 index 0000000..1403665 --- /dev/null +++ b/src/modules/info_001_serial_number/doc/index.md @@ -0,0 +1,4 @@ +# Appendix A: Serienummer + +Het serienummer bestaat uit 7 willekeurige hoofdletters/cijfers, en bevat ten minste +één cijfer en één hoofdletter. Het wordt op een LCD-scherm getoond. diff --git a/src/modules/info_serial_number/info_serial_number.ino b/src/modules/info_001_serial_number/info_serial_number.ino similarity index 85% rename from src/modules/info_serial_number/info_serial_number.ino rename to src/modules/info_001_serial_number/info_serial_number.ino index 9ede497..6d402b6 100644 --- a/src/modules/info_serial_number/info_serial_number.ino +++ b/src/modules/info_001_serial_number/info_serial_number.ino @@ -1,6 +1,20 @@ // (c) 2020, redfast00 // See the LICENSE file for conditions for copying +/* Format of the info message + +length = 7 bytes +id = 1 + +message: +X X X X X X X +------------- > the serial number (consisting of 7 ascii characters), not null-terminated + +The serial number consists of capital letters and numbers, and is guaranteed to contain +at least one capital letter and one number. +*/ + + #include #include @@ -68,7 +82,7 @@ int info_generator(uint8_t* buffer) { serial_number[i] = 'A' + generated; else serial_number[i] = '0' + (generated - 26); - } + } } memcpy(buffer, serial_number, SERIAL_NUMBER_SIZE); render_now = true; diff --git a/src/modules/info_serial_number/doc/index.md b/src/modules/info_serial_number/doc/index.md deleted file mode 100644 index ca4c21c..0000000 --- a/src/modules/info_serial_number/doc/index.md +++ /dev/null @@ -1,4 +0,0 @@ -# Appendix A: Serienummer - -Het serienummer bestaat uit 7 willekeurige letters/cijfers, en bevat ten minste -één cijfer en één letter. Het wordt op een LCD-scherm getoond. diff --git a/src/modules/puzzle_maze/doc/index.md b/src/modules/puzzle_maze/doc/index.md index 699367b..c4e407a 100644 --- a/src/modules/puzzle_maze/doc/index.md +++ b/src/modules/puzzle_maze/doc/index.md @@ -6,9 +6,10 @@ \end{figure} -- Zoek het juiste doolhof en oriëntatie van dit doolhof aan de hand van de cirkelvormige markeringen op de rand van de doolhofkaarten +- Zoek het juiste doolhof en oriëntatie van dit doolhof aan de hand van de lichten buiten het rooster + die overeenkomen met de cirkelvormige markeringen op de rand van de doolhofkaarten. -- Het knipperend licht in het doolhof is de bestemming, het licht dat blijft branden +- Het knipperend licht binnen het rooster is de bestemming, het licht binnen het rooster dat blijft branden is je karakter. Navigeer je karakter naar de bestemming met de gele knoppen, zonder dat die door de muren van het doolhof gaat. Let wel, de ontmijner kan de muren niet zien! diff --git a/src/modules/puzzle_maze/puzzle_maze.ino b/src/modules/puzzle_maze/puzzle_maze.ino index 19d7c5c..4ab2aca 100644 --- a/src/modules/puzzle_maze/puzzle_maze.ino +++ b/src/modules/puzzle_maze/puzzle_maze.ino @@ -2,8 +2,18 @@ // See the LICENSE file for conditions for copying #include +#include "LedControl.h" + +#define LED_DIN_PIN 3 +#define LED_CLK_PIN 2 +#define LED_CS_PIN 5 + +LedControl lc = LedControl(LED_DIN_PIN, LED_CLK_PIN, LED_CS_PIN, 1); void setup() { + lc.shutdown(0, false); + lc.setIntensity(0, 3); + lc.clearDisplay(0); Serial.begin(115200); obus_module::setup(OBUS_TYPE_PUZZLE, 0); } @@ -12,6 +22,13 @@ obus_can::message message; void loop() { bool is_message_valid = obus_module::loopPuzzle(&message, callback_game_start, callback_game_stop); + + // Turn on all leds + for (int row = 0; row < 8; row++) { + for (int col = 0; col < 8; col++) { + lc.setLed(0, row, col, true); + } + } } void callback_game_start() {