1use crate::{map_jump_table, V5_DeviceT};
4
5#[repr(C)]
6#[derive(Default, Copy, Clone, Eq, PartialEq, Debug)]
7pub struct V5_DevicePneumaticCtrl {
8 pub flags: u16,
9 pub m1_pwm: u8,
10 pub m2_pwm: u8,
11 pub m3_pwm: u8,
12 pub m4_pwm: u8,
13 pub m1_time: u8,
14 pub m2_time: u8,
15 pub m3_time: u8,
16 pub m4_time: u8,
17 pub comp_pwm: u8,
18}
19
20map_jump_table! {
21 0xc28 => pub fn vexDevicePneumaticActuationStatusGet(device: V5_DeviceT, ac1: *mut u16, ac2: *mut u16, ac3: *mut u16, ac4: *mut u16) -> u32,
22 0xc08 => pub fn vexDevicePneumaticCompressorSet(device: V5_DeviceT, bState: bool),
23 0xc10 => pub fn vexDevicePneumaticCtrlSet(device: V5_DeviceT, pCtrl: *mut V5_DevicePneumaticCtrl),
24 0xc20 => pub fn vexDevicePneumaticCylinderPwmSet(device: V5_DeviceT, id: u32, bState: bool, pwm: u8),
25 0xc0c => pub fn vexDevicePneumaticCylinderSet(device: V5_DeviceT, id: u32, bState: bool),
26 0xc1c => pub fn vexDevicePneumaticPwmGet(device: V5_DeviceT) -> u32,
27 0xc18 => pub fn vexDevicePneumaticPwmSet(device: V5_DeviceT, pwm: u8),
28 0xc14 => pub fn vexDevicePneumaticStatusGet(device: V5_DeviceT) -> u32,
29}