2024-06-28 21:24:46 -07:00
|
|
|
const std = @import("std");
|
|
|
|
|
|
|
|
const ljack = @import("./ljacklm.zig");
|
|
|
|
|
|
|
|
pub fn main() !void {
|
2024-06-29 17:44:52 -07:00
|
|
|
const ver = ljack.getDriverVersion();
|
2024-06-28 21:24:46 -07:00
|
|
|
std.debug.print("Driver version: {d}\n", .{ver});
|
2024-06-29 17:44:52 -07:00
|
|
|
|
|
|
|
const device = ljack.Labjack.autodetect();
|
|
|
|
|
|
|
|
const in = try device.analogReadOne(.{ .channel = .diff_01, .gain = 2 });
|
|
|
|
std.debug.print("Read voltage: {d}. Overvolt: {}\n", .{ in.voltage, in.over_voltage });
|
|
|
|
try device.digitalWriteOne(.{ .channel = .{ .io = 0 }, .level = true });
|
|
|
|
|
|
|
|
const sample = try device.readAnalogWriteDigital(
|
|
|
|
2,
|
|
|
|
.{ .{ .channel = .diff_01, .gain = 2 }, .{ .channel = .diff_23, .gain = 2 } },
|
|
|
|
.{false} ** 4,
|
|
|
|
true,
|
|
|
|
);
|
|
|
|
|
|
|
|
for (sample, 0..) |input, idx| {
|
|
|
|
std.debug.print(" channel {d}: {d} V\n", .{ idx, input.voltage });
|
|
|
|
}
|
2024-06-28 21:24:46 -07:00
|
|
|
}
|