* move ChannelID to outside of functionGenControl
* move ChannelData out of functionGenControl
* make the genericUsbDriver fGenPtrs into an array
* Make genericUsbDriver store pointers to ChannelData instead of to functionGenControl
* split genericUsbDriver::setFunctionGen into two parts. Stop reassigning the fGen pointers
* Big functionGenControl refactor
- Create functionGen namespace
- Rename functionGenControl to DualChannelController
- Create a SingleChannelController class that holds all the
functionality of a single channel (i.e. almost all of it).
This class acts as a Qt wrapper over the actual data, it
gives it the ability to emit and recieve signals while
keeping the actual data copiable.
- Add an alias functionGenControl = DualChannelController
* use an enum instead of int to identify function generator channels
* Use local 8 bit encoding instead of utf8 for file paths
* use static_cast instead of function-style casts
* remove length member from channelData struct. use reference captures on some lambdas