use crate::util::si::QLength;
use vexide_devices::smart::PortError;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Orientation {
Left,
Right,
CW,
CCW,
}
#[derive(Copy, Clone)]
pub enum TrackingWheelOrientation {
Vertical(QLength),
Horizontal(QLength),
}
#[macro_export]
macro_rules! shared_motor {
($($motor:expr), + $(,)?) => {{
const N: usize = <[()]>::len(&[$(shared_motor!(@replace $motor)),*]);
let motors: [Motor; N] = [$($motor),+];
Rc::new(RefCell::new(motors))
}};
(@replace $_:expr) => (());
}
pub type GroupErrors = Vec<PortError>;