Commit Graph

10 Commits

Author SHA1 Message Date
eb7ad4ef9e main: hook up calibration stubs
I guess I will be finishing this later.
2024-07-15 17:55:31 -07:00
2194dd4a8c config: make it possible not to leak
Using the GPA is a bit annoying sometimes. The other option would be to
just use page allocator to allocate the config and bypass the GPA.
2024-07-15 17:55:31 -07:00
de76cce706 controller: make controller info printout more useful
This has a lot more relevant information now. Anyway, this has been
tested on real hardware, and it appears to work pretty well. I am
considering changing the control loop so that it isn't always
operating on stale feedback (two LabJack calls per loop when actively
controlling pointing). Also the calibration routines need to be
implemented.
2024-07-15 17:55:31 -07:00
ccb507d4d9 cli: provide more useful help text 2024-07-10 12:39:18 -07:00
dbb076f69b Config: perform basic validation
This just makes sure the parking posture is within the valid range of
motion of the rotator.
2024-07-07 15:38:26 -07:00
8fb6032a04 main: add very basic command line interface
There are three commands: one to write the default config, one to write
the embedded udev rules file, and one to actually run the program.

I might reformat the help text at some point. It's not very nice as-is.
2024-07-07 15:37:53 -07:00
c8511d8c92 build: embed udev rules in the binary
It is nice if the program can emit its own udev file.
2024-07-07 15:34:03 -07:00
c8bec6a7c5 start writing control and config functionality
In theory, this will poll the feedback lines, but in practice, it
probably crashes or catches on fire or something.
2024-07-03 16:06:49 -07:00
7275d1c30e prototype labjack API wrapper
The Labjack API provided by ljacklm is, quite frankly, dog doodoo. I
say this as disrespectfully as possible. A lot of the API calls take
specific (implictly sized) arrays that must be 0-filled just so the
API can loop over them and fill them with a different number.
Everything parameter is either long or a float (and I think the use of
long is a carryover from the insane Win32 ABI where long is a 32 bit
integer rather than 64 bit, which it is on most Posix platforms). The
functions have a tendency to do 15 different things in a single call,
and most of the function parameters are out parameters or even better,
inout parameters. Some functions take arrays where other ones require
the user to manually bitpack an integer.

I've got the source for it right here and could rewrite it, but I don't
hate myself enough to do that. The API surface I need is minimal, so
I've just wrapped the parts I will be using. Ideally I will not need
to touch this again, but it does still need to be tested with actual
hardware, so we're not out of the woods yet.
2024-06-29 17:44:52 -07:00
eace0bf8db init
the readme is a ramble and there's no functionality (yet). couldn't ask
for a better start.
2024-06-28 22:05:14 -07:00