From 17a8e573c0bcafd31786d27b9631f82728e2086d Mon Sep 17 00:00:00 2001 From: Sebastian Hugentobler Date: Sun, 17 Nov 2024 10:27:30 +0100 Subject: [PATCH] initial commit --- .envrc | 1 + .gitignore | 2 + Cargo.lock | 11 + Cargo.toml | 12 + controller/.cargo/config.toml | 8 + controller/Cargo.lock | 1973 +++++++++++++++++ controller/Cargo.toml | 68 + controller/README.md | 110 + controller/build.rs | 36 + controller/cyw43-firmware/43439A0.bin | Bin 0 -> 230321 bytes controller/cyw43-firmware/43439A0_clm.bin | Bin 0 -> 4752 bytes .../LICENSE-permissive-binary-license-1.0.txt | 49 + controller/cyw43-firmware/README.md | 9 + controller/debug-probe-setup.jpg | Bin 0 -> 364785 bytes controller/memory.x | 5 + controller/src/byte_handler.rs | 78 + controller/src/cmd_handlers/mod.rs | 72 + controller/src/cmd_handlers/set_config.rs | 17 + controller/src/flash.rs | 124 ++ controller/src/main.rs | 101 + controller/src/mqtt.rs | 73 + controller/src/temperature.rs | 86 + controller/src/usb_serial.rs | 74 + controller/src/wifi.rs | 128 ++ flake.lock | 114 + flake.nix | 37 + mqtt-protocol/Cargo.toml | 8 + mqtt-protocol/src/connect.rs | 128 ++ mqtt-protocol/src/fixed_header.rs | 28 + mqtt-protocol/src/lib.rs | 10 + mqtt-protocol/src/publish.rs | 80 + mqtt-protocol/src/variable_length.rs | 94 + serial-comm/Cargo.toml | 8 + serial-comm/src/cobs.rs | 150 ++ serial-comm/src/lib.rs | 8 + serial-comm/src/protocol/cmd.rs | 50 + serial-comm/src/protocol/error.rs | 83 + serial-comm/src/protocol/mod.rs | 6 + serial-comm/src/protocol/ok.rs | 76 + serial-comm/src/protocol/set_config.rs | 92 + 40 files changed, 4009 insertions(+) create mode 100644 .envrc create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 controller/.cargo/config.toml create mode 100644 controller/Cargo.lock create mode 100644 controller/Cargo.toml create mode 100644 controller/README.md create mode 100644 controller/build.rs create mode 100644 controller/cyw43-firmware/43439A0.bin create mode 100644 controller/cyw43-firmware/43439A0_clm.bin create mode 100644 controller/cyw43-firmware/LICENSE-permissive-binary-license-1.0.txt create mode 100644 controller/cyw43-firmware/README.md create mode 100644 controller/debug-probe-setup.jpg create mode 100644 controller/memory.x create mode 100644 controller/src/byte_handler.rs create mode 100644 controller/src/cmd_handlers/mod.rs create mode 100644 controller/src/cmd_handlers/set_config.rs create mode 100644 controller/src/flash.rs create mode 100644 controller/src/main.rs create mode 100644 controller/src/mqtt.rs create mode 100644 controller/src/temperature.rs create mode 100644 controller/src/usb_serial.rs create mode 100644 controller/src/wifi.rs create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 mqtt-protocol/Cargo.toml create mode 100644 mqtt-protocol/src/connect.rs create mode 100644 mqtt-protocol/src/fixed_header.rs create mode 100644 mqtt-protocol/src/lib.rs create mode 100644 mqtt-protocol/src/publish.rs create mode 100644 mqtt-protocol/src/variable_length.rs create mode 100644 serial-comm/Cargo.toml create mode 100644 serial-comm/src/cobs.rs create mode 100644 serial-comm/src/lib.rs create mode 100644 serial-comm/src/protocol/cmd.rs create mode 100644 serial-comm/src/protocol/error.rs create mode 100644 serial-comm/src/protocol/mod.rs create mode 100644 serial-comm/src/protocol/ok.rs create mode 100644 serial-comm/src/protocol/set_config.rs diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c722f2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +target/ +/.direnv diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..ce5c413 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,11 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "mqtt-protocol" +version = "0.1.0" + +[[package]] +name = "serial-comm" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..a70ebac --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,12 @@ +[workspace] +members = ["serial-comm", "mqtt-protocol"] +resolver = "2" + +[workspace.package] +version = "0.1.0" +edition = "2021" +description = "rp2040 temperature sensor" +license = "GPL-3.0-or-later" + +[profile.release] +strip = true diff --git a/controller/.cargo/config.toml b/controller/.cargo/config.toml new file mode 100644 index 0000000..bd0a37a --- /dev/null +++ b/controller/.cargo/config.toml @@ -0,0 +1,8 @@ +[target.'cfg(all(target_arch = "arm", target_os = "none"))'] +runner = "probe-rs run --chip RP2040" + +[build] +target = "thumbv6m-none-eabi" # Cortex-M0 and Cortex-M0+ + +[env] +DEFMT_LOG = "info" diff --git a/controller/Cargo.lock b/controller/Cargo.lock new file mode 100644 index 0000000..4dc7448 --- /dev/null +++ b/controller/Cargo.lock @@ -0,0 +1,1973 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "as-slice" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45403b49e3954a4b8428a0ac21a4b7afadccf92bfd96273f1a58cd4812496ae0" +dependencies = [ + "generic-array 0.12.4", + "generic-array 0.13.3", + "generic-array 0.14.7", + "stable_deref_trait", +] + +[[package]] +name = "as-slice" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + +[[package]] +name = "atomic-polyfill" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28" +dependencies = [ + "critical-section", +] + +[[package]] +name = "atomic-polyfill" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" +dependencies = [ + "critical-section", +] + +[[package]] +name = "atomic-pool" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c5fc22e05ec2884db458bf307dc7b278c9428888d2b6e6fad9c0ae7804f5f6" +dependencies = [ + "as-slice 0.1.5", + "as-slice 0.2.1", + "atomic-polyfill 1.0.3", + "stable_deref_trait", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "az" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" + +[[package]] +name = "bare-metal" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5deb64efa5bd81e31fcd1938615a6d98c82eafcbcd787162b6f63b91d6bac5b3" +dependencies = [ + "rustc_version 0.2.3", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitfield" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46afbd2983a5d5a7bd740ccb198caf5b82f45c40c09c0eed36052d91cb92e719" + +[[package]] +name = "bitfield" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d7e60934ceec538daadb9d8432424ed043a904d8e0243f3c6446bce549a46ac" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + +[[package]] +name = "bytemuck" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "controller" +version = "0.1.0" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "critical-section", + "cyw43", + "cyw43-pio", + "defmt", + "defmt-rtt", + "embassy-embedded-hal", + "embassy-executor", + "embassy-futures", + "embassy-net", + "embassy-net-wiznet", + "embassy-rp", + "embassy-sync 0.6.0", + "embassy-time", + "embassy-usb", + "embedded-hal-async", + "embedded-hal-bus", + "embedded-io-async", + "embedded-storage", + "fixed", + "fixed-macro", + "futures", + "log", + "mqtt-protocol", + "panic-probe", + "pio", + "pio-proc", + "portable-atomic", + "rand", + "serial-comm", + "static_cell", +] + +[[package]] +name = "cortex-m" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ec610d8f49840a5b376c69663b6369e71f4b34484b9b2eb29fb918d92516cb9" +dependencies = [ + "bare-metal", + "bitfield 0.13.2", + "embedded-hal 0.2.7", + "volatile-register", +] + +[[package]] +name = "cortex-m-rt" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "801d4dec46b34c299ccf6b036717ae0fce602faa4f4fe816d9013b9a7c9f5ba6" +dependencies = [ + "cortex-m-rt-macros", +] + +[[package]] +name = "cortex-m-rt-macros" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e37549a379a9e0e6e576fd208ee60394ccb8be963889eebba3ffe0980364f472" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "crc-any" +version = "2.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774646b687f63643eb0f4bf13dc263cb581c8c9e57973b6ddf78bda3994d88df" +dependencies = [ + "debug-helper", +] + +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "cyw43" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04c691efd1af993c7c4cb79eb13da4b901c1e8c6d148280e2a36ae2885f83218" +dependencies = [ + "cortex-m", + "cortex-m-rt", + "defmt", + "embassy-futures", + "embassy-net-driver-channel 0.3.0", + "embassy-sync 0.6.0", + "embassy-time", + "embedded-hal 1.0.0", + "futures", + "heapless 0.8.0", + "num_enum", +] + +[[package]] +name = "cyw43-pio" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22bb644457cfefdd1f0eeea7a3a708a61f9ab223aaf56b7f50589180808d302a" +dependencies = [ + "cyw43", + "defmt", + "embassy-rp", + "fixed", + "pio", + "pio-proc", +] + +[[package]] +name = "darling" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.87", +] + +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "debug-helper" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e" + +[[package]] +name = "defmt" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a99dd22262668b887121d4672af5a64b238f026099f1a2a1b322066c9ecfe9e0" +dependencies = [ + "bitflags 1.3.2", + "defmt-macros", +] + +[[package]] +name = "defmt-macros" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54f0216f6c5acb5ae1a47050a6645024e6edafc2ee32d421955eccfef12ef92e" +dependencies = [ + "defmt-parser", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "defmt-parser" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "269924c02afd7f94bc4cecbfa5c379f6ffcf9766b3408fe63d22c728654eccd0" +dependencies = [ + "thiserror", +] + +[[package]] +name = "defmt-rtt" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab697b3dbbc1750b7c8b821aa6f6e7f2480b47a99bc057a2ed7b170ebef0c51" +dependencies = [ + "critical-section", + "defmt", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "embassy-embedded-hal" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5794414bc20e0d750f145bc0e82366b19dd078e9e075e8331fb8dd069a1cb6a2" +dependencies = [ + "defmt", + "embassy-futures", + "embassy-sync 0.6.0", + "embassy-time", + "embedded-hal 0.2.7", + "embedded-hal 1.0.0", + "embedded-hal-async", + "embedded-storage", + "embedded-storage-async", + "nb 1.1.0", +] + +[[package]] +name = "embassy-executor" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f64f84599b0f4296b92a4b6ac2109bc02340094bda47b9766c5f9ec6a318ebf8" +dependencies = [ + "cortex-m", + "critical-section", + "defmt", + "document-features", + "embassy-executor-macros", + "embassy-time-driver", + "embassy-time-queue-driver", +] + +[[package]] +name = "embassy-executor-macros" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3577b1e9446f61381179a330fc5324b01d511624c55f25e3c66c9e3c626dbecf" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "embassy-futures" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f878075b9794c1e4ac788c95b728f26aa6366d32eeb10c7051389f898f7d067" + +[[package]] +name = "embassy-hal-internal" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef3bac31ec146321248a169e9c7b5799f1e0b3829c7a9b324cb4600a7438f59" +dependencies = [ + "cortex-m", + "critical-section", + "defmt", + "num-traits", +] + +[[package]] +name = "embassy-net" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cf91dd36dfd623de32242af711fd294d41159f02130052fc93c5c5ba93febe" +dependencies = [ + "as-slice 0.2.1", + "atomic-pool", + "defmt", + "document-features", + "embassy-net-driver", + "embassy-sync 0.5.0", + "embassy-time", + "embedded-io-async", + "embedded-nal-async", + "futures", + "generic-array 0.14.7", + "heapless 0.8.0", + "managed", + "smoltcp", + "stable_deref_trait", +] + +[[package]] +name = "embassy-net-driver" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524eb3c489760508f71360112bca70f6e53173e6fe48fc5f0efd0f5ab217751d" +dependencies = [ + "defmt", +] + +[[package]] +name = "embassy-net-driver-channel" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "584ab4da7e5612efaa7d55ee76161d9549adf788eab48d49362eddbf322f9933" +dependencies = [ + "embassy-futures", + "embassy-net-driver", + "embassy-sync 0.3.0", +] + +[[package]] +name = "embassy-net-driver-channel" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4818c32afec43e3cae234f324bad9a976c9aa7501022d26ff60a4017a1a006b7" +dependencies = [ + "embassy-futures", + "embassy-net-driver", + "embassy-sync 0.6.0", +] + +[[package]] +name = "embassy-net-wiznet" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "114d6894cb781839c50ccc75df5ec41a0059ec4989f34af83bc87bfe3a4274c4" +dependencies = [ + "defmt", + "embassy-futures", + "embassy-net-driver-channel 0.2.0", + "embassy-time", + "embedded-hal 1.0.0", + "embedded-hal-async", +] + +[[package]] +name = "embassy-rp" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5d0300b0ed5229bf1c25488c64c1ce55024c5153c246f378b1f2e353d5ec9a" +dependencies = [ + "atomic-polyfill 1.0.3", + "cfg-if", + "cortex-m", + "cortex-m-rt", + "critical-section", + "defmt", + "document-features", + "embassy-embedded-hal", + "embassy-futures", + "embassy-hal-internal", + "embassy-sync 0.6.0", + "embassy-time", + "embassy-time-driver", + "embassy-usb-driver", + "embedded-hal 0.2.7", + "embedded-hal 1.0.0", + "embedded-hal-async", + "embedded-hal-nb", + "embedded-io", + "embedded-io-async", + "embedded-storage", + "embedded-storage-async", + "fixed", + "nb 1.1.0", + "pio", + "pio-proc", + "rand_core", + "rp-pac", + "rp2040-boot2", +] + +[[package]] +name = "embassy-sync" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0525b466ca3ace30b57f2db868a35215dfaecd038d8668cb2db03feb7c069a0" +dependencies = [ + "cfg-if", + "critical-section", + "futures-util", + "heapless 0.7.16", +] + +[[package]] +name = "embassy-sync" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd938f25c0798db4280fcd8026bf4c2f48789aebf8f77b6e5cf8a7693ba114ec" +dependencies = [ + "cfg-if", + "critical-section", + "embedded-io-async", + "futures-util", + "heapless 0.8.0", +] + +[[package]] +name = "embassy-sync" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3e0c49ff02ebe324faf3a8653ba91582e2d0a7fdef5bc88f449d5aa1bfcc05c" +dependencies = [ + "cfg-if", + "critical-section", + "defmt", + "embedded-io-async", + "futures-util", + "heapless 0.8.0", +] + +[[package]] +name = "embassy-time" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "158080d48f824fad101d7b2fae2d83ac39e3f7a6fa01811034f7ab8ffc6e7309" +dependencies = [ + "cfg-if", + "critical-section", + "defmt", + "document-features", + "embassy-time-driver", + "embassy-time-queue-driver", + "embedded-hal 0.2.7", + "embedded-hal 1.0.0", + "embedded-hal-async", + "futures-util", + "heapless 0.8.0", +] + +[[package]] +name = "embassy-time-driver" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e0c214077aaa9206958b16411c157961fb7990d4ea628120a78d1a5a28aed24" +dependencies = [ + "document-features", +] + +[[package]] +name = "embassy-time-queue-driver" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1177859559ebf42cd24ae7ba8fe6ee707489b01d0bf471f8827b7b12dcb0bc0" + +[[package]] +name = "embassy-usb" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d0b882133fa684b9d4652351cd7aac5afe8a2c2bf4a7da59f442ff61087cda2" +dependencies = [ + "defmt", + "embassy-futures", + "embassy-net-driver-channel 0.3.0", + "embassy-sync 0.6.0", + "embassy-usb-driver", + "heapless 0.8.0", + "ssmarshal", + "usbd-hid", +] + +[[package]] +name = "embassy-usb-driver" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fc247028eae04174b6635104a35b1ed336aabef4654f5e87a8f32327d231970" +dependencies = [ + "defmt", +] + +[[package]] +name = "embedded-hal" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35949884794ad573cf46071e41c9b60efb0cb311e3ca01f7af807af1debc66ff" +dependencies = [ + "nb 0.1.3", + "void", +] + +[[package]] +name = "embedded-hal" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "361a90feb7004eca4019fb28352a9465666b24f840f5c3cddf0ff13920590b89" + +[[package]] +name = "embedded-hal-async" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4c685bbef7fe13c3c6dd4da26841ed3980ef33e841cddfa15ce8a8fb3f1884" +dependencies = [ + "embedded-hal 1.0.0", +] + +[[package]] +name = "embedded-hal-bus" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d3980bf28e8577db59fe2bdb3df868a419469d2cecb363644eea2b6f7797669" +dependencies = [ + "critical-section", + "embedded-hal 1.0.0", + "embedded-hal-async", + "portable-atomic", +] + +[[package]] +name = "embedded-hal-nb" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fba4268c14288c828995299e59b12babdbe170f6c6d73731af1b4648142e8605" +dependencies = [ + "embedded-hal 1.0.0", + "nb 1.1.0", +] + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" +dependencies = [ + "defmt", +] + +[[package]] +name = "embedded-io-async" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff09972d4073aa8c299395be75161d582e7629cd663171d62af73c8d50dba3f" +dependencies = [ + "defmt", + "embedded-io", +] + +[[package]] +name = "embedded-nal" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8a943fad5ed3d3f8a00f1e80f6bba371f1e7f0df28ec38477535eb318dc19cc" +dependencies = [ + "nb 1.1.0", + "no-std-net", +] + +[[package]] +name = "embedded-nal-async" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72229137a4fc12d239b0b7f50f04b30790678da6d782a0f3f1909bf57ec4b759" +dependencies = [ + "embedded-io-async", + "embedded-nal", + "no-std-net", +] + +[[package]] +name = "embedded-storage" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21dea9854beb860f3062d10228ce9b976da520a73474aed3171ec276bc0c032" + +[[package]] +name = "embedded-storage-async" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1763775e2323b7d5f0aa6090657f5e21cfa02ede71f5dc40eead06d64dcd15cc" +dependencies = [ + "embedded-storage", +] + +[[package]] +name = "ena" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" +dependencies = [ + "log", +] + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "fixed" +version = "1.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c6e0b89bf864acd20590dbdbad56f69aeb898abfc9443008fd7bd48b2cc85a" +dependencies = [ + "az", + "bytemuck", + "half", + "typenum", +] + +[[package]] +name = "fixed-macro" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0c48af8cb14e02868f449f8a2187bd78af7a08da201fdc78d518ecb1675bc" +dependencies = [ + "fixed", + "fixed-macro-impl", + "fixed-macro-types", +] + +[[package]] +name = "fixed-macro-impl" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c93086f471c0a1b9c5e300ea92f5cd990ac6d3f8edf27616ef624b8fa6402d4b" +dependencies = [ + "fixed", + "paste", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "fixed-macro-types" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "044a61b034a2264a7f65aa0c3cd112a01b4d4ee58baace51fead3f21b993c7e4" +dependencies = [ + "fixed", + "fixed-macro-impl", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-macro", + "futures-sink", + "futures-task", + "pin-project-lite", + "pin-utils", +] + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f797e67af32588215eaaab8327027ee8e71b9dd0b2b26996aedf20c030fce309" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "half" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hash32" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +dependencies = [ + "byteorder", +] + +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" + +[[package]] +name = "heapless" +version = "0.7.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743" +dependencies = [ + "atomic-polyfill 0.1.11", + "hash32 0.2.1", + "rustc_version 0.4.0", + "spin", + "stable_deref_trait", +] + +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "defmt", + "hash32 0.3.1", + "stable_deref_trait", +] + +[[package]] +name = "hermit-abi" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "indexmap" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +dependencies = [ + "equivalent", + "hashbrown 0.14.2", +] + +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi", + "rustix", + "windows-sys", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "lalrpop" +version = "0.19.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b" +dependencies = [ + "ascii-canvas", + "bit-set", + "diff", + "ena", + "is-terminal", + "itertools", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax 0.6.29", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "lalrpop-util" +version = "0.19.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed" +dependencies = [ + "regex", +] + +[[package]] +name = "libc" +version = "0.2.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" + +[[package]] +name = "linux-raw-sys" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" + +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "managed" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d" + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "mqtt-protocol" +version = "0.1.0" + +[[package]] +name = "nb" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f" +dependencies = [ + "nb 1.1.0", +] + +[[package]] +name = "nb" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d" + +[[package]] +name = "new_debug_unreachable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" + +[[package]] +name = "no-std-net" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" + +[[package]] +name = "num-traits" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "panic-probe" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4047d9235d1423d66cc97da7d07eddb54d4f154d6c13805c6d0793956f4f25b0" +dependencies = [ + "cortex-m", + "defmt", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.4.1", + "smallvec", + "windows-targets", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pio" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76e09694b50f89f302ed531c1f2a7569f0be5867aee4ab4f8f729bbeec0078e3" +dependencies = [ + "arrayvec", + "num_enum", + "paste", +] + +[[package]] +name = "pio-parser" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77532c2b8279aef98dfc7207ef15298a5a3d6b6cc76ccc8b65913d69f3a8dd6b" +dependencies = [ + "lalrpop", + "lalrpop-util", + "pio", + "regex-syntax 0.6.29", +] + +[[package]] +name = "pio-proc" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b04dc870fb3a4fd8b3e4ca8c61b53bc8ac4eb78b66805d2b3c2e5c4829e0d7a" +dependencies = [ + "codespan-reporting", + "lalrpop-util", + "pio", + "pio-parser", + "proc-macro-error", + "proc-macro2", + "quote", + "regex-syntax 0.6.29", + "syn 1.0.109", +] + +[[package]] +name = "portable-atomic" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" +dependencies = [ + "critical-section", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall 0.2.16", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "rp-pac" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30f6c4c846269293db805e9c77864ff7b923395b480550df44f0868e3765337" +dependencies = [ + "cortex-m", + "cortex-m-rt", +] + +[[package]] +name = "rp2040-boot2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c92f344f63f950ee36cf4080050e4dce850839b9175da38f9d2ffb69b4dbb21" +dependencies = [ + "crc-any", +] + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.20", +] + +[[package]] +name = "rustix" +version = "0.38.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0" +dependencies = [ + "bitflags 2.4.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "serde" +version = "1.0.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "serial-comm" +version = "0.1.0" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "smallvec" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" + +[[package]] +name = "smoltcp" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a1a996951e50b5971a2c8c0fa05a381480d70a933064245c4a223ddc87ccc97" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "cfg-if", + "defmt", + "heapless 0.8.0", + "managed", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "ssmarshal" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3e6ad23b128192ed337dfa4f1b8099ced0c2bf30d61e551b65fda5916dbb850" +dependencies = [ + "encode_unicode", + "serde", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_cell" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89b0684884a883431282db1e4343f34afc2ff6996fe1f4a1664519b66e14c1e" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "usb-device" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98816b1accafbb09085168b90f27e93d790b4bfa19d883466b5e53315b5f06a6" +dependencies = [ + "heapless 0.8.0", + "portable-atomic", +] + +[[package]] +name = "usbd-hid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6f291ab53d428685cc780f08a2eb9d5d6ff58622db2b36e239a4f715f1e184c" +dependencies = [ + "serde", + "ssmarshal", + "usb-device", + "usbd-hid-macros", +] + +[[package]] +name = "usbd-hid-descriptors" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee54712c5d778d2fb2da43b1ce5a7b5060886ef7b09891baeb4bf36910a3ed" +dependencies = [ + "bitfield 0.14.0", +] + +[[package]] +name = "usbd-hid-macros" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb573c76e7884035ac5e1ab4a81234c187a82b6100140af0ab45757650ccda38" +dependencies = [ + "byteorder", + "hashbrown 0.13.2", + "log", + "proc-macro2", + "quote", + "serde", + "syn 1.0.109", + "usbd-hid-descriptors", +] + +[[package]] +name = "vcell" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + +[[package]] +name = "volatile-register" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de437e2a6208b014ab52972a27e59b33fa2920d3e00fe05026167a1c509d19cc" +dependencies = [ + "vcell", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] diff --git a/controller/Cargo.toml b/controller/Cargo.toml new file mode 100644 index 0000000..85dfcc0 --- /dev/null +++ b/controller/Cargo.toml @@ -0,0 +1,68 @@ +[workspace] + +[package] +edition = "2021" +name = "controller" +version = "0.1.0" + +[dependencies] +embassy-embedded-hal = { version = "0.2.0",features = ["defmt"] } +embassy-sync = { version = "0.6.0", features = ["defmt"] } +embassy-executor = { version = "0.6.3", features = [ + "arch-cortex-m", + "task-arena-size-98304", + "executor-thread", + "executor-interrupt", + "defmt", + "integrated-timers", +] } + +embassy-time = { version = "0.3.2", features = ["defmt", "defmt-timestamp-uptime"] } +embassy-rp = { version = "0.2.0", features = [ + "defmt", + "unstable-pac", + "time-driver", + "critical-section-impl", +] } +embassy-usb = { version = "0.3.0", features = ["defmt"] } +embassy-net = { version = "0.4.0", features = [ + "defmt", + "tcp", + "udp", + "dhcpv4", + "medium-ethernet", +] } +embassy-net-wiznet = { version = "0.1.0", features = ["defmt"] } +embassy-futures = "0.1.1" +cyw43 = { version = "0.2.0", features = ["defmt", "firmware-logs"] } +cyw43-pio = { version = "0.2.0", features = ["defmt", "overclock"] } +defmt = "0.3.8" +defmt-rtt = "0.4.1" +fixed = "1.28.0" +fixed-macro = "1.2.0" + +cortex-m = { version = "0.7.7", features = ["inline-asm"] } +cortex-m-rt = "0.7.5" +panic-probe = { version = "0.3.2", features = ["print-defmt"] } +futures = { version = "0.3.31", default-features = false, features = [ + "async-await", + "cfg-target-has-atomic", +] } +critical-section = "1.2.0" +portable-atomic = { version = "1.5", features = ["critical-section"] } + +embedded-hal-async = "1.0.0" +embedded-hal-bus = { version = "0.2.0", features = ["async"] } +embedded-io-async = { version = "0.6.1", features = ["defmt-03"] } +embedded-storage = "0.3.1" +static_cell = "2.1.0" +log = "0.4" +pio-proc = "0.2.2" +pio = "0.2.1" +rand = { version = "0.8.5", default-features = false } + +mqtt-protocol = { path = "../mqtt-protocol" } +serial-comm = { path = "../serial-comm" } + +[profile.release] +debug = 2 diff --git a/controller/README.md b/controller/README.md new file mode 100644 index 0000000..8abdb86 --- /dev/null +++ b/controller/README.md @@ -0,0 +1,110 @@ +# Pico with Embassy + +Read temperature values and write them to an MQTT topic. + +The Raspberry Pi Pico is well supported by [embassy](https://embassy.dev), apart +from the bluetooth stack (for [legal]() reasons). As we do not use bluetooth for +communication we can ignore that. + +## Flashing + +There are two ways of getting the code onto the microcontroller. + +### elf2uf2 + +Compile the binary as normal, convert it into a uf2 firmware which is flashable +to the pico with only an USB connection. Disadvantage of this apporach is that +it is more annoying to do and does not lend itself to debugging. + +- Clone the [elf2uf2](https://github.com/rej696/elf2uf2) repository and follow + its instructions to compile the tool +- Compile the controller code with `cargo build --release` +- Convert the resulting binary with something like + `elf2uf2 target/thumbv6m-none-eabi/release/controller ./controller.uf2` +- Hold the bootselect button of the pico when plugging it in +- Copy the uf2 file to the mass storage device + +### CMSIS-DAP + +Use the [CMSIS-DAP](https://arm-software.github.io/CMSIS_5/DAP/html/index.html) +protocol for flashing and debugging. + +The +[raspberry pi debug probe](https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html) +works well but anything implementing that protocol is fine. + +![Debug Probe Setup](./debug-probe-setup.jpg) _Example setup with a Pico WH +(Pico W works as well, just a bit more annoying)_ + +- Setup debug probe +- Install [probe-rs](https://github.com/probe-rs/probe-rs/) +- Run `cargo run` and it should upload and logs be visible + +## Configuration + +Configuration is done by sending commands across a serial connection. Only one +command is implemented for now: Set-config with two parameters. + +A sample set-config command looks like this (not encoded yet): `SC ssid MyNet`. +It consists of three parts: + +- `SC`: Command prefix, always the same. +- `ssid`: Configuration key. +- `MyNet`: Configuration value. + +The following keys are recognized: + +- `ssid`: Name of the network to connect to. +- `ssid_pw`: Password to connect to the network. +- `mqtt`: URL of the MQTT broker (must not use https). +- `client_id`: ID of the device (used for identifaction in MQTT). + +A message needs to be encoded into its byte representation looking on a high +level as follows: + +``` +||||| +``` + +- `Parameters` is an unsigned byte signifying the amount of parameters in the + message. +- `Parameter-Lengths`: Length of each parameter. +- `Prefix` is always two bytes long and encoded as UTF-8 (meaning it is + basically ASCII). +- `Parameters`: every parameter encodes is own length in its first byte, + followed by the actual data. + +Taking the above ssid example this would lead to this (the prefix counts as its +own parameter): + +``` +0x03 0x02 0x04 0x05 0x53 0x43 0x73 0x73 0x69 0x64 0x4D 0x59 0x4E 0x65 0x74 +``` + +Now the COBS encoding is applied before sending it across the wire: + +``` +0x10 0x03 0x02 0x04 0x05 0x53 0x43 0x73 0x73 0x69 0x64 0x4d 0x79 0x4e 0x65 0x74 +``` + +In this case (as in most) it merely adds two additional bytes (the last 0x00 +byte is implied). + +Sending this this command on linux, assuming the serial connection is accessible +on `/dev/ttyACM1`: + +``` +echo -en "\x10\x03\x02\x04\x05\x53\x43\x73\x73\x69\x64\x4d\x79\x4e\x65\x74\x00" > /dev/ttyACM1 +``` + +If listening to the serial connection, command acknowledgements like `OK` or +`ERROR` can be seen. + +In order to decode a message, apply the above steps in reverse order. + +All configuration is read on startup of the microcontroller. + +## Outlook + +- Pull the flash/config handling into separate library for testability +- Merge different ways of running tasks (join and tasks) diff --git a/controller/build.rs b/controller/build.rs new file mode 100644 index 0000000..3f915f9 --- /dev/null +++ b/controller/build.rs @@ -0,0 +1,36 @@ +//! This build script copies the `memory.x` file from the crate root into +//! a directory where the linker can always find it at build time. +//! For many projects this is optional, as the linker always searches the +//! project root directory -- wherever `Cargo.toml` is. However, if you +//! are using a workspace or have a more complicated build setup, this +//! build script becomes required. Additionally, by requesting that +//! Cargo re-run the build script whenever `memory.x` is changed, +//! updating `memory.x` ensures a rebuild of the application with the +//! new memory settings. + +use std::env; +use std::fs::File; +use std::io::Write; +use std::path::PathBuf; + +fn main() { + // Put `memory.x` in our output directory and ensure it's + // on the linker search path. + let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); + File::create(out.join("memory.x")) + .unwrap() + .write_all(include_bytes!("memory.x")) + .unwrap(); + println!("cargo:rustc-link-search={}", out.display()); + + // By default, Cargo will re-run a build script whenever + // any file in the project changes. By specifying `memory.x` + // here, we ensure the build script is only re-run when + // `memory.x` is changed. + println!("cargo:rerun-if-changed=memory.x"); + + println!("cargo:rustc-link-arg-bins=--nmagic"); + println!("cargo:rustc-link-arg-bins=-Tlink.x"); + println!("cargo:rustc-link-arg-bins=-Tlink-rp.x"); + println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); +} diff --git a/controller/cyw43-firmware/43439A0.bin b/controller/cyw43-firmware/43439A0.bin new file mode 100644 index 0000000000000000000000000000000000000000..017375277d77d10e198deb1c668e2e6bb074d869 GIT binary patch literal 230321 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 VvnMpWpc&p5Vcnm2-S2)w^e-;e=~w^& literal 0 HcmV?d00001 diff --git a/controller/cyw43-firmware/LICENSE-permissive-binary-license-1.0.txt b/controller/cyw43-firmware/LICENSE-permissive-binary-license-1.0.txt new file mode 100644 index 0000000..cbb51f9 --- /dev/null +++ b/controller/cyw43-firmware/LICENSE-permissive-binary-license-1.0.txt @@ -0,0 +1,49 @@ +Permissive Binary License + +Version 1.0, July 2019 + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +1) Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. + +2) Unless to the extent explicitly permitted by law, no reverse + engineering, decompilation, or disassembly of this software is + permitted. + +3) Redistribution as part of a software development kit must include the + accompanying file named �DEPENDENCIES� and any dependencies listed in + that file. + +4) Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +Limited patent license. The copyright holders (and contributors) grant a +worldwide, non-exclusive, no-charge, royalty-free patent license to +make, have made, use, offer to sell, sell, import, and otherwise +transfer this software, where such license applies only to those patent +claims licensable by the copyright holders (and contributors) that are +necessarily infringed by this software. This patent license shall not +apply to any combinations that include this software. No hardware is +licensed hereunder. + +If you institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the software +itself infringes your patent(s), then your rights granted under this +license shall terminate as of the date such litigation is filed. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/controller/cyw43-firmware/README.md b/controller/cyw43-firmware/README.md new file mode 100644 index 0000000..db3d9c9 --- /dev/null +++ b/controller/cyw43-firmware/README.md @@ -0,0 +1,9 @@ +# WiFi firmware + +Firmware obtained from https://github.com/Infineon/wifi-host-driver/tree/master/WiFi_Host_Driver/resources/firmware/COMPONENT_43439 + +Licensed under the [Infineon Permissive Binary License](./LICENSE-permissive-binary-license-1.0.txt) + +## Changelog + +* 2023-07-28: synced with `ad3bad0` - Update 43439 fw from 7.95.55 ot 7.95.62 diff --git a/controller/debug-probe-setup.jpg b/controller/debug-probe-setup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..681db1758994b7324f0a59c17804aafbe10d36a5 GIT binary patch literal 364785 zcmeFYcUV)+);AnGMa2e+N)?daq)16ns`Ms-P$dvL1nD)gAtD0OJ5i8cLJ^RzAiad% zCAUHdArv8@B(yhp?sLv_eb;&3@B04!&Rp4h)}C2w?KQtyGkezToukR4zW|rC)HT%s zCum9dgfIYb^b=5~7U1jv0BC9o0_Xq$z&XH`6Q=+tXw>m>^Te4yIh01<`kQv4(foh& zoTSkbCr$z`&~h)@AxWdJ(eh`s!#Vu)AK3&NeVl}83XgUEGuP16HQf07 zF$qy|F@T~{fTyjUE6j%z3UhS!0CKN4v~Y7e+XJ~xrFF%1Jyl>%&X0n;V8%gukL`k7 z?d0sal|Y<|0rCOvp6)OoTh0J?HxF<503i1tRf-xGyj$G4`nP+k>o=X-n;O;sTGu_k$Y zxSg}T{2x+Q0xBgfabH?Q_C8EXL<(vvE+QvkDbaZl-M~yTX5 z4)=1mrS*feyR9Qk%*7Mt$jy0-m;6HmO(3_VsQBNP25z=K4m4gMw~n)iZ@}NBkDc9N z#y+;k$VteGOWv2eCoX+oPEz{beaXK$z%Vawn!g;Y`ZJpT7%#8l1+(>mdp(B3-GJQx z8f^cl)1~>ey{(U}s;v)Km!2dVa<5Bdd>mE6K z({3C1_lPitJ^h<nG0Xy;_>;RvIRQ<|^*gU$Irbe$|r z+Cj$QzMY7JxRfNV>t)47?n_A6i%3Yr?CfMDB8oq%sL>)b0N~^YH#>Ll(+>aucMl&gBMoIvGl)6oIXvJz;0k~qAPG2QYv=9x(7-_F zI3)VdX?y%ntOXbmIo9=`dH&bZ3-+`igchuE(l{R2d3yQK=qEH<#^1;Dm`6nDVssvi) zoj!GZK6Co?snciAoIU&JI7d%+_8k4WvuEiT>F61b6OB60$Z-Dn;#kQ)L{FYMb?OYm zxwGf~u>5~I9kl{3)13mG2An!^8F2FQiBp$P9DN6{(GWU$ie}j{6n_%!>NMcY*>iOC zwCdZ(hW{h|v;M@%Q>TxskEQ|VPn`gqymaak&6#s3OhezK-z@5VSga3HytRUOTeD?V zIvZpf(@nHy>gy3M8xbk*vHdJAQz6daV!@(XY*caCP^;q#P&D`1(73U)tIGpHD^>S0 z;dsb-;cp*=-$EpWmh5;K&Xgy`Ch61&>p2(YWnUSQek07?l{fkQMfK>Ehq6$=9LEza zhOaB`mp=1EJbC^m5fG;Jm^tZ@r-9&uaJ#SNu=|NASB1Yh89e>PjMaz;T>}{J7=fs+xIiqB;Zswz0E1^ zrX_QKIvq1lsg$^iZ@S5wvC9k$72^!Enu#klAJ9SxYtW8&?}W`#RnuOzhrTZoHtULf zdd*y|UyhF_GzC!IQy#5z()e{Mt6mZLgj(@s{kFxBew^7m}kABl}XFbn+Y{CDt=29=9pz@yJvW(XG3W4)=6$Ok?ofA*c zq8A^SolWO`!Kr*pJ7M8BJ9}Gr_9{sXO%A~hZ4s*7WhoO?`z@Gt%0AWT3wJN~hr;}> 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

Tz{dt>xq^ZC8lZ8zQFl5G~TFG#m`? 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 ~zeRibMzgzW!S_P7<>Ya)C&MzOqM*;tWKa9+ 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 z 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

vd8`I#TbMo+Ov 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 M$93T for Disconnected { + fn from(val: EndpointError) -> Self { + match val { + EndpointError::BufferOverflow => panic!("Buffer overflow"), + EndpointError::Disabled => Disconnected {}, + } + } +} + +#[embassy_executor::task] +pub async fn cmd_task(class: &'static mut DeviceClass, config: &'static mut Config<'static>) -> ! { + loop { + class.wait_connection().await; + info!("Connected"); + let _ = handle_bytes(class, config).await; + info!("Disconnected"); + } +} + +/// Handle incoming bytes over the usb-serial connection. +/// +/// Always buffer data until you encounter the `SENTINEL` value. After that try to decode and +/// execute the received command. +pub async fn handle_bytes<'d, T: Instance + 'd>( + class: &mut CdcAcmClass<'d, Driver<'d, T>>, + config: &mut Config<'d>, +) -> Result<(), Disconnected> { + let mut cmd_buffer: [u8; PACKET_SIZE] = [0; PACKET_SIZE]; + let mut cursor: usize = 0; + + loop { + let mut read_buf: [u8; 64] = [0; 64]; + let n = class.read_packet(&mut read_buf).await?; + let data = &read_buf[..n]; + + if n > 0 { + cmd_buffer[cursor..cursor + n].copy_from_slice(data); + cursor += n; + if data[n - 1] == SENTINEL { + match handle_cmd(cmd_buffer, cursor, config) { + Err(e) => { + error!( + "Failed to handle command: {:?} - {:?}", + e, + cmd_buffer[0..cursor] + ); + let err_cmd = ErrorCommand::new("Failed to handle command"); + let (length, err_cmd): (usize, [u8; 128]) = err_cmd.as_cobs(); + class.write_packet(&err_cmd[0..length]).await?; + } + _ => { + let ok_cmd = OkCommand::new(); + let (length, ok_cmd): (usize, [u8; 128]) = ok_cmd.as_cobs(); + class.write_packet(&ok_cmd[0..length]).await?; + } + }; + + cursor = 0; + } + } + } +} diff --git a/controller/src/cmd_handlers/mod.rs b/controller/src/cmd_handlers/mod.rs new file mode 100644 index 0000000..1ed5511 --- /dev/null +++ b/controller/src/cmd_handlers/mod.rs @@ -0,0 +1,72 @@ +//! Handle specific commands, comming in from usb-serial. + +pub mod set_config; + +use defmt::Format; +use serial_comm::{cobs, protocol::set_config::SetConfig}; + +use crate::flash::{Config, FlashError}; + +#[derive(Debug)] +pub struct Utf8Error(pub core::str::Utf8Error); + +impl Format for Utf8Error { + fn format(&self, f: defmt::Formatter) { + defmt::write!(f, "Utf8Error"); + } +} + +#[derive(Debug, Format)] +pub enum CmdError { + Utf8Error(Utf8Error), + FlashError(FlashError), + NoSuchCmd, +} + +impl From for CmdError { + fn from(err: core::str::Utf8Error) -> Self { + CmdError::Utf8Error(Utf8Error(err)) + } +} + +impl From for CmdError { + fn from(err: FlashError) -> Self { + CmdError::FlashError(err) + } +} + +// arbitrarily constrained, we know we don't need more for now +pub const PACKET_SIZE: usize = 256; + +type CmdHandler = fn([u8; PACKET_SIZE], &mut Config) -> Result<(), CmdError>; +static CMD_HANDLERS: &[(&str, CmdHandler)] = &[(SetConfig::PREFIX, set_config::handle)]; + +/// Try decoding a command buffer and run it. +/// +/// On failure return an ErrorCommand across the serial connection, otherwise an OkCommand. +pub fn handle_cmd( + cmd_buffer: [u8; PACKET_SIZE], + length: usize, + config: &mut Config<'_>, +) -> Result<(), CmdError> { + let (length, decoded_cmd): (usize, [u8; PACKET_SIZE]) = cobs::decode(cmd_buffer, length); + + if length > 1 { + let header_length = (decoded_cmd[0] + 1) as usize; + let cmd_prefix = core::str::from_utf8(&decoded_cmd[header_length..header_length + 2])?; + + let mut idx = 0; + while idx < CMD_HANDLERS.len() && CMD_HANDLERS[idx].0 != cmd_prefix { + idx += 1; + } + + if idx == CMD_HANDLERS.len() { + return Err(CmdError::NoSuchCmd); + } + + let handler = CMD_HANDLERS[idx].1; + handler(decoded_cmd, config)?; + } + + Ok(()) +} diff --git a/controller/src/cmd_handlers/set_config.rs b/controller/src/cmd_handlers/set_config.rs new file mode 100644 index 0000000..07e4ed7 --- /dev/null +++ b/controller/src/cmd_handlers/set_config.rs @@ -0,0 +1,17 @@ +use defmt::info; +use serial_comm::protocol::{cmd::Cmd, set_config::SetConfig}; + +use crate::{cmd_handlers::CmdError, flash::Config}; + +use super::PACKET_SIZE; + +/// Handle a SetConfig command by writing the received key-value pair to flash storage. +pub fn handle(data: [u8; PACKET_SIZE], config: &mut Config<'_>) -> Result<(), CmdError> { + let mut cmd_buffer: [u8; PACKET_SIZE] = [0; PACKET_SIZE]; + + let set_config = SetConfig::from_bytes::(data, &mut cmd_buffer)?; + config.write_config(set_config.key, set_config.value)?; + info!("set {} to {}", set_config.key, set_config.value); + + Ok(()) +} diff --git a/controller/src/flash.rs b/controller/src/flash.rs new file mode 100644 index 0000000..85e4d38 --- /dev/null +++ b/controller/src/flash.rs @@ -0,0 +1,124 @@ +use defmt::{error, Format}; +use embassy_rp::{ + flash::{self, Async, Flash, ERASE_SIZE}, + peripherals::{DMA_CH0, FLASH}, +}; + +use crate::cmd_handlers::Utf8Error; + +const ADDR_OFFSET: u32 = 0x100000; +const FLASH_SIZE: usize = 2 * 1024 * 1024; + +pub const ENTRY_SIZE: u32 = ERASE_SIZE as u32; +const SSID_CONFIG: u32 = ADDR_OFFSET; +const SSID_PW_CONFIG: u32 = ADDR_OFFSET + ENTRY_SIZE; +const MQTT_CONFIG: u32 = ADDR_OFFSET + 2 * ENTRY_SIZE; +const CLIENT_ID_CONFIG: u32 = ADDR_OFFSET + 3 * ENTRY_SIZE; + +pub const SSID_KEY: &str = "ssid"; +pub const SSID_PW_KEY: &str = "ssid_pw"; +pub const MQTT_KEY: &str = "mqtt"; +pub const CLIENT_ID_KEY: &str = "client_id"; + +#[derive(Debug, Format)] +pub enum FlashError { + Internal(flash::Error), + Utf8Error(Utf8Error), + NoSuchKey, + ValueTooLong, + NoValue, +} + +impl From for FlashError { + fn from(err: flash::Error) -> Self { + FlashError::Internal(err) + } +} + +impl From for FlashError { + fn from(err: core::str::Utf8Error) -> Self { + FlashError::Utf8Error(Utf8Error(err)) + } +} + +/// Write key-value data to flash storage for persistence and read it from there again. +pub struct Config<'a> { + flash: Flash<'a, FLASH, Async, FLASH_SIZE>, +} + +impl<'a> Config<'a> { + /// Initialize the flash module on the RP2040. + pub fn init(flash: FLASH, dma_ch0: DMA_CH0) -> Self { + let flash = embassy_rp::flash::Flash::<_, Async, FLASH_SIZE>::new(flash, dma_ch0); + + Self { flash } + } + + /// Get the position on flash for a configuration key. + fn get_config_cursor(&self, key: &str) -> Option { + match key { + SSID_KEY => Some(SSID_CONFIG), + SSID_PW_KEY => Some(SSID_PW_CONFIG), + MQTT_KEY => Some(MQTT_CONFIG), + CLIENT_ID_KEY => Some(CLIENT_ID_CONFIG), + _ => None, + } + } + + /// Write a key-value pair to flash storage. + /// + /// The key must be one of the predefined ones and the value length can not be longer than + /// `ENTRY_SIZE`. + /// + /// Before writing, the whole sector must be erased, otherwise garbage writes can occur. For + /// that reason `ENTRY_SIZE` is set to the ERASE_SIZE of the RP2040 (4096 bits), otherwise we + /// would get misaligned erasures. + /// + /// Each key-vaue pair is encoded as [,], value_length being one byte + /// long. + pub fn write_config(&mut self, key: &str, val: &str) -> Result<(), FlashError> { + let entry_cursor = self.get_config_cursor(key).ok_or(FlashError::NoSuchKey)?; + let val_data = val.as_bytes(); + + if val_data.len() > ENTRY_SIZE as usize { + error!( + "data of length {} for {} is longer than the max entry size of {}", + val_data.len(), + key, + ENTRY_SIZE + ); + return Err(FlashError::ValueTooLong); + } + + self.flash + .blocking_erase(entry_cursor, entry_cursor + ERASE_SIZE as u32)?; + self.flash + .blocking_write(entry_cursor, &[val_data.len() as u8])?; // value length + self.flash.blocking_write(entry_cursor + 1, val_data)?; + + Ok(()) + } + + /// Read the value of a key from flash storage. + pub fn read_config<'b>( + &mut self, + key: &str, + buffer: &'b mut [u8; ENTRY_SIZE as usize], + ) -> Result<&'b str, FlashError> { + let entry_cursor = self.get_config_cursor(key).ok_or(FlashError::NoSuchKey)?; + + let mut length_buffer: [u8; 1] = [0; 1]; + self.flash.blocking_read(entry_cursor, &mut length_buffer)?; + let length = length_buffer[0] as usize; + + if length < 1 || length > ENTRY_SIZE as usize { + error!("there is no valid value for {}", key); + return Err(FlashError::NoValue); + } + + self.flash.blocking_read(entry_cursor + 1, buffer)?; + let val = core::str::from_utf8(&buffer[0..length])?; + + Ok(val) + } +} diff --git a/controller/src/main.rs b/controller/src/main.rs new file mode 100644 index 0000000..348d6fc --- /dev/null +++ b/controller/src/main.rs @@ -0,0 +1,101 @@ +//! Read the temperature at regular intervals and publish that data via MQTT: +//! Configure the microcontroller with commands sent across an usb-serial connection. + +#![no_std] +#![no_main] + +use core::str::FromStr; + +use byte_handler::cmd_task; +use cyw43::Control; +use defmt::{error, info}; +use embassy_executor::Spawner; +use embassy_net::Stack; +use embassy_time::Timer; +use flash::{Config, FlashError}; +use static_cell::StaticCell; +use temperature::{temperature_task, Temperature}; +use usb_serial::{init_usb, usb_task}; +use wifi::connect; +use {defmt_rtt as _, panic_probe as _}; + +use crate::{mqtt::BUFFER_SIZE, wifi::init_wifi}; + +mod byte_handler; +mod cmd_handlers; +mod flash; +mod mqtt; +mod temperature; +mod usb_serial; +mod wifi; + +async fn connect_wifi<'a>( + config: &mut Config<'static>, + wifi: &mut Control<'a>, + net_stack: &'a Stack>, +) -> Result<(), FlashError> { + let mut ssid_buffer = [0; flash::ENTRY_SIZE as usize]; + let ssid = config.read_config(flash::SSID_KEY, &mut ssid_buffer)?; + let mut ssid_pw_buffer = [0; flash::ENTRY_SIZE as usize]; + let ssid_pw = config.read_config(flash::SSID_PW_KEY, &mut ssid_pw_buffer)?; + + if !ssid.is_empty() { + connect(wifi, net_stack, ssid, ssid_pw).await; + } + Ok(()) +} + +static CONFIG: StaticCell = StaticCell::new(); + +static RX_BUFFER: StaticCell<[u8; BUFFER_SIZE]> = StaticCell::new(); +static TX_BUFFER: StaticCell<[u8; BUFFER_SIZE]> = StaticCell::new(); + +static CLIENT_ID_BUFFER: StaticCell<[u8; flash::ENTRY_SIZE as usize]> = StaticCell::new(); +static MQTT_IP_BUFFER: StaticCell<[u8; flash::ENTRY_SIZE as usize]> = StaticCell::new(); + +#[embassy_executor::main] +async fn main(spawner: Spawner) { + let p = embassy_rp::init(Default::default()); + + Timer::after_millis(100).await; + + let config = CONFIG.init(Config::init(p.FLASH, p.DMA_CH0)); + + let (mut wifi, net_stack) = init_wifi( + spawner, p.PIN_23, p.PIN_24, p.PIN_25, p.PIN_29, p.PIO0, p.DMA_CH1, + ) + .await; + match connect_wifi(config, &mut wifi, net_stack).await { + Ok(_) => info!("Connected to WiFi."), + Err(_) => error!("Failed to connect to WiFi"), + } + + let rx_buffer = RX_BUFFER.init([0u8; BUFFER_SIZE]); + let tx_buffer = TX_BUFFER.init([0u8; BUFFER_SIZE]); + + let client_id_buffer = CLIENT_ID_BUFFER.init([0u8; flash::ENTRY_SIZE as usize]); + let client_id = config + .read_config(flash::CLIENT_ID_KEY, client_id_buffer) + .unwrap_or("tomato"); + + let mqtt_ip_buffer = MQTT_IP_BUFFER.init([0u8; flash::ENTRY_SIZE as usize]); + let mqtt_ip = config + .read_config(flash::MQTT_KEY, mqtt_ip_buffer) + .unwrap_or("127.0.0.1"); + + let mqtt = mqtt::Client::new(client_id, net_stack, rx_buffer, tx_buffer); + let host_addr = embassy_net::IpAddress::from_str(mqtt_ip) + .unwrap_or(embassy_net::IpAddress::v4(127, 0, 1, 1)); + let temps = Temperature::new(p.ADC, p.ADC_TEMP_SENSOR); + + let (usb, class) = init_usb(p.USB); + spawner + .spawn(usb_task(usb)) + .expect("failed to run usb task"); + spawner + .spawn(cmd_task(class, config)) + .expect("failed initializing usb command handler"); + spawner + .spawn(temperature_task(client_id, host_addr, mqtt, temps)) + .expect("failed starting temperature task"); +} diff --git a/controller/src/mqtt.rs b/controller/src/mqtt.rs new file mode 100644 index 0000000..42f6dba --- /dev/null +++ b/controller/src/mqtt.rs @@ -0,0 +1,73 @@ +use defmt::Format; +use embassy_net::{ + tcp::{ConnectError, Error, TcpSocket}, + IpAddress, Stack, +}; +use embassy_time::Duration; +use mqtt_protocol::{connect::Connect, publish::Publish}; + +pub const BUFFER_SIZE: usize = 4096; +const TCP_TIMEOUT_SECS: u64 = 5; + +#[derive(Debug, Format)] +pub enum MqttError { + TcpError(Error), + ConnectError(ConnectError), +} + +impl From for MqttError { + fn from(err: ConnectError) -> Self { + MqttError::ConnectError(err) + } +} + +impl From for MqttError { + fn from(err: Error) -> Self { + MqttError::TcpError(err) + } +} + +/// Very simple MQTT client, capable of sending simple publish packets over unencrypted TCP/IP. +pub struct Client<'a> { + pub client_id: &'a str, + socket: TcpSocket<'a>, +} + +impl<'a> Client<'a> { + /// Initialize the socket for sending MQTT data and set the socket timeout to `TCP_TIMEOUT_SECS`. + /// + /// - `client_id`: Identification of this client. + /// - `net_stack`: network stack for sending data. + /// - `rx_buffer`: byte buffer for receiving data. + /// - `tx_buffer`: byte buffer for sending data. + pub fn new( + client_id: &'a str, + net_stack: &'a Stack>, + rx_buffer: &'static mut [u8; BUFFER_SIZE], + tx_buffer: &'static mut [u8; BUFFER_SIZE], + ) -> Self { + let mut socket = embassy_net::tcp::TcpSocket::new(net_stack, rx_buffer, tx_buffer); + socket.set_timeout(Some(Duration::from_secs(TCP_TIMEOUT_SECS))); + + Self { client_id, socket } + } + + //// Publish the payload `payload` to the MQTT topic `topic` on the broker running at `address`:1883. + pub async fn publish( + &mut self, + address: IpAddress, + topic: &str, + payload: &[u8], + ) -> Result<(), MqttError> { + self.socket.connect((address, 1883)).await?; + let connect = Connect::new(self.client_id); + self.socket.write(&connect.data[0..connect.length]).await?; + + let publish = Publish::new(topic, payload); + self.socket.write(&publish.data[0..publish.length]).await?; + + self.socket.close(); + + Ok(()) + } +} diff --git a/controller/src/temperature.rs b/controller/src/temperature.rs new file mode 100644 index 0000000..ba37862 --- /dev/null +++ b/controller/src/temperature.rs @@ -0,0 +1,86 @@ +use defmt::{error, info}; +use embassy_net::IpAddress; +use embassy_rp::{ + adc::{Adc, Async, Channel, Config, Error, InterruptHandler}, + bind_interrupts, + peripherals::{ADC, ADC_TEMP_SENSOR}, +}; +use embassy_time::Timer; +use mqtt_protocol::publish::MAX_TOPIC_LENGTH; + +use crate::mqtt; + +bind_interrupts!(struct Irqs { + ADC_IRQ_FIFO => InterruptHandler; +}); + +#[embassy_executor::task] +pub async fn temperature_task( + client_id: &'static str, + host_addr: IpAddress, + mut mqtt: mqtt::Client<'static>, + mut temps: Temperature<'static>, +) -> ! { + const TOPIC_PREFIX: &str = "temps/"; + let mut topic_buffer = [0u8; MAX_TOPIC_LENGTH - TOPIC_PREFIX.len()]; + topic_buffer[..TOPIC_PREFIX.len()].copy_from_slice(TOPIC_PREFIX.as_bytes()); + + let client_id_bytes = client_id.as_bytes(); + topic_buffer[TOPIC_PREFIX.len()..TOPIC_PREFIX.len() + client_id_bytes.len()] + .copy_from_slice(client_id_bytes); + + let topic_full = + core::str::from_utf8(&topic_buffer[..TOPIC_PREFIX.len() + client_id_bytes.len()]) + .unwrap_or("temps/tomato"); + + loop { + match temps.read().await { + Ok(temp) => { + info!("publishing temperature data..."); + if let Err(e) = mqtt + .publish(host_addr, topic_full, &temp.to_le_bytes()) + .await + { + error!("failed to publish temperature data: {}", e); + } + } + Err(e) => error!("failed to read temperature: {}", e), + } + + Timer::after_secs(10).await; + } +} + +/// Convert the raw temperature sensor reading into degrees celsius. +/// +/// Taken from the [embassy examples](https://github.com/embassy-rs/embassy/blob/b6fc682117a41e8e63a9632e06da5a17f46d9ab0/examples/rp/src/bin/adc.rs#L43). +fn convert_to_celsius(raw_temp: u16) -> f32 { + // According to chapter 4.9.5. Temperature Sensor in RP2040 datasheet + let temp = 27.0 - (raw_temp as f32 * 3.3 / 4096.0 - 0.706) / 0.001721; + let sign = if temp < 0.0 { -1.0 } else { 1.0 }; + let rounded_temp_x10: i16 = ((temp * 10.0) + 0.5 * sign) as i16; + (rounded_temp_x10 as f32) / 10.0 +} + +pub struct Temperature<'a> { + adc: Adc<'a, Async>, + ts: Channel<'a>, +} + +impl<'a> Temperature<'a> { + /// Initialize the temperature sensor. + pub fn new(adc_pin: ADC, adc_temp_pin: ADC_TEMP_SENSOR) -> Self { + let adc = Adc::new(adc_pin, Irqs, Config::default()); + let ts = Channel::new_temp_sensor(adc_temp_pin); + + Self { adc, ts } + } + + /// Read from the temperature sensor and return the value in degree celsius. + pub async fn read(&mut self) -> Result { + let temp = self.adc.read(&mut self.ts).await?; + let temp = convert_to_celsius(temp); + + Ok(temp) + } +} diff --git a/controller/src/usb_serial.rs b/controller/src/usb_serial.rs new file mode 100644 index 0000000..46eaf98 --- /dev/null +++ b/controller/src/usb_serial.rs @@ -0,0 +1,74 @@ +use embassy_rp::{ + bind_interrupts, + peripherals::USB, + usb::{Driver, InterruptHandler}, +}; +use embassy_usb::{ + class::cdc_acm::{CdcAcmClass, State}, + Builder, Config, UsbDevice, +}; +use static_cell::StaticCell; + +bind_interrupts!(struct Irqs { + USBCTRL_IRQ => InterruptHandler; +}); + +pub type SerialDevice = UsbDevice<'static, Driver<'static, USB>>; +pub type DeviceClass = CdcAcmClass<'static, Driver<'static, USB>>; + +const DESCRIPTOR_SIZE: usize = 256; +type Descriptor = [u8; DESCRIPTOR_SIZE]; + +const BUFFER_SIZE: usize = 64; +type ControlBuffer = [u8; BUFFER_SIZE]; + +static DEVICE_DESCRIPTOR: StaticCell = StaticCell::new(); +static CONFIG_DESCRIPTOR: StaticCell = StaticCell::new(); +static BOS_DESCRIPTOR: StaticCell = StaticCell::new(); +static CONTROL_BUFFER: StaticCell = StaticCell::new(); +static STATE: StaticCell = StaticCell::new(); +static CLASS: StaticCell = StaticCell::new(); + +#[embassy_executor::task] +pub async fn usb_task(mut usb: SerialDevice) -> ! { + usb.run().await +} + +/// Initialize the USB serial interface and return the device and CdcAcm class (Abstract Control Model). +pub fn init_usb(usb: USB) -> (SerialDevice, &'static mut DeviceClass) { + let driver = Driver::new(usb, Irqs); + + let mut config = Config::new(0xc0de, 0xcafe); + config.manufacturer = Some("Embassy"); + config.product = Some("USB-serial"); + config.serial_number = Some("123456789"); + config.max_power = 100; + config.max_packet_size_0 = 64; + + // Required for windows 7 compatibility. + // https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.9.1/kconfig/CONFIG_CDC_ACM_IAD.html#help + config.device_class = 0xEF; + config.device_sub_class = 0x02; + config.device_protocol = 0x01; + config.composite_with_iads = true; + + let device_descriptor = DEVICE_DESCRIPTOR.init([0u8; DESCRIPTOR_SIZE]); + let config_descriptor = CONFIG_DESCRIPTOR.init([0u8; DESCRIPTOR_SIZE]); + let bos_descriptor = BOS_DESCRIPTOR.init([0u8; DESCRIPTOR_SIZE]); + let control_buf = CONTROL_BUFFER.init([0u8; BUFFER_SIZE]); + + let state = STATE.init(State::new()); + let mut builder = Builder::new( + driver, + config, + device_descriptor, + config_descriptor, + bos_descriptor, + control_buf, + ); + + let class = CLASS.init(CdcAcmClass::new(&mut builder, state, 64)); + let usb = builder.build(); + + (usb, &mut *class) +} diff --git a/controller/src/wifi.rs b/controller/src/wifi.rs new file mode 100644 index 0000000..7a34580 --- /dev/null +++ b/controller/src/wifi.rs @@ -0,0 +1,128 @@ +use cyw43::{Control, ControlError, State}; +use cyw43_pio::PioSpi; +use defmt::{error, info, unwrap}; +use embassy_executor::Spawner; +use embassy_net::{Config, Stack, StackResources}; +use embassy_rp::{ + bind_interrupts, + clocks::RoscRng, + gpio::{Level, Output}, + peripherals::{DMA_CH1, PIN_23, PIN_24, PIN_25, PIN_29, PIO0}, + pio::{InterruptHandler, Pio}, +}; +use embassy_time::Timer; +use rand::RngCore; +use static_cell::StaticCell; + +const MAX_WIFI_TRIES: u8 = 3; +const MAX_DHCP_TRIES: u8 = 20; + +bind_interrupts!(struct Irqs { + PIO0_IRQ_0 => InterruptHandler; +}); + +#[embassy_executor::task] +async fn wifi_task( + runner: cyw43::Runner<'static, Output<'static>, PioSpi<'static, PIO0, 0, DMA_CH1>>, +) -> ! { + runner.run().await +} + +#[embassy_executor::task] +async fn net_task(stack: &'static Stack>) -> ! { + stack.run().await +} + +static STATE: StaticCell = StaticCell::new(); +static STACK: StaticCell>> = StaticCell::new(); +const STACK_RESOURCES_COUNT: usize = 2; +static STACK_RESOURCES: StaticCell> = StaticCell::new(); + +// Initialise the wwifi chip of the RP2040 and return the control interface as well as the network +// stack. +pub async fn init_wifi( + spawner: Spawner, + pin_23: PIN_23, + pin_24: PIN_24, + pin_25: PIN_25, + pin_29: PIN_29, + pio0: PIO0, + dma_ch1: DMA_CH1, +) -> (Control<'static>, &'static Stack>) { + let fw = include_bytes!("../cyw43-firmware/43439A0.bin"); + let clm = include_bytes!("../cyw43-firmware/43439A0_clm.bin"); + + let pwr = Output::new(pin_23, Level::Low); + let cs = Output::new(pin_25, Level::High); + let mut pio = Pio::new(pio0, Irqs); + let spi = PioSpi::new( + &mut pio.common, + pio.sm0, + pio.irq0, + cs, + pin_24, + pin_29, + dma_ch1, + ); + + let state = STATE.init(State::new()); + let (net_device, mut control, runner) = cyw43::new(state, pwr, spi, fw).await; + + unwrap!(spawner.spawn(wifi_task(runner))); + + control.init(clm).await; + control + .set_power_management(cyw43::PowerManagementMode::PowerSave) + .await; + + let config = Config::dhcpv4(Default::default()); + + let mut rng = RoscRng; + let seed = rng.next_u64(); + + // Init network stack + let resources = STACK_RESOURCES.init(StackResources::::new()); + let stack = &*STACK.init(Stack::new(net_device, config, resources, seed)); + + unwrap!(spawner.spawn(net_task(stack))); + + (control, stack) +} + +/// Connect to a WiFi network using WPA2 and try to get an IP from DHCP (IPv4). +pub async fn connect<'a>( + wifi: &mut Control<'a>, + net_stack: &Stack>, + ssid: &str, + pw: &str, +) { + info!("trying to connect to {}...", ssid); + + let mut idx = 0; + let mut status: Result<(), ControlError> = Err(ControlError { status: 0 }); + + while idx < MAX_WIFI_TRIES && status.is_err() { + status = wifi.join_wpa2(ssid, pw).await; + Timer::after_millis(100).await; + + idx += 1; + } + + if let Err(e) = status { + error!("WiFi connection failed: {}", e.status); + } else { + info!("waiting for DHCP..."); + + idx = 0; + while idx < MAX_DHCP_TRIES && !net_stack.is_config_up() { + Timer::after_millis(1000).await; + idx += 1; + } + + if net_stack.is_config_up() { + info!("DHCP is up!"); + } else { + error!("Failed to get an IP from DHCP"); + } + } +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..06f1ef6 --- /dev/null +++ b/flake.lock @@ -0,0 +1,114 @@ +{ + "nodes": { + "fenix": { + "inputs": { + "nixpkgs": "nixpkgs", + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1731738660, + "narHash": "sha256-tIXhc9lX1b030v812yVJanSR37OnpTb/OY5rU3TbShA=", + "owner": "nix-community", + "repo": "fenix", + "rev": "e10ba121773f754a30d31b6163919a3e404a434f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1731319897, + "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "dc460ec76cbff0e66e269457d7b728432263166c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1731319897, + "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "dc460ec76cbff0e66e269457d7b728432263166c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "fenix": "fenix", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2" + } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1731693936, + "narHash": "sha256-uHUUS1WPyW6ohp5Bt3dAZczUlQ22vOn7YZF8vaPKIEw=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "1b90e979aeee8d1db7fe14603a00834052505497", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..2f5ce10 --- /dev/null +++ b/flake.nix @@ -0,0 +1,37 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + fenix.url = "github:nix-community/fenix"; + }; + + outputs = + { + nixpkgs, + fenix, + flake-utils, + ... + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = import nixpkgs { inherit system; }; + fx = fenix.packages.${system}; + rust = fx.combine [ + fx.stable.toolchain + fx.targets.thumbv6m-none-eabi.stable.rust-std + ]; + buildInputs = [ + rust + pkgs.cargo-deny + pkgs.rust-analyzer + pkgs.probe-rs + ]; + in + { + devShells.default = pkgs.mkShell { + buildInputs = buildInputs; + }; + } + ); +} diff --git a/mqtt-protocol/Cargo.toml b/mqtt-protocol/Cargo.toml new file mode 100644 index 0000000..65a0ac1 --- /dev/null +++ b/mqtt-protocol/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "mqtt-protocol" +version.workspace = true +edition.workspace = true +description.workspace = true +license.workspace = true + +[dependencies] diff --git a/mqtt-protocol/src/connect.rs b/mqtt-protocol/src/connect.rs new file mode 100644 index 0000000..0330ef9 --- /dev/null +++ b/mqtt-protocol/src/connect.rs @@ -0,0 +1,128 @@ +use crate::fixed_header::FixedHeader; + +// [MQTT 5.0: 3.1.3.1](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc385349242) +const ALLOWED_CLIENT_ID_CHARS: &str = + "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; +// [MQTT 5.0: 3.1.3.1](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc385349242) +const MAX_CLIENT_ID_SIZE: usize = 23; + +// [MQTT 5.0: 3.1.1](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_CONNECT_Fixed_Header) +const FIXED_CONNECT_TYPE: u8 = 0x01; +// [MQTT 5.0: 3.1.1](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_CONNECT_Fixed_Header) +const FIXED_CONNECT_FLAGS: u8 = 0x00; + +// "MQTT" [MQTT 5.0: 3.1.2.1](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc385349225) +const PROTOCOL_NAME: [u8; 6] = [0x00, 0x04, 0x4d, 0x51, 0x54, 0x54]; +// "version 5" [MQTT 5.0: 3.1.2.2](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc385349227) +const PROTOCOL_VERSION: [u8; 1] = [0x05]; +// no user name, no will qos, no will, no clean start [MQTT 5.0: 3.1.2.3 - 3.1.2.9](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc385349229) +const CONNECT_FLAGS: [u8; 1] = [0x00]; +// turn off keep alive mechanism [MQTT 5.0: 3.1.2.10](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Keep_Alive_1) +const KEEP_ALIVE: [u8; 2] = [0x00, 0x00]; +// no properties [MQTT 5.0: 3.1.2.11](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc511988523) +const PROPERTIES: [u8; 1] = [0x00]; + +// calculate position in the data array (those that are constant) +const PROTOCOL_NAME_IDX: usize = 0; +const PROTOCOL_VERSION_IDX: usize = PROTOCOL_NAME_IDX + PROTOCOL_NAME.len(); +const CONNECT_FLAGS_IDX: usize = PROTOCOL_VERSION_IDX + PROTOCOL_VERSION.len(); +const KEEP_ALIVE_IDX: usize = CONNECT_FLAGS_IDX + CONNECT_FLAGS.len(); +const PROPERTIES_IDX: usize = KEEP_ALIVE_IDX + KEEP_ALIVE.len(); +const PAYLOAD_IDX: usize = PROPERTIES_IDX + PROPERTIES.len(); + +// max size the variable header + payload of a connect packet +const MAX_PACKET_LENGTH: usize = PROTOCOL_NAME.len() + + PROTOCOL_VERSION.len() + + CONNECT_FLAGS.len() + + KEEP_ALIVE.len() + + PROPERTIES.len() + + MAX_CLIENT_ID_SIZE + + 2; // two bytes for the client id length + +// max size a whole connect packet can be +const MAX_CONNECT_LENGTH: usize = MAX_PACKET_LENGTH + 5; // 5 is the max length of the fixed header + +pub struct Connect { + // byte representation of the connect packet + pub data: [u8; MAX_CONNECT_LENGTH], + // actual length of the whole connect packet + pub length: usize, +} + +impl Connect { + /// Create an MQTT connect packet. + /// + /// See [MQTT 5.0: 3.1](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_CONNECT_%E2%80%93_Connection) + /// for the byte structure. + /// + /// `client_id` is how the client identifies itself. According to + /// [MQTT 5.0: 3.1.3.1]((https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc385349242) + /// this is not strictly necessary but a server does not have to accept this. + /// + /// The same holds for the limitation of 23 bytes for the `client_id`. + pub fn new(client_id: &str) -> Self { + assert!(client_id + .chars() + .all(|x| ALLOWED_CLIENT_ID_CHARS.contains(x))); + + let client_id_data = client_id.as_bytes(); + assert!(!client_id_data.is_empty() && client_id_data.len() <= MAX_CLIENT_ID_SIZE); + + let client_id_length = client_id_data.len() as u16; + let high_byte = ((client_id_length & 0xFF00) >> 8) as u8; + let low_byte = (client_id_length & 0x00FF) as u8; + + let mut payload_data = [0u8; MAX_CLIENT_ID_SIZE + 2]; + payload_data[0] = high_byte; + payload_data[1] = low_byte; + payload_data[2..2 + client_id_data.len()].copy_from_slice(client_id_data); + + let packet_length = MAX_PACKET_LENGTH - MAX_CLIENT_ID_SIZE + client_id_data.len(); + let fixed_header = FixedHeader::new( + FIXED_CONNECT_TYPE, + FIXED_CONNECT_FLAGS, + packet_length as u32, + ); + + let mut data = [0u8; MAX_CONNECT_LENGTH]; + data[0] = fixed_header.type_flags; + data[1..1 + fixed_header.length] + .copy_from_slice(&fixed_header.remaining_length[0..fixed_header.length]); + let fixed_offset = fixed_header.length + 1; + + data[fixed_offset + PROTOCOL_NAME_IDX..fixed_offset + PROTOCOL_VERSION_IDX] + .copy_from_slice(&PROTOCOL_NAME); + data[fixed_offset + PROTOCOL_VERSION_IDX..fixed_offset + CONNECT_FLAGS_IDX] + .copy_from_slice(&PROTOCOL_VERSION); + data[fixed_offset + CONNECT_FLAGS_IDX..fixed_offset + KEEP_ALIVE_IDX] + .copy_from_slice(&CONNECT_FLAGS); + data[fixed_offset + KEEP_ALIVE_IDX..fixed_offset + PROPERTIES_IDX] + .copy_from_slice(&KEEP_ALIVE); + data[fixed_offset + PROPERTIES_IDX..fixed_offset + PAYLOAD_IDX] + .copy_from_slice(&PROPERTIES); + data[fixed_offset + PAYLOAD_IDX..fixed_offset + PAYLOAD_IDX + client_id_data.len() + 2] + .copy_from_slice(&payload_data[0..client_id_data.len() + 2]); + + Self { + data, + length: packet_length + fixed_header.length + 1, + } + } +} + +#[cfg(test)] +mod tests { + use super::Connect; + + #[test] + fn test_encode_decode_length_1_byte() { + let connect = Connect::new("Tomato"); + assert_eq!( + connect.data[0..connect.length], + [ + 0x10, 0x13, 0x00, 0x04, 0x4d, 0x51, 0x54, 0x54, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x54, 0x6f, 0x6d, 0x61, 0x74, 0x6f + ] + ) + } +} diff --git a/mqtt-protocol/src/fixed_header.rs b/mqtt-protocol/src/fixed_header.rs new file mode 100644 index 0000000..733a156 --- /dev/null +++ b/mqtt-protocol/src/fixed_header.rs @@ -0,0 +1,28 @@ +use super::variable_length::encode_length; + +pub struct FixedHeader { + pub type_flags: u8, + // length of variable header + payload, encoded as a variable byte integer + // ([MQTT 5.0: 1.5.5](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc473619950)) + pub remaining_length: [u8; 4], + // how many bytes in the remaining length field are relevant (left to right) + pub length: usize, +} + +impl FixedHeader { + /// Create a fixed header ([MQTT 5.0: 2.1.1](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc511988498)) for an MQTT packet. + /// + /// - `packet_type`: [MQTT 5.0: 2.1.2](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc353481061) + /// - `flags`: [MQTT 5.0: 2.1.3](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc353481062) + /// - `remaining_length`: Length of the variable header + payload. + pub fn new(packet_type: u8, flags: u8, remaining_length: u32) -> Self { + let mut remaining_length_data = [0u8; 4]; + let length = encode_length(remaining_length, &mut remaining_length_data); + + Self { + type_flags: packet_type << 4 | (flags & 0x0F), + remaining_length: remaining_length_data, + length: length.into(), + } + } +} diff --git a/mqtt-protocol/src/lib.rs b/mqtt-protocol/src/lib.rs new file mode 100644 index 0000000..1069309 --- /dev/null +++ b/mqtt-protocol/src/lib.rs @@ -0,0 +1,10 @@ +//! Implement just enough of the MQTT protocol to be able to publish data with +//! QOS 0. +//! All formats are taken from [MQTT Version 5.0](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html). + +#![cfg_attr(not(test), no_std)] + +pub mod connect; +pub mod fixed_header; +pub mod publish; +pub mod variable_length; diff --git a/mqtt-protocol/src/publish.rs b/mqtt-protocol/src/publish.rs new file mode 100644 index 0000000..3b33dec --- /dev/null +++ b/mqtt-protocol/src/publish.rs @@ -0,0 +1,80 @@ +use crate::fixed_header::FixedHeader; + +// [MQTT 5.0: 3.3.1](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc359155681) +const FIXED_PUBLISH_TYPE: u8 = 0x03; +// no flags set [MQTT 5.0: 3.3.1](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc359155681) +const FIXED_PUBLISH_FLAGS: u8 = 0x00; + +// no properties [MQTT 5.0: 3.3.2.3](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc511988586) +const PROPERTIES: [u8; 1] = [0x00]; + +// technically this is 65535 (see https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_UTF-8_Encoded_String) +// but we do not need that here +pub const MAX_TOPIC_LENGTH: usize = 254; + +// this is again arbitrarilly constricted, technically it could be as long as the variable length +// encoding allows (minus fixed and variable header) +const MAX_PAYLOAD_LENGTH: usize = 128; +// 7 is 5 + 2 which is max length of the fixed header and the two bytes used to encode the topic +// length +const MAX_PUBLISH_LENGTH: usize = MAX_TOPIC_LENGTH + 7 + MAX_PAYLOAD_LENGTH; + +/// Encode a string to an MQTT length encoded string +/// [MQTT 5.0: 1.5.4](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc462729066) +fn encode_mqtt_str(topic: &str, encode_buffer: &mut [u8; MAX_TOPIC_LENGTH]) -> usize { + let topic_data = topic.as_bytes(); + assert!(topic_data.len() <= MAX_TOPIC_LENGTH); + + encode_buffer[0] = 0; // no need for the high bits as our max topic length is too small + encode_buffer[1] = topic_data.len() as u8; + encode_buffer[2..2 + topic_data.len()].copy_from_slice(topic_data); + + topic_data.len() + 2 +} + +pub struct Publish { + // byte representation of the publish packet + pub data: [u8; MAX_PUBLISH_LENGTH], + // actual length of the whole publish packet + pub length: usize, +} + +impl Publish { + /// Create an MQTT publish packet. + /// + /// See [MQTT 5.0: 3.3](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc384800410) + /// for the byte structure. + /// + /// `topic`: defines the topic to publish to + /// `payload` value to publish as is + pub fn new(topic: &str, payload: &[u8]) -> Self { + let mut topic_data = [0u8; MAX_TOPIC_LENGTH]; + let topic_length = encode_mqtt_str(topic, &mut topic_data); + + let packet_length = PROPERTIES.len() + topic_length + 2 + payload.len(); + let fixed_header = FixedHeader::new( + FIXED_PUBLISH_TYPE, + FIXED_PUBLISH_FLAGS, + packet_length as u32, + ); + + let mut data = [0u8; MAX_PUBLISH_LENGTH]; + data[0] = fixed_header.type_flags; + data[1..1 + fixed_header.length] + .copy_from_slice(&fixed_header.remaining_length[0..fixed_header.length]); + let fixed_offset = fixed_header.length + 1; + + let topic_idx = fixed_offset; + let properties_idx = topic_idx + topic_length; + let payload_idx = properties_idx + PROPERTIES.len(); + + data[topic_idx..properties_idx].copy_from_slice(&topic_data[0..topic_length]); + data[properties_idx..payload_idx].copy_from_slice(&PROPERTIES); + data[payload_idx..payload_idx + payload.len()].copy_from_slice(payload); + + Self { + data, + length: packet_length + fixed_header.length + 1, + } + } +} diff --git a/mqtt-protocol/src/variable_length.rs b/mqtt-protocol/src/variable_length.rs new file mode 100644 index 0000000..806e31d --- /dev/null +++ b/mqtt-protocol/src/variable_length.rs @@ -0,0 +1,94 @@ +/// Encode an integer as a variable byte integer +/// [MQTT 5.0: 1.5.5](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc473619950) +pub fn encode_length(length: u32, encoded_length: &mut [u8; 4]) -> u8 { + let mut length = length; + + let mut idx = 0; + while idx < encoded_length.len() && length > 0 { + let mut encoded_byte = (length % 128) as u8; + length /= 128; + + if length > 0 { + encoded_byte |= 0x80; // Set the highest bit + } + encoded_length[idx] = encoded_byte; + + idx += 1; + } + + idx as u8 +} + +/// Decode a variable byte integer as an integer. +/// [MQTT 5.0: 1.5.5](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc473619950) +pub fn decode_length(bytes: [u8; 4]) -> u32 { + let mut length = 0u32; + let mut multiplier = 1u32; + + let mut idx = 0; + let mut byte = bytes[idx]; + + while idx < bytes.len() && byte & 0x80 != 0 { + length += ((byte & 0x7F) as u32) * multiplier; + multiplier *= 128; + + idx += 1; + byte = bytes[idx] + } + length += ((byte & 0x7F) as u32) * multiplier; + + length +} + +#[cfg(test)] +mod tests { + use crate::variable_length::{decode_length, encode_length}; + + #[test] + fn test_encode_decode_length_1_byte() { + let mut length = [0u8; 4]; + let byte_length = encode_length(16, &mut length); + + assert_eq!(byte_length, 1); + assert_eq!(length, [0x10, 0x00, 0x00, 0x00]); + + let length = decode_length(length); + assert_eq!(length, 16); + } + + #[test] + fn test_encode_decode_length_2_bytes() { + let mut length = [0u8; 4]; + let byte_length = encode_length(568, &mut length); + + assert_eq!(byte_length, 2); + assert_eq!(length, [0xb8, 0x04, 0x00, 0x00]); + + let length = decode_length(length); + assert_eq!(length, 568); + } + + #[test] + fn test_encode_decode_length_3_bytes() { + let mut length = [0u8; 4]; + let byte_length = encode_length(85734, &mut length); + + assert_eq!(byte_length, 3); + assert_eq!(length, [0xe6, 0x9d, 0x05, 0x00]); + + let length = decode_length(length); + assert_eq!(length, 85734); + } + + #[test] + fn test_encode_length_4_bytes() { + let mut length = [0u8; 4]; + let byte_length = encode_length(8573471, &mut length); + + assert_eq!(byte_length, 4); + assert_eq!(length, [0x9f, 0xa4, 0x8b, 0x04]); + + let length = decode_length(length); + assert_eq!(length, 8573471); + } +} diff --git a/serial-comm/Cargo.toml b/serial-comm/Cargo.toml new file mode 100644 index 0000000..7ded2d0 --- /dev/null +++ b/serial-comm/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "serial-comm" +version.workspace = true +edition.workspace = true +description.workspace = true +license.workspace = true + +[dependencies] diff --git a/serial-comm/src/cobs.rs b/serial-comm/src/cobs.rs new file mode 100644 index 0000000..bc38ee4 --- /dev/null +++ b/serial-comm/src/cobs.rs @@ -0,0 +1,150 @@ +// sentinel value for backage boundaries +// could be anything but 0x00 is used as a default and makes sense +pub const SENTINEL: u8 = 0x00; +// max size of non SENTINEL values before a code split occurs +const SPLIT_BOUNDARY: u8 = 0xff; + +/// Encode a byte array of size `INPUT` with an actual data length of`length` +/// to an output array of size `OUTPUT`, using the COBS algorithm. +/// +/// Return a tuple of the structure (, ) +pub fn encode( + input: [u8; INPUT], + length: usize, +) -> (usize, [u8; OUTPUT]) { + let mut output: [u8; OUTPUT] = [0; OUTPUT]; + + let mut encode_idx = 1; + let mut code_idx = 0; + let mut code = 1; + + for byte in input.iter().take(length) { + if *byte == SENTINEL { + output[code_idx] = code; + code = 1; + code_idx = encode_idx; + encode_idx += 1; + } else { + output[encode_idx] = *byte; + encode_idx += 1; + code += 1; + + if code == SPLIT_BOUNDARY { + output[code_idx] = code; + code = 1; + code_idx = encode_idx; + + if encode_idx < length { + encode_idx += 1; + } + } + } + } + + if code_idx < OUTPUT { + output[code_idx] = code; + } + + (encode_idx, output) +} + +/// Decode a COBS encoded byte array of length `INPUT` and an actual data length of `length` to an +/// array of length `OUTPUT`. +/// +/// Return a tuple of the structure (, ) +pub fn decode( + input: [u8; INPUT], + length: usize, +) -> (usize, [u8; OUTPUT]) { + let mut output: [u8; OUTPUT] = [0; OUTPUT]; + + let mut out_idx = 0; + let mut idx = 0; + + while idx < length { + let code = input[idx]; + idx += 1; + + for _ in 1..code { + if idx < length { + output[out_idx] = input[idx]; + out_idx += 1; + idx += 1; + } + } + + if code != SPLIT_BOUNDARY && idx < length { + output[out_idx] = SENTINEL; + out_idx += 1; + } + } + + (out_idx, output) +} + +#[cfg(test)] +mod tests { + use crate::cobs::{decode, encode}; + + #[test] + fn test_paper_example() { + let input = [ + 0x45, 0x00, 0x00, 0x2c, 0x4c, 0x79, 0x00, 0x00, 0x40, 0x06, 0x4f, 0x37, + ]; + let output = [ + 0x02, 0x45, 0x01, 0x04, 0x2c, 0x4c, 0x79, 0x01, 0x05, 0x40, 0x06, 0x4f, 0x37, + ]; + assert_eq!(encode(input, 12), (13, output)); + assert_eq!(decode(output, 13), (12, input)); + } + + #[test] + fn test_empty_input() { + let input = []; + let output = [0x01]; + assert_eq!(encode(input, 0), (1, output)); + assert_eq!(decode(output, 1), (0, input)); + } + + #[test] + fn test_all_zeros() { + let input = [0x00, 0x00, 0x00]; + let output = [0x01, 0x01, 0x01, 0x01]; + assert_eq!(encode(input, 3), (4, output)); + assert_eq!(decode(output, 4), (3, input)); + } + + #[test] + fn test_no_zeros() { + let input = [0x01, 0x02, 0x03]; + let output = [0x04, 0x01, 0x02, 0x03]; + assert_eq!(encode(input, 3), (4, output)); + assert_eq!(decode(output, 4), (3, input)); + } + + #[test] + fn test_no_zeros_in_254_bytes() { + let input: [u8; 254] = [0x01; 254]; + + // expected output will have the first byte as 0xFF followed by the 255 non-zero bytes. + let mut output: [u8; 255] = [0x01; 255]; + output[0] = 0xff; + + assert_eq!(encode(input, 254), (255, output)); + assert_eq!(decode(output, 255), (254, input)); + } + + #[test] + fn test_no_zeros_in_254_bytes_and_additional_block() { + let mut input: [u8; 259] = [0x01; 259]; + input[254..259].copy_from_slice(&[0x02, 0x00, 0x03, 0x0c, 0x01]); + + // expected output will have the first byte as 0xFF followed by the 254 non-zero bytes. + let mut output: [u8; 261] = [0x01; 261]; + output[0] = 0xff; + output[255..261].copy_from_slice(&[0x02, 0x02, 0x04, 0x03, 0x0c, 0x01]); + + assert_eq!(encode(input, 259), (261, output)); + assert_eq!(decode(output, 261), (259, input)); + } +} diff --git a/serial-comm/src/lib.rs b/serial-comm/src/lib.rs new file mode 100644 index 0000000..0bb9a86 --- /dev/null +++ b/serial-comm/src/lib.rs @@ -0,0 +1,8 @@ +//! Simple communication protocol over a serial connection, leveraging the COBS algorithm for byte +//! stuffing +//! (S. Cheshire and M. Baker, "Consistent overhead byte stuffing," in IEEE/ACM Transactions on Networking, vol. 7, no. 2, pp. 159-172, April 1999, doi: 10.1109/90.769765). + +#![cfg_attr(not(test), no_std)] + +pub mod cobs; +pub mod protocol; diff --git a/serial-comm/src/protocol/cmd.rs b/serial-comm/src/protocol/cmd.rs new file mode 100644 index 0000000..2038bd8 --- /dev/null +++ b/serial-comm/src/protocol/cmd.rs @@ -0,0 +1,50 @@ +use core::str::Utf8Error; + +const MAX_PARAMS: usize = 8; + +pub trait Cobs<'a> { + /// Encode a command with the COBS algorithm. + /// + /// Return a tuple of the structure (, ) + fn as_cobs(&self) -> (usize, [u8; OUTPUT]); +} + +pub trait Cmd<'a> { + fn from_bytes( + input: [u8; INPUT], + buffer: &'a mut [u8; INPUT], + ) -> Result + where + Self: Sized; + + /// Read parameters from a byte array (not COBS encoded). + /// + /// Every parameter is interpreted as an UTF-8 string. + /// + /// Return a string array of size `MAX_PARAMS`. + fn params_from_bytes( + input: [u8; INPUT], + buffer: &mut [u8; INPUT], + ) -> Result<[&str; MAX_PARAMS], Utf8Error> { + buffer.copy_from_slice(&input); + + let param_count = buffer[0] as usize; + assert_eq!(param_count, PARAMS); + assert!(param_count <= MAX_PARAMS); + + let param_offset = param_count + 1; + let mut param_idx = 0; + let mut params: [&str; MAX_PARAMS] = [""; MAX_PARAMS]; + for i in 1..=param_count { + let param_length = buffer[i] as usize; + let param_start = param_idx + param_offset; + let param = &buffer[param_start..param_start + param_length]; + let param = core::str::from_utf8(param)?; + params[i - 1] = param; + + param_idx += param_length; + } + + Ok(params) + } +} diff --git a/serial-comm/src/protocol/error.rs b/serial-comm/src/protocol/error.rs new file mode 100644 index 0000000..55eecb8 --- /dev/null +++ b/serial-comm/src/protocol/error.rs @@ -0,0 +1,83 @@ +use core::str::Utf8Error; + +use crate::cobs; + +use super::cmd::{Cmd, Cobs}; + +/// The error command carries a message. +pub struct ErrorCommand<'a> { + pub prefix: &'a str, + pub msg: &'a str, +} + +impl<'a> ErrorCommand<'a> { + const PARAMS: u8 = 2; + const HEADER_LENGTH: usize = Self::PARAMS as usize + 1; + + pub fn new(msg: &'a str) -> Self { + Self { prefix: "ER", msg } + } +} + +impl<'a> Cobs<'a> for ErrorCommand<'a> { + fn as_cobs(&self) -> (usize, [u8; OUTPUT]) { + let prefix_bytes = self.prefix.as_bytes(); + let msg_bytes = self.msg.as_bytes(); + + let prefix_end = prefix_bytes.len() + Self::HEADER_LENGTH; + let msg_end = prefix_bytes.len() + msg_bytes.len() + Self::HEADER_LENGTH; + + let mut output: [u8; OUTPUT] = [0; OUTPUT]; + + output[0] = ErrorCommand::PARAMS; + output[1] = prefix_bytes.len() as u8; + output[2] = msg_bytes.len() as u8; + output[ErrorCommand::HEADER_LENGTH..prefix_end].copy_from_slice(prefix_bytes); + output[prefix_end..msg_end].copy_from_slice(msg_bytes); + + cobs::encode(output, msg_end) + } +} + +impl<'a> Cmd<'a> for ErrorCommand<'a> { + fn from_bytes( + input: [u8; INPUT], + buffer: &'a mut [u8; INPUT], + ) -> Result { + let params = as Cmd>::params_from_bytes::< + INPUT, + { ErrorCommand::PARAMS as usize }, + >(input, buffer)?; + + Ok(Self { + prefix: params[0], + msg: params[1], + }) + } +} + +#[cfg(test)] +mod tests { + use super::ErrorCommand; + use crate::cobs; + use crate::protocol::cmd::{Cmd, Cobs}; + + #[test] + fn test_ok_cmd() { + let cmd = ErrorCommand::new("error"); + let (length, cmd_cobs) = cmd.as_cobs::<64>(); + + assert_eq!(length, 11); + assert_eq!( + &cmd_cobs[0..11], + &[0x0b, 0x02, 0x02, 0x05, 0x45, 0x52, 0x65, 0x72, 0x72, 0x6f, 0x72] + ); + + let (_, decoded): (usize, [u8; 64]) = cobs::decode(cmd_cobs, 11); + + let mut cmd_buffer: [u8; 64] = [0; 64]; + let cmd = ErrorCommand::from_bytes::<64>(decoded, &mut cmd_buffer).unwrap(); + assert_eq!(cmd.prefix, "ER"); + assert_eq!(cmd.msg, "error"); + } +} diff --git a/serial-comm/src/protocol/mod.rs b/serial-comm/src/protocol/mod.rs new file mode 100644 index 0000000..4422344 --- /dev/null +++ b/serial-comm/src/protocol/mod.rs @@ -0,0 +1,6 @@ +//! Specific commands for the protocol. + +pub mod cmd; +pub mod error; +pub mod ok; +pub mod set_config; diff --git a/serial-comm/src/protocol/ok.rs b/serial-comm/src/protocol/ok.rs new file mode 100644 index 0000000..d3a9a9e --- /dev/null +++ b/serial-comm/src/protocol/ok.rs @@ -0,0 +1,76 @@ +use core::str::Utf8Error; + +use crate::cobs; + +use super::cmd::{Cmd, Cobs}; + +// The Ok command has no parameters, it should merely signify something went ok. +pub struct OkCommand<'a> { + pub prefix: &'a str, +} + +impl<'a> OkCommand<'a> { + const PARAMS: u8 = 1; + const HEADER_LENGTH: usize = Self::PARAMS as usize + 1; + + pub fn new() -> Self { + Self { prefix: "OK" } + } +} + +impl<'a> Default for OkCommand<'a> { + fn default() -> Self { + Self::new() + } +} + +impl<'a> Cobs<'a> for OkCommand<'a> { + fn as_cobs(&self) -> (usize, [u8; OUTPUT]) { + let prefix_bytes = self.prefix.as_bytes(); + let prefix_end = prefix_bytes.len() + Self::HEADER_LENGTH; + + let mut output: [u8; OUTPUT] = [0; OUTPUT]; + + output[0] = OkCommand::PARAMS; + output[1] = prefix_bytes.len() as u8; + output[OkCommand::HEADER_LENGTH..prefix_end].copy_from_slice(prefix_bytes); + + cobs::encode(output, prefix_end) + } +} + +impl<'a> Cmd<'a> for OkCommand<'a> { + fn from_bytes( + input: [u8; INPUT], + buffer: &'a mut [u8; INPUT], + ) -> Result { + let params = as Cmd>::params_from_bytes::< + INPUT, + { OkCommand::PARAMS as usize }, + >(input, buffer)?; + + Ok(Self { prefix: params[0] }) + } +} + +#[cfg(test)] +mod tests { + use super::OkCommand; + use crate::cobs; + use crate::protocol::cmd::{Cmd, Cobs}; + + #[test] + fn test_ok_cmd() { + let cmd = OkCommand::new(); + let (length, cmd_cobs) = cmd.as_cobs::<64>(); + + assert_eq!(length, 5); + assert_eq!(&cmd_cobs[0..5], &[0x05, 0x01, 0x02, 0x4f, 0x4b]); + + let (_, decoded): (usize, [u8; 64]) = cobs::decode(cmd_cobs, 5); + + let mut cmd_buffer: [u8; 64] = [0; 64]; + let cmd = OkCommand::from_bytes::<64>(decoded, &mut cmd_buffer).unwrap(); + assert_eq!(cmd.prefix, "OK"); + } +} diff --git a/serial-comm/src/protocol/set_config.rs b/serial-comm/src/protocol/set_config.rs new file mode 100644 index 0000000..7fd7a42 --- /dev/null +++ b/serial-comm/src/protocol/set_config.rs @@ -0,0 +1,92 @@ +use core::str::Utf8Error; + +use crate::cobs; + +use super::cmd::{Cmd, Cobs}; + +#[derive(Debug)] +/// The SetConfig command sets the value of a key. +pub struct SetConfig<'a> { + pub key: &'a str, + pub value: &'a str, +} + +impl<'a> SetConfig<'a> { + pub const PREFIX: &'a str = "SC"; + const PARAMS: u8 = 3; + const HEADER_LENGTH: usize = Self::PARAMS as usize + 1; + + pub fn new(key: &'a str, value: &'a str) -> Self { + Self { key, value } + } +} + +impl<'a> Cobs<'a> for SetConfig<'a> { + /// Encode a SetConfig command with the COBS algorithm. + /// + /// Return a tuple of the structure (, ) + fn as_cobs(&self) -> (usize, [u8; OUTPUT]) { + let prefix_bytes = Self::PREFIX.as_bytes(); + let key_bytes = self.key.as_bytes(); + let val_bytes = self.value.as_bytes(); + + let prefix_end = prefix_bytes.len() + Self::HEADER_LENGTH; + let key_end = prefix_end + key_bytes.len(); + let val_end = key_end + val_bytes.len(); + + let mut output: [u8; OUTPUT] = [0; OUTPUT]; + + output[0] = Self::PARAMS; + output[1] = prefix_bytes.len() as u8; + output[2] = key_bytes.len() as u8; + output[3] = val_bytes.len() as u8; + output[Self::HEADER_LENGTH..prefix_end].copy_from_slice(prefix_bytes); + output[prefix_end..key_end].copy_from_slice(key_bytes); + output[key_end..val_end].copy_from_slice(val_bytes); + + cobs::encode(output, val_end) + } +} + +impl<'a> Cmd<'a> for SetConfig<'a> { + fn from_bytes( + input: [u8; INPUT], + buffer: &'a mut [u8; INPUT], + ) -> Result { + let params = as Cmd>::params_from_bytes::< + INPUT, + { SetConfig::PARAMS as usize }, + >(input, buffer)?; + + Ok(Self { + key: params[1], + value: params[2], + }) + } +} + +#[cfg(test)] +mod tests { + use crate::cobs; + use crate::protocol::cmd::{Cmd, Cobs}; + use crate::protocol::set_config::SetConfig; + + #[test] + fn test_config_cmd() { + let cmd = SetConfig::new("ssid", "pw"); + let (length, cmd_cobs) = cmd.as_cobs::<64>(); + + assert_eq!(length, 13); + assert_eq!( + &cmd_cobs[0..13], + &[0x0d, 0x03, 0x02, 0x04, 0x02, 0x53, 0x43, 0x73, 0x73, 0x69, 0x64, 0x70, 0x77] + ); + + let (_, decoded): (usize, [u8; 64]) = cobs::decode(cmd_cobs, 13); + + let mut cmd_buffer: [u8; 64] = [0; 64]; + let cmd = SetConfig::from_bytes::<64>(decoded, &mut cmd_buffer).unwrap(); + assert_eq!(cmd.key, "ssid"); + assert_eq!(cmd.value, "pw"); + } +}