Repo for designs & driver for a TA7642 powered lightning detector

Add config methods and clone impl

+45 -36
+35 -35
Cargo.lock
··· 76 76 77 77 [[package]] 78 78 name = "bitflags" 79 - version = "2.10.0" 79 + version = "2.11.0" 80 80 source = "registry+https://github.com/rust-lang/crates.io-index" 81 - checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" 81 + checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" 82 82 83 83 [[package]] 84 84 name = "block-buffer" ··· 91 91 92 92 [[package]] 93 93 name = "bytemuck" 94 - version = "1.24.0" 94 + version = "1.25.0" 95 95 source = "registry+https://github.com/rust-lang/crates.io-index" 96 - checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" 96 + checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" 97 97 98 98 [[package]] 99 99 name = "byteorder" ··· 469 469 470 470 [[package]] 471 471 name = "ena" 472 - version = "0.14.3" 472 + version = "0.14.4" 473 473 source = "registry+https://github.com/rust-lang/crates.io-index" 474 - checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" 474 + checksum = "eabffdaee24bd1bf95c5ef7cec31260444317e72ea56c4c91750e8b7ee58d5f1" 475 475 dependencies = [ 476 476 "log", 477 477 ] ··· 502 502 503 503 [[package]] 504 504 name = "futures-core" 505 - version = "0.3.31" 505 + version = "0.3.32" 506 506 source = "registry+https://github.com/rust-lang/crates.io-index" 507 - checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 507 + checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" 508 508 509 509 [[package]] 510 510 name = "futures-sink" 511 - version = "0.3.31" 511 + version = "0.3.32" 512 512 source = "registry+https://github.com/rust-lang/crates.io-index" 513 - checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 513 + checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" 514 514 515 515 [[package]] 516 516 name = "generic-array" ··· 589 589 590 590 [[package]] 591 591 name = "keccak" 592 - version = "0.1.5" 592 + version = "0.1.6" 593 593 source = "registry+https://github.com/rust-lang/crates.io-index" 594 - checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" 594 + checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" 595 595 dependencies = [ 596 596 "cpufeatures", 597 597 ] ··· 630 630 631 631 [[package]] 632 632 name = "libc" 633 - version = "0.2.180" 633 + version = "0.2.182" 634 634 source = "registry+https://github.com/rust-lang/crates.io-index" 635 - checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" 635 + checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" 636 636 637 637 [[package]] 638 638 name = "litrs" ··· 657 657 658 658 [[package]] 659 659 name = "memchr" 660 - version = "2.7.6" 660 + version = "2.8.0" 661 661 source = "registry+https://github.com/rust-lang/crates.io-index" 662 - checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" 662 + checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" 663 663 664 664 [[package]] 665 665 name = "nb" ··· 907 907 source = "registry+https://github.com/rust-lang/crates.io-index" 908 908 checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" 909 909 dependencies = [ 910 - "bitflags 2.10.0", 910 + "bitflags 2.11.0", 911 911 ] 912 912 913 913 [[package]] 914 914 name = "regex" 915 - version = "1.12.2" 915 + version = "1.12.3" 916 916 source = "registry+https://github.com/rust-lang/crates.io-index" 917 - checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" 917 + checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" 918 918 dependencies = [ 919 919 "aho-corasick", 920 920 "memchr", ··· 924 924 925 925 [[package]] 926 926 name = "regex-automata" 927 - version = "0.4.13" 927 + version = "0.4.14" 928 928 source = "registry+https://github.com/rust-lang/crates.io-index" 929 - checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" 929 + checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" 930 930 dependencies = [ 931 931 "aho-corasick", 932 932 "memchr", ··· 935 935 936 936 [[package]] 937 937 name = "regex-syntax" 938 - version = "0.8.8" 938 + version = "0.8.10" 939 939 source = "registry+https://github.com/rust-lang/crates.io-index" 940 - checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" 940 + checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" 941 941 942 942 [[package]] 943 943 name = "rgb" 944 - version = "0.8.52" 944 + version = "0.8.53" 945 945 source = "registry+https://github.com/rust-lang/crates.io-index" 946 - checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" 946 + checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4" 947 947 948 948 [[package]] 949 949 name = "rp-pac" ··· 1027 1027 1028 1028 [[package]] 1029 1029 name = "siphasher" 1030 - version = "1.0.1" 1030 + version = "1.0.2" 1031 1031 source = "registry+https://github.com/rust-lang/crates.io-index" 1032 - checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" 1032 + checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" 1033 1033 1034 1034 [[package]] 1035 1035 name = "smallvec" ··· 1075 1075 1076 1076 [[package]] 1077 1077 name = "syn" 1078 - version = "2.0.114" 1078 + version = "2.0.117" 1079 1079 source = "registry+https://github.com/rust-lang/crates.io-index" 1080 - checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" 1080 + checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" 1081 1081 dependencies = [ 1082 1082 "proc-macro2", 1083 1083 "quote", ··· 1130 1130 1131 1131 [[package]] 1132 1132 name = "unicode-ident" 1133 - version = "1.0.22" 1133 + version = "1.0.24" 1134 1134 source = "registry+https://github.com/rust-lang/crates.io-index" 1135 - checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" 1135 + checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" 1136 1136 1137 1137 [[package]] 1138 1138 name = "unicode-width" ··· 1218 1218 1219 1219 [[package]] 1220 1220 name = "zerocopy" 1221 - version = "0.8.33" 1221 + version = "0.8.40" 1222 1222 source = "registry+https://github.com/rust-lang/crates.io-index" 1223 - checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" 1223 + checksum = "a789c6e490b576db9f7e6b6d661bcc9799f7c0ac8352f56ea20193b2681532e5" 1224 1224 dependencies = [ 1225 1225 "zerocopy-derive", 1226 1226 ] 1227 1227 1228 1228 [[package]] 1229 1229 name = "zerocopy-derive" 1230 - version = "0.8.33" 1230 + version = "0.8.40" 1231 1231 source = "registry+https://github.com/rust-lang/crates.io-index" 1232 - checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" 1232 + checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953" 1233 1233 dependencies = [ 1234 1234 "proc-macro2", 1235 1235 "quote",
+10 -1
embassy-strike-driver/src/lib.rs
··· 46 46 } 47 47 } 48 48 49 - #[derive(Debug)] 49 + #[derive(Debug, Clone)] 50 50 #[cfg_attr(feature = "defmt", derive(defmt::Format))] 51 51 pub struct DetectorConfig { 52 52 blip_threshold: Cell<u16>, ··· 137 137 138 138 pub fn set_blip_size(&self, size: usize) { 139 139 self.config.blip_size.set(size); 140 + } 141 + 142 + pub fn set_config(&self, config: DetectorConfig) { 143 + self.set_blip_size(config.blip_size()); 144 + self.set_blip_threshold(config.blip_threshold()); 145 + } 146 + 147 + pub fn get_config(&self) -> DetectorConfig { 148 + self.config.clone() 140 149 } 141 150 142 151 pub async fn tune(&mut self, samples: &mut [u16]) {