pub struct EcuInstance(/* private fields */);
Expand description
The EcuInstance
represents one ECU in a System
Implementations§
Source§impl EcuInstance
impl EcuInstance
Sourcepub fn create_can_communication_controller(
&self,
name: &str,
) -> Result<CanCommunicationController, AutosarAbstractionError>
pub fn create_can_communication_controller( &self, name: &str, ) -> Result<CanCommunicationController, AutosarAbstractionError>
Create a CAN-COMMUNICATION-CONTROLLER for this ECU-INSTANCE
The ECU must have one controller per bus it communicates on. For example, if it communicates on two CAN buses, then two CAN-COMMUNICATION-CONTROLLERs are needed.
§Example
let ecu_instance = system.create_ecu_instance("ecu_name", &package)?;
let can_controller = ecu_instance.create_can_communication_controller("CanCtrl")?;
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the ECU-INSTANCE
Sourcepub fn create_ethernet_communication_controller(
&self,
name: &str,
mac_address: Option<String>,
) -> Result<EthernetCommunicationController, AutosarAbstractionError>
pub fn create_ethernet_communication_controller( &self, name: &str, mac_address: Option<String>, ) -> Result<EthernetCommunicationController, AutosarAbstractionError>
Create an ETHERNET-COMMUNICATION-CONTROLLER for this ECU-INSTANCE
The ECU must have one controller per bus it communicates on. For example, if it communicates on two CAN buses, then two CAN-COMMUNICATION-CONTROLLERs are needed.
§Example
let ecu_instance = system.create_ecu_instance("ecu_name", &package)?;
let ethernet_controller = ecu_instance
.create_ethernet_communication_controller("EthCtrl", Some("ab:cd:ef:01:02:03".to_string()))?;
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the ECU-INSTANCE
Sourcepub fn create_flexray_communication_controller(
&self,
name: &str,
) -> Result<FlexrayCommunicationController, AutosarAbstractionError>
pub fn create_flexray_communication_controller( &self, name: &str, ) -> Result<FlexrayCommunicationController, AutosarAbstractionError>
Create a FLEXRAY-COMMUNICATION-CONTROLLER for this ECU-INSTANCE
The ECU must have one controller per bus it communicates on. For example, if it communicates on two CAN buses, then two CAN-COMMUNICATION-CONTROLLERs are needed.
§Example
let ecu_instance = system.create_ecu_instance("ecu_name", &package)?;
let flexray_controller = ecu_instance
.create_flexray_communication_controller("FlexrayCtrl")?;
§Errors
AutosarAbstractionError::ModelError
An error occurred in the Autosar model while trying to create the ECU-INSTANCE
Sourcepub fn communication_controllers(
&self,
) -> impl Iterator<Item = CommunicationController> + Send + 'static
pub fn communication_controllers( &self, ) -> impl Iterator<Item = CommunicationController> + Send + 'static
return an interator over all communication controllers in this EcuInstance
§Example
let ecu_instance = system.create_ecu_instance("ecu_name", &package)?;
ecu_instance.create_flexray_communication_controller("FlexrayCtrl")?;
ecu_instance.create_can_communication_controller("CanCtrl")?;
for ctrl in ecu_instance.communication_controllers() {
// ...
}
Trait Implementations§
Source§impl AbstractionElement for EcuInstance
impl AbstractionElement for EcuInstance
Source§impl Clone for EcuInstance
impl Clone for EcuInstance
Source§fn clone(&self) -> EcuInstance
fn clone(&self) -> EcuInstance
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for EcuInstance
impl Debug for EcuInstance
Source§impl From<EcuInstance> for Element
impl From<EcuInstance> for Element
Source§fn from(val: EcuInstance) -> Self
fn from(val: EcuInstance) -> Self
Source§impl Hash for EcuInstance
impl Hash for EcuInstance
Source§impl PartialEq for EcuInstance
impl PartialEq for EcuInstance
Source§impl TryFrom<Element> for EcuInstance
impl TryFrom<Element> for EcuInstance
impl Eq for EcuInstance
impl StructuralPartialEq for EcuInstance
Auto Trait Implementations§
impl Freeze for EcuInstance
impl !RefUnwindSafe for EcuInstance
impl Send for EcuInstance
impl Sync for EcuInstance
impl Unpin for EcuInstance
impl !UnwindSafe for EcuInstance
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.