* 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
* Add struct definition for functionGenControl channel data
* Add member variables for channel data to functionGenControl, deprecate old variables
* fix a typo
* Transition to new functionGenControl cahnnel data variables. Remove old ones.
* refactor genericUsbDriver::setFunctionGen to use the new ChannelData struct.
* functionGenControl: free(NULL) is safe
* Eliminate duplication of functionGenControl::waveformName_CH* fuctions by putting common things into a private template function
* get rid of comments added during refactor
* Move function gen channel data to use std::vector. algorithmify some code on genericUsbDriver::setFunctionGen
* various formatting changes, remove irrelevant comments
* functionGenControl::waveformName: always use utf8 and 16 byte buffers. Remove template
* fix typo introduced by last-second indentation change
* genericUsbDrive::setFunctionGen: shrink samples to fit
* functionGenControl::waveformName: clean up file path manipulation, clean up formatting
* change the two channel objects to an array of two elements. Add common implementations for all methods of functionGenControl. Fix a massive bug introduced earlier in the refactor. Formatting.