use crate::{bindings, error::PROSErr, port::SmartPort};
pub fn get_voltage(port: SmartPort, reversed: bool) -> Result<i32, PROSErr> {
let code = unsafe {
bindings::motor_get_voltage(port as i8 * if reversed { -1 } else { 1 })
};
if let Err(err) = PROSErr::parse(code) {
return Err(err);
}
Ok(code)
}
pub fn move_i8(port: SmartPort, reversed: bool, val: i8) -> Result<(), PROSErr> {
PROSErr::parse(unsafe {
bindings::motor_move(port as i8 * if reversed { -1 } else { 1 }, val as i32)
})
}
pub fn move_voltage(port: SmartPort, reversed: bool, val: i8) -> Result<(), PROSErr> {
PROSErr::parse(unsafe {
bindings::motor_move_voltage(port as i8 * if reversed { -1 } else { 1 }, val as i32)
})
}