From e69f5ade0c81eb36b26705e80d806a07def2668b Mon Sep 17 00:00:00 2001 From: Adin Ackerman Date: Thu, 1 Aug 2024 08:14:31 -0700 Subject: [PATCH] lots of refactoring --- .../assignments/ControlWithPython/_index.md | 9 ---- content/assignments/_index.md | 12 ++--- .../{DevBoard => dev-board}/_index.md | 4 +- .../{DevBoard => dev-board}/assembly.md | 2 +- .../images/USB_no_bridging.png | Bin .../{DevBoard => dev-board}/images/diodes.png | Bin .../images/equipment.png | Bin .../images/solder_spreader.png | Bin .../images/stencil_setup.png | Bin .../{DevBoard => dev-board}/images/switch.png | Bin .../images/video_thumbnail.png | Bin .../{DevBoard => dev-board}/submission.md | 2 +- content/assignments/full-stack/_index.md | 46 ++++++++++++++++++ .../{ControlWithPython => full-stack}/quiz.md | 2 +- .../submission.md | 0 .../tutorial.md | 2 +- .../{LightShield => light-shield}/_index.md | 4 +- .../{LightShield => light-shield}/assembly.md | 2 +- .../images/in-action.png | Bin .../submission.md | 2 +- .../_index.md | 6 +-- .../arduino}/_index.md | 4 +- .../arduino}/blinking.md | 2 +- .../images/arduino.png | Bin .../images/ferris.png | Bin .../rust}/_index.md | 4 +- .../rust}/blinking.md | 2 +- .../rust}/setup.md | 9 +++- .../rust}/spinning.md | 2 +- .../{VUMeter => vu-meter}/_index.md | 6 +-- .../{VUMeter => vu-meter}/enclosure.md | 0 .../{VUMeter => vu-meter}/firmware.md | 2 +- .../images/boot-contents.png | Bin .../images/circuitpy.png | Bin .../images/connect-button.png | Bin .../images/connect-dialog.png | Bin .../{VUMeter => vu-meter}/images/devkit.png | Bin .../{VUMeter => vu-meter}/images/flashing.png | Bin .../images/installer-select.png | Bin .../images/open-installer.png | Bin .../images/s3dkc1boot.png | Bin .../images/serial-monitor.png | Bin .../images/vscode-main.png | Bin .../images/vscode-open.png | Bin .../images/vsscode-ext-install.png | Bin .../{VUMeter => vu-meter}/images/vu-off.jpg | Bin .../{VUMeter => vu-meter}/images/vu-on.jpg | Bin .../{VUMeter => vu-meter}/submission.md | 2 +- hugo.yaml | 4 ++ static/android-chrome-192x192.png | Bin 0 -> 14483 bytes static/android-chrome-512x512.png | Bin 0 -> 56491 bytes static/apple-touch-icon.png | Bin 0 -> 12987 bytes static/favicon-16x16.png | Bin 0 -> 555 bytes static/favicon-32x32.png | Bin 0 -> 1275 bytes static/favicon.ico | Bin 0 -> 15406 bytes static/site.webmanifest | 1 + 56 files changed, 90 insertions(+), 41 deletions(-) delete mode 100644 content/assignments/ControlWithPython/_index.md rename content/assignments/{DevBoard => dev-board}/_index.md (87%) rename content/assignments/{DevBoard => dev-board}/assembly.md (99%) rename content/assignments/{DevBoard => dev-board}/images/USB_no_bridging.png (100%) rename content/assignments/{DevBoard => dev-board}/images/diodes.png (100%) rename content/assignments/{DevBoard => dev-board}/images/equipment.png (100%) rename content/assignments/{DevBoard => dev-board}/images/solder_spreader.png (100%) rename content/assignments/{DevBoard => dev-board}/images/stencil_setup.png (100%) rename content/assignments/{DevBoard => dev-board}/images/switch.png (100%) rename content/assignments/{DevBoard => dev-board}/images/video_thumbnail.png (100%) rename content/assignments/{DevBoard => dev-board}/submission.md (84%) create mode 100644 content/assignments/full-stack/_index.md rename content/assignments/{ControlWithPython => full-stack}/quiz.md (89%) rename content/assignments/{ControlWithPython => full-stack}/submission.md (100%) rename content/assignments/{ControlWithPython => full-stack}/tutorial.md (99%) rename content/assignments/{LightShield => light-shield}/_index.md (88%) rename content/assignments/{LightShield => light-shield}/assembly.md (95%) rename content/assignments/{LightShield => light-shield}/images/in-action.png (100%) rename content/assignments/{LightShield => light-shield}/submission.md (82%) rename content/assignments/{SpinningAndBlinking => spinning-and-blinking}/_index.md (92%) rename content/assignments/{SpinningAndBlinking/Arduino => spinning-and-blinking/arduino}/_index.md (81%) rename content/assignments/{SpinningAndBlinking/Arduino => spinning-and-blinking/arduino}/blinking.md (91%) rename content/assignments/{SpinningAndBlinking => spinning-and-blinking}/images/arduino.png (100%) rename content/assignments/{SpinningAndBlinking => spinning-and-blinking}/images/ferris.png (100%) rename content/assignments/{SpinningAndBlinking/Rust => spinning-and-blinking/rust}/_index.md (97%) rename content/assignments/{SpinningAndBlinking/Rust => spinning-and-blinking/rust}/blinking.md (99%) rename content/assignments/{SpinningAndBlinking/Rust => spinning-and-blinking/rust}/setup.md (89%) rename content/assignments/{SpinningAndBlinking/Rust => spinning-and-blinking/rust}/spinning.md (84%) rename content/assignments/{VUMeter => vu-meter}/_index.md (77%) rename content/assignments/{VUMeter => vu-meter}/enclosure.md (100%) rename content/assignments/{VUMeter => vu-meter}/firmware.md (99%) rename content/assignments/{VUMeter => vu-meter}/images/boot-contents.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/circuitpy.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/connect-button.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/connect-dialog.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/devkit.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/flashing.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/installer-select.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/open-installer.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/s3dkc1boot.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/serial-monitor.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/vscode-main.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/vscode-open.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/vsscode-ext-install.png (100%) rename content/assignments/{VUMeter => vu-meter}/images/vu-off.jpg (100%) rename content/assignments/{VUMeter => vu-meter}/images/vu-on.jpg (100%) rename content/assignments/{VUMeter => vu-meter}/submission.md (89%) create mode 100644 static/android-chrome-192x192.png create mode 100644 static/android-chrome-512x512.png create mode 100644 static/apple-touch-icon.png create mode 100644 static/favicon-16x16.png create mode 100644 static/favicon-32x32.png create mode 100644 static/favicon.ico create mode 100644 static/site.webmanifest diff --git a/content/assignments/ControlWithPython/_index.md b/content/assignments/ControlWithPython/_index.md deleted file mode 100644 index 914db18..0000000 --- a/content/assignments/ControlWithPython/_index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: ControlWIthPython -type: docs -prev: assignments/SpinningAndBlinking/ -next: assignments/ControlWithPython/tutorial -weight: 5 ---- - -In this assignment you will extend your knowledge by learning to create a **G**raphical **U**ser **I**nterface (GUI) to interact with a microcontroller. diff --git a/content/assignments/_index.md b/content/assignments/_index.md index af0dd19..28dd79d 100644 --- a/content/assignments/_index.md +++ b/content/assignments/_index.md @@ -1,15 +1,15 @@ --- title: Assignments -next: assignments/LightShield/ +next: assignments/light-shield/ toc: false --- All of the ECE 196 assignment instructions can be found here. {{< cards >}} - {{< card link="lightshield" title="LightShield" icon="light-bulb" >}} - {{< card link="devboard" title="DevBoard" icon="chip" >}} - {{< card link="vumeter" title="VUMeter" icon="chart-square-bar" >}} - {{< card link="spinningandblinking" title="SpinningAndBlinking" icon="cog" >}} - {{< card link="controlwithpython" title="ControlWithPython" icon="code" >}} + {{< card link="light-shield" title="Light Shield" icon="light-bulb" >}} + {{< card link="dev-board" title="DevBoard" icon="chip" >}} + {{< card link="vu-meter" title="VU Meter" icon="chart-square-bar" >}} + {{< card link="spinning-and-blinking" title="Spinning and Blinking" icon="code" >}} + {{< card link="full-stack" title="Full Stack" icon="wifi" >}} {{< /cards >}} diff --git a/content/assignments/DevBoard/_index.md b/content/assignments/dev-board/_index.md similarity index 87% rename from content/assignments/DevBoard/_index.md rename to content/assignments/dev-board/_index.md index e3487bb..3cd7bef 100644 --- a/content/assignments/DevBoard/_index.md +++ b/content/assignments/dev-board/_index.md @@ -1,8 +1,8 @@ --- title: DevBoard type: docs -prev: assignments/LightShield/ -next: assignments/DevBoard/assembly +prev: assignments/light-shield/ +next: assignments/dev-board/assembly weight: 2 --- diff --git a/content/assignments/DevBoard/assembly.md b/content/assignments/dev-board/assembly.md similarity index 99% rename from content/assignments/DevBoard/assembly.md rename to content/assignments/dev-board/assembly.md index cdfd776..b316329 100644 --- a/content/assignments/DevBoard/assembly.md +++ b/content/assignments/dev-board/assembly.md @@ -1,7 +1,7 @@ --- title: Assembly type: docs -prev: assignments/DevBoard/ +prev: assignments/dev-board/ weight: 1 --- diff --git a/content/assignments/DevBoard/images/USB_no_bridging.png b/content/assignments/dev-board/images/USB_no_bridging.png similarity index 100% rename from content/assignments/DevBoard/images/USB_no_bridging.png rename to content/assignments/dev-board/images/USB_no_bridging.png diff --git a/content/assignments/DevBoard/images/diodes.png b/content/assignments/dev-board/images/diodes.png similarity index 100% rename from content/assignments/DevBoard/images/diodes.png rename to content/assignments/dev-board/images/diodes.png diff --git a/content/assignments/DevBoard/images/equipment.png b/content/assignments/dev-board/images/equipment.png similarity index 100% rename from content/assignments/DevBoard/images/equipment.png rename to content/assignments/dev-board/images/equipment.png diff --git a/content/assignments/DevBoard/images/solder_spreader.png b/content/assignments/dev-board/images/solder_spreader.png similarity index 100% rename from content/assignments/DevBoard/images/solder_spreader.png rename to content/assignments/dev-board/images/solder_spreader.png diff --git a/content/assignments/DevBoard/images/stencil_setup.png b/content/assignments/dev-board/images/stencil_setup.png similarity index 100% rename from content/assignments/DevBoard/images/stencil_setup.png rename to content/assignments/dev-board/images/stencil_setup.png diff --git a/content/assignments/DevBoard/images/switch.png b/content/assignments/dev-board/images/switch.png similarity index 100% rename from content/assignments/DevBoard/images/switch.png rename to content/assignments/dev-board/images/switch.png diff --git a/content/assignments/DevBoard/images/video_thumbnail.png b/content/assignments/dev-board/images/video_thumbnail.png similarity index 100% rename from content/assignments/DevBoard/images/video_thumbnail.png rename to content/assignments/dev-board/images/video_thumbnail.png diff --git a/content/assignments/DevBoard/submission.md b/content/assignments/dev-board/submission.md similarity index 84% rename from content/assignments/DevBoard/submission.md rename to content/assignments/dev-board/submission.md index 3d360c5..7f98feb 100644 --- a/content/assignments/DevBoard/submission.md +++ b/content/assignments/dev-board/submission.md @@ -1,7 +1,7 @@ --- title: Submission type: docs -next: assignments/VUMeter/ +next: assignments/vu-meter/ weight: 2 --- diff --git a/content/assignments/full-stack/_index.md b/content/assignments/full-stack/_index.md new file mode 100644 index 0000000..ebc8861 --- /dev/null +++ b/content/assignments/full-stack/_index.md @@ -0,0 +1,46 @@ +--- +title: Full Stack +type: docs +prev: assignments/spinning-and-blinking/ +next: assignments/full-stack/tutorial +weight: 5 +--- + +## Preamble + +You may have heard the term "full stack" before. Web developers have coined it as meaning all the systems from the database (backend) to the user interface (frontend). + +But web developers don't get all the fun. As Electrical Engineers, we have our *own* definition of "full stack". + +For us, the full stack is: + +1. Hardware +1. Firmware +1. Communication +1. User Interface + +You're half way there! In one fell swoop, we're going to finish off the last two. + +## Assignment + +In this assignment you will become a full stack engineer by learning to create a **G**raphical **U**ser **I**nterface (GUI) and a communication +system to interact with a microcontroller. + +You will create a **client** (the GUI running on your computer/phone) which communicates with a **peripheral** (your microcontroller) over some medium. + +**You are once again faced with an important decision** + +You now have **four** pathways to choose from: + +{{< cards >}} + {{< card link="python" title="USB: Python & Arduino" >}} + {{< card link="python" title="USB: Python & Rust" >}} + {{< card link="python" title="BLE: Swift & Arduino" >}} + {{< card link="python" title="BLE: Swift & Rust" >}} +{{< /cards >}} + +{{< callout type="warning" >}} + You **must** have a Mac and an iPhone to develop Swift apps. +{{< /callout >}} + +Similarly to the previous assignment, some of these paths are easier than others, but less interesting. diff --git a/content/assignments/ControlWithPython/quiz.md b/content/assignments/full-stack/quiz.md similarity index 89% rename from content/assignments/ControlWithPython/quiz.md rename to content/assignments/full-stack/quiz.md index ae187d5..6a333b8 100644 --- a/content/assignments/ControlWithPython/quiz.md +++ b/content/assignments/full-stack/quiz.md @@ -1,7 +1,7 @@ --- title: Quiz type: docs -prev: assignments/ControlWithPython/tutorial +prev: assignments/full-stack/tutorial weight: 2 --- diff --git a/content/assignments/ControlWithPython/submission.md b/content/assignments/full-stack/submission.md similarity index 100% rename from content/assignments/ControlWithPython/submission.md rename to content/assignments/full-stack/submission.md diff --git a/content/assignments/ControlWithPython/tutorial.md b/content/assignments/full-stack/tutorial.md similarity index 99% rename from content/assignments/ControlWithPython/tutorial.md rename to content/assignments/full-stack/tutorial.md index 625414e..b697d17 100644 --- a/content/assignments/ControlWithPython/tutorial.md +++ b/content/assignments/full-stack/tutorial.md @@ -1,7 +1,7 @@ --- title: Tutorial type: docs -prev: assignments/ControlWithPython/ +prev: assignments/full-stack/ weight: 1 --- diff --git a/content/assignments/LightShield/_index.md b/content/assignments/light-shield/_index.md similarity index 88% rename from content/assignments/LightShield/_index.md rename to content/assignments/light-shield/_index.md index 60b92bf..8f5b459 100644 --- a/content/assignments/LightShield/_index.md +++ b/content/assignments/light-shield/_index.md @@ -1,8 +1,8 @@ --- -title: LightShield +title: Light Shield type: docs prev: assignments/ -next: assignments/LightShield/assembly +next: assignments/light-shield/assembly weight: 1 --- diff --git a/content/assignments/LightShield/assembly.md b/content/assignments/light-shield/assembly.md similarity index 95% rename from content/assignments/LightShield/assembly.md rename to content/assignments/light-shield/assembly.md index b579b1c..25f3348 100644 --- a/content/assignments/LightShield/assembly.md +++ b/content/assignments/light-shield/assembly.md @@ -1,7 +1,7 @@ --- title: Assembly type: docs -prev: assignments/LightShield/ +prev: assignments/light-shield/ weight: 1 --- diff --git a/content/assignments/LightShield/images/in-action.png b/content/assignments/light-shield/images/in-action.png similarity index 100% rename from content/assignments/LightShield/images/in-action.png rename to content/assignments/light-shield/images/in-action.png diff --git a/content/assignments/LightShield/submission.md b/content/assignments/light-shield/submission.md similarity index 82% rename from content/assignments/LightShield/submission.md rename to content/assignments/light-shield/submission.md index b31b152..2553f95 100644 --- a/content/assignments/LightShield/submission.md +++ b/content/assignments/light-shield/submission.md @@ -1,7 +1,7 @@ --- title: Submission type: docs -next: assignments/DevBoard/ +next: assignments/dev-board/ weight: 2 --- diff --git a/content/assignments/SpinningAndBlinking/_index.md b/content/assignments/spinning-and-blinking/_index.md similarity index 92% rename from content/assignments/SpinningAndBlinking/_index.md rename to content/assignments/spinning-and-blinking/_index.md index f575922..69e89ec 100644 --- a/content/assignments/SpinningAndBlinking/_index.md +++ b/content/assignments/spinning-and-blinking/_index.md @@ -1,8 +1,8 @@ --- -title: SpinningAndBlinking +title: Spinning and Blinking type: docs -prev: assignments/VUMeter/ -next: assignments/SpinningAndBlinking/getting-started +prev: assignments/vu-meter/ +next: assignments/spinning-and-blinking/getting-started weight: 4 --- diff --git a/content/assignments/SpinningAndBlinking/Arduino/_index.md b/content/assignments/spinning-and-blinking/arduino/_index.md similarity index 81% rename from content/assignments/SpinningAndBlinking/Arduino/_index.md rename to content/assignments/spinning-and-blinking/arduino/_index.md index b83ceb4..d17116d 100644 --- a/content/assignments/SpinningAndBlinking/Arduino/_index.md +++ b/content/assignments/spinning-and-blinking/arduino/_index.md @@ -1,8 +1,8 @@ --- title: Arduino type: docs -prev: assignments/SpinningAndBlinking/ -next: assignments/SpinningAndBlinking/Arduino/Blinking +prev: assignments/spinning-and-blinking/ +next: assignments/spinning-and-blinking/arduino/blinking weight: 1 --- diff --git a/content/assignments/SpinningAndBlinking/Arduino/blinking.md b/content/assignments/spinning-and-blinking/arduino/blinking.md similarity index 91% rename from content/assignments/SpinningAndBlinking/Arduino/blinking.md rename to content/assignments/spinning-and-blinking/arduino/blinking.md index 060ef85..34c272d 100644 --- a/content/assignments/SpinningAndBlinking/Arduino/blinking.md +++ b/content/assignments/spinning-and-blinking/arduino/blinking.md @@ -1,7 +1,7 @@ --- title: Blinking type: docs -prev: assignments/SpinningAndBlinking/Arduino +prev: assignments/spinning-and-blinking/arduino weight: 1 --- diff --git a/content/assignments/SpinningAndBlinking/images/arduino.png b/content/assignments/spinning-and-blinking/images/arduino.png similarity index 100% rename from content/assignments/SpinningAndBlinking/images/arduino.png rename to content/assignments/spinning-and-blinking/images/arduino.png diff --git a/content/assignments/SpinningAndBlinking/images/ferris.png b/content/assignments/spinning-and-blinking/images/ferris.png similarity index 100% rename from content/assignments/SpinningAndBlinking/images/ferris.png rename to content/assignments/spinning-and-blinking/images/ferris.png diff --git a/content/assignments/SpinningAndBlinking/Rust/_index.md b/content/assignments/spinning-and-blinking/rust/_index.md similarity index 97% rename from content/assignments/SpinningAndBlinking/Rust/_index.md rename to content/assignments/spinning-and-blinking/rust/_index.md index ed2d4ad..d9e43a6 100644 --- a/content/assignments/SpinningAndBlinking/Rust/_index.md +++ b/content/assignments/spinning-and-blinking/rust/_index.md @@ -1,8 +1,8 @@ --- title: Rust type: docs -prev: assignments/SpinningAndBlinking/ -next: assignments/SpinningAndBlinking/Rust/setup +prev: assignments/spinning-and-blinking/ +next: assignments/spinning-and-blinking/rust/setup weight: 2 --- diff --git a/content/assignments/SpinningAndBlinking/Rust/blinking.md b/content/assignments/spinning-and-blinking/rust/blinking.md similarity index 99% rename from content/assignments/SpinningAndBlinking/Rust/blinking.md rename to content/assignments/spinning-and-blinking/rust/blinking.md index a144cd2..798fd96 100644 --- a/content/assignments/SpinningAndBlinking/Rust/blinking.md +++ b/content/assignments/spinning-and-blinking/rust/blinking.md @@ -1,7 +1,7 @@ --- title: Blinking type: docs -prev: assignments/SpinningAndBlinking/Rust/Setup +prev: assignments/spinning-and-blinking/rust/setup weight: 2 --- diff --git a/content/assignments/SpinningAndBlinking/Rust/setup.md b/content/assignments/spinning-and-blinking/rust/setup.md similarity index 89% rename from content/assignments/SpinningAndBlinking/Rust/setup.md rename to content/assignments/spinning-and-blinking/rust/setup.md index 8440948..85e7293 100644 --- a/content/assignments/SpinningAndBlinking/Rust/setup.md +++ b/content/assignments/spinning-and-blinking/rust/setup.md @@ -1,10 +1,17 @@ --- title: Setup type: docs -prev: assignments/SpinningAndBlinking/Rust +prev: assignments/spinning-and-blinking/rust weight: 1 --- +{{< callout type="info" >}} + Ideally these steps would be omitted and a Docker image would be provided. + Unfortunately the environment we are setting up relies on USB access + which is currently unsupported on Apple Silicon. Learn more [here](https://github.com/docker/for-mac/issues/5263). +{{< /callout >}} + + ## Install Rust To install rust, follow the instructions [here](https://www.rust-lang.org/tools/install). diff --git a/content/assignments/SpinningAndBlinking/Rust/spinning.md b/content/assignments/spinning-and-blinking/rust/spinning.md similarity index 84% rename from content/assignments/SpinningAndBlinking/Rust/spinning.md rename to content/assignments/spinning-and-blinking/rust/spinning.md index 42b1b3e..5953615 100644 --- a/content/assignments/SpinningAndBlinking/Rust/spinning.md +++ b/content/assignments/spinning-and-blinking/rust/spinning.md @@ -1,7 +1,7 @@ --- title: Spinning type: docs -prev: assignments/SpinningAndBlinking/Blinking +prev: assignments/spinning-and-blinking/blinking weight: 3 --- diff --git a/content/assignments/VUMeter/_index.md b/content/assignments/vu-meter/_index.md similarity index 77% rename from content/assignments/VUMeter/_index.md rename to content/assignments/vu-meter/_index.md index cfad3b4..ffdd71f 100644 --- a/content/assignments/VUMeter/_index.md +++ b/content/assignments/vu-meter/_index.md @@ -1,8 +1,8 @@ --- -title: VUMeter +title: VU Meter type: docs -prev: assignments/DevBoard/ -next: assignments/VUMeter/firmware +prev: assignments/dev-board/ +next: assignments/vu-meter/firmware weight: 3 --- diff --git a/content/assignments/VUMeter/enclosure.md b/content/assignments/vu-meter/enclosure.md similarity index 100% rename from content/assignments/VUMeter/enclosure.md rename to content/assignments/vu-meter/enclosure.md diff --git a/content/assignments/VUMeter/firmware.md b/content/assignments/vu-meter/firmware.md similarity index 99% rename from content/assignments/VUMeter/firmware.md rename to content/assignments/vu-meter/firmware.md index 83ceb17..2fb7382 100644 --- a/content/assignments/VUMeter/firmware.md +++ b/content/assignments/vu-meter/firmware.md @@ -1,7 +1,7 @@ --- title: Firmware type: docs -prev: assignments/VUMeter/ +prev: assignments/vu-meter/ weight: 1 --- diff --git a/content/assignments/VUMeter/images/boot-contents.png b/content/assignments/vu-meter/images/boot-contents.png similarity index 100% rename from content/assignments/VUMeter/images/boot-contents.png rename to content/assignments/vu-meter/images/boot-contents.png diff --git a/content/assignments/VUMeter/images/circuitpy.png b/content/assignments/vu-meter/images/circuitpy.png similarity index 100% rename from content/assignments/VUMeter/images/circuitpy.png rename to content/assignments/vu-meter/images/circuitpy.png diff --git a/content/assignments/VUMeter/images/connect-button.png b/content/assignments/vu-meter/images/connect-button.png similarity index 100% rename from content/assignments/VUMeter/images/connect-button.png rename to content/assignments/vu-meter/images/connect-button.png diff --git a/content/assignments/VUMeter/images/connect-dialog.png b/content/assignments/vu-meter/images/connect-dialog.png similarity index 100% rename from content/assignments/VUMeter/images/connect-dialog.png rename to content/assignments/vu-meter/images/connect-dialog.png diff --git a/content/assignments/VUMeter/images/devkit.png b/content/assignments/vu-meter/images/devkit.png similarity index 100% rename from content/assignments/VUMeter/images/devkit.png rename to content/assignments/vu-meter/images/devkit.png diff --git a/content/assignments/VUMeter/images/flashing.png b/content/assignments/vu-meter/images/flashing.png similarity index 100% rename from content/assignments/VUMeter/images/flashing.png rename to content/assignments/vu-meter/images/flashing.png diff --git a/content/assignments/VUMeter/images/installer-select.png b/content/assignments/vu-meter/images/installer-select.png similarity index 100% rename from content/assignments/VUMeter/images/installer-select.png rename to content/assignments/vu-meter/images/installer-select.png diff --git a/content/assignments/VUMeter/images/open-installer.png b/content/assignments/vu-meter/images/open-installer.png similarity index 100% rename from content/assignments/VUMeter/images/open-installer.png rename to content/assignments/vu-meter/images/open-installer.png diff --git a/content/assignments/VUMeter/images/s3dkc1boot.png b/content/assignments/vu-meter/images/s3dkc1boot.png similarity index 100% rename from content/assignments/VUMeter/images/s3dkc1boot.png rename to content/assignments/vu-meter/images/s3dkc1boot.png diff --git a/content/assignments/VUMeter/images/serial-monitor.png b/content/assignments/vu-meter/images/serial-monitor.png similarity index 100% rename from content/assignments/VUMeter/images/serial-monitor.png rename to content/assignments/vu-meter/images/serial-monitor.png diff --git a/content/assignments/VUMeter/images/vscode-main.png b/content/assignments/vu-meter/images/vscode-main.png similarity index 100% rename from content/assignments/VUMeter/images/vscode-main.png rename to content/assignments/vu-meter/images/vscode-main.png diff --git a/content/assignments/VUMeter/images/vscode-open.png b/content/assignments/vu-meter/images/vscode-open.png similarity index 100% rename from content/assignments/VUMeter/images/vscode-open.png rename to content/assignments/vu-meter/images/vscode-open.png diff --git a/content/assignments/VUMeter/images/vsscode-ext-install.png b/content/assignments/vu-meter/images/vsscode-ext-install.png similarity index 100% rename from content/assignments/VUMeter/images/vsscode-ext-install.png rename to content/assignments/vu-meter/images/vsscode-ext-install.png diff --git a/content/assignments/VUMeter/images/vu-off.jpg b/content/assignments/vu-meter/images/vu-off.jpg similarity index 100% rename from content/assignments/VUMeter/images/vu-off.jpg rename to content/assignments/vu-meter/images/vu-off.jpg diff --git a/content/assignments/VUMeter/images/vu-on.jpg b/content/assignments/vu-meter/images/vu-on.jpg similarity index 100% rename from content/assignments/VUMeter/images/vu-on.jpg rename to content/assignments/vu-meter/images/vu-on.jpg diff --git a/content/assignments/VUMeter/submission.md b/content/assignments/vu-meter/submission.md similarity index 89% rename from content/assignments/VUMeter/submission.md rename to content/assignments/vu-meter/submission.md index 5381695..1a245f2 100644 --- a/content/assignments/VUMeter/submission.md +++ b/content/assignments/vu-meter/submission.md @@ -1,7 +1,7 @@ --- title: Submission type: docs -next: assignments/SpinningAndBlinking/ +next: assignments/spinning-and-blinking/ weight: 3 --- diff --git a/hugo.yaml b/hugo.yaml index 16aede7..22e33f2 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -60,3 +60,7 @@ params: page: width: full + + theme: + default: "dark" + displayToggle: false diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..95d2f27d796c6e82c41450aeb4d940b4e44f98fe GIT binary patch literal 14483 zcmZ|0XIK+m7dAQxy$A@>t0F}~s&q(DA4MNZL{vaZ5D-L=F2#ftQIR4jC@2AfqM$EA zC_+F=f^?)PARQ8Ep&B|NB;oLU=eo}M_5Ik{lgZxK%t|ReQQejFOB;GjgW(tj9+xp0cTur z@8eF$P|iWw7+l05FD`;}yNbl_=b$>!MBko~1J_k$oBbkP1I|I?SBmrjv6#L8i@}U8 z2w8!bwn^cJI25k84*L|J3D&KL5i5V-=m6G1@$a?BwmlXNek*ogx)@fdp<4SQKAWBK zqZP{984p1oTt5lY$dzT>F$|R=>ms&jZFi{J7zsX7BrmEBykIrllwROL89CGNpr^Bq zxDfL)2@*bw@__QCYPMONe+#SdVI)PX%O=gRhM(Z>+Y z={S|`+XfAy+4D=pwuGUM1dmxRy)OTU>_w;>a)=3xO#~z;tpDN*4jd^l;_K@@L)z*8 zHZRpYxchF3weiA!8TD_tHU70iYW(8W8O7}QFWVkRC!#MQi@1q?;GP)D=wh9|pbFHs zK7~u{r`r!@Gm@kT#TpNz9PRgqz5vO&A^#Y0-cMHsx4rBp7$=vo$5in>Zzq_{(Td?l z3pI6PT*5)*ma7oC>A_t^Z-r-3Vh$?cC%i9$A{RtZU6KHhuIeSaCUMMHe~lCmZ|VUr zJeBmnD8?9f<5AbSpNfkw?Aw|2lsrd~J7YpLwYarUq{#YkGMTjZeJ+5==_PALNSw;z zyy!FRi8ZdLPr)2Z+H?!c<7N3=jw zt8fs2qT-s}CLLjvtc&`r7<<0d{@r)Mm@)b({td98XW_dq$dCDQgWKBWsOgr#Lm-r^t>iN> z!CG0`jF)Z}Cs-S^`A`IF1n8LVlu~F|xvof$XUp%LxABq4dl3X=U>%zowzHzU=FDoV zs_pyDj=lUHBL6^U9l%6;fkH_~xuB(HkvyT-xv>EKk}*`7CD|;lYcP3KZ0{N%r&6gu zbH@gXYrS#2VpJ}oVCXDl*X_@r9<80A*3s*sg5(~2?uyi~9J98A7plthMnsI5bt{g~ zETm=c7|@jm2zrtBuuZpo$c_V|V%Vd2eaVDvP&rsEgK-ZVF*a*!IfUz*fwu*MkrF`)BMksVz=(wyh&tJJka0=J*L zu7W#7axgC1dwn4)UjPP`H|!5jjhbh;I&_Yo{@M4;fp>WkAls)g#rTVZmDIPk>dBLkZ{4~_zikkE z-H~a9lk-!3l-Hc2l$YuCxUV2&?=soEJ2;=OzoKNF6a$TO5A?hR8^=Ig`c73@Tgu)2Y z6h?9G88z;&hal!H^py94DXo=-@M$r^gQ3bEn_4kGH)j=h_U<)=pT@Y;Fo!fPgpWMf z$~zy*pYRn6CF8ULo;jT0`lB;!f-Z$mnjDpvLyzW#n=_u Ol`JkR#rFt_(JiZrfFo+dS*FWe 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 literal 0 HcmV?d00001 diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..c3cd901aedec3e860e54b0369e760dbdf0e58cae GIT binary patch literal 56491 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 literal 0 HcmV?d00001 diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb62143eedfdcf65597a3c12f6aaa978c43946e GIT binary patch literal 12987 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 literal 0 HcmV?d00001 diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..578304db565d4606c8b5848d07223b43c472f61d GIT binary patch literal 1275 zcmVPx#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91AfN*P1ONa40RR91AOHXW0IY^$^8f$@Wl2OqR9FeMmdQ^PK@^7>#9eT~ z1s5QQ3u-h*(U@Su!RSfHp5%^l*{D`Jj+^5*_PD? z+jqfXXoV3NhDEUM3~Yf(n1TjSlywSo0sj_ITSRIt}MRM-!kh>n=kr zOv4-~$VfTI0Q52U3QtWT%aDh8B9qi7j_Blodgz3cpcpM8&_cNhT$Ri~gj-QM8v~_)&W&%}XG1?&e`bOk~{HD%cjM#KF*2u^0StaHEXz-_T#MDQ%- z;}8OtD1Qa*4XhL3M7u!|2Oze9Vp8^9Oi24`QKtYSrA3|PouJ4tMQbh~7PxMpmFdas zTxw|t(Uw(bn~^Iuh3dyKiG}ib&w8qS0Ss}3Gpk?Jg`n7;HD}Qw{j4DYW1q7+x^F*W zyvRlbIKPqf^q7z?GUg6()kVJr8*ji~XaRE|ZC*HU!OR_i*hh+GO(!Oz34IY15s7II z>E{;o!Gr?tfC*?v6C`cFczFq3&<_z-ie+t{7SFoTa=tyF03&Tuo&*!rd3zKv2P$)q zJW8474;onz(*KSfSuiYZ?q2!^>*W^~N8Cg=o{v(E^e1MhO9U=CEu6revB>q(e_ zycN&DV`u~}fEP$5%pCA|dY^Q|CrFa;E`@sVn0an1DPWfQb$ky-V9^M~1*Bs?rIKFnaAe`^ky}d)b;c3Wm9UAgvV&;0DXN`z-@5l9>H2DHB}or zL-rKjL6*74G6;F_KG3OXKE0B?XH0el^eW&X7#5Y8gbfhpv9aFO4}sVA7-U%pFtjGL zf1a%Hp@iN4UD3&!>+6E@KWz9KUKp(j1e)z3` zNifXgpu)6yTb%+|WSf)x%M>VXsiAgm&9O$uPrToQX;`Y^?{tBm13warV289h*u2Qf zjdZ__mYshI^7z%?x(|m6H?l&<{Wps*mwT(SN(yjp{m7c1$WX&E0dd4)9~J0dklzUt z%0A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