Start working on wifi_core

This commit is contained in:
Candifloss 2025-12-28 17:33:09 +05:30
parent 3fb3792abc
commit af0d08b9a4
4 changed files with 42 additions and 13 deletions

View File

@ -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"] }

View File

@ -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
View 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
View File

@ -0,0 +1,16 @@
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NetworkInfo {
pub ssid: String,
pub signal: u8, // 0100
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
}