Hi Jakob,
It's nice to hear you are interested in trying out the labscript suite!
I apologise for the state of our labscript documentation (we're working on better documentation but this doesn't help you right now!). Probably the best idea is for me to get you started with a rough example, and then you can post any follow up questions you have here. I would also encourage you to look at
example.py as the Python object hierarchy has change a little since the documentation was last updated.
I've created a rough implementation for your device, and attached it to this message and it should be placed in the labscript_devices folder. It's heavily commented, and should hopefully explain everything. It was based on an amalgamation of the PulseBlaster and PineBlaster code in
labscript_devices. It was a little complex due to the need to unwrap the internal pseudoclock representation (which labscript produces) into something for a device that does not support looping instructions, and also because I expect you would want to assign some outputs to clock other devices, and other outputs as direct DigitalOuts (which adds additional complexity due to the way labscript is structured). That said, it's wasn't impossible to do (and only slightly more complex than a PulseBlaster). The code is not tested, but should get you on the right track. Mainly you just need to add in a conversion to an appropriate data storage format in
generate_code(), and save them in the HDF5 device group, and then write the BLACS classes to read these and program the device. The BLACS documentation should be more up to date, but I'd also encourage you to look over the PulseBlaster and PineBlaster code too.
Please let us know if anything doesn't make sense, we're happy to help out! If you do get the device working, feel free to make a pull-request to our project so it can be used by other people :)
Cheers,
Phil