pub struct SafetyDomain {Show 16 fields
pub safety_state: Option<SafetyState>,
pub is_safe: Option<bool>,
pub e_stop: Option<EStopInfo>,
pub protective_stop_active: Option<bool>,
pub protective_stop_reason: Option<String>,
pub zones: Option<Vec<SafetyZone>>,
pub current_zone_ids: Option<Vec<String>>,
pub proximity: Option<ProximityInfo>,
pub violations: Option<Vec<SafetyViolation>>,
pub violation_count: Option<u32>,
pub collaborative_operation: Option<CollaborativeOperation>,
pub speed_limit_mps: Option<f64>,
pub speed_limit_reason: Option<String>,
pub safety_system_ok: Option<bool>,
pub safety_plc_status: Option<String>,
pub last_safety_check: Option<DateTime<Utc>>,
}Expand description
Safety domain containing safety state and violation information.
Fields§
§safety_state: Option<SafetyState>Current safety state
is_safe: Option<bool>Whether robot is safe to operate
e_stop: Option<EStopInfo>E-stop information
protective_stop_active: Option<bool>Whether protective stop is active
protective_stop_reason: Option<String>Protective stop reason
zones: Option<Vec<SafetyZone>>Active safety zones
current_zone_ids: Option<Vec<String>>Current zone IDs the robot is in
proximity: Option<ProximityInfo>Proximity monitoring
violations: Option<Vec<SafetyViolation>>Active safety violations
violation_count: Option<u32>Violation count
collaborative_operation: Option<CollaborativeOperation>Collaborative operation settings
speed_limit_mps: Option<f64>Current speed limit (m/s)
speed_limit_reason: Option<String>Reason for speed limit
safety_system_ok: Option<bool>Safety system operational
safety_plc_status: Option<String>Safety PLC status
last_safety_check: Option<DateTime<Utc>>Time since last safety check
Implementations§
Source§impl SafetyDomain
impl SafetyDomain
Sourcepub fn new(state: SafetyState) -> Self
pub fn new(state: SafetyState) -> Self
Create with safety state.
Sourcepub fn with_violation(self, violation: SafetyViolation) -> Self
pub fn with_violation(self, violation: SafetyViolation) -> Self
Builder to add violation.
Sourcepub fn with_proximity(self, proximity: ProximityInfo) -> Self
pub fn with_proximity(self, proximity: ProximityInfo) -> Self
Builder to add proximity info.
Sourcepub fn with_speed_limit(self, limit_mps: f64, reason: impl Into<String>) -> Self
pub fn with_speed_limit(self, limit_mps: f64, reason: impl Into<String>) -> Self
Builder to add speed limit.
Sourcepub fn with_collaborative(self, collab: CollaborativeOperation) -> Self
pub fn with_collaborative(self, collab: CollaborativeOperation) -> Self
Builder to add collaborative operation.
Trait Implementations§
Source§impl Clone for SafetyDomain
impl Clone for SafetyDomain
Source§fn clone(&self) -> SafetyDomain
fn clone(&self) -> SafetyDomain
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SafetyDomain
impl Debug for SafetyDomain
Source§impl Default for SafetyDomain
impl Default for SafetyDomain
Source§fn default() -> SafetyDomain
fn default() -> SafetyDomain
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for SafetyDomain
impl<'de> Deserialize<'de> for SafetyDomain
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for SafetyDomain
impl Serialize for SafetyDomain
Auto Trait Implementations§
impl Freeze for SafetyDomain
impl RefUnwindSafe for SafetyDomain
impl Send for SafetyDomain
impl Sync for SafetyDomain
impl Unpin for SafetyDomain
impl UnwindSafe for SafetyDomain
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