rotctl: add autopark functionality

Since gpredict doesn't have a park button or anything, this will just
automatically park the antenna when the gpredict rotator controller
disconnects. This may or may not actually be a good idea. We will see.
This commit is contained in:
torque 2024-07-18 19:42:47 -07:00
parent 0ccc65fd10
commit 6bd401d9c8
Signed by: torque
SSH Key Fingerprint: SHA256:nCrXefBNo6EbjNSQhv0nXmEg/VuNq3sMF5b8zETw3Tk
2 changed files with 7 additions and 0 deletions

View File

@ -92,6 +92,7 @@ pub fn validate(self: Config, err_writer: anytype) !void {
rotctl: RotControlConfig = .{
.listen_address = "127.0.0.1",
.listen_port = 4533,
.autopark = true,
},
labjack: LabjackConfig = .{
.device = .autodetect,
@ -151,6 +152,7 @@ pub const MinMax = struct {
const RotControlConfig = struct {
listen_address: []const u8,
listen_port: u16,
autopark: bool,
};
const LabjackConfig = struct {

View File

@ -60,6 +60,11 @@ pub fn run(allocator: std.mem.Allocator) !void {
std.mem.trim(u8, fbs.getWritten(), &std.ascii.whitespace),
) catch break;
}
// loop ended due to client disconnect
if (interface.running and config.rotctl.autopark) {
interface.rotator.startPark();
}
}
}