Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
3e2ed62
refactor: remove socket module and related components
AlixANNERAUD Jan 24, 2026
d51fa13
feat: add strip_prefix method to Components for prefix stripping
AlixANNERAUD Jan 24, 2026
0b287ae
feat: add join_path method to Entry for path joining functionality
AlixANNERAUD Jan 24, 2026
7f1899f
feat: add InvalidContext error variant and display message to Error enum
AlixANNERAUD Jan 24, 2026
c83bfa8
feat: add NETWORK_DEVICES constant for network device path
AlixANNERAUD Jan 24, 2026
ad6d831
feat: refactor VirtualFileSystem implementation for improved path han…
AlixANNERAUD Jan 24, 2026
f3cb281
feat: remove unused network socket driver and related code from Virtu…
AlixANNERAUD Jan 24, 2026
841290d
feat: remove Network error variant from Error enum and related implem…
AlixANNERAUD Jan 24, 2026
4f8e5bc
feat: refactor create_default_hierarchy to use a loop for directory c…
AlixANNERAUD Jan 24, 2026
41c51db
feat: remove lifetime parameters from VirtualFileSystem references in…
AlixANNERAUD Jan 24, 2026
bf03e4e
feat: remove network dependency from virtual_file_system Cargo.toml
AlixANNERAUD Jan 24, 2026
2c14064
feat: simplify pipe removal logic in mount_file_system
AlixANNERAUD Jan 25, 2026
13f52c8
refactor: simplify calls to get_file_system_from_path by removing red…
AlixANNERAUD Jan 25, 2026
4a6a7aa
feat: remove lifetime parameters from VirtualFileSystem references in…
AlixANNERAUD Jan 25, 2026
7b5f066
refactor: remove lifetime parameters from initialize function in inte…
AlixANNERAUD Jan 25, 2026
b5db26f
feat: allow flexible duration types in sleep function
AlixANNERAUD Jan 25, 2026
6a74fca
refactor: update documentation for from_raw_parts function in AnyByLa…
AlixANNERAUD Jan 25, 2026
13a802e
feat: integrate task module with poll_ready and poll_pin_ready macros
AlixANNERAUD Jan 25, 2026
75b159d
feat: add radio button creation and event handling functionality
AlixANNERAUD Jan 25, 2026
29d3dc4
fix: correct syntax in synchronous_lock macro to properly handle bloc…
AlixANNERAUD Jan 25, 2026
fb6e4f8
feat: add Font Awesome 7 font files and update font range in main.rs
AlixANNERAUD Jan 25, 2026
8d62c2d
feat: add symbol module with LVGL constants and update lib.rs
AlixANNERAUD Jan 25, 2026
9ffc428
refactor: update strip_prefix method to use for loop and improve join…
AlixANNERAUD Jan 25, 2026
62b898b
fix: remove unnecessary lifetime annotations from VirtualFileSystem r…
AlixANNERAUD Jan 25, 2026
e7f9e5f
refactor: simplify VirtualFileSystem references in async functions ac…
AlixANNERAUD Jan 25, 2026
c87c515
refactor: simplify VirtualFileSystem type in async initialize function
AlixANNERAUD Jan 25, 2026
72cb5cb
fix: truncate file before writing in test_directory function
AlixANNERAUD Jan 25, 2026
d7ad643
refactor: remove unused network module components including IP, Port,…
AlixANNERAUD Jan 25, 2026
c7afb2f
feat: add Cidr, Ipv4, Ipv6, and Port structs with associated methods …
AlixANNERAUD Jan 25, 2026
baa43d2
feat: add InterfaceKind enum for network interface types
AlixANNERAUD Jan 25, 2026
e0740e5
feat: implement LoopbackControllerDevice for network operations
AlixANNERAUD Jan 25, 2026
10001e9
feat: add Duration struct with conversion methods for time handling
AlixANNERAUD Jan 25, 2026
74b3a9c
feat: add IpEndpoint and IpListenEndpoint structs with conversion met…
AlixANNERAUD Jan 25, 2026
b2dba63
feat: add DnsQueryKind enum for DNS query types
AlixANNERAUD Jan 25, 2026
74e54c2
feat: implement UdpMetadata struct for UDP metadata handling
AlixANNERAUD Jan 25, 2026
4f570c5
feat: create mod.rs for network fundamentals module structure
AlixANNERAUD Jan 25, 2026
df890e5
feat: implement Stack and StackInner structs for smoltcp integration
AlixANNERAUD Jan 25, 2026
ceab0a0
feat: implement StackRunner struct for managing smoltcp stack operations
AlixANNERAUD Jan 25, 2026
1458138
feat: add SocketContext struct for managing socket operations in smoltcp
AlixANNERAUD Jan 25, 2026
f7d8b72
feat: implement NetworkDevice struct with control operations for netw…
AlixANNERAUD Jan 25, 2026
960bea4
feat: implement IcmpSocket and IcmpEndpoint for ICMP socket operations
AlixANNERAUD Jan 25, 2026
5fc6e51
feat: implement UdpSocket for UDP socket operations
AlixANNERAUD Jan 25, 2026
6d82c60
feat: implement TcpSocket for TCP socket operations
AlixANNERAUD Jan 25, 2026
036ac8d
feat: implement DnsSocket for DNS query operations
AlixANNERAUD Jan 25, 2026
7df5d0d
feat: add socket module to integrate DNS, ICMP, TCP, and UDP function…
AlixANNERAUD Jan 25, 2026
1a8770b
feat: enhance error handling with additional error variants and conve…
AlixANNERAUD Jan 25, 2026
b6742aa
feat: integrate smoltcp stack with network manager and socket impleme…
AlixANNERAUD Jan 25, 2026
79fc031
feat: update Cargo.toml and lib.rs to enhance network module with add…
AlixANNERAUD Jan 25, 2026
1ea3d3a
fix: correct error handling in paste method for clipboard text retrieval
AlixANNERAUD Jan 25, 2026
0cf69ce
fix: simplify error handling in HashDevice operations by removing clo…
AlixANNERAUD Jan 25, 2026
f846722
refactor: simplify load_to_virtual_file_system function signature and…
AlixANNERAUD Jan 25, 2026
bcc2801
feat: implement Default trait for MemoryManager to simplify instantia…
AlixANNERAUD Jan 25, 2026
e3347c0
fix: correct error mapping for InvalidInput in map_error function
AlixANNERAUD Jan 25, 2026
d2ac46a
feat: integrate smoltcp stack and implement TunTap controller for net…
AlixANNERAUD Jan 25, 2026
daa2549
feat: enhance initialize function to support network management and i…
AlixANNERAUD Jan 25, 2026
4f90fb2
feat: add network dependency and expose network module for host feature
AlixANNERAUD Jan 25, 2026
a82e506
feat: update testing initialization to include additional parameter f…
AlixANNERAUD Jan 25, 2026
87e2c45
feat: update testing initialization to include additional parameter f…
AlixANNERAUD Jan 25, 2026
50de59a
refactor: simplify new function signature in FileManagerExecutable
AlixANNERAUD Jan 25, 2026
d4479fd
feat: update FileManager to use LV_SYMBOL constants for button labels
AlixANNERAUD Jan 25, 2026
0a4718d
feat: update testing initialization to include additional parameter f…
AlixANNERAUD Jan 25, 2026
6eea969
feat: refactor AboutTab to use lv_list for UI representation and impr…
AlixANNERAUD Jan 25, 2026
d401e09
refactor: simplify function signature in SettingsExecutable::new
AlixANNERAUD Jan 25, 2026
c9ae63c
feat: integrate NetworkTab and update Settings to include NetworkTab …
AlixANNERAUD Jan 25, 2026
d73e610
feat: add new localization strings for system settings and network co…
AlixANNERAUD Jan 25, 2026
57d330e
fix: update testing initialization to include additional parameter fo…
AlixANNERAUD Jan 25, 2026
4f89217
feat: integrate getargs for argument parsing and enhance keyboard opt…
AlixANNERAUD Jan 25, 2026
421de5f
feat: add error handling for directory opening and update network ico…
AlixANNERAUD Jan 25, 2026
e0e6a47
fix: update testing initialization to include additional parameter fo…
AlixANNERAUD Jan 25, 2026
a68af02
refactor: simplify lifetime annotations in TerminalExecutable::new me…
AlixANNERAUD Jan 25, 2026
a625162
fix: update testing initialization to include additional parameter fo…
AlixANNERAUD Jan 25, 2026
c462da9
feat: implement DNS resolution functionality with support for multipl…
AlixANNERAUD Jan 25, 2026
b44dbb0
feat: implement ping command with DNS resolution and customizable opt…
AlixANNERAUD Jan 25, 2026
47e9018
fix: simplify entry path joining in list command
AlixANNERAUD Jan 25, 2026
19a9ac5
feat: implement IP command with address and route display functionality
AlixANNERAUD Jan 25, 2026
5a2729a
feat: integrate smoltcp stack with DNS resolution and socket creation…
AlixANNERAUD Jan 25, 2026
0b3d4f9
feat: enhance network interface setup with IP address and DNS server …
AlixANNERAUD Jan 25, 2026
55ce2a5
refactor: streamline virtual file system initialization
AlixANNERAUD Jan 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ shared = { workspace = true, optional = true }
synchronization = { workspace = true, optional = true }
host_bindings = { workspace = true, optional = true }
bootsplash = { workspace = true, optional = true }
network = { workspace = true, optional = true }

[features]
default = []
Expand All @@ -68,6 +69,7 @@ host = [
"dep:synchronization",
"dep:bootsplash",
"abi_definitions",
"dep:network",
]
abi_definitions = ["dep:abi_definitions"]
virtual_machine = ["dep:virtual_machine", "dep:host_bindings"]
Expand Down Expand Up @@ -138,7 +140,7 @@ embassy-futures = { version = "0.1" }
embassy-sync = { version = "0.7" }
embassy-time = { version = "0.5" }
critical-section = { version = "1.2" }
embassy-net = { version = "0.7", default-features = false }
smoltcp = { version = "0.12" }
linked_list_allocator = { version = "0.10", default-features = false, features = [
"const_mut_refs",
] }
Expand Down
2 changes: 1 addition & 1 deletion drivers/native/src/devices/window_screen/window.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ impl<'a> Window<'a> {
}

pub fn paste(&mut self) -> Option<()> {
if let Some(text) = self.clipboard.get_text().ok() {
if let Ok(text) = self.clipboard.get_text() {
for character in text.chars() {
let key = Key::Character(character as u8);

Expand Down
8 changes: 4 additions & 4 deletions drivers/shared/src/devices/hash.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ impl BaseOperations for HashDevice {
fn read(&self, context: &mut Context, buffer: &mut [u8], _: Size) -> Result<usize> {
let hash_context = context
.get_private_data_mutable_of_type::<HashDeviceContext>()
.ok_or_else(|| file_system::Error::InvalidParameter)?;
.ok_or(file_system::Error::InvalidParameter)?;

if buffer.len() < hash_context.hasher.output_size() {
return Err(Error::InvalidParameter);
Expand All @@ -61,7 +61,7 @@ impl BaseOperations for HashDevice {
fn write(&self, context: &mut Context, buffer: &[u8], _: Size) -> Result<usize> {
let hash_context = context
.get_private_data_mutable_of_type::<HashDeviceContext>()
.ok_or_else(|| file_system::Error::InvalidParameter)?;
.ok_or(file_system::Error::InvalidParameter)?;

hash_context.hasher.update(buffer);
Ok(buffer.len())
Expand All @@ -76,7 +76,7 @@ impl BaseOperations for HashDevice {
) -> Result<()> {
let hash_context = context
.get_private_data_mutable_of_type::<HashDeviceContext>()
.ok_or_else(|| file_system::Error::InvalidParameter)?;
.ok_or(file_system::Error::InvalidParameter)?;

match command {
hash::RESET::IDENTIFIER => {
Expand All @@ -96,7 +96,7 @@ impl BaseOperations for HashDevice {
fn clone_context(&self, context: &Context) -> Result<Context> {
let hash_context = context
.get_private_data_of_type::<HashDeviceContext>()
.ok_or_else(|| file_system::Error::InvalidParameter)?;
.ok_or(file_system::Error::InvalidParameter)?;

Ok(Context::new(Some(hash_context.clone())))
}
Expand Down
1 change: 1 addition & 0 deletions drivers/std/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ embassy-executor = { workspace = true, default-features = false, features = [
"arch-std",
"executor-thread",
] }
smoltcp = { workspace = true, features = ["phy-tuntap_interface"] }

[dev-dependencies]
little_fs = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion drivers/std/src/io.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ pub fn map_error(error: io::Error) -> file_system::Error {
io::ErrorKind::PermissionDenied => file_system::Error::PermissionDenied,
io::ErrorKind::NotFound => file_system::Error::NotFound,
io::ErrorKind::AlreadyExists => file_system::Error::AlreadyExists,
io::ErrorKind::InvalidInput => file_system::Error::InvalidPath,
io::ErrorKind::InvalidInput => file_system::Error::InvalidParameter,
io::ErrorKind::InvalidData => file_system::Error::InvalidFile,
_ => file_system::Error::Unknown,
}
Expand Down
22 changes: 7 additions & 15 deletions drivers/std/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
#![cfg(any(target_os = "linux", target_os = "macos", target_os = "windows"))]

pub mod network;

pub mod memory;

pub mod io;

pub mod executor;

pub mod log;

pub mod loader;

pub mod drive_file;

pub mod console;

pub mod devices;
pub mod drive_file;
pub mod executor;
pub mod io;
pub mod loader;
pub mod log;
pub mod memory;
pub mod tuntap;

pub extern crate memory as memory_exported;

Expand Down
5 changes: 2 additions & 3 deletions drivers/std/src/loader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ impl From<io::Error> for Error {

pub type Result<T> = core::result::Result<T, Error>;

pub async fn load_to_virtual_file_system<'a>(
virtual_file_system: &'a VirtualFileSystem<'a>,
pub async fn load_to_virtual_file_system(
virtual_file_system: &VirtualFileSystem,
source_path: impl AsRef<path::Path>,
destination_path: impl AsRef<Path>,
) -> Result<()> {
Expand Down Expand Up @@ -89,7 +89,6 @@ mod tests {
users::get_instance(),
time::get_instance(),
file_system,
None,
)
.unwrap();

Expand Down
6 changes: 6 additions & 0 deletions drivers/std/src/memory.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@ pub struct MemoryManager {
regions: CriticalSectionMutex<RefCell<[Region; 2]>>,
}

impl Default for MemoryManager {
fn default() -> Self {
Self::new()
}
}

impl MemoryManager {
pub const fn new() -> Self {
MemoryManager {
Expand Down
45 changes: 0 additions & 45 deletions drivers/std/src/network/error.rs

This file was deleted.

5 changes: 0 additions & 5 deletions drivers/std/src/network/mod.rs

This file was deleted.

13 changes: 0 additions & 13 deletions drivers/std/src/network/resolver.rs

This file was deleted.

38 changes: 38 additions & 0 deletions drivers/std/src/tuntap/controller.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
use file_system::{
ControlCommand, ControlCommandIdentifier, DirectBaseOperations, DirectCharacterDevice, Error,
MountOperations,
};
use network::{GET_KIND, InterfaceKind};
use shared::AnyByLayout;

pub struct TunTapControllerDevice;

impl DirectBaseOperations for TunTapControllerDevice {
fn read(&self, _: &mut [u8], _: file_system::Size) -> file_system::Result<usize> {
Err(Error::UnsupportedOperation)
}

fn write(&self, _: &[u8], _: file_system::Size) -> file_system::Result<usize> {
Err(Error::UnsupportedOperation)
}

fn control(
&self,
command: ControlCommandIdentifier,
_: &AnyByLayout,
output: &mut AnyByLayout,
) -> file_system::Result<()> {
match command {
GET_KIND::IDENTIFIER => {
let kind = GET_KIND::cast_output(output)?;
*kind = InterfaceKind::Ethernet;
Ok(())
}
_ => Err(Error::UnsupportedOperation),
}
}
}

impl MountOperations for TunTapControllerDevice {}

impl DirectCharacterDevice for TunTapControllerDevice {}
Loading