rsiot/components/cmp_plc/plc/library/drives/select_mode/
q.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
5pub struct Q {
6 pub mode: QMode,
8
9 pub hmi_status: QHmiStatus,
11}
12
13#[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, Serialize)]
15pub struct QHmiStatus {
16 pub mode: QMode,
18 pub hmi_permission: QHmiPermission,
20}
21
22#[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, Serialize)]
24pub struct QHmiPermission {
25 pub mode_auto: bool,
27 pub mode_man: bool,
29 pub mode_local: bool,
31 pub mode_oos: bool,
33}
34
35#[derive(Clone, Copy, Debug, Default, PartialEq, Deserialize, Serialize)]
37pub enum QMode {
38 #[default]
40 Auto,
41
42 Local,
44
45 Manual,
47
48 Oos,
50}