Providing a GUI-independent dev process helps to make the project reproducible later on other platforms as well using the specified tools.
The following is needed:
It would be nice to have an interface for abstracting away the interaction for ADCs.
At the minimal the following interface functionalities would be need to be implemented:
Setting up the ADC,
reading from the ADC,
issuing commands to the ADC.
Additionally it would be nice to have optionally:
Power management of ADC (including shutting it down).