pub struct ObjectFlags<const N: usize> { /* private fields */ }Expand description
Stores an event flag for each sub object in an object
PDO transmission can be triggered by events, but PDOs are runtime configurable. An application needs to be able to signal that an object has changed, and if that object is mapped to a TPDO, that PDO should be scheduled for transmission.
In order to achieve this in a synchronized way without long critical sections, each object
holds two sets of flags, and they are swapped atomically using a global ObjectFlagSync shared by
all ObjectFlags instances.
Implementations§
Source§impl<const N: usize> ObjectFlags<N>
impl<const N: usize> ObjectFlags<N>
Sourcepub const fn new(sync: &'static ObjectFlagSync) -> Self
pub const fn new(sync: &'static ObjectFlagSync) -> Self
Create a new ObjectFlags
Trait Implementations§
Source§impl<const N: usize> ObjectFlagAccess for ObjectFlags<N>
impl<const N: usize> ObjectFlagAccess for ObjectFlags<N>
Auto Trait Implementations§
impl<const N: usize> !Freeze for ObjectFlags<N>
impl<const N: usize> !RefUnwindSafe for ObjectFlags<N>
impl<const N: usize> Send for ObjectFlags<N>
impl<const N: usize> Sync for ObjectFlags<N>
impl<const N: usize> Unpin for ObjectFlags<N>
impl<const N: usize> !UnwindSafe for ObjectFlags<N>
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
Mutably borrows from an owned value. Read more