diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index f5a162102..3ba587c44 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -33,7 +33,7 @@ concurrency: name: check env: # Crates that require std and won't build on embedded-targets - STD_EXCLUDED_CRATES: "--exclude fw-update-interface-test-mocks --exclude type-c-interface-test-mocks --exclude power-policy-interface-test-mocks" + STD_EXCLUDED_CRATES: "--exclude fw-update-interface-test-mocks --exclude tcpm-interface-test-mocks --exclude power-policy-interface-test-mocks" jobs: fmt: diff --git a/CODEOWNERS b/CODEOWNERS index 219af4b5d..656899aee 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -4,7 +4,10 @@ /espi-service @OpenDevicePartnership/ec-espi-team /hid-service @OpenDevicePartnership/ec-hid-team /power-policy-service @OpenDevicePartnership/ec-battery-team @OpenDevicePartnership/ec-usb-c-pd-team -/type-c-service @OpenDevicePartnership/ec-usb-c-pd-team +/tcpm-service @OpenDevicePartnership/ec-usb-c-pd-team +/tcpm-interface @OpenDevicePartnership/ec-usb-c-pd-team +/tcpm-interface-test-mocks @OpenDevicePartnership/ec-usb-c-pd-team +/tcpm-interface-mocks @OpenDevicePartnership/ec-usb-c-pd-team # Any changes in the supply-chain folder needs approval # from auditors as it relates to cargo vet diff --git a/Cargo.lock b/Cargo.lock index 7610c1567..7a996e539 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1873,6 +1873,66 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "tcpm-interface" +version = "0.1.0" +dependencies = [ + "bitfield 0.17.0", + "defmt 0.3.100", + "embedded-services", + "embedded-usb-pd", + "heapless 0.9.3", + "log", + "power-policy-interface", +] + +[[package]] +name = "tcpm-interface-mocks" +version = "0.1.0" +dependencies = [ + "critical-section", + "defmt 0.3.100", + "embassy-sync", + "embedded-services", + "embedded-usb-pd", + "log", + "power-policy-interface", + "tcpm-interface", + "tokio", +] + +[[package]] +name = "tcpm-interface-test-mocks" +version = "0.1.0" +dependencies = [ + "embedded-services", + "embedded-usb-pd", + "tcpm-interface", +] + +[[package]] +name = "tcpm-service" +version = "0.1.0" +dependencies = [ + "critical-section", + "defmt 0.3.100", + "embassy-futures", + "embassy-sync", + "embassy-time", + "embedded-services", + "embedded-usb-pd", + "env_logger", + "fw-update-interface", + "heapless 0.9.3", + "log", + "paste", + "power-policy-interface", + "power-policy-service", + "tcpm-interface", + "tcpm-interface-test-mocks", + "tokio", +] + [[package]] name = "thermal-service" version = "0.1.0" @@ -2132,66 +2192,6 @@ dependencies = [ "tracing-log", ] -[[package]] -name = "type-c-interface" -version = "0.1.0" -dependencies = [ - "bitfield 0.17.0", - "defmt 0.3.100", - "embedded-services", - "embedded-usb-pd", - "heapless 0.9.3", - "log", - "power-policy-interface", -] - -[[package]] -name = "type-c-interface-mocks" -version = "0.1.0" -dependencies = [ - "critical-section", - "defmt 0.3.100", - "embassy-sync", - "embedded-services", - "embedded-usb-pd", - "log", - "power-policy-interface", - "tokio", - "type-c-interface", -] - -[[package]] -name = "type-c-interface-test-mocks" -version = "0.1.0" -dependencies = [ - "embedded-services", - "embedded-usb-pd", - "type-c-interface", -] - -[[package]] -name = "type-c-service" -version = "0.1.0" -dependencies = [ - "critical-section", - "defmt 0.3.100", - "embassy-futures", - "embassy-sync", - "embassy-time", - "embedded-services", - "embedded-usb-pd", - "env_logger", - "fw-update-interface", - "heapless 0.9.3", - "log", - "paste", - "power-policy-interface", - "power-policy-service", - "tokio", - "type-c-interface", - "type-c-interface-test-mocks", -] - [[package]] name = "typenum" version = "1.20.0" diff --git a/Cargo.toml b/Cargo.toml index 7f96ed623..3cfcec7a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,18 +22,18 @@ members = [ "time-alarm-service", "time-alarm-service-interface", "time-alarm-service-relay", - "type-c-service", + "tcpm-service", "debug-service", "debug-service-messages", "keyboard-service", "power-policy-interface", "odp-service-common", - "type-c-interface", + "tcpm-interface", "fw-update-interface", "fw-update-interface-test-mocks", "mctp-rs", - "type-c-interface-mocks", - "type-c-interface-test-mocks", + "tcpm-interface-mocks", + "tcpm-interface-test-mocks", "power-policy-interface-test-mocks", ] exclude = ["examples/*"] @@ -121,9 +121,9 @@ thermal-service-interface = { path = "./thermal-service-interface" } thermal-service-relay = { path = "./thermal-service-relay" } time-alarm-service-interface = { path = "./time-alarm-service-interface" } time-alarm-service-relay = { path = "./time-alarm-service-relay" } -type-c-interface = { path = "./type-c-interface" } -type-c-interface-mocks = { path = "./type-c-interface-mocks" } -type-c-interface-test-mocks = { path = "./type-c-interface-test-mocks" } +tcpm-interface = { path = "./tcpm-interface" } +tcpm-interface-mocks = { path = "./tcpm-interface-mocks" } +tcpm-interface-test-mocks = { path = "./tcpm-interface-test-mocks" } typenum = "1.20" syn = "2.0" tokio = { version = "1.42.0" } diff --git a/examples/std/Cargo.lock b/examples/std/Cargo.lock index 1558cc646..8c7a311ca 100644 --- a/examples/std/Cargo.lock +++ b/examples/std/Cargo.lock @@ -1225,10 +1225,10 @@ dependencies = [ "power-policy-interface", "power-policy-service", "static_cell", + "tcpm-interface", + "tcpm-service", "thermal-service", "thermal-service-interface", - "type-c-interface", - "type-c-service", ] [[package]] @@ -1260,6 +1260,34 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "tcpm-interface" +version = "0.1.0" +dependencies = [ + "bitfield 0.17.0", + "embedded-services", + "embedded-usb-pd", + "heapless", + "log", + "power-policy-interface", +] + +[[package]] +name = "tcpm-service" +version = "0.1.0" +dependencies = [ + "embassy-futures", + "embassy-sync", + "embassy-time", + "embedded-services", + "embedded-usb-pd", + "fw-update-interface", + "heapless", + "log", + "power-policy-interface", + "tcpm-interface", +] + [[package]] name = "thermal-service" version = "0.1.0" @@ -1375,34 +1403,6 @@ dependencies = [ "tracing-log", ] -[[package]] -name = "type-c-interface" -version = "0.1.0" -dependencies = [ - "bitfield 0.17.0", - "embedded-services", - "embedded-usb-pd", - "heapless", - "log", - "power-policy-interface", -] - -[[package]] -name = "type-c-service" -version = "0.1.0" -dependencies = [ - "embassy-futures", - "embassy-sync", - "embassy-time", - "embedded-services", - "embedded-usb-pd", - "fw-update-interface", - "heapless", - "log", - "power-policy-interface", - "type-c-interface", -] - [[package]] name = "typenum" version = "1.20.1" diff --git a/examples/std/Cargo.toml b/examples/std/Cargo.toml index 3bdd2ffa5..4a91200c8 100644 --- a/examples/std/Cargo.toml +++ b/examples/std/Cargo.toml @@ -40,8 +40,8 @@ cfu-service = { path = "../../cfu-service", features = ["log"] } embedded-cfu-protocol = { git = "https://github.com/OpenDevicePartnership/embedded-cfu" } battery-service = { path = "../../battery-service", features = ["log", "mock"] } -type-c-service = { path = "../../type-c-service", features = ["log"] } -type-c-interface = { path = "../../type-c-interface", features = ["log"] } +tcpm-service = { path = "../../tcpm-service", features = ["log"] } +tcpm-interface = { path = "../../tcpm-interface", features = ["log"] } thermal-service = { path = "../../thermal-service", features = ["log", "mock"] } thermal-service-interface = { path = "../../thermal-service-interface" } diff --git a/examples/std/src/lib/type_c/mock_controller.rs b/examples/std/src/lib/type_c/mock_controller.rs index c069fe827..5eef8b108 100644 --- a/examples/std/src/lib/type_c/mock_controller.rs +++ b/examples/std/src/lib/type_c/mock_controller.rs @@ -11,20 +11,20 @@ use embedded_usb_pd::{type_c::ConnectionState, ucsi::v1_2::lpm}; use log::{debug, info}; use power_policy_interface::capability::PowerCapability; -use type_c_interface::control::dp::{DpConfig, DpPinConfig, DpStatus}; -use type_c_interface::control::pd::{ +use tcpm_interface::control::dp::{DpConfig, DpPinConfig, DpStatus}; +use tcpm_interface::control::pd::{ PdSinkInfo, PdSourceInfo, PdStateMachineConfig, PortStatus, SinkContract, SourceContract, }; -use type_c_interface::control::power::SystemPowerState; -use type_c_interface::control::retimer::RetimerFwUpdateState; -use type_c_interface::control::svid::DiscoveredSvids; -use type_c_interface::control::tbt::TbtConfig; -use type_c_interface::control::type_c::TypeCStateMachineState; -use type_c_interface::control::usb::UsbControlConfig; -use type_c_interface::control::vdm::{AttnVdm, OtherVdm, SendVdm}; -use type_c_interface::port::event::PortEventBitfield; -use type_c_interface::util::power_capability_from_current; -use type_c_service::controller::state::SharedState; +use tcpm_interface::control::power::SystemPowerState; +use tcpm_interface::control::retimer::RetimerFwUpdateState; +use tcpm_interface::control::svid::DiscoveredSvids; +use tcpm_interface::control::tbt::TbtConfig; +use tcpm_interface::control::type_c::TypeCStateMachineState; +use tcpm_interface::control::usb::UsbControlConfig; +use tcpm_interface::control::vdm::{AttnVdm, OtherVdm, SendVdm}; +use tcpm_interface::port::event::PortEventBitfield; +use tcpm_interface::util::power_capability_from_current; +use tcpm_service::controller::state::SharedState; pub struct ControllerState { events: Signal, @@ -162,7 +162,7 @@ pub struct InterruptReceiver<'a> { events: &'a Signal, } -impl type_c_service::controller::event_receiver::InterruptReceiver for InterruptReceiver<'_> { +impl tcpm_service::controller::event_receiver::InterruptReceiver for InterruptReceiver<'_> { async fn wait_interrupt(&mut self) -> [PortEventBitfield; N] { let events = self.events.wait().await; let mut result = [PortEventBitfield::none(); N]; @@ -177,14 +177,14 @@ impl Named for Controller<'_> { } } -impl type_c_interface::controller::Controller for Controller<'_> { +impl tcpm_interface::controller::Controller for Controller<'_> { async fn reset_controller(&mut self) -> Result<(), PdError> { debug!("Reset controller"); Ok(()) } } -impl type_c_interface::controller::pd::Pd for Controller<'_> { +impl tcpm_interface::controller::pd::Pd for Controller<'_> { async fn get_port_status(&mut self, _port: LocalPortId) -> Result { debug!("Get port status: {:#?}", *self.state.status.lock().await); Ok(*self.state.status.lock().await) @@ -289,14 +289,14 @@ impl type_c_interface::controller::pd::Pd for Controller<'_> { } } -impl type_c_interface::controller::max_sink_voltage::MaxSinkVoltage for Controller<'_> { +impl tcpm_interface::controller::max_sink_voltage::MaxSinkVoltage for Controller<'_> { async fn set_max_sink_voltage(&mut self, port: LocalPortId, voltage_mv: Option) -> Result<(), PdError> { debug!("Set max sink voltage for port {}: {:?}", port.0, voltage_mv); Ok(()) } } -impl type_c_interface::controller::pd::StateMachine for Controller<'_> { +impl tcpm_interface::controller::pd::StateMachine for Controller<'_> { async fn set_pd_state_machine_config( &mut self, port: LocalPortId, @@ -307,7 +307,7 @@ impl type_c_interface::controller::pd::StateMachine for Controller<'_> { } } -impl type_c_interface::controller::type_c::StateMachine for Controller<'_> { +impl tcpm_interface::controller::type_c::StateMachine for Controller<'_> { async fn set_type_c_state_machine_config( &mut self, port: LocalPortId, @@ -318,7 +318,7 @@ impl type_c_interface::controller::type_c::StateMachine for Controller<'_> { } } -impl type_c_interface::ucsi::Lpm for Controller<'_> { +impl tcpm_interface::ucsi::Lpm for Controller<'_> { async fn execute_lpm_command(&mut self, command: lpm::LocalCommand) -> Result, PdError> { debug!("Execute UCSI command for port {:?}: {command:?}", command.port()); match command.operation() { @@ -330,7 +330,7 @@ impl type_c_interface::ucsi::Lpm for Controller<'_> { } } -impl type_c_interface::controller::electrical_disconnect::ElectricalDisconnect for Controller<'_> { +impl tcpm_interface::controller::electrical_disconnect::ElectricalDisconnect for Controller<'_> { async fn execute_electrical_disconnect( &mut self, port: LocalPortId, @@ -341,7 +341,7 @@ impl type_c_interface::controller::electrical_disconnect::ElectricalDisconnect f } } -impl type_c_interface::controller::power::SystemPowerStateStatus for Controller<'_> { +impl tcpm_interface::controller::power::SystemPowerStateStatus for Controller<'_> { async fn set_system_power_state_status( &mut self, port: LocalPortId, @@ -352,7 +352,7 @@ impl type_c_interface::controller::power::SystemPowerStateStatus for Controller< } } -impl type_c_interface::controller::retimer::Retimer for Controller<'_> { +impl tcpm_interface::controller::retimer::Retimer for Controller<'_> { async fn get_rt_fw_update_status(&mut self, _port: LocalPortId) -> Result { debug!("Get retimer fw update status"); Ok(RetimerFwUpdateState::Inactive) @@ -382,13 +382,13 @@ impl type_c_interface::controller::retimer::Retimer for Controller<'_> { pub type PowerNotifier<'a> = power_policy_interface::psu::event::NonBlockingSenderNotifier< channel::DynamicSender<'a, power_policy_interface::psu::event::EventData>, >; -pub type Port<'a> = type_c_service::controller::Port< +pub type Port<'a> = tcpm_service::controller::Port< 'a, Mutex>, Mutex, - type_c_interface::port::event::NonBlockingSenderNotifier< - channel::DynamicSender<'a, type_c_interface::service::event::PortEventData>, + tcpm_interface::port::event::NonBlockingSenderNotifier< + channel::DynamicSender<'a, tcpm_interface::service::event::PortEventData>, >, PowerNotifier<'a>, - channel::DynamicSender<'a, type_c_service::controller::event::Loopback>, + channel::DynamicSender<'a, tcpm_service::controller::event::Loopback>, >; diff --git a/type-c-interface-mocks/Cargo.toml b/tcpm-interface-mocks/Cargo.toml similarity index 83% rename from type-c-interface-mocks/Cargo.toml rename to tcpm-interface-mocks/Cargo.toml index 53490e184..6e02ebbe4 100644 --- a/type-c-interface-mocks/Cargo.toml +++ b/tcpm-interface-mocks/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "type-c-interface-mocks" +name = "tcpm-interface-mocks" version.workspace = true edition.workspace = true rust-version.workspace = true @@ -10,7 +10,7 @@ repository.workspace = true embedded-services = { workspace = true } embedded-usb-pd = { workspace = true } power-policy-interface = { workspace = true } -type-c-interface = { workspace = true } +tcpm-interface = { workspace = true } defmt = { workspace = true, optional = true } log = { workspace = true, optional = true } @@ -21,13 +21,13 @@ defmt = [ "embedded-services/defmt", "embedded-usb-pd/defmt", "power-policy-interface/defmt", - "type-c-interface/defmt", + "tcpm-interface/defmt", ] log = [ "dep:log", "embedded-services/log", "power-policy-interface/log", - "type-c-interface/log", + "tcpm-interface/log", ] [dev-dependencies] diff --git a/type-c-interface-mocks/src/lib.rs b/tcpm-interface-mocks/src/lib.rs similarity index 100% rename from type-c-interface-mocks/src/lib.rs rename to tcpm-interface-mocks/src/lib.rs diff --git a/type-c-interface-mocks/src/port/mod.rs b/tcpm-interface-mocks/src/port/mod.rs similarity index 90% rename from type-c-interface-mocks/src/port/mod.rs rename to tcpm-interface-mocks/src/port/mod.rs index b2fc95550..bf201a0cd 100644 --- a/type-c-interface-mocks/src/port/mod.rs +++ b/tcpm-interface-mocks/src/port/mod.rs @@ -1,4 +1,4 @@ -//! Mock implementation of the per-port [`type_c_interface::port::pd::Pd`] and +//! Mock implementation of the per-port [`tcpm_interface::port::pd::Pd`] and //! [`power_policy_interface::psu::Psu`] traits. use core::future::ready; @@ -12,7 +12,7 @@ use power_policy_interface::capability::{ ConsumerFlags, ConsumerPowerCapability, PowerCapability, ProviderFlags, ProviderPowerCapability, PsuType, }; use power_policy_interface::psu::{Error as PsuError, Psu, State}; -use type_c_interface::control::{ +use tcpm_interface::control::{ dp::{DpConfig, DpStatus}, pd::{PdSinkInfo, PdSourceInfo, PortStatus, SinkContract, SourceContract}, svid::DiscoveredSvids, @@ -20,9 +20,9 @@ use type_c_interface::control::{ usb::UsbControlConfig, vdm::{AttnVdm, OtherVdm, SendVdm}, }; -use type_c_interface::port::event::PortStatusEventBitfield; -use type_c_interface::port::pd::Pd; -use type_c_interface::service::event::StatusChangedData; +use tcpm_interface::port::event::PortStatusEventBitfield; +use tcpm_interface::port::pd::Pd; +use tcpm_interface::service::event::StatusChangedData; /// Error type for [`PortMock`] control operations #[derive(Debug, Clone, Copy, PartialEq, Eq)] @@ -53,7 +53,7 @@ impl Default for ConnectionConfig { /// Mock implementation of a single Type-C port for use in tests pub struct PortMock< - TypeCSender: NonBlockingSender, + TypeCSender: NonBlockingSender, PowerSender: NonBlockingSender, > { name: &'static str, @@ -69,7 +69,7 @@ pub struct PortMock< impl PortMock where - TypeCSender: NonBlockingSender, + TypeCSender: NonBlockingSender, PowerSender: NonBlockingSender, { /// Create a new mock with the given name @@ -182,7 +182,7 @@ where if self .type_c_sender - .try_send(type_c_interface::service::event::PortEventData::StatusChanged( + .try_send(tcpm_interface::service::event::PortEventData::StatusChanged( StatusChangedData { status_event, previous_status, @@ -222,7 +222,7 @@ where if self .type_c_sender - .try_send(type_c_interface::service::event::PortEventData::StatusChanged( + .try_send(tcpm_interface::service::event::PortEventData::StatusChanged( StatusChangedData { status_event, previous_status, @@ -239,7 +239,7 @@ where impl Named for PortMock where - TypeCSender: NonBlockingSender, + TypeCSender: NonBlockingSender, PowerSender: NonBlockingSender, { fn name(&self) -> &'static str { @@ -249,7 +249,7 @@ where impl Pd for PortMock where - TypeCSender: NonBlockingSender, + TypeCSender: NonBlockingSender, PowerSender: NonBlockingSender, { async fn get_port_status(&mut self) -> Result { @@ -329,7 +329,7 @@ where impl Psu for PortMock where - TypeCSender: NonBlockingSender, + TypeCSender: NonBlockingSender, PowerSender: NonBlockingSender, { async fn disconnect(&mut self) -> Result<(), PsuError> { diff --git a/type-c-interface-mocks/tests/connect_disconnect.rs b/tcpm-interface-mocks/tests/connect_disconnect.rs similarity index 95% rename from type-c-interface-mocks/tests/connect_disconnect.rs rename to tcpm-interface-mocks/tests/connect_disconnect.rs index 4289aea12..03b3f91ba 100644 --- a/type-c-interface-mocks/tests/connect_disconnect.rs +++ b/tcpm-interface-mocks/tests/connect_disconnect.rs @@ -11,8 +11,8 @@ use power_policy_interface::capability::{ }; use power_policy_interface::psu::event::EventData as PsuEventData; use power_policy_interface::psu::{Psu, PsuState}; -use type_c_interface::service::event::PortEventData; -use type_c_interface_mocks::port::{ConnectionConfig, PortMock, PortMockError}; +use tcpm_interface::service::event::PortEventData; +use tcpm_interface_mocks::port::{ConnectionConfig, PortMock, PortMockError}; const CHANNEL_SIZE: usize = 4; diff --git a/type-c-interface-test-mocks/Cargo.toml b/tcpm-interface-test-mocks/Cargo.toml similarity index 68% rename from type-c-interface-test-mocks/Cargo.toml rename to tcpm-interface-test-mocks/Cargo.toml index 9c3f10a6d..c6a15ba57 100644 --- a/type-c-interface-test-mocks/Cargo.toml +++ b/tcpm-interface-test-mocks/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "type-c-interface-test-mocks" +name = "tcpm-interface-test-mocks" version.workspace = true edition.workspace = true rust-version.workspace = true @@ -9,11 +9,11 @@ repository.workspace = true [dependencies] embedded-services = { workspace = true } embedded-usb-pd = { workspace = true } -type-c-interface = { workspace = true } +tcpm-interface = { workspace = true } [features] default = [] -log = ["embedded-services/log", "type-c-interface/log"] +log = ["embedded-services/log", "tcpm-interface/log"] [lints] workspace = true diff --git a/type-c-interface-test-mocks/src/controller/max_sink_voltage.rs b/tcpm-interface-test-mocks/src/controller/max_sink_voltage.rs similarity index 81% rename from type-c-interface-test-mocks/src/controller/max_sink_voltage.rs rename to tcpm-interface-test-mocks/src/controller/max_sink_voltage.rs index ad9e4a013..14f97ed8b 100644 --- a/type-c-interface-test-mocks/src/controller/max_sink_voltage.rs +++ b/tcpm-interface-test-mocks/src/controller/max_sink_voltage.rs @@ -1,7 +1,7 @@ -//! Mock implementation of [`type_c_interface::controller::max_sink_voltage::MaxSinkVoltage`] +//! Mock implementation of [`tcpm_interface::controller::max_sink_voltage::MaxSinkVoltage`] use embedded_usb_pd::{LocalPortId, PdError}; -use type_c_interface::controller::max_sink_voltage::MaxSinkVoltage; +use tcpm_interface::controller::max_sink_voltage::MaxSinkVoltage; use super::FnCall as ControllerFnCall; use super::Mock; diff --git a/type-c-interface-test-mocks/src/controller/mod.rs b/tcpm-interface-test-mocks/src/controller/mod.rs similarity index 64% rename from type-c-interface-test-mocks/src/controller/mod.rs rename to tcpm-interface-test-mocks/src/controller/mod.rs index 0eebd8161..093a1a1c1 100644 --- a/type-c-interface-test-mocks/src/controller/mod.rs +++ b/tcpm-interface-test-mocks/src/controller/mod.rs @@ -4,7 +4,7 @@ use std::collections::VecDeque; use embedded_services::named::Named; use embedded_usb_pd::{PdError, ado::Ado}; -use type_c_interface::control::{ +use tcpm_interface::control::{ dp::DpStatus, pd::PortStatus, vdm::{AttnVdm, OtherVdm}, @@ -26,45 +26,45 @@ pub struct Mock { name: &'static str, /// Recorded function calls pub fn_calls: VecDeque, - /// Next results to return for [`type_c_interface::controller::pd::Pd::get_port_status`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::get_port_status`] pub next_result_get_port_status: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::clear_dead_battery_flag`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::clear_dead_battery_flag`] pub next_result_clear_dead_battery_flag: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::enable_sink_path`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::enable_sink_path`] pub next_result_enable_sink_path: VecDeque>, - /// Next results to return for [`type_c_interface::controller::max_sink_voltage::MaxSinkVoltage::set_max_sink_voltage`] + /// Next results to return for [`tcpm_interface::controller::max_sink_voltage::MaxSinkVoltage::set_max_sink_voltage`] pub next_result_set_max_sink_voltage: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::get_pd_alert`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::get_pd_alert`] pub next_result_get_pd_alert: VecDeque, PdError>>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::set_unconstrained_power`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::set_unconstrained_power`] pub next_result_set_unconstrained_power: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::get_other_vdm`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::get_other_vdm`] pub next_result_get_other_vdm: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::get_attn_vdm`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::get_attn_vdm`] pub next_result_get_attn_vdm: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::send_vdm`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::send_vdm`] pub next_result_send_vdm: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::execute_drst`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::execute_drst`] pub next_result_execute_drst: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::get_dp_status`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::get_dp_status`] pub next_result_get_dp_status: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::set_dp_config`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::set_dp_config`] pub next_result_set_dp_config: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::set_tbt_config`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::set_tbt_config`] pub next_result_set_tbt_config: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::set_usb_control`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::set_usb_control`] pub next_result_set_usb_control: VecDeque>, - /// Next results to return for [`type_c_interface::ucsi::Lpm::execute_lpm_command`] + /// Next results to return for [`tcpm_interface::ucsi::Lpm::execute_lpm_command`] pub next_result_execute_lpm_command: VecDeque, PdError>>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::hard_reset`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::hard_reset`] pub next_result_hard_reset: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::get_discovered_svids`] - pub next_result_get_discovered_svids: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::get_discover_identity_sop_response`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::get_discovered_svids`] + pub next_result_get_discovered_svids: VecDeque>, + /// Next results to return for [`tcpm_interface::controller::pd::Pd::get_discover_identity_sop_response`] pub next_result_get_discover_identity_sop_response: VecDeque>, - /// Next results to return for [`type_c_interface::controller::pd::Pd::get_discover_identity_sop_prime_response`] + /// Next results to return for [`tcpm_interface::controller::pd::Pd::get_discover_identity_sop_prime_response`] pub next_result_get_discover_identity_sop_prime_response: VecDeque< Result, >, diff --git a/type-c-interface-test-mocks/src/controller/pd.rs b/tcpm-interface-test-mocks/src/controller/pd.rs similarity index 97% rename from type-c-interface-test-mocks/src/controller/pd.rs rename to tcpm-interface-test-mocks/src/controller/pd.rs index 62aa1193d..ee77935da 100644 --- a/type-c-interface-test-mocks/src/controller/pd.rs +++ b/tcpm-interface-test-mocks/src/controller/pd.rs @@ -1,7 +1,7 @@ -//! Mock implementation of [`type_c_interface::controller::pd::Pd`] +//! Mock implementation of [`tcpm_interface::controller::pd::Pd`] use embedded_usb_pd::{LocalPortId, PdError, ado::Ado}; -use type_c_interface::{ +use tcpm_interface::{ control::{ dp::{DpConfig, DpStatus}, pd::PortStatus, @@ -147,7 +147,7 @@ impl Pd for Mock { async fn get_discovered_svids( &mut self, port: LocalPortId, - ) -> Result { + ) -> Result { self.fn_calls .push_back(ControllerFnCall::Pd(FnCall::GetDiscoveredSvids(port))); self.next_result_get_discovered_svids diff --git a/type-c-interface-test-mocks/src/controller/ucsi.rs b/tcpm-interface-test-mocks/src/controller/ucsi.rs similarity index 93% rename from type-c-interface-test-mocks/src/controller/ucsi.rs rename to tcpm-interface-test-mocks/src/controller/ucsi.rs index e76146f2a..ad618c167 100644 --- a/type-c-interface-test-mocks/src/controller/ucsi.rs +++ b/tcpm-interface-test-mocks/src/controller/ucsi.rs @@ -1,6 +1,6 @@ use embedded_usb_pd::PdError; use embedded_usb_pd::ucsi::v1_2::lpm; -use type_c_interface::ucsi::Lpm as UcsiLpm; +use tcpm_interface::ucsi::Lpm as UcsiLpm; use super::FnCall as ControllerFnCall; use super::Mock; diff --git a/type-c-interface-test-mocks/src/lib.rs b/tcpm-interface-test-mocks/src/lib.rs similarity index 100% rename from type-c-interface-test-mocks/src/lib.rs rename to tcpm-interface-test-mocks/src/lib.rs diff --git a/type-c-interface/Cargo.toml b/tcpm-interface/Cargo.toml similarity index 96% rename from type-c-interface/Cargo.toml rename to tcpm-interface/Cargo.toml index f8565d547..b83e6455f 100644 --- a/type-c-interface/Cargo.toml +++ b/tcpm-interface/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "type-c-interface" +name = "tcpm-interface" version.workspace = true edition.workspace = true license.workspace = true diff --git a/type-c-interface/src/control/dp.rs b/tcpm-interface/src/control/dp.rs similarity index 100% rename from type-c-interface/src/control/dp.rs rename to tcpm-interface/src/control/dp.rs diff --git a/type-c-interface/src/control/mod.rs b/tcpm-interface/src/control/mod.rs similarity index 100% rename from type-c-interface/src/control/mod.rs rename to tcpm-interface/src/control/mod.rs diff --git a/type-c-interface/src/control/pd.rs b/tcpm-interface/src/control/pd.rs similarity index 100% rename from type-c-interface/src/control/pd.rs rename to tcpm-interface/src/control/pd.rs diff --git a/type-c-interface/src/control/power.rs b/tcpm-interface/src/control/power.rs similarity index 100% rename from type-c-interface/src/control/power.rs rename to tcpm-interface/src/control/power.rs diff --git a/type-c-interface/src/control/retimer.rs b/tcpm-interface/src/control/retimer.rs similarity index 100% rename from type-c-interface/src/control/retimer.rs rename to tcpm-interface/src/control/retimer.rs diff --git a/type-c-interface/src/control/svid.rs b/tcpm-interface/src/control/svid.rs similarity index 100% rename from type-c-interface/src/control/svid.rs rename to tcpm-interface/src/control/svid.rs diff --git a/type-c-interface/src/control/tbt.rs b/tcpm-interface/src/control/tbt.rs similarity index 100% rename from type-c-interface/src/control/tbt.rs rename to tcpm-interface/src/control/tbt.rs diff --git a/type-c-interface/src/control/type_c.rs b/tcpm-interface/src/control/type_c.rs similarity index 100% rename from type-c-interface/src/control/type_c.rs rename to tcpm-interface/src/control/type_c.rs diff --git a/type-c-interface/src/control/usb.rs b/tcpm-interface/src/control/usb.rs similarity index 100% rename from type-c-interface/src/control/usb.rs rename to tcpm-interface/src/control/usb.rs diff --git a/type-c-interface/src/control/vdm.rs b/tcpm-interface/src/control/vdm.rs similarity index 100% rename from type-c-interface/src/control/vdm.rs rename to tcpm-interface/src/control/vdm.rs diff --git a/type-c-interface/src/controller/electrical_disconnect.rs b/tcpm-interface/src/controller/electrical_disconnect.rs similarity index 100% rename from type-c-interface/src/controller/electrical_disconnect.rs rename to tcpm-interface/src/controller/electrical_disconnect.rs diff --git a/type-c-interface/src/controller/max_sink_voltage.rs b/tcpm-interface/src/controller/max_sink_voltage.rs similarity index 100% rename from type-c-interface/src/controller/max_sink_voltage.rs rename to tcpm-interface/src/controller/max_sink_voltage.rs diff --git a/type-c-interface/src/controller/mod.rs b/tcpm-interface/src/controller/mod.rs similarity index 100% rename from type-c-interface/src/controller/mod.rs rename to tcpm-interface/src/controller/mod.rs diff --git a/type-c-interface/src/controller/pd.rs b/tcpm-interface/src/controller/pd.rs similarity index 100% rename from type-c-interface/src/controller/pd.rs rename to tcpm-interface/src/controller/pd.rs diff --git a/type-c-interface/src/controller/power.rs b/tcpm-interface/src/controller/power.rs similarity index 100% rename from type-c-interface/src/controller/power.rs rename to tcpm-interface/src/controller/power.rs diff --git a/type-c-interface/src/controller/retimer.rs b/tcpm-interface/src/controller/retimer.rs similarity index 100% rename from type-c-interface/src/controller/retimer.rs rename to tcpm-interface/src/controller/retimer.rs diff --git a/type-c-interface/src/controller/type_c.rs b/tcpm-interface/src/controller/type_c.rs similarity index 100% rename from type-c-interface/src/controller/type_c.rs rename to tcpm-interface/src/controller/type_c.rs diff --git a/type-c-interface/src/lib.rs b/tcpm-interface/src/lib.rs similarity index 100% rename from type-c-interface/src/lib.rs rename to tcpm-interface/src/lib.rs diff --git a/type-c-interface/src/port/electrical_disconnect.rs b/tcpm-interface/src/port/electrical_disconnect.rs similarity index 100% rename from type-c-interface/src/port/electrical_disconnect.rs rename to tcpm-interface/src/port/electrical_disconnect.rs diff --git a/type-c-interface/src/port/event.rs b/tcpm-interface/src/port/event.rs similarity index 100% rename from type-c-interface/src/port/event.rs rename to tcpm-interface/src/port/event.rs diff --git a/type-c-interface/src/port/max_sink_voltage.rs b/tcpm-interface/src/port/max_sink_voltage.rs similarity index 100% rename from type-c-interface/src/port/max_sink_voltage.rs rename to tcpm-interface/src/port/max_sink_voltage.rs diff --git a/type-c-interface/src/port/mod.rs b/tcpm-interface/src/port/mod.rs similarity index 100% rename from type-c-interface/src/port/mod.rs rename to tcpm-interface/src/port/mod.rs diff --git a/type-c-interface/src/port/notification.rs b/tcpm-interface/src/port/notification.rs similarity index 100% rename from type-c-interface/src/port/notification.rs rename to tcpm-interface/src/port/notification.rs diff --git a/type-c-interface/src/port/pd.rs b/tcpm-interface/src/port/pd.rs similarity index 100% rename from type-c-interface/src/port/pd.rs rename to tcpm-interface/src/port/pd.rs diff --git a/type-c-interface/src/port/power.rs b/tcpm-interface/src/port/power.rs similarity index 100% rename from type-c-interface/src/port/power.rs rename to tcpm-interface/src/port/power.rs diff --git a/type-c-interface/src/port/retimer.rs b/tcpm-interface/src/port/retimer.rs similarity index 100% rename from type-c-interface/src/port/retimer.rs rename to tcpm-interface/src/port/retimer.rs diff --git a/type-c-interface/src/port/type_c.rs b/tcpm-interface/src/port/type_c.rs similarity index 100% rename from type-c-interface/src/port/type_c.rs rename to tcpm-interface/src/port/type_c.rs diff --git a/type-c-interface/src/service/event.rs b/tcpm-interface/src/service/event.rs similarity index 100% rename from type-c-interface/src/service/event.rs rename to tcpm-interface/src/service/event.rs diff --git a/type-c-interface/src/service/mod.rs b/tcpm-interface/src/service/mod.rs similarity index 100% rename from type-c-interface/src/service/mod.rs rename to tcpm-interface/src/service/mod.rs diff --git a/type-c-interface/src/service/notification.rs b/tcpm-interface/src/service/notification.rs similarity index 100% rename from type-c-interface/src/service/notification.rs rename to tcpm-interface/src/service/notification.rs diff --git a/type-c-interface/src/ucsi.rs b/tcpm-interface/src/ucsi.rs similarity index 100% rename from type-c-interface/src/ucsi.rs rename to tcpm-interface/src/ucsi.rs diff --git a/type-c-interface/src/util.rs b/tcpm-interface/src/util.rs similarity index 100% rename from type-c-interface/src/util.rs rename to tcpm-interface/src/util.rs diff --git a/type-c-service/Cargo.toml b/tcpm-service/Cargo.toml similarity index 88% rename from type-c-service/Cargo.toml rename to tcpm-service/Cargo.toml index d0fd8336f..31c42ce9d 100644 --- a/type-c-service/Cargo.toml +++ b/tcpm-service/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "type-c-service" +name = "tcpm-service" version = "0.1.0" edition = "2024" description = "HID embedded service implementation" @@ -24,7 +24,7 @@ fw-update-interface.workspace = true heapless.workspace = true log = { workspace = true, optional = true } power-policy-interface.workspace = true -type-c-interface.workspace = true +tcpm-interface.workspace = true [dev-dependencies] embassy-time = { workspace = true, features = ["std", "generic-queue-8"] } @@ -33,7 +33,7 @@ embassy-futures.workspace = true tokio = { workspace = true, features = ["rt", "macros", "time"] } log.workspace = true env_logger = "0.11.8" -type-c-interface-test-mocks.workspace = true +tcpm-interface-test-mocks.workspace = true power-policy-service.workspace = true paste.workspace = true critical-section = { workspace = true, features = ["std"] } @@ -47,7 +47,7 @@ defmt = [ "embassy-sync/defmt", "embedded-usb-pd/defmt", "power-policy-interface/defmt", - "type-c-interface/defmt", + "tcpm-interface/defmt", "fw-update-interface/defmt", "power-policy-service/defmt", ] @@ -57,8 +57,8 @@ log = [ "embassy-time/log", "embassy-sync/log", "power-policy-interface/log", - "type-c-interface/log", + "tcpm-interface/log", "fw-update-interface/log", "power-policy-service/log", - "type-c-interface-test-mocks/log", + "tcpm-interface-test-mocks/log", ] diff --git a/type-c-service/src/controller/config.rs b/tcpm-service/src/controller/config.rs similarity index 100% rename from type-c-service/src/controller/config.rs rename to tcpm-service/src/controller/config.rs diff --git a/type-c-service/src/controller/electrical_disconnect.rs b/tcpm-service/src/controller/electrical_disconnect.rs similarity index 79% rename from type-c-service/src/controller/electrical_disconnect.rs rename to tcpm-service/src/controller/electrical_disconnect.rs index 6dad4b6d2..cccc04c02 100644 --- a/type-c-service/src/controller/electrical_disconnect.rs +++ b/tcpm-service/src/controller/electrical_disconnect.rs @@ -3,7 +3,7 @@ use core::num::NonZeroU8; use embedded_services::{event::NonBlockingSender, sync::Lockable}; use embedded_usb_pd::PdError; -use type_c_interface::controller::electrical_disconnect::ElectricalDisconnect; +use tcpm_interface::controller::electrical_disconnect::ElectricalDisconnect; use super::*; use crate::controller::state::SharedState; @@ -12,10 +12,10 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, -> type_c_interface::port::electrical_disconnect::ElectricalDisconnect +> tcpm_interface::port::electrical_disconnect::ElectricalDisconnect for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> { async fn execute_electrical_disconnect(&mut self, reconnect_time_s: Option) -> Result<(), PdError> { diff --git a/type-c-service/src/controller/event.rs b/tcpm-service/src/controller/event.rs similarity index 84% rename from type-c-service/src/controller/event.rs rename to tcpm-service/src/controller/event.rs index 54a227a7e..96faf9ed4 100644 --- a/type-c-service/src/controller/event.rs +++ b/tcpm-service/src/controller/event.rs @@ -1,6 +1,6 @@ //! Port event types -use type_c_interface::port::event::PortEventBitfield; +use tcpm_interface::port::event::PortEventBitfield; /// Top-level port event type #[derive(Copy, Clone, Debug)] @@ -8,7 +8,7 @@ use type_c_interface::port::event::PortEventBitfield; #[non_exhaustive] pub enum Event { /// Port event - PortEvent(type_c_interface::port::event::PortEvent), + PortEvent(tcpm_interface::port::event::PortEvent), } /// Loopback event to allow `sync_state` and similar functions diff --git a/type-c-service/src/controller/event_receiver.rs b/tcpm-service/src/controller/event_receiver.rs similarity index 98% rename from type-c-service/src/controller/event_receiver.rs rename to tcpm-service/src/controller/event_receiver.rs index d29c3a7d5..2e0ef0c2b 100644 --- a/type-c-service/src/controller/event_receiver.rs +++ b/tcpm-service/src/controller/event_receiver.rs @@ -10,7 +10,7 @@ use embedded_services::sync::Lockable; use crate::PortEventStreamer; use crate::controller::event::{Event, Loopback}; use crate::controller::state::SharedState; -use type_c_interface::port::event::{PortEvent, PortEventBitfield, PortStatusEventBitfield}; +use tcpm_interface::port::event::{PortEvent, PortEventBitfield, PortStatusEventBitfield}; /// Trait used for receiving interrupt from the controller. pub trait InterruptReceiver { diff --git a/type-c-service/src/controller/macros.rs b/tcpm-service/src/controller/macros.rs similarity index 93% rename from type-c-service/src/controller/macros.rs rename to tcpm-service/src/controller/macros.rs index 0fc866275..ed715af8c 100644 --- a/type-c-service/src/controller/macros.rs +++ b/tcpm-service/src/controller/macros.rs @@ -2,7 +2,7 @@ use embedded_services::{ event::{NonBlockingSender, Receiver}, sync::Lockable, }; -use type_c_interface::port::event::PortEventBitfield; +use tcpm_interface::port::event::PortEventBitfield; use crate::controller::{event_receiver::EventReceiver, state}; @@ -16,7 +16,7 @@ pub struct PortComponents< 'a, Port, SharedState: Lockable, - TypeCReceiver: Receiver, + TypeCReceiver: Receiver, PowerPolicyReceveiver: Receiver, LoopbackReceiver: Receiver, InterruptReceiver: Receiver, @@ -51,12 +51,12 @@ macro_rules! define_controller_port_static_cell_channel { ::embassy_sync::channel::DynamicReceiver<'static, ::power_policy_interface::psu::event::EventData>; /// Type alias for the type-c service event sender - pub type InnerTypeCSenderType = ::embassy_sync::channel::DynamicSender<'static, ::type_c_interface::service::event::PortEventData>; + pub type InnerTypeCSenderType = ::embassy_sync::channel::DynamicSender<'static, ::tcpm_interface::service::event::PortEventData>; /// Type alias for the type-c service event notifier pub type InnerTypeCNotifierType = - ::type_c_interface::port::event::NonBlockingSenderNotifier; + ::tcpm_interface::port::event::NonBlockingSenderNotifier; /// Type alias for the type-c service event receiver - pub type InnerTypeCReceiverType = ::embassy_sync::channel::DynamicReceiver<'static, ::type_c_interface::service::event::PortEventData>; + pub type InnerTypeCReceiverType = ::embassy_sync::channel::DynamicReceiver<'static, ::tcpm_interface::service::event::PortEventData>; /// Type alias for the loopback sender pub type InnerLoopbackSenderType = @@ -67,10 +67,10 @@ macro_rules! define_controller_port_static_cell_channel { /// Type alias for the interrupt sender pub type InnerInterruptReceiverType = - ::embassy_sync::channel::DynamicReceiver<'static, ::type_c_interface::port::event::PortEventBitfield>; + ::embassy_sync::channel::DynamicReceiver<'static, ::tcpm_interface::port::event::PortEventBitfield>; /// Type alias for the interrupt receiver pub type InnerInterruptSenderType = - ::embassy_sync::channel::DynamicSender<'static, ::type_c_interface::port::event::PortEventBitfield>; + ::embassy_sync::channel::DynamicSender<'static, ::tcpm_interface::port::event::PortEventBitfield>; /// Type alias for the shared state mutex pub type InnerSharedStateType = @@ -97,7 +97,7 @@ macro_rules! define_controller_port_static_cell_channel { static TYPE_C_CHANNEL: ::static_cell::StaticCell< ::embassy_sync::channel::Channel< $mutex, - ::type_c_interface::service::event::PortEventData, + ::tcpm_interface::service::event::PortEventData, { $crate::controller::macros::DEFAULT_TYPE_C_CHANNEL_SIZE }, >, > = ::static_cell::StaticCell::new(); @@ -121,7 +121,7 @@ macro_rules! define_controller_port_static_cell_channel { static INTERRUPT_CHANNEL: ::static_cell::StaticCell< ::embassy_sync::channel::Channel< $mutex, - ::type_c_interface::port::event::PortEventBitfield, + ::tcpm_interface::port::event::PortEventBitfield, { $crate::controller::macros::DEFAULT_INTERRUPT_CHANNEL_SIZE }, >, > = ::static_cell::StaticCell::new(); diff --git a/type-c-service/src/controller/max_sink_voltage.rs b/tcpm-service/src/controller/max_sink_voltage.rs similarity index 95% rename from type-c-service/src/controller/max_sink_voltage.rs rename to tcpm-service/src/controller/max_sink_voltage.rs index ba13f2113..0f3f6acc0 100644 --- a/type-c-service/src/controller/max_sink_voltage.rs +++ b/tcpm-service/src/controller/max_sink_voltage.rs @@ -3,7 +3,7 @@ use embassy_time::Instant; use embedded_services::{event::NonBlockingSender, sync::Lockable}; use embedded_usb_pd::PdError; use power_policy_interface::capability::{DisconnectFlags, DisconnectReason}; -use type_c_interface::controller::max_sink_voltage::MaxSinkVoltage; +use tcpm_interface::controller::max_sink_voltage::MaxSinkVoltage; use super::*; use crate::controller::state::SharedState; @@ -12,10 +12,10 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, -> type_c_interface::port::max_sink_voltage::MaxSinkVoltage +> tcpm_interface::port::max_sink_voltage::MaxSinkVoltage for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> { async fn set_max_sink_voltage(&mut self, voltage_mv: Option) -> Result<(), PdError> { diff --git a/type-c-service/src/controller/mod.rs b/tcpm-service/src/controller/mod.rs similarity index 93% rename from type-c-service/src/controller/mod.rs rename to tcpm-service/src/controller/mod.rs index e802d5f14..76da1bae7 100644 --- a/type-c-service/src/controller/mod.rs +++ b/tcpm-service/src/controller/mod.rs @@ -2,11 +2,11 @@ use embedded_services::{debug, error, event::NonBlockingSender, info, named::Named, sync::Lockable}; use embedded_usb_pd::{LocalPortId, PdError}; use power_policy_interface::psu::PsuState; -use type_c_interface::control::pd::PortStatus; -use type_c_interface::controller::pd::Pd; -use type_c_interface::port::event::PortEventBitfield; -use type_c_interface::port::{event::PortEvent as InterfacePortEvent, event::PortStatusEventBitfield}; -use type_c_interface::service::event::{PortEventData as ServicePortEventData, StatusChangedData}; +use tcpm_interface::control::pd::PortStatus; +use tcpm_interface::controller::pd::Pd; +use tcpm_interface::port::event::PortEventBitfield; +use tcpm_interface::port::{event::PortEvent as InterfacePortEvent, event::PortStatusEventBitfield}; +use tcpm_interface::service::event::{PortEventData as ServicePortEventData, StatusChangedData}; use crate::controller::event::{Event, Loopback}; use crate::controller::state::SharedState; @@ -28,7 +28,7 @@ pub struct Port< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, > { @@ -58,7 +58,7 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, > Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> @@ -237,7 +237,7 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, > Named for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> diff --git a/type-c-service/src/controller/pd.rs b/tcpm-service/src/controller/pd.rs similarity index 91% rename from type-c-service/src/controller/pd.rs rename to tcpm-service/src/controller/pd.rs index 8bf7139f9..ee7677503 100644 --- a/type-c-service/src/controller/pd.rs +++ b/tcpm-service/src/controller/pd.rs @@ -3,7 +3,7 @@ use embedded_services::{event::NonBlockingSender, sync::Lockable}; use embedded_usb_pd::PdError; use embedded_usb_pd::ado::Ado; use embedded_usb_pd::vdm::structured::command::discover_identity::{sop, sop_prime}; -use type_c_interface::control::{ +use tcpm_interface::control::{ dp::{DpConfig, DpStatus}, pd::{PdStateMachineConfig, PortStatus}, svid::DiscoveredSvids, @@ -11,9 +11,9 @@ use type_c_interface::control::{ usb::UsbControlConfig, vdm::{AttnVdm, OtherVdm, SendVdm}, }; -use type_c_interface::controller::pd::StateMachine; -use type_c_interface::port::event::{VdmData, VdmNotification}; -use type_c_interface::service::event::PortEventData as ServicePortEventData; +use tcpm_interface::controller::pd::StateMachine; +use tcpm_interface::port::event::{VdmData, VdmNotification}; +use tcpm_interface::service::event::PortEventData as ServicePortEventData; use super::*; use crate::controller::state::SharedState; @@ -22,7 +22,7 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, > Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> @@ -85,10 +85,10 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, -> type_c_interface::port::pd::Pd for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> +> tcpm_interface::port::pd::Pd for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> { async fn get_port_status(&mut self) -> Result { self.controller.lock().await.get_port_status(self.port).await @@ -179,10 +179,10 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, -> type_c_interface::port::pd::StateMachine for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> +> tcpm_interface::port::pd::StateMachine for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> { async fn set_pd_state_machine_config(&mut self, config: PdStateMachineConfig) -> Result<(), PdError> { self.controller diff --git a/type-c-service/src/controller/power.rs b/tcpm-service/src/controller/power.rs similarity index 96% rename from type-c-service/src/controller/power.rs rename to tcpm-service/src/controller/power.rs index 11c501c5e..96636dc1d 100644 --- a/type-c-service/src/controller/power.rs +++ b/tcpm-service/src/controller/power.rs @@ -9,10 +9,10 @@ use power_policy_interface::{ capability::{ConsumerPowerCapability, DisconnectFlags, DisconnectReason, ProviderPowerCapability, PsuType}, psu::{Error as PsuError, Psu, State}, }; -use type_c_interface::controller::power::SystemPowerStateStatus; +use tcpm_interface::controller::power::SystemPowerStateStatus; use crate::controller::config::UnconstrainedSink; -use type_c_interface::util::power_policy_error_from_pd_error; +use tcpm_interface::util::power_policy_error_from_pd_error; use super::*; @@ -20,7 +20,7 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, > Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> @@ -237,7 +237,7 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, > Psu for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> @@ -293,15 +293,15 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, -> type_c_interface::port::power::SystemPowerStateStatus +> tcpm_interface::port::power::SystemPowerStateStatus for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> { async fn set_system_power_state_status( &mut self, - state: type_c_interface::control::power::SystemPowerState, + state: tcpm_interface::control::power::SystemPowerState, ) -> Result<(), PdError> { self.controller .lock() diff --git a/type-c-service/src/controller/retimer.rs b/tcpm-service/src/controller/retimer.rs similarity index 80% rename from type-c-service/src/controller/retimer.rs rename to tcpm-service/src/controller/retimer.rs index 74114fd42..413797590 100644 --- a/type-c-service/src/controller/retimer.rs +++ b/tcpm-service/src/controller/retimer.rs @@ -1,8 +1,8 @@ //! Retimer port trait implementation use embedded_services::{event::NonBlockingSender, sync::Lockable}; use embedded_usb_pd::PdError; -use type_c_interface::control::retimer::RetimerFwUpdateState; -use type_c_interface::controller::retimer::Retimer; +use tcpm_interface::control::retimer::RetimerFwUpdateState; +use tcpm_interface::controller::retimer::Retimer; use super::*; use crate::controller::state::SharedState; @@ -11,10 +11,10 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, -> type_c_interface::port::retimer::Retimer for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> +> tcpm_interface::port::retimer::Retimer for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> { async fn get_rt_fw_update_status(&mut self) -> Result { self.controller.lock().await.get_rt_fw_update_status(self.port).await diff --git a/type-c-service/src/controller/state.rs b/tcpm-service/src/controller/state.rs similarity index 100% rename from type-c-service/src/controller/state.rs rename to tcpm-service/src/controller/state.rs diff --git a/type-c-service/src/controller/type_c.rs b/tcpm-service/src/controller/type_c.rs similarity index 69% rename from type-c-service/src/controller/type_c.rs rename to tcpm-service/src/controller/type_c.rs index 740bdb8da..9dc07740f 100644 --- a/type-c-service/src/controller/type_c.rs +++ b/tcpm-service/src/controller/type_c.rs @@ -1,8 +1,8 @@ //! Type-C state machine port trait implementation use embedded_services::{event::NonBlockingSender, sync::Lockable}; use embedded_usb_pd::PdError; -use type_c_interface::control::type_c::TypeCStateMachineState; -use type_c_interface::controller::type_c::StateMachine; +use tcpm_interface::control::type_c::TypeCStateMachineState; +use tcpm_interface::controller::type_c::StateMachine; use super::*; use crate::controller::state::SharedState; @@ -11,11 +11,10 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, -> type_c_interface::port::type_c::StateMachine - for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> +> tcpm_interface::port::type_c::StateMachine for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> { async fn set_type_c_state_machine_config(&mut self, state: TypeCStateMachineState) -> Result<(), PdError> { self.controller diff --git a/type-c-service/src/controller/ucsi.rs b/tcpm-service/src/controller/ucsi.rs similarity index 75% rename from type-c-service/src/controller/ucsi.rs rename to tcpm-service/src/controller/ucsi.rs index 05a6fef54..63e35a829 100644 --- a/type-c-service/src/controller/ucsi.rs +++ b/tcpm-service/src/controller/ucsi.rs @@ -1,7 +1,7 @@ //! UCSI LPM port trait implementation use embedded_services::{event::NonBlockingSender, sync::Lockable}; use embedded_usb_pd::{PdError, ucsi::v1_2::lpm}; -use type_c_interface::ucsi::Lpm as UcsiLpm; +use tcpm_interface::ucsi::Lpm as UcsiLpm; use super::*; use crate::controller::state::SharedState; @@ -10,10 +10,10 @@ impl< 'device, C: Lockable, Shared: Lockable, - PortNotifier: type_c_interface::port::notification::Notifier, + PortNotifier: tcpm_interface::port::notification::Notifier, PowerNotifier: power_policy_interface::psu::notification::Notifier, LoopbackSender: NonBlockingSender, -> type_c_interface::ucsi::Lpm for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> +> tcpm_interface::ucsi::Lpm for Port<'device, C, Shared, PortNotifier, PowerNotifier, LoopbackSender> { async fn execute_lpm_command(&mut self, command: lpm::LocalCommand) -> Result, PdError> { self.controller.lock().await.execute_lpm_command(command).await diff --git a/type-c-service/src/lib.rs b/tcpm-service/src/lib.rs similarity index 99% rename from type-c-service/src/lib.rs rename to tcpm-service/src/lib.rs index ce1fa8604..6d9716b11 100644 --- a/type-c-service/src/lib.rs +++ b/tcpm-service/src/lib.rs @@ -6,7 +6,7 @@ pub mod util; use core::iter::Enumerate; -use type_c_interface::port::event::{ +use tcpm_interface::port::event::{ PortEvent, PortEventBitfield, PortNotificationEventBitfield, PortStatusEventBitfield, }; diff --git a/type-c-service/src/service/config.rs b/tcpm-service/src/service/config.rs similarity index 100% rename from type-c-service/src/service/config.rs rename to tcpm-service/src/service/config.rs diff --git a/type-c-service/src/service/event_receiver.rs b/tcpm-service/src/service/event_receiver.rs similarity index 89% rename from type-c-service/src/service/event_receiver.rs rename to tcpm-service/src/service/event_receiver.rs index eb2e669bc..b78a468c5 100644 --- a/type-c-service/src/service/event_receiver.rs +++ b/tcpm-service/src/service/event_receiver.rs @@ -4,7 +4,7 @@ use crate::service::Event; use embassy_futures::select::{Either, select, select_slice}; use embedded_services::{event::Receiver, sync::Lockable}; use power_policy_interface::service::event::EventData as PowerPolicyEventData; -use type_c_interface::{port::pd::Pd, service::event::PortEvent}; +use tcpm_interface::{port::pd::Pd, service::event::PortEvent}; struct PowerPolicySubscriber> { receiver: PowerReceiver, @@ -21,7 +21,7 @@ pub struct ArrayPortReceivers< 'port, const N: usize, Port: Lockable, - PortReceiver: Receiver, + PortReceiver: Receiver, > { ports: [&'port Port; N], port_receivers: [PortReceiver; N], @@ -31,7 +31,7 @@ impl< 'port, const N: usize, Port: Lockable, - PortReceiver: Receiver, + PortReceiver: Receiver, > ArrayPortReceivers<'port, N, Port, PortReceiver> { /// Get the next pending PSU event @@ -57,7 +57,7 @@ pub struct ArrayEventReceiver< 'a, const N: usize, Port: Lockable, - PortReceiver: Receiver, + PortReceiver: Receiver, PowerReceiver: Receiver, > { /// Power policy event subscriber @@ -70,7 +70,7 @@ impl< 'port, const N: usize, Port: Lockable, - PortReceiver: Receiver, + PortReceiver: Receiver, PowerReceiver: Receiver, > ArrayEventReceiver<'port, N, Port, PortReceiver, PowerReceiver> { diff --git a/type-c-service/src/service/mod.rs b/tcpm-service/src/service/mod.rs similarity index 94% rename from type-c-service/src/service/mod.rs rename to tcpm-service/src/service/mod.rs index 2b5fbc528..dffe86b91 100644 --- a/type-c-service/src/service/mod.rs +++ b/tcpm-service/src/service/mod.rs @@ -8,15 +8,15 @@ use embedded_usb_pd::GlobalPortId; use embedded_usb_pd::PdError as Error; use embedded_usb_pd::ado::Ado; use power_policy_interface::service::event::EventData as PowerPolicyEventData; -use type_c_interface::control::dp::DpStatus; -use type_c_interface::control::pd::PortStatus; -use type_c_interface::port::event::VdmData; -use type_c_interface::port::notification::NotificationHandler; -use type_c_interface::port::pd::Pd; -use type_c_interface::service::event::{PortEvent, PortEventData}; -use type_c_interface::service::notification::Notifier as _; - -use type_c_interface::port::event::PortStatusEventBitfield; +use tcpm_interface::control::dp::DpStatus; +use tcpm_interface::control::pd::PortStatus; +use tcpm_interface::port::event::VdmData; +use tcpm_interface::port::notification::NotificationHandler; +use tcpm_interface::port::pd::Pd; +use tcpm_interface::service::event::{PortEvent, PortEventData}; +use tcpm_interface::service::notification::Notifier as _; + +use tcpm_interface::port::event::PortStatusEventBitfield; use crate::service::registration::Registration; diff --git a/type-c-service/src/service/power.rs b/tcpm-service/src/service/power.rs similarity index 99% rename from type-c-service/src/service/power.rs rename to tcpm-service/src/service/power.rs index b955e0a6a..06d879e4a 100644 --- a/type-c-service/src/service/power.rs +++ b/tcpm-service/src/service/power.rs @@ -3,7 +3,7 @@ use core::ptr; use embedded_services::sync::Lockable as _; use power_policy_interface::service as power_policy; use power_policy_interface::service::event::EventData as PowerPolicyEventData; -use type_c_interface::port::pd::Pd as _; +use tcpm_interface::port::pd::Pd as _; use super::*; diff --git a/type-c-service/src/service/registration.rs b/tcpm-service/src/service/registration.rs similarity index 93% rename from type-c-service/src/service/registration.rs rename to tcpm-service/src/service/registration.rs index b7510d702..db267cb6c 100644 --- a/type-c-service/src/service/registration.rs +++ b/tcpm-service/src/service/registration.rs @@ -2,9 +2,9 @@ use embedded_services::sync::Lockable; use embedded_usb_pd::{GlobalPortId, LocalPortId}; -use type_c_interface::port::pd::Pd; -use type_c_interface::service::notification::Notifier as ServiceNotifierTrait; -use type_c_interface::ucsi::Lpm as UcsiLpm; +use tcpm_interface::port::pd::Pd; +use tcpm_interface::service::notification::Notifier as ServiceNotifierTrait; +use tcpm_interface::ucsi::Lpm as UcsiLpm; /// Registration trait that abstracts over various registration details. pub trait Registration<'port> { diff --git a/type-c-service/src/service/ucsi.rs b/tcpm-service/src/service/ucsi.rs similarity index 99% rename from type-c-service/src/service/ucsi.rs rename to tcpm-service/src/service/ucsi.rs index eb61b859e..f634e2e11 100644 --- a/type-c-service/src/service/ucsi.rs +++ b/tcpm-service/src/service/ucsi.rs @@ -8,7 +8,7 @@ use embedded_usb_pd::ucsi::v1_2::ppm::state_machine::{ }; use embedded_usb_pd::ucsi::v1_2::{GlobalCommand, ResponseData, lpm, ppm}; use embedded_usb_pd::{PdError, PowerRole}; -use type_c_interface::ucsi::Lpm as _; +use tcpm_interface::ucsi::Lpm as _; use super::*; diff --git a/type-c-service/src/task.rs b/tcpm-service/src/task.rs similarity index 88% rename from type-c-service/src/task.rs rename to tcpm-service/src/task.rs index 8ad364bd9..e465ccefe 100644 --- a/type-c-service/src/task.rs +++ b/tcpm-service/src/task.rs @@ -1,6 +1,6 @@ use embedded_services::{error, event::Receiver, info, sync::Lockable}; use power_policy_interface::service::event::EventData as PowerPolicyEventData; -use type_c_interface::port::pd::Pd; +use tcpm_interface::port::pd::Pd; use crate::service::{Service, event_receiver::ArrayEventReceiver, registration::Registration}; @@ -8,7 +8,7 @@ use crate::service::{Service, event_receiver::ArrayEventReceiver, registration:: pub async fn task< const N: usize, Port: Lockable, - PortReceiver: Receiver, + PortReceiver: Receiver, PowerReceiver: Receiver, >( service: &'static impl Lockable>>, diff --git a/type-c-service/src/util.rs b/tcpm-service/src/util.rs similarity index 100% rename from type-c-service/src/util.rs rename to tcpm-service/src/util.rs diff --git a/type-c-service/tests/common/mod.rs b/tcpm-service/tests/common/mod.rs similarity index 81% rename from type-c-service/tests/common/mod.rs rename to tcpm-service/tests/common/mod.rs index d86c99b02..af278e429 100644 --- a/type-c-service/tests/common/mod.rs +++ b/tcpm-service/tests/common/mod.rs @@ -15,7 +15,7 @@ use embedded_services::{GlobalRawMutex, event::NonBlockingSender}; use embedded_usb_pd::LocalPortId; use paste::paste; use power_policy_interface::charger::mock::NoopCharger; -use type_c_service::service::registration::PortData; +use tcpm_service::service::registration::PortData; pub const DEFAULT_TEST_DURATION: Duration = Duration::from_secs(5); @@ -24,39 +24,39 @@ pub const DEFAULT_PER_CALL_TIMEOUT: Duration = Duration::from_secs(1); /// Total number of type-C ports pub const TYPE_C_PORT_COUNT: usize = 3; /// Number of senders for type-c service events -pub const TYPE_C_SERVICE_SENDER_COUNT: usize = 1; +pub const TCPM_SERVICE_SENDER_COUNT: usize = 1; /// Number of senders for power policy events pub const POWER_POLICY_SENDER_COUNT: usize = 1; /// Mutex wrapped controller mock -pub type ControllerMockMutexType = Mutex; +pub type ControllerMockMutexType = Mutex; -/// [`type_c_service::controller::Port`] sender to type-C service -pub type PortTypeCSender<'a> = DynamicSender<'a, type_c_interface::service::event::PortEventData>; +/// [`tcpm_service::controller::Port`] sender to type-C service +pub type PortTypeCSender<'a> = DynamicSender<'a, tcpm_interface::service::event::PortEventData>; /// Corresponding receiver for [`PortTypeCSender`] -pub type PortTypeCReceiver<'a> = DynamicReceiver<'a, type_c_interface::service::event::PortEventData>; +pub type PortTypeCReceiver<'a> = DynamicReceiver<'a, tcpm_interface::service::event::PortEventData>; /// Type-C port notification wrapper -pub type PortTypeCNotifier<'a> = type_c_interface::port::event::NonBlockingSenderNotifier>; -/// [`type_c_service::controller::Port`] sender to power policy service +pub type PortTypeCNotifier<'a> = tcpm_interface::port::event::NonBlockingSenderNotifier>; +/// [`tcpm_service::controller::Port`] sender to power policy service pub type PortPowerSender<'a> = DynamicSender<'a, power_policy_interface::psu::event::EventData>; /// Corresponding receiver for [`PortPowerSender`] pub type PortPowerReceiver<'a> = DynamicReceiver<'a, power_policy_interface::psu::event::EventData>; /// Power policy notification wrapper pub type PortPowerNotifier<'a> = power_policy_interface::psu::event::NonBlockingSenderNotifier>; -/// [`type_c_service::controller::Port`] sender for loopback events -pub type PortLoopbackSender<'a> = DynamicSender<'a, type_c_service::controller::event::Loopback>; +/// [`tcpm_service::controller::Port`] sender for loopback events +pub type PortLoopbackSender<'a> = DynamicSender<'a, tcpm_service::controller::event::Loopback>; /// Corresponding receiver for [`PortLoopbackSender`] -pub type PortLoopbackReceiver<'a> = DynamicReceiver<'a, type_c_service::controller::event::Loopback>; -/// Interrupt sender into a [`type_c_service::controller::Port`]'s event receiver -pub type PortInterruptSender<'a> = DynamicSender<'a, type_c_interface::port::event::PortEventBitfield>; +pub type PortLoopbackReceiver<'a> = DynamicReceiver<'a, tcpm_service::controller::event::Loopback>; +/// Interrupt sender into a [`tcpm_service::controller::Port`]'s event receiver +pub type PortInterruptSender<'a> = DynamicSender<'a, tcpm_interface::port::event::PortEventBitfield>; /// Corresponding receiver for [`PortInterruptSender`] -pub type PortInterruptReceiver<'a> = DynamicReceiver<'a, type_c_interface::port::event::PortEventBitfield>; +pub type PortInterruptReceiver<'a> = DynamicReceiver<'a, tcpm_interface::port::event::PortEventBitfield>; /// Shared port state type -pub type PortSharedState = Mutex; +pub type PortSharedState = Mutex; /// Port type pub type PortMutexType<'port, 'ch> = Mutex< GlobalRawMutex, - type_c_service::controller::Port< + tcpm_service::controller::Port< 'port, // Underlying controller ControllerMockMutexType, @@ -72,7 +72,7 @@ pub type PortMutexType<'port, 'ch> = Mutex< >; /// Controller-side event receiver that drives software sink-ready timeouts -pub type PortEventReceiverType<'port, 'ch> = type_c_service::controller::event_receiver::EventReceiver< +pub type PortEventReceiverType<'port, 'ch> = tcpm_service::controller::event_receiver::EventReceiver< 'port, PortSharedState, PortInterruptReceiver<'ch>, @@ -112,18 +112,18 @@ pub type PowerPolicyServiceMutexType<'port, 'ch> = /// Sender for events broadcast by the type-C service pub type TypeCServiceSender<'port, 'ch> = - DynamicSender<'ch, type_c_interface::service::event::Event<'port, PortMutexType<'port, 'ch>>>; + DynamicSender<'ch, tcpm_interface::service::event::Event<'port, PortMutexType<'port, 'ch>>>; /// Receiver for events broadcast by the type-C service pub type TypeCServiceReceiver<'port, 'ch> = - DynamicReceiver<'ch, type_c_interface::service::event::Event<'port, PortMutexType<'port, 'ch>>>; + DynamicReceiver<'ch, tcpm_interface::service::event::Event<'port, PortMutexType<'port, 'ch>>>; /// Notifier for events broadcast by the type-C service -pub type TypeCServiceNotifier<'port, 'ch> = type_c_interface::service::event::NonBlockingSenderNotifier< +pub type TypeCServiceNotifier<'port, 'ch> = tcpm_interface::service::event::NonBlockingSenderNotifier< 'port, PortMutexType<'port, 'ch>, TypeCServiceSender<'port, 'ch>, >; /// Type-C service registration type -pub type TypeCRegistrationType<'port, 'ch> = type_c_service::service::registration::ArrayRegistration< +pub type TypeCRegistrationType<'port, 'ch> = tcpm_service::service::registration::ArrayRegistration< 'port, // Port type PortMutexType<'port, 'ch>, @@ -132,11 +132,11 @@ pub type TypeCRegistrationType<'port, 'ch> = type_c_service::service::registrati // Notifiers for events broadcast by the service TypeCServiceNotifier<'port, 'ch>, // Number of registered service event notifiers - TYPE_C_SERVICE_SENDER_COUNT, + TCPM_SERVICE_SENDER_COUNT, >; /// Type-C service type pub type TypeCServiceMutexType<'port, 'ch> = - Mutex>>; + Mutex>>; /// Default channel size to use pub const CHANNEL_SIZE: usize = 4; @@ -186,7 +186,7 @@ macro_rules! define_port { ($name:ident, $mock_name:expr, $port_name:expr, $config:expr, $local_id:expr) => { paste! { let [<$name _type_c_channel>]: Channel< GlobalRawMutex, - type_c_interface::service::event::PortEventData, + tcpm_interface::service::event::PortEventData, CHANNEL_SIZE, > = Channel::new(); } paste! { let [<$name _type_c_sender>] = [<$name _type_c_channel>].dyn_sender(); } @@ -202,7 +202,7 @@ macro_rules! define_port { paste! { let [<$name _loopback_channel>]: Channel< GlobalRawMutex, - type_c_service::controller::event::Loopback, + tcpm_service::controller::event::Loopback, CHANNEL_SIZE, > = Channel::new(); } paste! { let [<$name _loopback_sender>] = [<$name _loopback_channel>].dyn_sender(); } @@ -210,22 +210,22 @@ macro_rules! define_port { paste! { let [<$name _interrupt_channel>]: Channel< GlobalRawMutex, - type_c_interface::port::event::PortEventBitfield, + tcpm_interface::port::event::PortEventBitfield, CHANNEL_SIZE, > = Channel::new(); } paste! { let [<$name _interrupt_sender>] = [<$name _interrupt_channel>].dyn_sender(); } paste! { let [<$name _interrupt_receiver>] = [<$name _interrupt_channel>].dyn_receiver(); } - paste! { let [<$name _mock>] = Mutex::new(type_c_interface_test_mocks::controller::Mock::new($mock_name)); } + paste! { let [<$name _mock>] = Mutex::new(tcpm_interface_test_mocks::controller::Mock::new($mock_name)); } paste! { let [<$name _shared_state>] = - PortSharedState::new(type_c_service::controller::state::SharedState::new()); } - paste! { let [<$name _event_receiver>] = type_c_service::controller::event_receiver::EventReceiver::new( + PortSharedState::new(tcpm_service::controller::state::SharedState::new()); } + paste! { let [<$name _event_receiver>] = tcpm_service::controller::event_receiver::EventReceiver::new( &[<$name _shared_state>], [<$name _interrupt_receiver>], [<$name _loopback_receiver>], ); } paste! { let $name = PortComponents { - port: Mutex::new(type_c_service::controller::Port::new( + port: Mutex::new(tcpm_service::controller::Port::new( $port_name, $config, $local_id, @@ -284,14 +284,14 @@ async fn power_policy_task<'psu, 'ch, 'service, 'completion>( } /// Type-C service event loop task -async fn type_c_service_task<'port, 'ch, 'service, 'completion>( +async fn tcpm_service_task<'port, 'ch, 'service, 'completion>( mut completion_signal: watch::DynReceiver<'completion, ()>, service: &'service TypeCServiceMutexType<'port, 'ch>, - mut event_receiver: type_c_service::service::event_receiver::ArrayEventReceiver< + mut event_receiver: tcpm_service::service::event_receiver::ArrayEventReceiver< 'port, TYPE_C_PORT_COUNT, PortMutexType<'port, 'ch>, - DynamicReceiver<'ch, type_c_interface::service::event::PortEventData>, + DynamicReceiver<'ch, tcpm_interface::service::event::PortEventData>, DynamicReceiver<'ch, power_policy_interface::service::event::EventData>, >, ) { @@ -303,8 +303,8 @@ async fn type_c_service_task<'port, 'ch, 'service, 'completion>( /// Initialize services and run an integration test pub async fn run_test( duration: Duration, - type_c_service_config: type_c_service::service::config::Config, - port_config: [type_c_service::controller::config::Config; TYPE_C_PORT_COUNT], + tcpm_service_config: tcpm_service::service::config::Config, + port_config: [tcpm_service::controller::config::Config; TYPE_C_PORT_COUNT], mut test: impl Test, ) { // Tokio runs tests in parallel, but logging is global so we need to run tests sequentially to avoid interleaved logs. @@ -349,14 +349,14 @@ pub async fn run_test( } = port2; // Channel to broadcast events from the type-C service - let type_c_service_channel: ManuallyDrop< - Channel>, CHANNEL_SIZE>, + let tcpm_service_channel: ManuallyDrop< + Channel>, CHANNEL_SIZE>, > = ManuallyDrop::new(Channel::new()); - let type_c_service_sender = type_c_service_channel.dyn_sender(); - let type_c_service_receiver = type_c_service_channel.dyn_receiver(); + let tcpm_service_sender = tcpm_service_channel.dyn_sender(); + let tcpm_service_receiver = tcpm_service_channel.dyn_receiver(); - let type_c_service = Mutex::new(type_c_service::service::Service::new( - type_c_service_config, + let tcpm_service = Mutex::new(tcpm_service::service::Service::new( + tcpm_service_config, TypeCRegistrationType { ports: [&port0, &port1, &port2], port_data: [ @@ -370,7 +370,7 @@ pub async fn run_test( local_port: Some(LocalPortId(0)), }, ], - service_notifiers: [type_c_service_sender.into()], + service_notifiers: [tcpm_service_sender.into()], }, )); @@ -381,7 +381,7 @@ pub async fn run_test( let type_c_power_policy_sender = type_c_power_policy_events.dyn_sender(); let type_c_power_policy_receiver = type_c_power_policy_events.dyn_receiver(); - let type_c_service_event_receivers = type_c_service::service::event_receiver::ArrayEventReceiver::new( + let tcpm_service_event_receivers = tcpm_service::service::event_receiver::ArrayEventReceiver::new( [&port0, &port1, &port2], [port0_type_c_receiver, port1_type_c_receiver, port2_type_c_receiver], type_c_power_policy_receiver, @@ -429,15 +429,15 @@ pub async fn run_test( &power_policy_service, power_policy_event_receiver, ), - type_c_service_task( + tcpm_service_task( completion_signal.dyn_receiver().unwrap(), - &type_c_service, - type_c_service_event_receivers, + &tcpm_service, + tcpm_service_event_receivers, ), async { test.run( - &type_c_service, - type_c_service_receiver, + &tcpm_service, + tcpm_service_receiver, power_policy_service_receiver, TestPort { port: &port0, diff --git a/type-c-service/tests/debug_accessory.rs b/tcpm-service/tests/debug_accessory.rs similarity index 99% rename from type-c-service/tests/debug_accessory.rs rename to tcpm-service/tests/debug_accessory.rs index b603cad35..170282c51 100644 --- a/type-c-service/tests/debug_accessory.rs +++ b/tcpm-service/tests/debug_accessory.rs @@ -12,7 +12,7 @@ use power_policy_interface::{ psu::{Psu, PsuState}, service::event::Event as PowerPolicyEvent, }; -use type_c_interface::{ +use tcpm_interface::{ control::pd::{PortStatus, SourceContract}, port::event::{PortEventBitfield, PortStatusEventBitfield}, service::event::{DebugAccessoryData, EventData as TypeCEventData}, diff --git a/type-c-service/tests/notifications.rs b/tcpm-service/tests/notifications.rs similarity index 98% rename from type-c-service/tests/notifications.rs rename to tcpm-service/tests/notifications.rs index f0490c919..0135a09a0 100644 --- a/type-c-service/tests/notifications.rs +++ b/tcpm-service/tests/notifications.rs @@ -5,15 +5,15 @@ use embassy_futures::join::join; use embassy_time::{TimeoutError, with_timeout}; use embedded_usb_pd::{ado::Ado, type_c::ConnectionState}; -use type_c_interface::{ +use tcpm_interface::{ control::dp::{DpPinConfig, DpStatus}, control::pd::PortStatus, control::vdm::{ATTN_VDM_LEN, AttnVdm, OTHER_VDM_LEN, OtherVdm}, port::event::{PortEvent, PortStatusEventBitfield, VdmData, VdmNotification}, service::event::PortEventData, }; -use type_c_interface_test_mocks::controller::{FnCall as ControllerFnCall, pd::FnCall as PdFnCall}; -use type_c_service::controller::event::Event; +use tcpm_interface_test_mocks::controller::{FnCall as ControllerFnCall, pd::FnCall as PdFnCall}; +use tcpm_service::controller::event::Event; use crate::common::{ DEFAULT_PER_CALL_TIMEOUT, DEFAULT_TEST_DURATION, PowerPolicyServiceReceiver, Test, TestPort, TypeCServiceReceiver, diff --git a/type-c-service/tests/power.rs b/tcpm-service/tests/power.rs similarity index 99% rename from type-c-service/tests/power.rs rename to tcpm-service/tests/power.rs index 4976aedc5..96cac4d9c 100644 --- a/type-c-service/tests/power.rs +++ b/tcpm-service/tests/power.rs @@ -19,7 +19,7 @@ use power_policy_interface::{ psu::{Psu, PsuState}, service::event::Event as PowerPolicyEvent, }; -use type_c_interface::{ +use tcpm_interface::{ control::pd::{PdSinkInfo, PortStatus, SinkContract, SourceContract}, port::{ event::{PortEvent, PortEventBitfield, PortStatusEventBitfield}, @@ -27,10 +27,10 @@ use type_c_interface::{ }, util::POWER_CAPABILITY_5V_1A5, }; -use type_c_interface_test_mocks::controller::{ +use tcpm_interface_test_mocks::controller::{ FnCall as ControllerFnCall, max_sink_voltage::FnCall as MaxSinkVoltageFnCall, pd::FnCall as PdFnCall, }; -use type_c_service::controller::event::Event; +use tcpm_service::controller::event::Event; use crate::common::{ DEFAULT_PER_CALL_TIMEOUT, DEFAULT_TEST_DURATION, PowerPolicyServiceReceiver, Test, TestPort, TypeCServiceReceiver, @@ -278,7 +278,7 @@ impl Test for TestBasicProviderFlow { /// exercises every internal state transition along with the power-policy broadcasts. /// /// The controller never raises a hardware sink-ready event, so a real `embassy_time::Timer` inside -/// a live [`type_c_service::controller::event_receiver::EventReceiver`] must elapse and synthesize +/// a live [`tcpm_service::controller::event_receiver::EventReceiver`] must elapse and synthesize /// the sink-ready event that completes the consumer contract. The event receiver is driven /// manually, one event at a time, so the port's internal state can be asserted deterministically /// between transitions: diff --git a/type-c-service/tests/ucsi.rs b/tcpm-service/tests/ucsi.rs similarity index 97% rename from type-c-service/tests/ucsi.rs rename to tcpm-service/tests/ucsi.rs index 2f849bd53..8836b7d38 100644 --- a/type-c-service/tests/ucsi.rs +++ b/tcpm-service/tests/ucsi.rs @@ -20,10 +20,10 @@ use embedded_usb_pd::ucsi::v1_2::ppm::{ use embedded_usb_pd::ucsi::v1_2::{GlobalCommand, ResponseData as UcsiResponseData}; use embedded_usb_pd::{GlobalPortId, PdError, PowerRole}; use log::info; -use type_c_interface::control::pd::PortStatus; -use type_c_interface::port::event::{PortEvent, PortStatusEventBitfield}; -use type_c_interface::service::event::EventData; -use type_c_service::controller::event::Event; +use tcpm_interface::control::pd::PortStatus; +use tcpm_interface::port::event::{PortEvent, PortStatusEventBitfield}; +use tcpm_interface::service::event::EventData; +use tcpm_service::controller::event::Event; use crate::common::{ DEFAULT_PER_CALL_TIMEOUT, DEFAULT_TEST_DURATION, PowerPolicyServiceReceiver, Test, TestPort, TypeCServiceMutexType, @@ -315,7 +315,7 @@ impl Test for TestUcsi { async fn ucsi() { common::run_test( DEFAULT_TEST_DURATION, - type_c_service::service::config::Config { + tcpm_service::service::config::Config { ucsi_capabilities: PpmCapabilities { num_connectors: 3, bcd_usb_pd_spec: 0x0300, diff --git a/type-c-service/tests/unconstrained.rs b/tcpm-service/tests/unconstrained.rs similarity index 98% rename from type-c-service/tests/unconstrained.rs rename to tcpm-service/tests/unconstrained.rs index 6e1ee5667..b35e0bde4 100644 --- a/type-c-service/tests/unconstrained.rs +++ b/tcpm-service/tests/unconstrained.rs @@ -12,12 +12,12 @@ use power_policy_interface::{ capability::PowerCapability, service::{UnconstrainedState, event::Event as PowerPolicyEvent}, }; -use type_c_interface::{ +use tcpm_interface::{ control::pd::{PdSinkInfo, PortStatus, SinkContract}, port::event::{PortEvent, PortStatusEventBitfield}, }; -use type_c_interface_test_mocks::controller::{FnCall as ControllerFnCall, pd::FnCall as PdFnCall}; -use type_c_service::controller::{ +use tcpm_interface_test_mocks::controller::{FnCall as ControllerFnCall, pd::FnCall as PdFnCall}; +use tcpm_service::controller::{ config::{Config as PortConfig, UnconstrainedSink}, event::Event, };