tangled
alpha
login
or
join now
sachy.dev
/
striker
0
fork
atom
Bevy+Ratutui powered Monitoring of Pico-Strike devices
0
fork
atom
overview
issues
pulls
pipelines
Basic proto definition
sachy.dev
2 months ago
931c9d05
1f7a13ee
+77
-10
4 changed files
expand all
collapse all
unified
split
Cargo.lock
Cargo.toml
striker-proto
Cargo.toml
src
lib.rs
+37
Cargo.lock
···
1004
1004
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
1005
1005
1006
1006
[[package]]
1007
1007
+
name = "cobs"
1008
1008
+
version = "0.3.0"
1009
1009
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1010
1010
+
checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
1011
1011
+
dependencies = [
1012
1012
+
"thiserror 2.0.17",
1013
1013
+
]
1014
1014
+
1015
1015
+
[[package]]
1007
1016
name = "color-eyre"
1008
1017
version = "0.6.5"
1009
1018
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1343
1352
version = "1.15.0"
1344
1353
source = "registry+https://github.com/rust-lang/crates.io-index"
1345
1354
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
1355
1355
+
1356
1356
+
[[package]]
1357
1357
+
name = "embedded-io"
1358
1358
+
version = "0.4.0"
1359
1359
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1360
1360
+
checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced"
1361
1361
+
1362
1362
+
[[package]]
1363
1363
+
name = "embedded-io"
1364
1364
+
version = "0.6.1"
1365
1365
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1366
1366
+
checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d"
1346
1367
1347
1368
[[package]]
1348
1369
name = "encase"
···
2325
2346
]
2326
2347
2327
2348
[[package]]
2349
2349
+
name = "postcard"
2350
2350
+
version = "1.1.3"
2351
2351
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2352
2352
+
checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24"
2353
2353
+
dependencies = [
2354
2354
+
"cobs",
2355
2355
+
"embedded-io 0.4.0",
2356
2356
+
"embedded-io 0.6.1",
2357
2357
+
"serde",
2358
2358
+
]
2359
2359
+
2360
2360
+
[[package]]
2328
2361
name = "powerfmt"
2329
2362
version = "0.2.0"
2330
2363
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2811
2844
[[package]]
2812
2845
name = "striker-proto"
2813
2846
version = "0.1.0"
2847
2847
+
dependencies = [
2848
2848
+
"postcard",
2849
2849
+
"serde",
2850
2850
+
]
2814
2851
2815
2852
[[package]]
2816
2853
name = "strsim"
+4
Cargo.toml
···
8
8
repository = "https://tangled.org/sachy.dev/striker"
9
9
license = "MIT OR Apache-2.0"
10
10
11
11
+
[workspace.dependencies]
12
12
+
serde = { version = "1.0.210", default-features = false }
13
13
+
postcard = { version = "1.1.3", default-features = false }
14
14
+
11
15
[package]
12
16
name = "striker"
13
17
version = "0.1.0"
+2
striker-proto/Cargo.toml
···
7
7
license.workspace = true
8
8
9
9
[dependencies]
10
10
+
serde = { workspace = true, features = ["alloc"] }
11
11
+
postcard = { workspace = true, features = ["alloc"] }
+34
-10
striker-proto/src/lib.rs
···
1
1
-
pub fn add(left: u64, right: u64) -> u64 {
2
2
-
left + right
1
1
+
#[derive(Debug, serde::Serialize, serde::Deserialize)]
2
2
+
pub struct StrikerRequest {
3
3
+
pub request: Request,
3
4
}
4
5
5
5
-
#[cfg(test)]
6
6
-
mod tests {
7
7
-
use super::*;
6
6
+
#[derive(Debug, serde::Serialize, serde::Deserialize)]
7
7
+
pub enum Request {
8
8
+
Ping,
9
9
+
}
8
10
9
9
-
#[test]
10
10
-
fn it_works() {
11
11
-
let result = add(2, 2);
12
12
-
assert_eq!(result, 4);
13
13
-
}
11
11
+
#[derive(Debug, serde::Serialize, serde::Deserialize)]
12
12
+
pub enum StrikerResponse {
13
13
+
Response {
14
14
+
response: Response,
15
15
+
},
16
16
+
Update(Update),
14
17
}
18
18
+
19
19
+
#[derive(Debug, serde::Serialize, serde::Deserialize)]
20
20
+
pub enum Response {
21
21
+
Pong,
22
22
+
}
23
23
+
24
24
+
#[derive(Debug, serde::Serialize, serde::Deserialize)]
25
25
+
pub enum Update {
26
26
+
Warning {
27
27
+
timestamp: i64,
28
28
+
level: u16,
29
29
+
},
30
30
+
Strike {
31
31
+
timestamp: i64,
32
32
+
peaks: Vec<u16>,
33
33
+
samples: Vec<i16>,
34
34
+
average: u16,
35
35
+
},
36
36
+
}
37
37
+
38
38
+