use crate::{bindings, error::{PROSErr, PROSResult}, port::SmartPort};
pub fn get_voltage(port: SmartPort, reversed: bool) -> Result<i32, PROSErr> {
unsafe {
bindings::motor_get_voltage(port as i8 * if reversed { -1 } else { 1 })
}.check()
}
pub fn move_i8(port: SmartPort, reversed: bool, val: i8) -> Result<(), PROSErr> {
unsafe {
bindings::motor_move(port as i8 * if reversed { -1 } else { 1 }, val as i32)
}.check().map(|_| ())
}
pub fn move_voltage(port: SmartPort, reversed: bool, val: i32) -> Result<(), PROSErr> {
unsafe {
bindings::motor_move_voltage(port as i8 * if reversed { -1 } else { 1 }, val)
}.check().map(|_| ())
}