Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 0 additions & 9 deletions .gitmodules

This file was deleted.

86 changes: 86 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,14 @@
members = [
"openprot",
"xtask",
"hal/blocking",
"hal/async",
"hal/nb",
"platform/traits",
"platform/impls/linux",
"platform/impls/tock",
"platform/impls/hubris",
"services/telemetry",
"services/storage",
]
resolver = "2"
1 change: 0 additions & 1 deletion external/mctp-lib
Submodule mctp-lib deleted from 23e6f7
1 change: 0 additions & 1 deletion external/pldm-lib
Submodule pldm-lib deleted from 756c42
1 change: 0 additions & 1 deletion external/spdm-lib
Submodule spdm-lib deleted from 26996f
11 changes: 11 additions & 0 deletions hal/async/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Licensed under the Apache-2.0 license

[package]
name = "openprot-hal-async"
version = "0.1.0"
edition = "2021"
description = "Async HAL traits for OpenPRoT"
license = "Apache-2.0"

[dependencies]
embedded-hal-async = "1.0"
13 changes: 13 additions & 0 deletions hal/async/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// Licensed under the Apache-2.0 license

//! Async HAL traits for OpenPRoT
//!
//! This crate re-exports embedded-hal-async 1.0 traits for async/await-based
//! hardware abstraction layer operations compatible with modern async runtimes.

#![no_std]
#![forbid(unsafe_code)]
#![deny(missing_docs)]

// Re-export embedded-hal-async 1.0 traits
pub use embedded_hal_async::*;
11 changes: 11 additions & 0 deletions hal/blocking/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Licensed under the Apache-2.0 license

[package]
name = "openprot-hal-blocking"
version = "0.1.0"
edition = "2021"
description = "Blocking/synchronous HAL traits for OpenPRoT"
license = "Apache-2.0"

[dependencies]
embedded-hal = "1.0"
16 changes: 16 additions & 0 deletions hal/blocking/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Licensed under the Apache-2.0 license

//! Blocking/synchronous HAL traits for OpenPRoT
//!
//! This crate re-exports embedded-hal 1.0 traits for blocking hardware abstraction
//! layer operations such as SPI, I2C, GPIO, and other hardware interfaces.

#![no_std]
#![forbid(unsafe_code)]
#![deny(missing_docs)]

// Re-export embedded-hal 1.0 traits
pub use embedded_hal::delay::DelayNs;
pub use embedded_hal::digital::{InputPin, OutputPin, StatefulOutputPin};
pub use embedded_hal::i2c::{I2c, SevenBitAddress, TenBitAddress};
pub use embedded_hal::spi::{SpiBus, SpiDevice};
12 changes: 12 additions & 0 deletions hal/nb/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Licensed under the Apache-2.0 license

[package]
name = "openprot-hal-nb"
version = "0.1.0"
edition = "2021"
description = "Non-blocking HAL traits for OpenPRoT"
license = "Apache-2.0"

[dependencies]
embedded-hal-nb = "1.0"
nb = "1.0"
14 changes: 14 additions & 0 deletions hal/nb/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Licensed under the Apache-2.0 license

//! Non-blocking HAL traits for OpenPRoT
//!
//! This crate re-exports embedded-hal-nb 1.0 traits for non-blocking, polling-based
//! hardware abstraction layer operations using the `nb` crate for error handling.

#![no_std]
#![forbid(unsafe_code)]
#![deny(missing_docs)]

// Re-export nb and embedded-hal-nb 1.0 traits
pub use embedded_hal_nb::*;
pub use nb;
11 changes: 11 additions & 0 deletions platform/impls/hubris/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Licensed under the Apache-2.0 license

[package]
name = "openprot-platform-hubris"
version = "0.1.0"
edition = "2021"
description = "Hubris OS platform implementation for OpenPRoT"
license = "Apache-2.0"

[dependencies]
openprot-platform-traits = { path = "../../traits" }
7 changes: 7 additions & 0 deletions platform/impls/hubris/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Licensed under the Apache-2.0 license

//! Hubris OS platform implementation for OpenPRoT
//!
//! This crate provides Hubris OS-specific implementations of platform abstraction traits.

#![no_std]
11 changes: 11 additions & 0 deletions platform/impls/linux/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Licensed under the Apache-2.0 license

[package]
name = "openprot-platform-linux"
version = "0.1.0"
edition = "2021"
description = "Linux platform implementation for OpenPRoT"
license = "Apache-2.0"

[dependencies]
openprot-platform-traits = { path = "../../traits" }
5 changes: 5 additions & 0 deletions platform/impls/linux/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// Licensed under the Apache-2.0 license

//! Linux platform implementation for OpenPRoT
//!
//! This crate provides Linux-specific implementations of platform abstraction traits.
11 changes: 11 additions & 0 deletions platform/impls/tock/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Licensed under the Apache-2.0 license

[package]
name = "openprot-platform-tock"
version = "0.1.0"
edition = "2021"
description = "Tock OS platform implementation for OpenPRoT"
license = "Apache-2.0"

[dependencies]
openprot-platform-traits = { path = "../../traits" }
7 changes: 7 additions & 0 deletions platform/impls/tock/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Licensed under the Apache-2.0 license

//! Tock OS platform implementation for OpenPRoT
//!
//! This crate provides Tock OS-specific implementations of platform abstraction traits.

#![no_std]
10 changes: 10 additions & 0 deletions platform/traits/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Licensed under the Apache-2.0 license

[package]
name = "openprot-platform-traits"
version = "0.1.0"
edition = "2021"
description = "OS abstraction traits for OpenPRoT"
license = "Apache-2.0"

[dependencies]
12 changes: 12 additions & 0 deletions platform/traits/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Licensed under the Apache-2.0 license

//! OS abstraction traits for OpenPRoT
//!
//! This crate defines the core OS abstraction traits that provide a uniform interface
//! for cross-platform compatibility across different operating systems and embedded platforms.

#![no_std]
#![forbid(unsafe_code)]
#![deny(missing_docs)]

// Platform abstraction traits will be defined here
10 changes: 10 additions & 0 deletions services/storage/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Licensed under the Apache-2.0 license

[package]
name = "openprot-services-storage"
version = "0.1.0"
edition = "2021"
description = "Persistent storage service and abstractions for OpenPRoT"
license = "Apache-2.0"

[dependencies]
7 changes: 7 additions & 0 deletions services/storage/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Licensed under the Apache-2.0 license

//! Persistent storage service and abstractions for OpenPRoT
//!
//! This crate provides storage abstractions and persistence capabilities.

#![no_std]
10 changes: 10 additions & 0 deletions services/telemetry/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Licensed under the Apache-2.0 license

[package]
name = "openprot-services-telemetry"
version = "0.1.0"
edition = "2021"
description = "Telemetry, monitoring, and logging service for OpenPRoT"
license = "Apache-2.0"

[dependencies]
7 changes: 7 additions & 0 deletions services/telemetry/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Licensed under the Apache-2.0 license

//! Telemetry, monitoring, and logging service for OpenPRoT
//!
//! This crate provides telemetry collection and monitoring capabilities.

#![no_std]