Skip to content

Commit b04c480

Browse files
embediverleongrossmynetz
authored
Initial mctp baremetal implementation (#3)
Implementation of a baremetal mctp router that uses the available types from [mctp-estack](https://github.com/CodeConstruct/mctp-rs). The router currently only supports a single transport binding (so no real routing/bridge functionality). The mctp-rs blocking traits for requests and listeners are not implemented right now since that is difficult without any runtime. --------- Signed-off-by: Marvin Gudel <[email protected]> Signed-off-by: Christian Grönke <[email protected]> Co-authored-by: leongross <[email protected]> Co-authored-by: Christian Grönke <[email protected]>
1 parent 6543215 commit b04c480

File tree

5 files changed

+606
-12
lines changed

5 files changed

+606
-12
lines changed

.gitignore

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,117 @@
1+
# Rust build artifacts
2+
/target/
3+
**/target/
14

25
# Generated by Cargo
36
# will have compiled files and executables
7+
debug/
48
target/
59

10+
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
11+
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
12+
Cargo.lock
13+
614
# These are backup files generated by rustfmt
715
**/*.rs.bk
16+
17+
# MSVC Windows builds of rustc generate these, which store debugging information
18+
*.pdb
19+
20+
# IDE files
21+
.vscode/
22+
.idea/
23+
*.swp
24+
*.swo
25+
*~
26+
27+
# OS files
28+
.DS_Store
29+
.DS_Store?
30+
._*
31+
.Spotlight-V100
32+
.Trashes
33+
ehthumbs.db
34+
Thumbs.db
35+
36+
# Logs
37+
*.log
38+
39+
# Runtime data
40+
pids
41+
*.pid
42+
*.seed
43+
*.pid.lock
44+
45+
# Coverage directory used by tools like istanbul
46+
coverage/
47+
*.lcov
48+
49+
# nyc test coverage
50+
.nyc_output
51+
52+
# Dependency directories
53+
node_modules/
54+
55+
# Optional npm cache directory
56+
.npm
57+
58+
# Optional REPL history
59+
.node_repl_history
60+
61+
# Output of 'npm pack'
62+
*.tgz
63+
64+
# Yarn Integrity file
65+
.yarn-integrity
66+
67+
# dotenv environment variables file
68+
.env
69+
.env.test
70+
.env.production
71+
.env.local
72+
73+
# Rust-specific
74+
# Generated by rustdoc
75+
doc/
76+
77+
# Generated by mdbook
78+
book/
79+
target/book/
80+
81+
# Backup files
82+
*.bak
83+
*.backup
84+
85+
# Temporary files
86+
*.tmp
87+
*.temp
88+
89+
# Distribution
90+
dist/
91+
target/dist/
92+
93+
# Local configuration
94+
.cargo/config
95+
!.cargo/config.toml
96+
97+
# Documentation build
98+
/docs/book/
99+
100+
# Flamegraph output
101+
flamegraph.svg
102+
perf.data*
103+
104+
# Criterion benchmark output
105+
criterion/
106+
107+
# Profiling data
108+
*.profraw
109+
110+
# Cache directories
111+
.cache/
112+
113+
# Local development
114+
*.local
115+
116+
# Build scripts
117+
build.rs.bk

Cargo.lock

Lines changed: 0 additions & 7 deletions
This file was deleted.

Cargo.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,17 @@ edition = "2024"
55
authors = ["OpenPRoT Contributors"]
66
license = "Apache-2.0"
77
description = "Platform-agnostic MCTP (Management Component Transport Protocol) library for embedded systems"
8-
repository = "https://github.com/rusty1968/mctp-lib"
8+
repository = "https://github.com/OpenPRoT/mctp-lib"
99
keywords = ["mctp", "embedded", "no-std", "protocol", "openprot"]
1010
categories = ["embedded", "no-std"]
1111

1212
[features]
1313

1414
[dependencies]
15+
mctp-estack = { git = "https://github.com/OpenPRoT/mctp-rs.git", branch = "sync-features", default-features = false, features = ["log"] }
16+
mctp = { git = "https://github.com/OpenPRoT/mctp-rs.git", branch = "sync-features", default-features = false }
1517

1618
[dev-dependencies]
1719

1820
[package.metadata.docs.rs]
19-
all-features = true
21+
all-features = true

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# OpenPRoT mctp-lib
22

3-
This repository contains a standalone MCTP library implemented in Rust, used by the OpenPRoT project.
3+
This repository contains a platform agnostic MCTP stack implemented in Rust, used by the OpenPRoT project.
4+
5+
It utilizes the [mctp-estack](https://docs.rs/mctp-estack/latest/mctp_estack/) and re-exports most parts of it.
46

57
## Technical Charter
68

0 commit comments

Comments
 (0)