torque be819363b9
deps.labjack: fiddle with Windows support a little
I will probably spend more time on this than I plan to, though I am not
really writing this to run on Windows. At this point, Windows
compilation works but when the driver attempts to read the HID
descriptor, the response is only 45 bytes instead of the expected 75
(which is what it gets when run on Linux). I was under the impression
that this response was just raw data from the device itself, but it's
clearly handled differently on the different platforms, so I think it
will be somewhat interesting to dig into what is different between the
two and why. It's possible I may actually learn something along the
way, unfortunately.
2024-07-03 16:06:49 -07:00
2024-06-29 17:44:52 -07:00
2024-06-28 22:05:14 -07:00
2024-06-28 22:05:14 -07:00
2024-06-28 22:05:14 -07:00

Yaesu Rotator Driver Shim

The Yaesu G-5500DC rotator is a nice piece of hardware, but it has an analog (0-5 V) control interface and requires a separate GS-232B box for computer serial control (which will run you a nice $600 for a new unit). Someone used to sell an adapter board for the Labjack U12 (which basically consists of a DIN-8 jack, a darlington transistor array, and a few resistors + LEDs), which provides precise computer control of the G-5500DC at a much lower cost.

However, the Labjack U12 is just basic 12-bit data acquisition device that is not specifically made for controlling a rotator, so common satellite tracking software (e.g. hamlib) does not support it as a Yaesu rotator interface.

Fortunately, labjack provides an open-source libusb-based driver for the Labjack U12, which makes it eminently possible to expose this hardware stack as controllable through the hamlib protocol (or, more precisely, a simulacrum thereof).

Implementation

I mostly just want this to run on Linux, as a static executable. The zig build system is good.

Dependencies are fully vendored.

Status

Build with zig 0.13.

It builds for Linux and macOS. It does not currently build for Windows due to ljacklm having a dependency on pthreads (specifically, it uses mutexes).

Description
No description provided
Readme 1 MiB
Languages
Zig 100%