use super::bindings::*;
#[repr(i32)]
#[derive(Debug)]
pub enum EnumFilter {
All = enumfilterAll,
EExplorer = enumfilterEExplorer,
Discovery = enumfilterDiscovery,
Discovery2 = enumfilterDiscovery2,
DDiscovery = enumfilterDDiscovery,
}
#[derive(Debug)]
#[non_exhaustive]
pub enum DeviceType {
ElectronicsExplorer,
AnalogDiscovery,
AnalogDiscovery2,
DigitalDiscovery,
AnalogDiscoveryPro,
Unknown,
}
impl Into<DeviceType> for std::os::raw::c_int {
fn into(self) -> DeviceType {
use DeviceType::*;
match self {
devidEExplorer => ElectronicsExplorer,
devidDiscovery => AnalogDiscovery,
devidDiscovery2 => AnalogDiscovery2,
devidDDiscovery => DigitalDiscovery,
devidADP3X50 => AnalogDiscoveryPro,
_ => Unknown,
}
}
}
#[repr(i32)]
#[derive(Debug)]
pub enum DeviceId {
EExplorer = devidEExplorer,
Discovery = devidDiscovery,
Discovery2 = devidDiscovery2,
DDiscovery = devidDDiscovery,
ADP3X50 = devidADP3X50,
}
#[repr(i32)]
#[derive(Debug)]
pub enum DeviceVersion {
EExplorerCOrDiscoveryB = devverEExplorerC,
EExplorerE = devverEExplorerE,
EExplorerF = devverEExplorerF,
DiscoveryA = devverDiscoveryA,
DiscoveryC = devverDiscoveryC,
}
#[repr(u8)]
#[derive(Debug)]
pub enum TriggerSource {
None = trigsrcNone,
PC = trigsrcPC,
DetectorAnalogIn = trigsrcDetectorAnalogIn,
DetectorDigitalIn = trigsrcDetectorDigitalIn,
AnalogIn = trigsrcAnalogIn,
DigitalIn = trigsrcDigitalIn,
DigitalOut = trigsrcDigitalOut,
AnalogOut1 = trigsrcAnalogOut1,
AnalogOut2 = trigsrcAnalogOut2,
AnalogOut3 = trigsrcAnalogOut3,
AnalogOut4 = trigsrcAnalogOut4,
External1 = trigsrcExternal1,
External2 = trigsrcExternal2,
External3 = trigsrcExternal3,
External4 = trigsrcExternal4,
High = trigsrcHigh,
Low = trigsrcLow,
}
#[repr(u8)]
#[derive(Debug)]
pub enum InstrumentState {
StateReady = DwfStateReady,
StateConfig = DwfStateConfig,
StatePrefill = DwfStatePrefill,
StateArmed = DwfStateArmed,
StateWait = DwfStateWait,
StateTriggeredOrRunning = DwfStateTriggered,
StateDone = DwfStateDone,
}
#[repr(i32)]
#[derive(Debug)]
pub enum AcquisitionMode {
Single = acqmodeSingle,
ScanShift = acqmodeScanShift,
ScanScreen = acqmodeScanScreen,
Record = acqmodeRecord,
Overs = acqmodeOvers,
Single1 = acqmodeSingle1,
}
#[repr(i32)]
#[derive(Debug)]
pub enum AcquisitionFilter {
Decimate = filterDecimate,
Average = filterAverage,
MinMax = filterMinMax,
}
#[repr(i32)]
#[derive(Debug)]
pub enum TriggerType {
Edge = trigtypeEdge,
Pulse = trigtypePulse,
Transition = trigtypeTransition,
Window = trigtypeWindow,
}
#[repr(i32)]
#[derive(Debug)]
pub enum TriggerSlope {
Rise = DwfTriggerSlopeRise,
Fall = DwfTriggerSlopeFall,
Either = DwfTriggerSlopeEither,
}
#[repr(i32)]
#[derive(Debug)]
pub enum TriggerLength {
Less = triglenLess,
Timeout = triglenTimeout,
More = triglenMore,
}
#[repr(i32)]
#[derive(Debug)]
pub enum ErrorCode {
NoErc = dwfercNoErc,
UnknownError = dwfercUnknownError,
ApiLockTimeout = dwfercApiLockTimeout,
AlreadyOpened = dwfercAlreadyOpened,
NotSupported = dwfercNotSupported,
InvalidParameter0 = dwfercInvalidParameter0,
InvalidParameter1 = dwfercInvalidParameter1,
InvalidParameter2 = dwfercInvalidParameter2,
InvalidParameter3 = dwfercInvalidParameter3,
InvalidParameter4 = dwfercInvalidParameter4,
}
#[repr(u8)]
#[derive(Debug)]
pub enum GeneratorFunction {
Dc = funcDC,
Sine = funcSine,
Square = funcSquare,
Triangle = funcTriangle,
RampUp = funcRampUp,
RampDown = funcRampDown,
Noise = funcNoise,
Pulse = funcPulse,
Trapezium = funcTrapezium,
SinePower = funcSinePower,
Custom = funcCustom,
Play = funcPlay,
}
#[repr(u8)]
#[derive(Debug)]
pub enum AnalogIoChannelType {
Enable = analogioEnable,
Voltage = analogioVoltage,
Current = analogioCurrent,
Power = analogioPower,
Temperature = analogioTemperature,
Dmm = analogioDmm,
Range = analogioRange,
Measure = analogioMeasure,
Time = analogioTime,
Frequency = analogioFrequency,
}
#[repr(i32)]
#[derive(Debug)]
pub enum AnalogOutNode {
Carrier = AnalogOutNodeCarrier,
FM = AnalogOutNodeFM,
AM = AnalogOutNodeAM,
}
#[repr(i32)]
#[derive(Debug)]
pub enum AnalogOutMode {
Voltage = DwfAnalogOutModeVoltage,
Current = DwfAnalogOutModeCurrent,
}
#[repr(i32)]
#[derive(Debug)]
pub enum AnalogOutIdle {
Disable = DwfAnalogOutIdleDisable,
Offset = DwfAnalogOutIdleOffset,
Initial = DwfAnalogOutIdleInitial,
}
#[repr(i32)]
#[derive(Debug)]
pub enum DigitalInClockSource {
Internal = DwfDigitalInClockSourceInternal,
External = DwfDigitalInClockSourceExternal,
External2 = DwfDigitalInClockSourceExternal2,
}
#[repr(i32)]
#[derive(Debug)]
pub enum DigitalInSampleMode {
Simple = DwfDigitalInSampleModeSimple,
Noise = DwfDigitalInSampleModeNoise,
}
#[repr(i32)]
#[derive(Debug)]
pub enum DigitalOutOutput {
PushPull = DwfDigitalOutOutputPushPull,
OpenDrain = DwfDigitalOutOutputOpenDrain,
OpenSource = DwfDigitalOutOutputOpenSource,
ThreeState = DwfDigitalOutOutputThreeState,
}
#[repr(i32)]
#[derive(Debug)]
pub enum DigitalOutType {
Pulse = DwfDigitalOutTypePulse,
Custom = DwfDigitalOutTypeCustom,
Random = DwfDigitalOutTypeRandom,
ROM = DwfDigitalOutTypeROM,
State = DwfDigitalOutTypeState,
Play = DwfDigitalOutTypePlay,
}
#[repr(i32)]
#[derive(Debug)]
pub enum DigitalOutIdle {
Init = DwfDigitalOutIdleInit,
Low = DwfDigitalOutIdleLow,
High = DwfDigitalOutIdleHigh,
Zet = DwfDigitalOutIdleZet,
}
#[repr(i32)]
#[derive(Debug)]
pub enum AnalogImpedance {
Impedance = DwfAnalogImpedanceImpedance,
ImpedancePhase = DwfAnalogImpedanceImpedancePhase,
Resistance = DwfAnalogImpedanceResistance,
Reactance = DwfAnalogImpedanceReactance,
Admittance = DwfAnalogImpedanceAdmittance,
AdmittancePhase = DwfAnalogImpedanceAdmittancePhase,
Conductance = DwfAnalogImpedanceConductance,
Susceptance = DwfAnalogImpedanceSusceptance,
SeriesCapactance = DwfAnalogImpedanceSeriesCapactance,
ParallelCapacitance = DwfAnalogImpedanceParallelCapacitance,
SeriesInductance = DwfAnalogImpedanceSeriesInductance,
ParallelInductance = DwfAnalogImpedanceParallelInductance,
Dissipation = DwfAnalogImpedanceDissipation,
Quality = DwfAnalogImpedanceQuality,
}
#[repr(i32)]
#[derive(Debug)]
pub enum Param {
UsbPower = DwfParamUsbPower,
LedBrightness = DwfParamLedBrightness,
OnClose = DwfParamOnClose,
AudioOut = DwfParamAudioOut,
UsbLimit = DwfParamUsbLimit,
AnalogOut = DwfParamAnalogOut,
Frequency = DwfParamFrequency,
}