const std = @import("std"); const Config = @import("./Config.zig"); const lj = @import("./labjack.zig"); const RotCtl = @import("./RotCtl.zig"); const log = std.log.scoped(.main); pub fn main() !u8 { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; defer _ = gpa.deinit(); const allocator = gpa.allocator(); blk: { const conf_file = std.fs.cwd().openFile("yaes.json", .{}) catch { log.warn("Could not load config file yaes.json. Using default config.", .{}); Config.loadDefault(allocator); break :blk; }; defer conf_file.close(); Config.load(allocator, conf_file.reader()) catch { log.err("Could not parse config file yaes.json. Good luck figuring out why.", .{}); return 1; }; } defer Config.destroy(allocator); const ver = lj.getDriverVersion(); std.debug.print("Driver version: {d}\n", .{ver}); RotCtl.run(allocator) catch |err| { log.err("rotator controller ceased unexpectedly! {s}", .{@errorName(err)}); return 1; }; return 0; }