Start working on wifi_core
This commit is contained in:
parent
3fb3792abc
commit
af0d08b9a4
@ -4,3 +4,5 @@ version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
bincode = "1.3.3"
|
||||
serde = { version = "1.0.228", default-features = false, features = ["derive"] }
|
||||
|
||||
@ -1,14 +1,4 @@
|
||||
pub fn add(left: u64, right: u64) -> u64 {
|
||||
left + right
|
||||
}
|
||||
pub mod protocol;
|
||||
pub mod types;
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
||||
pub const PROTOCOL_VERSION: u32 = 1;
|
||||
|
||||
21
wifi_core/src/protocol.rs
Normal file
21
wifi_core/src/protocol.rs
Normal file
@ -0,0 +1,21 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::{NetworkInfo, WifiStatus};
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub enum Request {
|
||||
GetStatus,
|
||||
ListNetworks,
|
||||
Enable,
|
||||
Disable,
|
||||
Connect { ssid: String },
|
||||
Disconnect,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub enum Response {
|
||||
Status(WifiStatus),
|
||||
Networks(Vec<NetworkInfo>),
|
||||
Ok,
|
||||
Error(String),
|
||||
}
|
||||
16
wifi_core/src/types.rs
Normal file
16
wifi_core/src/types.rs
Normal file
@ -0,0 +1,16 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct NetworkInfo {
|
||||
pub ssid: String,
|
||||
pub signal: u8, // 0–100
|
||||
pub secure: bool,
|
||||
pub connected: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct WifiStatus {
|
||||
pub enabled: bool,
|
||||
pub connected_ssid: Option<String>,
|
||||
pub signal: Option<u8>, // None if disconnected
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user