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§
Implementations§
Trait Implementations§
Source§impl Clone for PowerSignalState
impl Clone for PowerSignalState
Source§fn clone(&self) -> PowerSignalState
fn clone(&self) -> PowerSignalState
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PowerSignalState
impl Debug for PowerSignalState
Source§impl Default for PowerSignalState
impl Default for PowerSignalState
Source§impl<'de> Deserialize<'de> for PowerSignalState
impl<'de> Deserialize<'de> for PowerSignalState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl MessageType for PowerSignalState
impl MessageType for PowerSignalState
Source§const MESSAGE_META: MessageMeta
const MESSAGE_META: MessageMeta
Source§impl PartialEq for PowerSignalState
impl PartialEq for PowerSignalState
Source§impl Serialize for PowerSignalState
impl Serialize for PowerSignalState
impl Copy for PowerSignalState
impl Eq for PowerSignalState
impl StructuralPartialEq for PowerSignalState
Auto Trait Implementations§
impl Freeze for PowerSignalState
impl RefUnwindSafe for PowerSignalState
impl Send for PowerSignalState
impl Sync for PowerSignalState
impl Unpin for PowerSignalState
impl UnwindSafe for PowerSignalState
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)