init
the readme is a ramble and there's no functionality (yet). couldn't ask for a better start.
This commit is contained in:
336
src/ljacklm.zig
Normal file
336
src/ljacklm.zig
Normal file
@@ -0,0 +1,336 @@
|
||||
pub extern fn EAnalogIn(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
channel: c_long,
|
||||
gain: c_long,
|
||||
overVoltage: *c_long,
|
||||
voltage: *f32,
|
||||
) c_long;
|
||||
|
||||
pub extern fn EAnalogOut(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
analogOut0: f32,
|
||||
analogOut1: f32,
|
||||
) c_long;
|
||||
|
||||
pub extern fn ECount(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
resetCounter: c_long,
|
||||
count: *f64,
|
||||
ms: *f64,
|
||||
) c_long;
|
||||
|
||||
pub extern fn EDigitalIn(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
channel: c_long,
|
||||
readD: c_long,
|
||||
state: [*c]c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn EDigitalOut(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
channel: c_long,
|
||||
writeD: c_long,
|
||||
state: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn AsynchConfig(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
timeoutMult: c_long,
|
||||
configA: c_long,
|
||||
configB: c_long,
|
||||
configTE: c_long,
|
||||
fullA: c_long,
|
||||
fullB: c_long,
|
||||
fullC: c_long,
|
||||
halfA: c_long,
|
||||
halfB: c_long,
|
||||
halfC: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn Asynch(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
portB: c_long,
|
||||
enableTE: c_long,
|
||||
enableTO: c_long,
|
||||
enableDel: c_long,
|
||||
baudrate: c_long,
|
||||
numWrite: c_long,
|
||||
numRead: c_long,
|
||||
data: [*c]c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn AISample(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
stateIO: [*c]c_long,
|
||||
updateIO: c_long,
|
||||
ledOn: c_long,
|
||||
numChannels: c_long,
|
||||
channels: [*c]c_long,
|
||||
gains: [*c]c_long,
|
||||
disableCal: c_long,
|
||||
overVoltage: [*c]c_long,
|
||||
voltages: [*c]f32,
|
||||
) c_long;
|
||||
|
||||
pub extern fn AIBurst(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
stateIOin: c_long,
|
||||
updateIO: c_long,
|
||||
ledOn: c_long,
|
||||
numChannels: c_long,
|
||||
channels: [*c]c_long,
|
||||
gains: [*c]c_long,
|
||||
scanRate: [*c]f32,
|
||||
disableCal: c_long,
|
||||
triggerIO: c_long,
|
||||
triggerState: c_long,
|
||||
numScans: c_long,
|
||||
timeout: c_long,
|
||||
voltages: [*c][4]f32,
|
||||
stateIOout: [*c]c_long,
|
||||
overVoltage: [*c]c_long,
|
||||
transferMode: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn AIStreamStart(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
stateIOin: c_long,
|
||||
updateIO: c_long,
|
||||
ledOn: c_long,
|
||||
numChannels: c_long,
|
||||
channels: [*c]c_long,
|
||||
gains: [*c]c_long,
|
||||
scanRate: [*c]f32,
|
||||
disableCal: c_long,
|
||||
reserved1: c_long,
|
||||
readCount: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn AIStreamRead(
|
||||
localID: c_long,
|
||||
numScans: c_long,
|
||||
timeout: c_long,
|
||||
voltages: [*c][4]f32,
|
||||
stateIOout: [*c]c_long,
|
||||
reserved: [*c]c_long,
|
||||
ljScanBacklog: [*c]c_long,
|
||||
overVoltage: [*c]c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn AIStreamClear(
|
||||
localID: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn AOUpdate(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
trisD: c_long,
|
||||
trisIO: c_long,
|
||||
stateD: [*c]c_long,
|
||||
stateIO: [*c]c_long,
|
||||
updateDigital: c_long,
|
||||
resetCounter: c_long,
|
||||
count: [*c]c_ulong,
|
||||
analogOut0: f32,
|
||||
analogOut1: f32,
|
||||
) c_long;
|
||||
|
||||
pub extern fn BitsToVolts(
|
||||
chnum: c_long,
|
||||
chgain: c_long,
|
||||
bits: c_long,
|
||||
volts: [*c]f32,
|
||||
) c_long;
|
||||
|
||||
pub extern fn VoltsToBits(
|
||||
chnum: c_long,
|
||||
chgain: c_long,
|
||||
volts: f32,
|
||||
bits: [*c]c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn Counter(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
stateD: [*c]c_long,
|
||||
stateIO: [*c]c_long,
|
||||
resetCounter: c_long,
|
||||
enableSTB: c_long,
|
||||
count: [*c]c_ulong,
|
||||
) c_long;
|
||||
|
||||
pub extern fn DigitalIO(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
trisD: [*c]c_long,
|
||||
trisIO: c_long,
|
||||
stateD: [*c]c_long,
|
||||
stateIO: [*c]c_long,
|
||||
updateDigital: c_long,
|
||||
outputD: [*c]c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn GetDriverVersion() f32;
|
||||
|
||||
pub extern fn GetErrorString(
|
||||
errorcode: c_long,
|
||||
errorString: *[50]u8,
|
||||
) void;
|
||||
|
||||
pub extern fn GetFirmwareVersion(idnum: *c_long) f32;
|
||||
|
||||
pub extern fn ListAll(
|
||||
productIDList: *[127]c_long,
|
||||
serialnumList: *[127]c_long,
|
||||
localIDList: *[127]c_long,
|
||||
powerList: *[127]c_long,
|
||||
calMatrix: *[127][20]c_long,
|
||||
numberFound: *c_long,
|
||||
fcddMaxSize: *c_long,
|
||||
hvcMaxSize: *c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn LocalID(
|
||||
idnum: *c_long,
|
||||
localID: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn PulseOut(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
lowFirst: c_long,
|
||||
bitSelect: c_long,
|
||||
numPulses: c_long,
|
||||
timeB1: c_long,
|
||||
timeC1: c_long,
|
||||
timeB2: c_long,
|
||||
timeC2: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn PulseOutStart(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
lowFirst: c_long,
|
||||
bitSelect: c_long,
|
||||
numPulses: c_long,
|
||||
timeB1: c_long,
|
||||
timeC1: c_long,
|
||||
timeB2: c_long,
|
||||
timeC2: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn PulseOutFinish(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
timeoutMS: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn PulseOutCalc(
|
||||
frequency: [*c]f32,
|
||||
timeB: [*c]c_long,
|
||||
timeC: [*c]c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn ReEnum(
|
||||
idnum: *c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn Reset(
|
||||
idnum: *c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn ResetLJ(
|
||||
idnum: *c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn SHT1X(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
softComm: c_long,
|
||||
mode: c_long,
|
||||
statusReg: c_long,
|
||||
tempC: [*c]f32,
|
||||
tempF: [*c]f32,
|
||||
rh: [*c]f32,
|
||||
) c_long;
|
||||
|
||||
pub extern fn SHTComm(
|
||||
idnum: *c_long,
|
||||
softComm: c_long,
|
||||
waitMeas: c_long,
|
||||
serialReset: c_long,
|
||||
dataRate: c_long,
|
||||
numWrite: c_long,
|
||||
numRead: c_long,
|
||||
datatx: [*c]u8,
|
||||
datarx: [*c]u8,
|
||||
) c_long;
|
||||
|
||||
pub extern fn SHTCRC(
|
||||
statusReg: c_long,
|
||||
numWrite: c_long,
|
||||
numRead: c_long,
|
||||
datatx: [*c]u8,
|
||||
datarx: [*c]u8,
|
||||
) c_long;
|
||||
|
||||
pub extern fn Synch(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
mode: c_long,
|
||||
msDelay: c_long,
|
||||
husDelay: c_long,
|
||||
controlCS: c_long,
|
||||
csLine: c_long,
|
||||
csState: c_long,
|
||||
configD: c_long,
|
||||
numWriteRead: c_long,
|
||||
data: [*c]c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn Watchdog(
|
||||
idnum: *c_long,
|
||||
demo: c_long,
|
||||
active: c_long,
|
||||
timeout: c_long,
|
||||
reset: c_long,
|
||||
activeD0: c_long,
|
||||
activeD1: c_long,
|
||||
activeD8: c_long,
|
||||
stateD0: c_long,
|
||||
stateD1: c_long,
|
||||
stateD8: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn ReadMem(
|
||||
idnum: *c_long,
|
||||
address: c_long,
|
||||
data3: [*c]c_long,
|
||||
data2: [*c]c_long,
|
||||
data1: [*c]c_long,
|
||||
data0: [*c]c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn WriteMem(
|
||||
idnum: *c_long,
|
||||
unlocked: c_long,
|
||||
address: c_long,
|
||||
data3: c_long,
|
||||
data2: c_long,
|
||||
data1: c_long,
|
||||
data0: c_long,
|
||||
) c_long;
|
||||
|
||||
pub extern fn CloseLabJack(
|
||||
localID: c_long,
|
||||
) c_long;
|
8
src/main.zig
Normal file
8
src/main.zig
Normal file
@@ -0,0 +1,8 @@
|
||||
const std = @import("std");
|
||||
|
||||
const ljack = @import("./ljacklm.zig");
|
||||
|
||||
pub fn main() !void {
|
||||
const ver = ljack.GetDriverVersion();
|
||||
std.debug.print("Driver version: {d}\n", .{ver});
|
||||
}
|
Reference in New Issue
Block a user