Andrew,
Rabbit hole indeed!
It appears your 4499 device uses the pseudodiff analog input termination, which I had assumed we would never need so I didn't include any code to handle it. As you suspected, adding the necessary code is pretty easy, but now I am running into a deeper issue: how to define the analog input delay time.
Right now, labscript sends a digital trigger to the DAQs to signal acquisitions to start. This is done basically at the beginning of a buffered shot and the DAQ will sample the entire run. At the end of the run, the data is cut up as needed then saved. Delays between when the analog samples are triggered and when data starts actually being recorded lead to incorrect slicing of the end data. Your rather unique device uses a special delta-ADC that apparently suffers from very long filter delays that will desync the AIs from the start trigger. How it defines this delay is completely different than any other DAQ labscript currently supports, so I'm trying to work out a reasonable way to accommodate it without a bunch of other changes. The rub is that the delay is defined in terms of clock cycles, not absolute time, so if you change the AI sample rate, the delay change will scale accordingly. Your device does support functionality to automatically remove this delay, but using it would require pretty specific customization to the blacs acquisition worker to use it and it is specific to the 449x series of devices.
Anyway, I'm pushing enough changes to my PR such that you should be able to at least get running, but the sampling delays are NOT fixed. Could I enlist your help in testing things (since I don't actually have one of these myself)? Basically I just need you to set up a labscript shot where you T the triggering signal into an Analog Input and try to measure it. Given how labscript operates, that first trigger is actually before the shot has generally started, so you will probably need to connect some other device to the same clockline, tell it to do things, and try to measure when those triggers occur. If that doesn't make any sense, I can elaborate further.