#[cfg(not(feature = "std"))]
use alloc::{string::String, vec::Vec};
use crate::enums::{DoorStatus, LiftCarDirection};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum LandingCallCommand {
Direction(LiftCarDirection),
Destination(u8),
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct BACnetLandingCallStatus {
pub floor_number: u8,
pub command: LandingCallCommand,
pub floor_text: Option<String>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct LandingDoor {
pub floor_number: u8,
pub door_status: DoorStatus,
}
#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)]
pub struct BACnetLandingDoorStatus {
pub landing_doors: Vec<LandingDoor>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AssignedLandingCall {
pub floor_number: u8,
pub direction: LiftCarDirection,
}
#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)]
pub struct BACnetAssignedLandingCalls {
pub landing_calls: Vec<AssignedLandingCall>,
}
#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)]
pub struct BACnetLiftCarCallList {
pub floor_numbers: Vec<u8>,
}