template<typename Transport, size_t num_devices>
class daisy::MAX11300Driver< Transport, num_devices >
Device Driver for the MAX11300 20 port ADC/DAC/GPIO device.
- Author
- sam.braam
- Date
- Oct. 2021
This is a highly opinionated driver implementation for the MAX11300 DAC/ADC/GPIO device.
This implemetation has been designed for use in the context of Eurorack modular systems. There are a number of features the MAX11300 offers which are not exposed, as well as a number of configuration decisions that were made in order to simplify usage and improve ergonomics, even at the cost of flexibility.
|
| MAX11300Driver () |
|
| ~MAX11300Driver () |
|
MAX11300Types::Result | Init (Config config, MAX11300Types::DmaBuffer *dma_buffer) |
|
MAX11300Types::Result | ConfigurePinAsDigitalRead (size_t device_index, MAX11300Types::Pin pin, float threshold_voltage) |
|
MAX11300Types::Result | ConfigurePinAsDigitalWrite (size_t device_index, MAX11300Types::Pin pin, float output_voltage) |
|
MAX11300Types::Result | ConfigurePinAsAnalogRead (size_t device_index, MAX11300Types::Pin pin, MAX11300Types::AdcVoltageRange range) |
|
MAX11300Types::Result | ConfigurePinAsAnalogWrite (size_t device_index, MAX11300Types::Pin pin, MAX11300Types::DacVoltageRange range) |
|
MAX11300Types::Result | DisablePin (size_t device_index, Pin pin) |
|
uint16_t | ReadAnalogPinRaw (size_t device_index, MAX11300Types::Pin pin) const |
|
float | ReadAnalogPinVolts (size_t device_index, MAX11300Types::Pin pin) const |
|
void | WriteAnalogPinRaw (size_t device_index, MAX11300Types::Pin pin, uint16_t raw_value) |
|
void | WriteAnalogPinVolts (size_t device_index, MAX11300Types::Pin pin, float voltage) |
|
bool | ReadDigitalPin (size_t device_index, MAX11300Types::Pin pin) const |
|
void | WriteDigitalPin (size_t device_index, MAX11300Types::Pin pin, bool value) |
|
MAX11300Types::Result | Start (MAX11300Types::UpdateCompleteCallbackFunctionPtr complete_callback=nullptr, void *complete_callback_context=nullptr) |
|
void | Stop () |
|