From fbf23c048472857fb6b91beeb8fe50e8c2fd91e6 Mon Sep 17 00:00:00 2001 From: Dylan Knutson Date: Fri, 22 May 2026 13:12:42 -0700 Subject: [PATCH 1/2] feat(dev-qemu): use MctpSerialMedium for uart-service Switch dev-qemu from SmbusEspiMedium to MctpSerialMedium for the uart-service, using DSP0253 serial framing with CRC-16 instead of SMBus/eSPI framing. Note: this will require a corresponding ec-test-cli update to support DSP0253 serial framing before the integration-test CI job passes. --- platform/dev-qemu/Cargo.lock | 17 +++++++++++++++++ platform/dev-qemu/Cargo.toml | 4 ++++ platform/dev-qemu/src/main.rs | 12 ++++++++++-- platform/dev-qemu/supply-chain/config.toml | 8 ++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/platform/dev-qemu/Cargo.lock b/platform/dev-qemu/Cargo.lock index 1fa86da..d270981 100644 --- a/platform/dev-qemu/Cargo.lock +++ b/platform/dev-qemu/Cargo.lock @@ -170,6 +170,21 @@ dependencies = [ "volatile-register", ] +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" + [[package]] name = "critical-section" version = "1.2.0" @@ -272,6 +287,7 @@ dependencies = [ "defmt-semihosting", "embassy-executor 0.10.0", "embassy-qemu-riscv", + "mctp-rs", "platform-common", "riscv-rt", "semihosting", @@ -754,6 +770,7 @@ version = "0.1.0" source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities)", + "crc", "defmt 0.3.100", "embedded-batteries", "espi-device", diff --git a/platform/dev-qemu/Cargo.toml b/platform/dev-qemu/Cargo.toml index a641ae2..a65bcf5 100644 --- a/platform/dev-qemu/Cargo.toml +++ b/platform/dev-qemu/Cargo.toml @@ -56,6 +56,10 @@ embassy-executor = { version = "0.10.0", features = [ uart-service = { git = "https://github.com/OpenDevicePartnership/embedded-services", branch = "main", features = [ "defmt", ] } +mctp-rs = { git = "https://github.com/OpenDevicePartnership/embedded-services", branch = "main", features = [ + "defmt", + "serial", +] } platform-common = { path = "../platform-common", features = ["mock"] } static_cell = "2.1.0" diff --git a/platform/dev-qemu/src/main.rs b/platform/dev-qemu/src/main.rs index b57d1ed..0aada7a 100644 --- a/platform/dev-qemu/src/main.rs +++ b/platform/dev-qemu/src/main.rs @@ -8,6 +8,7 @@ use defmt::info; use defmt_semihosting as _; use embassy_executor::Spawner; use embassy_qemu_riscv::uart::{buffered, Async}; +use mctp_rs::{EndpointId, MctpMessageTag, MctpReplyContext, MctpSequenceNumber, MctpSerialMedium}; use platform_common::board::BoardIo; use platform_common::mock::MockOdpRelayHandler; use semihosting as _; // Panic handler @@ -16,8 +17,15 @@ use static_cell::StaticCell; #[embassy_executor::task] async fn uart_service(uart: buffered::Uart<'static, Async>, relay: MockOdpRelayHandler) { info!("Starting uart service"); - static UART_SERVICE: StaticCell> = StaticCell::new(); - let uart_service = uart_service::DefaultService::default_smbusespi(relay).unwrap(); + static UART_SERVICE: StaticCell> = StaticCell::new(); + let reply_context = MctpReplyContext { + source_endpoint_id: EndpointId::Id(0x80), + destination_endpoint_id: EndpointId::Id(0), // overridden per-response + packet_sequence_number: MctpSequenceNumber::new(0), + message_tag: MctpMessageTag::try_from(3).unwrap(), + medium_context: (), // MctpSerialMedium has no per-medium addressing + }; + let uart_service = uart_service::Service::new(relay, MctpSerialMedium, reply_context).unwrap(); let uart_service = UART_SERVICE.init(uart_service); let Err(e) = uart_service::task::uart_service(uart_service, uart).await; panic!("uart-service error: {:?}", e); diff --git a/platform/dev-qemu/supply-chain/config.toml b/platform/dev-qemu/supply-chain/config.toml index 645e891..71a8b52 100644 --- a/platform/dev-qemu/supply-chain/config.toml +++ b/platform/dev-qemu/supply-chain/config.toml @@ -36,6 +36,14 @@ criteria = "safe-to-deploy" version = "1.0.4" criteria = "safe-to-deploy" +[[exemptions.crc]] +version = "3.4.0" +criteria = "safe-to-deploy" + +[[exemptions.crc-catalog]] +version = "2.5.0" +criteria = "safe-to-deploy" + [[exemptions.darling]] version = "0.20.11" criteria = "safe-to-deploy" From d3652e5851f19c1113e8c9522d917e044ad8f861 Mon Sep 17 00:00:00 2001 From: Dylan Knutson Date: Thu, 28 May 2026 13:04:01 -0700 Subject: [PATCH 2/2] refactor(platform-common): adopt odp_client crate (Phase 2b) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit embedded-services PR #11 (currently dymk/odp-canonical-wire-and-odp-client @ b00c3a7) deleted embedded_services::relay::mctp::impl_odp_mctp_relay_handler! and replaced it with odp_client::impl_odp_relay_handler! in a new odp-client crate. This commit migrates platform-common to the new path and re-pins all embedded-services-sourced deps (direct and transitive) through Cargo [patch] sections so this PR can ship to the personal fork before PR #11 merges upstream. Files: - platform/platform-common/Cargo.toml: add odp-client direct dep - platform/platform-common/src/lib.rs: swap macro path embedded_services::relay::mctp::impl_odp_mctp_relay_handler! -> odp_client::impl_odp_relay_handler! (macro grammar unchanged — argument list is identical) - platform/{platform-common,dev-qemu,dev-imxrt,dev-npcx,dev-mcxa,dev-mec}/Cargo.toml: add identical [patch."https://github.com/OpenDevicePartnership/embedded-services"] block re-routing 14 embedded-services workspace crates to the dymk fork rev b00c3a7. REVERT THIS BLOCK once PR #11 merges to upstream. - platform/*/Cargo.lock: updated to resolve from the dymk fork rev Gates (all 5 CI-matrix platforms pass cargo clippy --locked + fmt --check; dev-qemu also passes cargo build --locked for riscv32imac-unknown-none-elf): - platform-common / dev-qemu / dev-imxrt / dev-npcx / dev-mcxa: clippy clean - dev-qemu binary: 6.3 MB ELF produced A pre-existing clippy::clone_on_copy finding in platform-common/src/mock/battery.rs:35 is gated behind --all-features --all-targets which is NOT part of CI scope (CI runs default-features clippy per platform). Reproduces unchanged on origin/main; out of scope for this PR. --- platform/dev-imxrt/Cargo.lock | 89 +++-- platform/dev-imxrt/Cargo.toml | 21 ++ platform/dev-mcxa/Cargo.lock | 89 +++-- platform/dev-mcxa/Cargo.toml | 21 ++ platform/dev-mec/Cargo.lock | 81 +++-- platform/dev-mec/Cargo.toml | 21 ++ platform/dev-npcx/Cargo.lock | 95 +++-- platform/dev-npcx/Cargo.toml | 21 ++ platform/dev-qemu/Cargo.lock | 91 +++-- platform/dev-qemu/Cargo.toml | 21 ++ platform/platform-common/Cargo.lock | 536 ++++++---------------------- platform/platform-common/Cargo.toml | 22 ++ platform/platform-common/src/lib.rs | 2 +- 13 files changed, 523 insertions(+), 587 deletions(-) diff --git a/platform/dev-imxrt/Cargo.lock b/platform/dev-imxrt/Cargo.lock index 862956c..4acaf27 100644 --- a/platform/dev-imxrt/Cargo.lock +++ b/platform/dev-imxrt/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "az" @@ -35,7 +35,7 @@ dependencies = [ [[package]] name = "battery-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", @@ -51,7 +51,7 @@ dependencies = [ [[package]] name = "battery-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-batteries-async", @@ -60,12 +60,13 @@ dependencies = [ [[package]] name = "battery-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", "embedded-services", "num_enum", + "odp-client", ] [[package]] @@ -209,6 +210,21 @@ dependencies = [ "syn", ] +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" + [[package]] name = "critical-section" version = "1.2.0" @@ -666,16 +682,13 @@ dependencies = [ [[package]] name = "embedded-services" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ - "bitfield 0.17.0", "cortex-m", "critical-section", "defmt 0.3.100", "embassy-futures", "embassy-sync", - "mctp-rs", - "paste", "portable-atomic", "serde", ] @@ -698,7 +711,7 @@ dependencies = [ [[package]] name = "espi-device" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#290aa80a4c281857f3bed94581200b330119286c" +source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#fe63c1fc0bb2463922d956003caf8ac9d6224231" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities?tag=v0.1.0)", "bitflags 2.11.1", @@ -830,9 +843,9 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "log" -version = "0.4.29" +version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "616ec5685824bcc94416c6d4a7a446eea774a31efd7062c8480ba6fd06d7a6e5" [[package]] name = "loom" @@ -859,9 +872,10 @@ dependencies = [ [[package]] name = "mctp-rs" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities)", + "crc", "defmt 0.3.100", "embedded-batteries", "espi-device", @@ -872,9 +886,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" [[package]] name = "mimxrt600-fcb" @@ -965,10 +979,23 @@ dependencies = [ "syn", ] +[[package]] +name = "odp-client" +version = "0.1.0" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" +dependencies = [ + "bitfield 0.17.0", + "defmt 0.3.100", + "embedded-io 0.7.1", + "heapless", + "mctp-rs", + "paste", +] + [[package]] name = "odp-service-common" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "embedded-services", "static_cell", @@ -1024,6 +1051,7 @@ dependencies = [ "embedded-mcu-hal", "embedded-sensors-hal-async", "embedded-services", + "odp-client", "odp-service-common", "static_cell", "thermal-service", @@ -1043,7 +1071,7 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "power-policy-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1270,7 +1298,7 @@ dependencies = [ [[package]] name = "thermal-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1287,7 +1315,7 @@ dependencies = [ [[package]] name = "thermal-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-time", @@ -1298,11 +1326,11 @@ dependencies = [ [[package]] name = "thermal-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", - "embedded-services", "num_enum", + "odp-client", "thermal-service-interface", "uuid", ] @@ -1339,7 +1367,7 @@ dependencies = [ [[package]] name = "time-alarm-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1355,7 +1383,7 @@ dependencies = [ [[package]] name = "time-alarm-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1367,12 +1395,12 @@ dependencies = [ [[package]] name = "time-alarm-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-mcu-hal", - "embedded-services", "num_enum", + "odp-client", "time-alarm-service-interface", ] @@ -1446,13 +1474,14 @@ checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" [[package]] name = "uart-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-sync", "embedded-io-async 0.7.0", "embedded-services", "mctp-rs", + "odp-client", ] [[package]] @@ -1520,18 +1549,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "bce33a6288fa3f072a8c2c7d0f2fdbb90e28298f0135c1f99b96c3db2efcc60b" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "8fd425244944f4ab65ccff928e7323354c5a018c75838362fdce749dfad2ee1e" dependencies = [ "proc-macro2", "quote", diff --git a/platform/dev-imxrt/Cargo.toml b/platform/dev-imxrt/Cargo.toml index f1755ec..758a88a 100644 --- a/platform/dev-imxrt/Cargo.toml +++ b/platform/dev-imxrt/Cargo.toml @@ -66,3 +66,24 @@ panic-probe = { version = "1.0.0", features = ["print-defmt"] } [package.metadata.cargo-machete] ignored = ["cortex-m", "cortex-m-rt"] + +# === Phase 2b prereq: dymk/embedded-services PR #11 (canonical ODP wire +# format + odp-client crate) is not yet merged to upstream. Re-route every +# embedded-services-sourced dep — direct and transitive — through the dymk +# fork at rev b00c3a7 (head of dymk/odp-canonical-wire-and-odp-client). +# REVERT THIS BLOCK once PR #11 merges to OpenDevicePartnership/embedded-services. +[patch."https://github.com/OpenDevicePartnership/embedded-services"] +embedded-services = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +mctp-rs = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-client = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-service-common = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +uart-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } diff --git a/platform/dev-mcxa/Cargo.lock b/platform/dev-mcxa/Cargo.lock index e907b05..a513894 100644 --- a/platform/dev-mcxa/Cargo.lock +++ b/platform/dev-mcxa/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "bare-metal" @@ -29,7 +29,7 @@ dependencies = [ [[package]] name = "battery-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", @@ -45,7 +45,7 @@ dependencies = [ [[package]] name = "battery-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-batteries-async", @@ -54,12 +54,13 @@ dependencies = [ [[package]] name = "battery-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", "embedded-services", "num_enum", + "odp-client", ] [[package]] @@ -223,6 +224,21 @@ dependencies = [ "syn", ] +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" + [[package]] name = "critical-section" version = "1.2.0" @@ -649,16 +665,13 @@ dependencies = [ [[package]] name = "embedded-services" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ - "bitfield 0.17.0", "cortex-m", "critical-section", "defmt 0.3.100", "embassy-futures", "embassy-sync", - "mctp-rs", - "paste", "portable-atomic", "serde", ] @@ -687,7 +700,7 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "espi-device" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#290aa80a4c281857f3bed94581200b330119286c" +source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#fe63c1fc0bb2463922d956003caf8ac9d6224231" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities?tag=v0.1.0)", "bitflags 2.11.1", @@ -812,9 +825,9 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "log" -version = "0.4.29" +version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "616ec5685824bcc94416c6d4a7a446eea774a31efd7062c8480ba6fd06d7a6e5" [[package]] name = "loom" @@ -857,9 +870,10 @@ dependencies = [ [[package]] name = "mctp-rs" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities)", + "crc", "defmt 0.3.100", "embedded-batteries", "espi-device", @@ -870,9 +884,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" [[package]] name = "mutex-traits" @@ -951,10 +965,23 @@ dependencies = [ "defmt 0.3.100", ] +[[package]] +name = "odp-client" +version = "0.1.0" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" +dependencies = [ + "bitfield 0.17.0", + "defmt 0.3.100", + "embedded-io 0.7.1", + "heapless", + "mctp-rs", + "paste", +] + [[package]] name = "odp-service-common" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "embedded-services", "static_cell", @@ -1030,6 +1057,7 @@ dependencies = [ "embedded-mcu-hal", "embedded-sensors-hal-async", "embedded-services", + "odp-client", "odp-service-common", "static_cell", "thermal-service", @@ -1052,7 +1080,7 @@ dependencies = [ [[package]] name = "power-policy-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1298,7 +1326,7 @@ dependencies = [ [[package]] name = "thermal-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1315,7 +1343,7 @@ dependencies = [ [[package]] name = "thermal-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-time", @@ -1326,11 +1354,11 @@ dependencies = [ [[package]] name = "thermal-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", - "embedded-services", "num_enum", + "odp-client", "thermal-service-interface", "uuid", ] @@ -1367,7 +1395,7 @@ dependencies = [ [[package]] name = "time-alarm-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1383,7 +1411,7 @@ dependencies = [ [[package]] name = "time-alarm-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1395,12 +1423,12 @@ dependencies = [ [[package]] name = "time-alarm-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-mcu-hal", - "embedded-services", "num_enum", + "odp-client", "time-alarm-service-interface", ] @@ -1468,13 +1496,14 @@ dependencies = [ [[package]] name = "uart-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-sync", "embedded-io-async 0.7.0", "embedded-services", "mctp-rs", + "odp-client", ] [[package]] @@ -1548,18 +1577,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "bce33a6288fa3f072a8c2c7d0f2fdbb90e28298f0135c1f99b96c3db2efcc60b" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "8fd425244944f4ab65ccff928e7323354c5a018c75838362fdce749dfad2ee1e" dependencies = [ "proc-macro2", "quote", diff --git a/platform/dev-mcxa/Cargo.toml b/platform/dev-mcxa/Cargo.toml index c8d8304..25cb44a 100644 --- a/platform/dev-mcxa/Cargo.toml +++ b/platform/dev-mcxa/Cargo.toml @@ -76,3 +76,24 @@ embassy-sync = { git = "https://github.com/embassy-rs/embassy", rev = "bef411873 embassy-executor = { git = "https://github.com/embassy-rs/embassy", rev = "bef4118731ac69092bee4489240f59c89af0d944" } embassy-futures = { git = "https://github.com/embassy-rs/embassy", rev = "bef4118731ac69092bee4489240f59c89af0d944" } embassy-embedded-hal = { git = "https://github.com/embassy-rs/embassy", rev = "bef4118731ac69092bee4489240f59c89af0d944" } + +# === Phase 2b prereq: dymk/embedded-services PR #11 (canonical ODP wire +# format + odp-client crate) is not yet merged to upstream. Re-route every +# embedded-services-sourced dep — direct and transitive — through the dymk +# fork at rev b00c3a7 (head of dymk/odp-canonical-wire-and-odp-client). +# REVERT THIS BLOCK once PR #11 merges to OpenDevicePartnership/embedded-services. +[patch."https://github.com/OpenDevicePartnership/embedded-services"] +embedded-services = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +mctp-rs = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-client = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-service-common = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +uart-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } diff --git a/platform/dev-mec/Cargo.lock b/platform/dev-mec/Cargo.lock index 9d33d54..47cbd3f 100644 --- a/platform/dev-mec/Cargo.lock +++ b/platform/dev-mec/Cargo.lock @@ -35,7 +35,7 @@ dependencies = [ [[package]] name = "battery-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", @@ -51,7 +51,7 @@ dependencies = [ [[package]] name = "battery-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-batteries-async", @@ -60,12 +60,13 @@ dependencies = [ [[package]] name = "battery-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", "embedded-services", "num_enum", + "odp-client", ] [[package]] @@ -203,6 +204,21 @@ dependencies = [ "syn", ] +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" + [[package]] name = "critical-section" version = "1.2.0" @@ -624,16 +640,13 @@ dependencies = [ [[package]] name = "embedded-services" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ - "bitfield 0.17.0", "cortex-m", "critical-section", "defmt 0.3.100", "embassy-futures", "embassy-sync", - "mctp-rs", - "paste", "portable-atomic", "serde", ] @@ -656,7 +669,7 @@ dependencies = [ [[package]] name = "espi-device" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#290aa80a4c281857f3bed94581200b330119286c" +source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#fe63c1fc0bb2463922d956003caf8ac9d6224231" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities?tag=v0.1.0)", "bitflags 2.11.1", @@ -808,9 +821,10 @@ dependencies = [ [[package]] name = "mctp-rs" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities)", + "crc", "defmt 0.3.100", "embedded-batteries", "espi-device", @@ -832,9 +846,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" [[package]] name = "nb" @@ -890,10 +904,23 @@ dependencies = [ "syn", ] +[[package]] +name = "odp-client" +version = "0.1.0" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" +dependencies = [ + "bitfield 0.17.0", + "defmt 0.3.100", + "embedded-io 0.7.1", + "heapless", + "mctp-rs", + "paste", +] + [[package]] name = "odp-service-common" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "embedded-services", "static_cell", @@ -949,6 +976,7 @@ dependencies = [ "embedded-mcu-hal", "embedded-sensors-hal-async", "embedded-services", + "odp-client", "odp-service-common", "static_cell", "thermal-service", @@ -968,7 +996,7 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "power-policy-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1184,7 +1212,7 @@ dependencies = [ [[package]] name = "thermal-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1201,7 +1229,7 @@ dependencies = [ [[package]] name = "thermal-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-time", @@ -1212,11 +1240,11 @@ dependencies = [ [[package]] name = "thermal-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", - "embedded-services", "num_enum", + "odp-client", "thermal-service-interface", "uuid", ] @@ -1253,7 +1281,7 @@ dependencies = [ [[package]] name = "time-alarm-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1269,7 +1297,7 @@ dependencies = [ [[package]] name = "time-alarm-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1281,12 +1309,12 @@ dependencies = [ [[package]] name = "time-alarm-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-mcu-hal", - "embedded-services", "num_enum", + "odp-client", "time-alarm-service-interface", ] @@ -1360,13 +1388,14 @@ checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" [[package]] name = "uart-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#5cc395f101ad574214a49b2894c484cc19d41695" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-sync", "embedded-io-async 0.7.0", "embedded-services", "mctp-rs", + "odp-client", ] [[package]] @@ -1434,18 +1463,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "bce33a6288fa3f072a8c2c7d0f2fdbb90e28298f0135c1f99b96c3db2efcc60b" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "8fd425244944f4ab65ccff928e7323354c5a018c75838362fdce749dfad2ee1e" dependencies = [ "proc-macro2", "quote", diff --git a/platform/dev-mec/Cargo.toml b/platform/dev-mec/Cargo.toml index b2be771..895b83c 100644 --- a/platform/dev-mec/Cargo.toml +++ b/platform/dev-mec/Cargo.toml @@ -79,3 +79,24 @@ embassy-executor = { git = "https://github.com/bjackson312006/embassy", branch = embassy-futures = { git = "https://github.com/bjackson312006/embassy", branch = "microchip-uart-buffer-hack.update-embassy" } embassy-embedded-hal = { git = "https://github.com/bjackson312006/embassy", branch = "microchip-uart-buffer-hack.update-embassy" } embassy-hal-internal = { git = "https://github.com/bjackson312006/embassy", branch = "microchip-uart-buffer-hack.update-embassy" } + +# === Phase 2b prereq: dymk/embedded-services PR #11 (canonical ODP wire +# format + odp-client crate) is not yet merged to upstream. Re-route every +# embedded-services-sourced dep — direct and transitive — through the dymk +# fork at rev b00c3a7 (head of dymk/odp-canonical-wire-and-odp-client). +# REVERT THIS BLOCK once PR #11 merges to OpenDevicePartnership/embedded-services. +[patch."https://github.com/OpenDevicePartnership/embedded-services"] +embedded-services = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +mctp-rs = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-client = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-service-common = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +uart-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } diff --git a/platform/dev-npcx/Cargo.lock b/platform/dev-npcx/Cargo.lock index 1924c21..ed7c23d 100644 --- a/platform/dev-npcx/Cargo.lock +++ b/platform/dev-npcx/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "bare-metal" @@ -29,7 +29,7 @@ dependencies = [ [[package]] name = "battery-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", @@ -45,7 +45,7 @@ dependencies = [ [[package]] name = "battery-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-batteries-async", @@ -54,12 +54,13 @@ dependencies = [ [[package]] name = "battery-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", "embedded-services", "num_enum", + "odp-client", ] [[package]] @@ -191,6 +192,21 @@ dependencies = [ "syn", ] +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" + [[package]] name = "critical-section" version = "1.2.0" @@ -361,7 +377,7 @@ checksum = "dc2d050bdc5c21e0862a89256ed8029ae6c290a93aecefc73084b3002cdebb01" [[package]] name = "embassy-hal-internal" version = "0.5.0" -source = "git+https://github.com/embassy-rs/embassy#e9c32931b906649d65fc502fe8e8f2c70ef1e6ab" +source = "git+https://github.com/embassy-rs/embassy#664d4ead36bb24a63955ca649bcec66c6e70bf6d" dependencies = [ "cortex-m", "critical-section", @@ -371,7 +387,7 @@ dependencies = [ [[package]] name = "embassy-npcx" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embassy-npcx#648dcd7d97831d669ef49530d3334210cf2c2265" +source = "git+https://github.com/OpenDevicePartnership/embassy-npcx#6be54594f61e6e66ba993b22d1bcf8c2a5897f8b" dependencies = [ "cfg-if", "cortex-m", @@ -411,7 +427,7 @@ dependencies = [ [[package]] name = "embassy-sync" version = "0.8.0" -source = "git+https://github.com/embassy-rs/embassy#e9c32931b906649d65fc502fe8e8f2c70ef1e6ab" +source = "git+https://github.com/embassy-rs/embassy#664d4ead36bb24a63955ca649bcec66c6e70bf6d" dependencies = [ "cfg-if", "critical-section", @@ -605,16 +621,13 @@ dependencies = [ [[package]] name = "embedded-services" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ - "bitfield 0.17.0", "cortex-m", "critical-section", "defmt 0.3.100", "embassy-futures", "embassy-sync 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "mctp-rs", - "paste", "portable-atomic", "serde", ] @@ -622,7 +635,7 @@ dependencies = [ [[package]] name = "espi-device" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#290aa80a4c281857f3bed94581200b330119286c" +source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#fe63c1fc0bb2463922d956003caf8ac9d6224231" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities?tag=v0.1.0)", "bitflags 2.11.1", @@ -732,9 +745,9 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "log" -version = "0.4.29" +version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "616ec5685824bcc94416c6d4a7a446eea774a31efd7062c8480ba6fd06d7a6e5" [[package]] name = "loom" @@ -777,9 +790,10 @@ dependencies = [ [[package]] name = "mctp-rs" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities)", + "crc", "defmt 0.3.100", "embedded-batteries", "espi-device", @@ -790,9 +804,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" [[package]] name = "mutex-traits" @@ -871,10 +885,23 @@ dependencies = [ "syn", ] +[[package]] +name = "odp-client" +version = "0.1.0" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" +dependencies = [ + "bitfield 0.17.0", + "defmt 0.3.100", + "embedded-io 0.7.1", + "heapless 0.9.3", + "mctp-rs", + "paste", +] + [[package]] name = "odp-service-common" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "embedded-services", "static_cell", @@ -950,6 +977,7 @@ dependencies = [ "embedded-mcu-hal", "embedded-sensors-hal-async", "embedded-services", + "odp-client", "odp-service-common", "static_cell", "thermal-service", @@ -972,7 +1000,7 @@ dependencies = [ [[package]] name = "power-policy-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1188,7 +1216,7 @@ dependencies = [ [[package]] name = "thermal-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1205,7 +1233,7 @@ dependencies = [ [[package]] name = "thermal-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-time", @@ -1216,11 +1244,11 @@ dependencies = [ [[package]] name = "thermal-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", - "embedded-services", "num_enum", + "odp-client", "thermal-service-interface", "uuid", ] @@ -1257,7 +1285,7 @@ dependencies = [ [[package]] name = "time-alarm-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1273,7 +1301,7 @@ dependencies = [ [[package]] name = "time-alarm-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1285,12 +1313,12 @@ dependencies = [ [[package]] name = "time-alarm-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-mcu-hal", - "embedded-services", "num_enum", + "odp-client", "time-alarm-service-interface", ] @@ -1358,13 +1386,14 @@ dependencies = [ [[package]] name = "uart-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-sync 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "embedded-io-async 0.7.0", "embedded-services", "mctp-rs", + "odp-client", ] [[package]] @@ -1432,18 +1461,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "bce33a6288fa3f072a8c2c7d0f2fdbb90e28298f0135c1f99b96c3db2efcc60b" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "8fd425244944f4ab65ccff928e7323354c5a018c75838362fdce749dfad2ee1e" dependencies = [ "proc-macro2", "quote", diff --git a/platform/dev-npcx/Cargo.toml b/platform/dev-npcx/Cargo.toml index d59917d..c9212e6 100644 --- a/platform/dev-npcx/Cargo.toml +++ b/platform/dev-npcx/Cargo.toml @@ -75,3 +75,24 @@ embassy-futures = "=0.1.2" embassy-time-driver = "=0.2.2" embassy-time-queue-utils = "=0.3.0" embassy-time = "=0.5.1" + +# === Phase 2b prereq: dymk/embedded-services PR #11 (canonical ODP wire +# format + odp-client crate) is not yet merged to upstream. Re-route every +# embedded-services-sourced dep — direct and transitive — through the dymk +# fork at rev b00c3a7 (head of dymk/odp-canonical-wire-and-odp-client). +# REVERT THIS BLOCK once PR #11 merges to OpenDevicePartnership/embedded-services. +[patch."https://github.com/OpenDevicePartnership/embedded-services"] +embedded-services = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +mctp-rs = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-client = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-service-common = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +uart-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } diff --git a/platform/dev-qemu/Cargo.lock b/platform/dev-qemu/Cargo.lock index d270981..f957491 100644 --- a/platform/dev-qemu/Cargo.lock +++ b/platform/dev-qemu/Cargo.lock @@ -29,7 +29,7 @@ dependencies = [ [[package]] name = "battery-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", @@ -45,7 +45,7 @@ dependencies = [ [[package]] name = "battery-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-batteries-async", @@ -54,12 +54,13 @@ dependencies = [ [[package]] name = "battery-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", "embedded-services", "num_enum", + "odp-client", ] [[package]] @@ -611,16 +612,13 @@ dependencies = [ [[package]] name = "embedded-services" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ - "bitfield 0.17.0", "cortex-m", "critical-section", "defmt 0.3.100", "embassy-futures", "embassy-sync 0.8.0", - "mctp-rs", - "paste", "portable-atomic", "serde", ] @@ -628,7 +626,7 @@ dependencies = [ [[package]] name = "espi-device" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#290aa80a4c281857f3bed94581200b330119286c" +source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#fe63c1fc0bb2463922d956003caf8ac9d6224231" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities?tag=v0.1.0)", "bitflags 2.11.1", @@ -738,9 +736,9 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "log" -version = "0.4.29" +version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "616ec5685824bcc94416c6d4a7a446eea774a31efd7062c8480ba6fd06d7a6e5" [[package]] name = "loom" @@ -767,7 +765,7 @@ dependencies = [ [[package]] name = "mctp-rs" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities)", "crc", @@ -781,9 +779,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" [[package]] name = "nb" @@ -839,10 +837,23 @@ dependencies = [ "syn", ] +[[package]] +name = "odp-client" +version = "0.1.0" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" +dependencies = [ + "bitfield 0.17.0", + "defmt 0.3.100", + "embedded-io 0.7.1", + "heapless 0.9.3", + "mctp-rs", + "paste", +] + [[package]] name = "odp-service-common" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "embedded-services", "static_cell", @@ -860,6 +871,12 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pastey" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4" + [[package]] name = "pin-project-lite" version = "0.2.17" @@ -888,6 +905,7 @@ dependencies = [ "embedded-mcu-hal", "embedded-sensors-hal-async", "embedded-services", + "odp-client", "odp-service-common", "static_cell", "thermal-service", @@ -907,7 +925,7 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "power-policy-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -988,22 +1006,22 @@ checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "riscv" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9251433e48c39d2133cbaff3ae7809ce6a1ecbc8225ca7da33d96d10cf360582" +checksum = "e42cdafa0aa3f0f956b7993cace26de5dafff7bb4f2c5b1dcb2c3723f4267a4f" dependencies = [ "critical-section", "embedded-hal 1.0.0", - "paste", + "pastey", "riscv-macros", "riscv-types", ] [[package]] name = "riscv-macros" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d47d1fb716349455b8e5e3ebbf1eff95344dbdf9f782a4e1359d2f16f51e3dce" +checksum = "6ad9f6dda08d90d091bc0743967cab369b8fe39ea74b26783ba2ca5c0ce39e86" dependencies = [ "proc-macro2", "quote", @@ -1012,12 +1030,12 @@ dependencies = [ [[package]] name = "riscv-peripheral" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22a4ff621f3c512ec90bbbc5c668ba40a8d4636f879cec8752f65066fe65b94" +checksum = "abaeb1973471ded96f54cdbc580e17a9b2f73aee7c6708daca2414b20b98c9ac" dependencies = [ "embedded-hal 1.0.0", - "paste", + "pastey", "riscv", ] @@ -1211,7 +1229,7 @@ dependencies = [ [[package]] name = "thermal-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1228,7 +1246,7 @@ dependencies = [ [[package]] name = "thermal-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-time", @@ -1239,11 +1257,11 @@ dependencies = [ [[package]] name = "thermal-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", - "embedded-services", "num_enum", + "odp-client", "thermal-service-interface", "uuid", ] @@ -1280,7 +1298,7 @@ dependencies = [ [[package]] name = "time-alarm-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1296,7 +1314,7 @@ dependencies = [ [[package]] name = "time-alarm-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1308,12 +1326,12 @@ dependencies = [ [[package]] name = "time-alarm-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-mcu-hal", - "embedded-services", "num_enum", + "odp-client", "time-alarm-service-interface", ] @@ -1381,13 +1399,14 @@ dependencies = [ [[package]] name = "uart-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-sync 0.8.0", "embedded-io-async 0.7.0", "embedded-services", "mctp-rs", + "odp-client", ] [[package]] @@ -1455,18 +1474,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "bce33a6288fa3f072a8c2c7d0f2fdbb90e28298f0135c1f99b96c3db2efcc60b" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "8fd425244944f4ab65ccff928e7323354c5a018c75838362fdce749dfad2ee1e" dependencies = [ "proc-macro2", "quote", diff --git a/platform/dev-qemu/Cargo.toml b/platform/dev-qemu/Cargo.toml index a65bcf5..e9c17d9 100644 --- a/platform/dev-qemu/Cargo.toml +++ b/platform/dev-qemu/Cargo.toml @@ -66,3 +66,24 @@ static_cell = "2.1.0" defmt = "0.3.6" defmt-semihosting = "0.3.0" semihosting = { version = "0.1", features = ["panic-handler"] } + +# === Phase 2b prereq: dymk/embedded-services PR #11 (canonical ODP wire +# format + odp-client crate) is not yet merged to upstream. Re-route every +# embedded-services-sourced dep — direct and transitive — through the dymk +# fork at rev b00c3a7 (head of dymk/odp-canonical-wire-and-odp-client). +# REVERT THIS BLOCK once PR #11 merges to OpenDevicePartnership/embedded-services. +[patch."https://github.com/OpenDevicePartnership/embedded-services"] +embedded-services = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +mctp-rs = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-client = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-service-common = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +uart-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } diff --git a/platform/platform-common/Cargo.lock b/platform/platform-common/Cargo.lock index bea829f..85d45f1 100644 --- a/platform/platform-common/Cargo.lock +++ b/platform/platform-common/Cargo.lock @@ -2,18 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.4" @@ -23,60 +11,11 @@ dependencies = [ "memchr", ] -[[package]] -name = "anyhow" -version = "1.0.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" - -[[package]] -name = "arraydeque" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236" - -[[package]] -name = "askama" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f75363874b771be265f4ffe307ca705ef6f3baa19011c149da8674a87f1b75c4" -dependencies = [ - "askama_derive", - "itoa", - "percent-encoding", - "serde", - "serde_json", -] - -[[package]] -name = "askama_derive" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "129397200fe83088e8a68407a8e2b1f826cf0086b21ccdb866a722c8bcd3a94f" -dependencies = [ - "askama_parser", - "memchr", - "proc-macro2", - "quote", - "rustc-hash", - "syn", -] - -[[package]] -name = "askama_parser" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ab5630b3d5eaf232620167977f95eb51f3432fc76852328774afbd242d4358" -dependencies = [ - "memchr", - "winnow 0.7.14", -] - [[package]] name = "autocfg" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "bare-metal" @@ -90,7 +29,7 @@ dependencies = [ [[package]] name = "battery-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", @@ -106,7 +45,7 @@ dependencies = [ [[package]] name = "battery-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-batteries-async", @@ -115,12 +54,13 @@ dependencies = [ [[package]] name = "battery-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "battery-service-interface", "defmt 0.3.100", "embedded-services", "num_enum", + "odp-client", ] [[package]] @@ -170,27 +110,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" [[package]] name = "bq40z50-rx" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55262eaa8d376e3db634b2cf851d2f255fbe86076abc3d4f8088248340836bb6" +checksum = "09b6faf600295f12c3fb99b45266bc9140af5c344b08f2705bc06bfa0e8b549e" dependencies = [ "device-driver", "embedded-batteries-async", @@ -207,9 +135,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cc" -version = "1.2.60" +version = "1.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" +checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98" dependencies = [ "find-msvc-tools", "shlex", @@ -221,15 +149,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "cordyceps" version = "0.3.4" @@ -252,6 +171,21 @@ dependencies = [ "volatile-register", ] +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" + [[package]] name = "critical-section" version = "1.2.0" @@ -293,29 +227,20 @@ dependencies = [ "syn", ] -[[package]] -name = "dd-manifest-tree" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5793572036e0a6638977c7370c6afc423eac848ee8495f079b8fd3964de7b9f9" -dependencies = [ - "yaml-rust2", -] - [[package]] name = "defmt" version = "0.3.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0963443817029b2024136fc4dd07a5107eb8f977eaf18fcd1fdeb11306b64ad" dependencies = [ - "defmt 1.0.1", + "defmt 1.1.0", ] [[package]] name = "defmt" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "548d977b6da32fa1d1fda2876453da1e7df63ad0304c8b3dae4dbe7b96f39b78" +checksum = "a6e524506490a1953d237cb87b1cfc1e46f88c18f10a22dfe0f507dc6bfc7f7f" dependencies = [ "bitflags 1.3.2", "defmt-macros", @@ -323,9 +248,9 @@ dependencies = [ [[package]] name = "defmt-macros" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d4fc12a85bcf441cfe44344c4b72d58493178ce635338a3f3b78943aceb258e" +checksum = "f0a27770e9c8f719a79d8b638281f4d828f77d8fd61e0bd94451b9b85e576a0b" dependencies = [ "defmt-parser", "proc-macro-error2", @@ -345,44 +270,14 @@ dependencies = [ [[package]] name = "device-driver" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af0e43acfcbb0bb3b7435cc1b1dbb33596cacfec1eb243336b74a398e0bd6cbf" +checksum = "c2e4547bd66511372d2a38ac3c1b2892c7ebf83cf0d5411c3406e496c85a1d96" dependencies = [ - "device-driver-macros", "embedded-io 0.6.1", "embedded-io-async 0.6.1", ] -[[package]] -name = "device-driver-generation" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3935aec9cf5bb2ab927f59ca69faecf976190390b0ce34c6023889e9041040c0" -dependencies = [ - "anyhow", - "askama", - "bitvec", - "convert_case", - "dd-manifest-tree", - "itertools", - "kdl", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "device-driver-macros" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fdc68ed515c4eddff2e95371185b4becba066085bf36d50f07f09782af98e17" -dependencies = [ - "device-driver-generation", - "proc-macro2", - "syn", -] - [[package]] name = "document-features" version = "0.2.12" @@ -392,12 +287,6 @@ dependencies = [ "litrs", ] -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" - [[package]] name = "embassy-executor" version = "0.10.0" @@ -443,7 +332,7 @@ checksum = "7bbd85cf5a5ae56bdf26f618364af642d1d0a4e245cdd75cd9aabda382f65a81" dependencies = [ "cfg-if", "critical-section", - "defmt 1.0.1", + "defmt 1.1.0", "embedded-io-async 0.7.0", "futures-core", "futures-sink", @@ -458,7 +347,7 @@ checksum = "592b0c143ec626e821d4d90da51a2bd91d559d6c442b7c74a47d368c9e23d97a" dependencies = [ "cfg-if", "critical-section", - "defmt 1.0.1", + "defmt 1.1.0", "document-features", "embassy-time-driver", "embedded-hal 0.2.7", @@ -483,7 +372,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40f975432b4e146342a1589c563cffab6b7a692024cb511bf87b6bfe78c84125" dependencies = [ "bitfield-struct", - "bitflags 2.10.0", + "bitflags 2.11.1", "defmt 0.3.100", "embedded-hal 1.0.0", "zerocopy", @@ -513,7 +402,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e5007eb97aabfe3606c0b02823b3120e861c748ed3560756aa4fd231ef9ebf0" dependencies = [ - "defmt 1.0.1", + "defmt 1.1.0", ] [[package]] @@ -522,7 +411,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bafd19dc3b6aaa5027856818e19ccbfe84ebfb094c8a0ecf84a20e75c3b8e959" dependencies = [ - "defmt 1.0.1", + "defmt 1.1.0", "embedded-fans", ] @@ -587,7 +476,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f02b992c2b871b7fc616e4539258d92ea8b085e2f09cc0ad2862aa4d0e185ad1" dependencies = [ - "defmt 1.0.1", + "defmt 1.1.0", "num_enum", ] @@ -597,7 +486,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c703756bee31e7aaf55d8fb6dcf7337cfc231cfb4a3ad34b9df509846fd9001" dependencies = [ - "defmt 1.0.1", + "defmt 1.1.0", "paste", ] @@ -607,7 +496,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51c524a78b2804eca0d9ec05154e51d9af948b40cd0a6bbcc4d5832ff7e47b5b" dependencies = [ - "defmt 1.0.1", + "defmt 1.1.0", "embedded-sensors-hal", "paste", ] @@ -615,36 +504,24 @@ dependencies = [ [[package]] name = "embedded-services" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ - "bitfield 0.17.0", "cortex-m", "critical-section", "defmt 0.3.100", "embassy-futures", "embassy-sync", - "mctp-rs", - "paste", "portable-atomic", "serde", ] -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - [[package]] name = "espi-device" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#290aa80a4c281857f3bed94581200b330119286c" +source = "git+https://github.com/OpenDevicePartnership/haf-ec-service#fe63c1fc0bb2463922d956003caf8ac9d6224231" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities?tag=v0.1.0)", - "bitflags 2.10.0", + "bitflags 2.11.1", "num-traits", "num_enum", "static_assertions", @@ -663,23 +540,17 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "generator" @@ -705,29 +576,11 @@ dependencies = [ "byteorder", ] -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashlink" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" -dependencies = [ - "hashbrown", -] - [[package]] name = "heapless" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af2455f757db2b292a9b1768c4b70186d443bcb3b316252d6b540aec1cd89ed" +checksum = "25ba4bd83f9415b58b4ed8dc5714c76e626a105be4646c02630ad730ad3b5aa4" dependencies = [ "hash32", "stable_deref_trait", @@ -745,32 +598,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" - -[[package]] -name = "kdl" -version = "6.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a29e7b50079ff44549f68c0becb1c73d7f6de2a4ea952da77966daf3d4761e" -dependencies = [ - "miette", - "num", - "winnow 0.6.24", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -779,9 +606,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.185" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "litrs" @@ -791,9 +618,9 @@ checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "log" -version = "0.4.29" +version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "616ec5685824bcc94416c6d4a7a446eea774a31efd7062c8480ba6fd06d7a6e5" [[package]] name = "loom" @@ -820,9 +647,10 @@ dependencies = [ [[package]] name = "mctp-rs" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bit-register 0.1.0 (git+https://github.com/OpenDevicePartnership/odp-utilities)", + "crc", "defmt 0.3.100", "embedded-batteries", "espi-device", @@ -833,19 +661,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" - -[[package]] -name = "miette" -version = "7.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7" -dependencies = [ - "cfg-if", - "unicode-width", -] +checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8" [[package]] name = "nb" @@ -871,70 +689,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -946,9 +700,9 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" dependencies = [ "num_enum_derive", "rustversion", @@ -956,19 +710,32 @@ dependencies = [ [[package]] name = "num_enum_derive" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "odp-client" +version = "0.1.0" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" +dependencies = [ + "bitfield 0.17.0", + "defmt 0.3.100", + "embedded-io 0.7.1", + "heapless", + "mctp-rs", + "paste", +] + [[package]] name = "odp-service-common" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "embedded-services", "static_cell", @@ -976,9 +743,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.3" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "paste" @@ -986,12 +753,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - [[package]] name = "pin-project-lite" version = "0.2.17" @@ -1020,6 +781,7 @@ dependencies = [ "embedded-mcu-hal", "embedded-sensors-hal-async", "embedded-services", + "odp-client", "odp-service-common", "static_cell", "thermal-service", @@ -1039,7 +801,7 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "power-policy-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1082,19 +844,13 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.44" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - [[package]] name = "regex-automata" version = "0.4.14" @@ -1112,12 +868,6 @@ version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" -[[package]] -name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" - [[package]] name = "rustc_version" version = "0.2.3" @@ -1184,19 +934,6 @@ dependencies = [ "syn", ] -[[package]] -name = "serde_json" -version = "1.0.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - [[package]] name = "sharded-slab" version = "0.1.7" @@ -1256,9 +993,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subenum" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3d08fe7078c57309d5c3d938e50eba95ba1d33b9c3a101a8465fc6861a5416" +checksum = "5eee3fb942ed39f3971438fcc7e05e20717e599e14c5c7cb50edd0df2a44b274" dependencies = [ "heck", "proc-macro2", @@ -1268,25 +1005,19 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "thermal-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1303,7 +1034,7 @@ dependencies = [ [[package]] name = "thermal-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-time", @@ -1314,11 +1045,11 @@ dependencies = [ [[package]] name = "thermal-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", - "embedded-services", "num_enum", + "odp-client", "thermal-service-interface", "uuid", ] @@ -1355,7 +1086,7 @@ dependencies = [ [[package]] name = "time-alarm-service" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embassy-futures", @@ -1371,7 +1102,7 @@ dependencies = [ [[package]] name = "time-alarm-service-interface" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "bitfield 0.17.0", "defmt 0.3.100", @@ -1383,12 +1114,12 @@ dependencies = [ [[package]] name = "time-alarm-service-relay" version = "0.1.0" -source = "git+https://github.com/OpenDevicePartnership/embedded-services?branch=main#62d4ea9a87588c6096e1c2f149ac3263064cbde9" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" dependencies = [ "defmt 0.3.100", "embedded-mcu-hal", - "embedded-services", "num_enum", + "odp-client", "time-alarm-service-interface", ] @@ -1455,21 +1186,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "unicode-width" -version = "0.1.14" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "uuid" @@ -1489,12 +1208,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002" -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - [[package]] name = "void" version = "1.0.2" @@ -1534,66 +1247,27 @@ dependencies = [ "windows-link", ] -[[package]] -name = "winnow" -version = "0.6.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" -dependencies = [ - "memchr", -] - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "yaml-rust2" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a1a1c0bc9823338a3bdf8c61f994f23ac004c6fa32c08cd152984499b445e8d" -dependencies = [ - "arraydeque", - "encoding_rs", - "hashlink", -] - [[package]] name = "zerocopy" -version = "0.8.39" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" +checksum = "bce33a6288fa3f072a8c2c7d0f2fdbb90e28298f0135c1f99b96c3db2efcc60b" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.39" +version = "0.8.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" +checksum = "8fd425244944f4ab65ccff928e7323354c5a018c75838362fdce749dfad2ee1e" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "zmij" -version = "1.0.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" +[[patch.unused]] +name = "uart-service" +version = "0.1.0" +source = "git+https://github.com/dymk/embedded-services?rev=b00c3a7#b00c3a7a3f1710fe725a0bbe29c1b6bb936817f1" diff --git a/platform/platform-common/Cargo.toml b/platform/platform-common/Cargo.toml index 2cc4ed6..66bfd4a 100644 --- a/platform/platform-common/Cargo.toml +++ b/platform/platform-common/Cargo.toml @@ -46,6 +46,7 @@ time-alarm-service-relay = { package = "time-alarm-service-relay", git = "https: "defmt", ] } odp-service-common = { git = "https://github.com/OpenDevicePartnership/embedded-services", branch = "main" } +odp-client = { git = "https://github.com/OpenDevicePartnership/embedded-services", branch = "main" } embedded-hal = "1.0.0" embedded-hal-async = "1.0.0" @@ -75,3 +76,24 @@ mock = [ "thermal-service/mock", "time-alarm-service/mock", ] + +# === Phase 2b prereq: dymk/embedded-services PR #11 (canonical ODP wire +# format + odp-client crate) is not yet merged to upstream. Re-route every +# embedded-services-sourced dep — direct and transitive — through the dymk +# fork at rev b00c3a7 (head of dymk/odp-canonical-wire-and-odp-client). +# REVERT THIS BLOCK once PR #11 merges to OpenDevicePartnership/embedded-services. +[patch."https://github.com/OpenDevicePartnership/embedded-services"] +embedded-services = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +mctp-rs = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-client = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +battery-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +thermal-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-interface = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +time-alarm-service-relay = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +odp-service-common = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } +uart-service = { git = "https://github.com/dymk/embedded-services", rev = "b00c3a7" } diff --git a/platform/platform-common/src/lib.rs b/platform/platform-common/src/lib.rs index c4c3f9c..2efeb1a 100644 --- a/platform/platform-common/src/lib.rs +++ b/platform/platform-common/src/lib.rs @@ -19,7 +19,7 @@ pub mod mock; #[macro_export] macro_rules! impl_relay_handler { ($handler_name:ident, $battery_service_ty:ty, $thermal_service_ty:ty) => { - embedded_services::relay::mctp::impl_odp_mctp_relay_handler!( + odp_client::impl_odp_relay_handler!( $handler_name; Battery, 0x08, battery_service_relay::BatteryServiceRelayHandler<$battery_service_ty>;