PowerSignalState

Enum PowerSignalState 

Source
pub enum PowerSignalState {
    On {
        quickstart: bool,
        cabin_id: PowerSignalCabin,
    },
    Off {
        cabin_id: PowerSignalCabin,
    },
}
Expand description

This message will replace and extend the old message MAINSWITCH (integer). We want to extend the information content as follows. Firstly, for each switch-on/switch-off message there is information on where the status has just been changed. For example, central on-board computers that are technically included in an IBIS terminal can also switch on and off correctly. The values ACab and BCab indicate whether one of the two driver’s cabs has been activated in the respective vehicle. With the NoCab status, the modules in the attached wagons also receive the information that a driver’s cab has now been activated in the train set. The other change is a Boolean parameter in the switch-on message. This can be used to transmit the ‘Quickstart’ command (value = true). As a result, modules should skip the boot process and run directly in steady operation. One of the advantages of this is that you don’t have to wait for long start procedures when debugging the module and it also ensures that the module is directly available in the active driver’s cab if the ‘Place vehicle’ start option ‘Ready to drive’ is selected. Previously, you had to cheat a little here.

The included information about the driver’s cab means that this message is also sent directly to all modules (and the driver’s own vehicle) via broadcast. The possibility of modules knowing in future which driver’s cab they belong to means that they can react appropriately. The message is also NOT transmitted via the coupling and must be generated independently by each vehicle for its modules. Here, the default status is switched off for all objects, too.

Variants§

§

On

Fields

§quickstart: bool
§

Off

Fields

Implementations§

Source§

impl PowerSignalState

Source

pub fn is_on(&self) -> bool

Source

pub fn is_off(&self) -> bool

Trait Implementations§

Source§

impl Clone for PowerSignalState

Source§

fn clone(&self) -> PowerSignalState

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PowerSignalState

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PowerSignalState

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for PowerSignalState

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl MessageType for PowerSignalState

Source§

const MESSAGE_META: MessageMeta

The metadata for the message type.
Source§

impl PartialEq for PowerSignalState

Source§

fn eq(&self, other: &PowerSignalState) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for PowerSignalState

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for PowerSignalState

Source§

impl Eq for PowerSignalState

Source§

impl StructuralPartialEq for PowerSignalState

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,