From 57adc4e19766e1ab445a64aefae718cdb1792257 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Wed, 31 Jul 2024 17:37:26 +0100 Subject: [PATCH] Remove koishi simulator tests They proved to be very fragile and of limited use in finding actual issues. --- .github/workflows/koishi.yml | 21 - flake.nix | 5 - koishi/firmware-tests/Cargo.lock | 444 ------------------ koishi/firmware-tests/Cargo.toml | 7 - koishi/firmware-tests/rust-toolchain.toml | 3 - koishi/firmware-tests/src/devices/inputs.rs | 34 -- koishi/firmware-tests/src/devices/mod.rs | 2 - koishi/firmware-tests/src/devices/relays.rs | 72 --- koishi/firmware-tests/src/lib.rs | 13 - koishi/firmware-tests/src/pins/inputs.rs | 41 -- koishi/firmware-tests/src/pins/mod.rs | 2 - koishi/firmware-tests/src/pins/relays.rs | 69 --- koishi/firmware-tests/src/tests/cycle.rs | 79 ---- koishi/firmware-tests/src/tests/door_open.rs | 32 -- .../src/tests/external_disable.rs | 32 -- .../src/tests/extractor_override.rs | 32 -- koishi/firmware-tests/src/tests/good_init.rs | 21 - koishi/firmware-tests/src/tests/mod.rs | 5 - koishi/firmware/Cargo.toml | 1 - koishi/firmware/src/logic/extraction.rs | 6 +- 20 files changed, 1 insertion(+), 920 deletions(-) delete mode 100644 koishi/firmware-tests/Cargo.lock delete mode 100644 koishi/firmware-tests/Cargo.toml delete mode 100644 koishi/firmware-tests/rust-toolchain.toml delete mode 100644 koishi/firmware-tests/src/devices/inputs.rs delete mode 100644 koishi/firmware-tests/src/devices/mod.rs delete mode 100644 koishi/firmware-tests/src/devices/relays.rs delete mode 100644 koishi/firmware-tests/src/lib.rs delete mode 100644 koishi/firmware-tests/src/pins/inputs.rs delete mode 100644 koishi/firmware-tests/src/pins/mod.rs delete mode 100644 koishi/firmware-tests/src/pins/relays.rs delete mode 100644 koishi/firmware-tests/src/tests/cycle.rs delete mode 100644 koishi/firmware-tests/src/tests/door_open.rs delete mode 100644 koishi/firmware-tests/src/tests/external_disable.rs delete mode 100644 koishi/firmware-tests/src/tests/extractor_override.rs delete mode 100644 koishi/firmware-tests/src/tests/good_init.rs delete mode 100644 koishi/firmware-tests/src/tests/mod.rs diff --git a/.github/workflows/koishi.yml b/.github/workflows/koishi.yml index be9fbb6b..7d99d572 100644 --- a/.github/workflows/koishi.yml +++ b/.github/workflows/koishi.yml @@ -28,20 +28,6 @@ jobs: - name: Clippy run: nix develop --command cargo clippy -- -Dwarnings - formatting-firmware-tests: - name: Formatting (firmware tests) - runs-on: ubuntu-latest - defaults: - run: - working-directory: ./koishi/firmware-tests - - steps: - - uses: actions/checkout@v4 - - uses: cachix/install-nix-action@V27 - - - name: Clippy - run: nix develop --command cargo clippy -- -Dwarnings - build-and-test-firmware: name: Build and Test (firmware) runs-on: ubuntu-latest @@ -53,12 +39,5 @@ jobs: - name: Build working-directory: ./koishi/firmware run: | - # Build as intended for hardware first nix develop --command cargo build --release nix develop --command cargo build --release --features telemetry - # Build for simulator tests - nix develop --command cargo build --release --features simulator - - - name: In Simulator Tests - working-directory: ./koishi/firmware-tests - run: nix develop --command cargo test diff --git a/flake.nix b/flake.nix index fc8c522f..2d1c27bd 100644 --- a/flake.nix +++ b/flake.nix @@ -32,11 +32,6 @@ ravedude pkgsCross.avr.buildPackages.gcc - # koishi firmware in-simulator tests - clang - libelf - zlib - # satori firmware flip-link probe-rs diff --git a/koishi/firmware-tests/Cargo.lock b/koishi/firmware-tests/Cargo.lock deleted file mode 100644 index 509729d3..00000000 --- a/koishi/firmware-tests/Cargo.lock +++ /dev/null @@ -1,444 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "anyhow" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - -[[package]] -name = "avr-simulator" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1fbb7d9bc9b4acb24ee297b67bce267b36e719e81867a25f98cee68ca508bae" -dependencies = [ - "libc", - "simavr-ffi", -] - -[[package]] -name = "avr-tester" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4af741d3f6ab53edc5d383627eadf53d3a5af8c71253ca64396de6f2502533" -dependencies = [ - "avr-simulator", -] - -[[package]] -name = "bindgen" -version = "0.69.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools", - "lazy_static", - "lazycell", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn", - "which", -] - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "either" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys", -] - -[[package]] -name = "fs_extra" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "koishi-tests" -version = "0.1.0" -dependencies = [ - "avr-tester", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libc" -version = "0.2.155" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" - -[[package]] -name = "libloading" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" -dependencies = [ - "cfg-if", - "windows-targets", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "log" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "memchr" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "prettyplease" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "proc-macro2" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "regex" -version = "1.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustix" -version = "0.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "simavr-ffi" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "883987e7a162f90bf254e4b3bf73948bbe2eb339d60f3ad75ae20d0cc103ada6" -dependencies = [ - "anyhow", - "bindgen", - "fs_extra", - "pkg-config", - "walkdir", -] - -[[package]] -name = "syn" -version = "2.0.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", -] - -[[package]] -name = "winapi-util" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -dependencies = [ - "windows-sys", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets", -] - -[[package]] -name = "windows-targets" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" diff --git a/koishi/firmware-tests/Cargo.toml b/koishi/firmware-tests/Cargo.toml deleted file mode 100644 index 0bf36130..00000000 --- a/koishi/firmware-tests/Cargo.toml +++ /dev/null @@ -1,7 +0,0 @@ -[package] -name = "koishi-tests" -version = "0.1.0" -edition = "2021" - -[dependencies] -avr-tester = "0.2" diff --git a/koishi/firmware-tests/rust-toolchain.toml b/koishi/firmware-tests/rust-toolchain.toml deleted file mode 100644 index 86782093..00000000 --- a/koishi/firmware-tests/rust-toolchain.toml +++ /dev/null @@ -1,3 +0,0 @@ -[toolchain] -channel = "stable" -components = ["clippy", "rust-analyzer"] diff --git a/koishi/firmware-tests/src/devices/inputs.rs b/koishi/firmware-tests/src/devices/inputs.rs deleted file mode 100644 index c5fae80f..00000000 --- a/koishi/firmware-tests/src/devices/inputs.rs +++ /dev/null @@ -1,34 +0,0 @@ -#[macro_export] -macro_rules! door_interlock { - ($avr:expr) => { - $crate::input1!($avr) - }; -} - -#[macro_export] -macro_rules! extractor_override { - ($avr:expr) => { - $crate::input2!($avr) - }; -} - -#[macro_export] -macro_rules! machine_status { - ($avr:expr) => { - $crate::input4!($avr) - }; -} - -#[macro_export] -macro_rules! air_assist_demand { - ($avr:expr) => { - $crate::input5!($avr) - }; -} - -#[macro_export] -macro_rules! external_enable { - ($avr:expr) => { - $crate::input6!($avr) - }; -} diff --git a/koishi/firmware-tests/src/devices/mod.rs b/koishi/firmware-tests/src/devices/mod.rs deleted file mode 100644 index a78fc817..00000000 --- a/koishi/firmware-tests/src/devices/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -mod inputs; -mod relays; diff --git a/koishi/firmware-tests/src/devices/relays.rs b/koishi/firmware-tests/src/devices/relays.rs deleted file mode 100644 index 67db73d8..00000000 --- a/koishi/firmware-tests/src/devices/relays.rs +++ /dev/null @@ -1,72 +0,0 @@ -#[macro_export] -macro_rules! status_lamp_1 { - ($avr:expr) => { - $crate::relay8!($avr) - }; -} - -#[macro_export] -macro_rules! status_lamp_2 { - ($avr:expr) => { - $crate::relay7!($avr) - }; -} - -#[macro_export] -macro_rules! status_lamp_assert_red { - ($avr:expr) => { - $crate::relay_assert_open!($crate::status_lamp_1!($avr)); - $crate::relay_assert_open!($crate::status_lamp_2!($avr)); - }; -} - -#[macro_export] -macro_rules! status_lamp_assert_amber { - ($avr:expr) => { - $crate::relay_assert_open!($crate::status_lamp_1!($avr)); - $crate::relay_assert_closed!($crate::status_lamp_2!($avr)); - }; -} - -#[macro_export] -macro_rules! status_lamp_assert_green { - ($avr:expr) => { - $crate::relay_assert_closed!($crate::status_lamp_1!($avr)); - $crate::relay_assert_open!($crate::status_lamp_2!($avr)); - }; -} - -#[macro_export] -macro_rules! controller_door_interlock { - ($avr:expr) => { - $crate::relay6!($avr) - }; -} - -#[macro_export] -macro_rules! controller_cooling_interlock { - ($avr:expr) => { - $crate::relay5!($avr) - }; -} - -#[macro_export] -macro_rules! laser_enable { - ($avr:expr) => { - $crate::relay4!($avr) - }; -} - -#[macro_export] -macro_rules! fume_extractor { - ($avr:expr) => { - $crate::relay2!($avr) - }; -} - -#[macro_export] -macro_rules! air_assist_compressor { - ($avr:expr) => { - $crate::relay1!($avr) - }; -} diff --git a/koishi/firmware-tests/src/lib.rs b/koishi/firmware-tests/src/lib.rs deleted file mode 100644 index 8dc1f680..00000000 --- a/koishi/firmware-tests/src/lib.rs +++ /dev/null @@ -1,13 +0,0 @@ -mod devices; -mod pins; -mod tests; - -#[cfg(test)] -use avr_tester::*; - -#[cfg(test)] -fn avr() -> AvrTester { - AvrTester::atmega328p() - .with_clock_of_8_mhz() - .load("../firmware/target/avr-atmega328p/release/koishi.elf") -} diff --git a/koishi/firmware-tests/src/pins/inputs.rs b/koishi/firmware-tests/src/pins/inputs.rs deleted file mode 100644 index df0f55e0..00000000 --- a/koishi/firmware-tests/src/pins/inputs.rs +++ /dev/null @@ -1,41 +0,0 @@ -#[macro_export] -macro_rules! input1 { - ($avr:expr) => { - $avr.pins().pd2() - }; -} - -#[macro_export] -macro_rules! input2 { - ($avr:expr) => { - $avr.pins().pd3() - }; -} - -#[macro_export] -macro_rules! input3 { - ($avr:expr) => { - $avr.pins().pd4() - }; -} - -#[macro_export] -macro_rules! input4 { - ($avr:expr) => { - $avr.pins().pd5() - }; -} - -#[macro_export] -macro_rules! input5 { - ($avr:expr) => { - $avr.pins().pd6() - }; -} - -#[macro_export] -macro_rules! input6 { - ($avr:expr) => { - $avr.pins().pd7() - }; -} diff --git a/koishi/firmware-tests/src/pins/mod.rs b/koishi/firmware-tests/src/pins/mod.rs deleted file mode 100644 index a78fc817..00000000 --- a/koishi/firmware-tests/src/pins/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -mod inputs; -mod relays; diff --git a/koishi/firmware-tests/src/pins/relays.rs b/koishi/firmware-tests/src/pins/relays.rs deleted file mode 100644 index 80c1ed66..00000000 --- a/koishi/firmware-tests/src/pins/relays.rs +++ /dev/null @@ -1,69 +0,0 @@ -#[macro_export] -macro_rules! relay_assert_open { - ($pin:expr) => { - $pin.assert_high() - }; -} - -#[macro_export] -macro_rules! relay_assert_closed { - ($pin:expr) => { - $pin.assert_low() - }; -} - -#[macro_export] -macro_rules! relay1 { - ($avr:expr) => { - $avr.pins().pc3() - }; -} - -#[macro_export] -macro_rules! relay2 { - ($avr:expr) => { - $avr.pins().pc2() - }; -} - -#[macro_export] -macro_rules! relay3 { - ($avr:expr) => { - $avr.pins().pc1() - }; -} - -#[macro_export] -macro_rules! relay4 { - ($avr:expr) => { - $avr.pins().pc0() - }; -} - -#[macro_export] -macro_rules! relay5 { - ($avr:expr) => { - $avr.pins().pb4() - }; -} - -#[macro_export] -macro_rules! relay6 { - ($avr:expr) => { - $avr.pins().pb3() - }; -} - -#[macro_export] -macro_rules! relay7 { - ($avr:expr) => { - $avr.pins().pb2() - }; -} - -#[macro_export] -macro_rules! relay8 { - ($avr:expr) => { - $avr.pins().pb1() - }; -} diff --git a/koishi/firmware-tests/src/tests/cycle.rs b/koishi/firmware-tests/src/tests/cycle.rs deleted file mode 100644 index 451c1822..00000000 --- a/koishi/firmware-tests/src/tests/cycle.rs +++ /dev/null @@ -1,79 +0,0 @@ -#[test] -fn cycle() { - let mut avr = crate::avr(); - - avr.run_for_ms(100); - - crate::door_interlock!(avr).set_high(); - crate::external_enable!(avr).set_high(); - crate::extractor_override!(avr).set_low(); - crate::machine_status!(avr).set_low(); - crate::air_assist_demand!(avr).set_low(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_green!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_open!(crate::fume_extractor!(avr)); - - crate::machine_status!(avr).set_high(); - crate::air_assist_demand!(avr).set_high(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_amber!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_closed!(crate::air_assist_compressor!(avr)); - crate::relay_assert_closed!(crate::fume_extractor!(avr)); - - avr.run_for_ms(300); - - crate::air_assist_demand!(avr).set_low(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_amber!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_closed!(crate::air_assist_compressor!(avr)); - crate::relay_assert_closed!(crate::fume_extractor!(avr)); - - avr.run_for_ms(500); - avr.run_for_ms(10); - - crate::status_lamp_assert_amber!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_closed!(crate::fume_extractor!(avr)); - - avr.run_for_ms(300); - - crate::machine_status!(avr).set_low(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_green!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_closed!(crate::fume_extractor!(avr)); - - avr.run_for_ms(10); - avr.run_for_ms(500); - - crate::status_lamp_assert_green!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_open!(crate::fume_extractor!(avr)); -} diff --git a/koishi/firmware-tests/src/tests/door_open.rs b/koishi/firmware-tests/src/tests/door_open.rs deleted file mode 100644 index d4e8dfed..00000000 --- a/koishi/firmware-tests/src/tests/door_open.rs +++ /dev/null @@ -1,32 +0,0 @@ -#[test] -fn door_open() { - let mut avr = crate::avr(); - - avr.run_for_ms(100); - - crate::door_interlock!(avr).set_low(); - crate::external_enable!(avr).set_high(); - crate::extractor_override!(avr).set_low(); - crate::machine_status!(avr).set_low(); - crate::air_assist_demand!(avr).set_low(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_red!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_open!(crate::controller_door_interlock!(avr)); - crate::relay_assert_open!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_open!(crate::fume_extractor!(avr)); - - crate::door_interlock!(avr).set_high(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_green!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_open!(crate::fume_extractor!(avr)); -} diff --git a/koishi/firmware-tests/src/tests/external_disable.rs b/koishi/firmware-tests/src/tests/external_disable.rs deleted file mode 100644 index 7c5e30a0..00000000 --- a/koishi/firmware-tests/src/tests/external_disable.rs +++ /dev/null @@ -1,32 +0,0 @@ -#[test] -fn external_disable() { - let mut avr = crate::avr(); - - avr.run_for_ms(100); - - crate::door_interlock!(avr).set_high(); - crate::external_enable!(avr).set_low(); - crate::extractor_override!(avr).set_low(); - crate::machine_status!(avr).set_low(); - crate::air_assist_demand!(avr).set_low(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_red!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_open!(crate::controller_door_interlock!(avr)); - crate::relay_assert_open!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_open!(crate::fume_extractor!(avr)); - - crate::external_enable!(avr).set_high(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_green!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_open!(crate::fume_extractor!(avr)); -} diff --git a/koishi/firmware-tests/src/tests/extractor_override.rs b/koishi/firmware-tests/src/tests/extractor_override.rs deleted file mode 100644 index b67e00fe..00000000 --- a/koishi/firmware-tests/src/tests/extractor_override.rs +++ /dev/null @@ -1,32 +0,0 @@ -#[test] -fn extractor_override() { - let mut avr = crate::avr(); - - avr.run_for_ms(100); - - crate::door_interlock!(avr).set_high(); - crate::external_enable!(avr).set_high(); - crate::extractor_override!(avr).set_high(); - crate::machine_status!(avr).set_low(); - crate::air_assist_demand!(avr).set_low(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_green!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_closed!(crate::fume_extractor!(avr)); - - crate::extractor_override!(avr).set_low(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_green!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_open!(crate::fume_extractor!(avr)); -} diff --git a/koishi/firmware-tests/src/tests/good_init.rs b/koishi/firmware-tests/src/tests/good_init.rs deleted file mode 100644 index 48311d50..00000000 --- a/koishi/firmware-tests/src/tests/good_init.rs +++ /dev/null @@ -1,21 +0,0 @@ -#[test] -fn good_init() { - let mut avr = crate::avr(); - - avr.run_for_ms(100); - - crate::door_interlock!(avr).set_high(); - crate::external_enable!(avr).set_high(); - crate::extractor_override!(avr).set_low(); - crate::machine_status!(avr).set_low(); - crate::air_assist_demand!(avr).set_low(); - - avr.run_for_ms(10); - - crate::status_lamp_assert_green!(avr); - crate::relay_assert_closed!(crate::controller_cooling_interlock!(avr)); - crate::relay_assert_closed!(crate::controller_door_interlock!(avr)); - crate::relay_assert_closed!(crate::laser_enable!(avr)); - crate::relay_assert_open!(crate::air_assist_compressor!(avr)); - crate::relay_assert_open!(crate::fume_extractor!(avr)); -} diff --git a/koishi/firmware-tests/src/tests/mod.rs b/koishi/firmware-tests/src/tests/mod.rs deleted file mode 100644 index ae481f98..00000000 --- a/koishi/firmware-tests/src/tests/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod cycle; -mod door_open; -mod external_disable; -mod extractor_override; -mod good_init; diff --git a/koishi/firmware/Cargo.toml b/koishi/firmware/Cargo.toml index 939e9a3d..93c15d5e 100644 --- a/koishi/firmware/Cargo.toml +++ b/koishi/firmware/Cargo.toml @@ -9,7 +9,6 @@ license = "MIT OR Apache-2.0" default = ["telemetry"] telemetry = ["dep:postcard"] devkit = [] -simulator = [] [[bin]] name = "koishi" diff --git a/koishi/firmware/src/logic/extraction.rs b/koishi/firmware/src/logic/extraction.rs index b15172b4..ed5ec7f1 100644 --- a/koishi/firmware/src/logic/extraction.rs +++ b/koishi/firmware/src/logic/extraction.rs @@ -4,11 +4,7 @@ use hoshiguma_foundational_data::koishi::{ }; /// Time in milliseconds that the extractor will continue to run after demand has ceased. -const EXTRACTOR_RUN_ON_DELAY: TimeMillis = if cfg!(feature = "simulator") { - 500 -} else { - 45_000 -}; +const EXTRACTOR_RUN_ON_DELAY: TimeMillis = 45_000; pub(crate) trait ExtractionStatusExt { fn default() -> Self;