70 int8_t
LTC2664_write(uint8_t cs, uint8_t dac_command, uint8_t dac_address, uint16_t dac_code)
73 static uint8_t last_data_array[4];
74 uint8_t data_array[4], rx_array[4];
80 data_array[2] = dac_command | dac_address;
81 data_array[1] = data.
LT_byte[1];
82 data_array[0] = data.
LT_byte[0];
93 if ((rx_array[2] == last_data_array[2]) && (rx_array[1] == last_data_array[1]) && (rx_array[0] == last_data_array[0]))
102 last_data_array[0] = data_array[0];
103 last_data_array[1] = data_array[1];
104 last_data_array[2] = data_array[2];
115 float_code = 65535.0 * (dac_voltage - min_output) / (max_output - min_output);
116 float_code = (float_code > (floor(float_code) + 0.5)) ? ceil(float_code) : floor(float_code);
117 if (float_code < 0.0) float_code = 0.0;
118 if (float_code > 65535.0) float_code = 65535.0;
119 dac_code = (uint16_t) (float_code);
128 dac_voltage = (((float) dac_code / 65535.0) * (max_output - min_output)) + min_output;
129 return (dac_voltage);
Header File for Linduino Libraries and Demo Code.
int8_t LTC2664_write(uint8_t cs, uint8_t dac_command, uint8_t dac_address, uint16_t dac_code)
Write the 16-bit dac_code to the LTC2664.
LTC2664: 4-Channel SPI 16-/12-Bit +/-10V Vout SoftSpan DACs with 10ppm/C Max Reference.
union LT_union_int32_4bytes data
int16_t LT_int16
16-bit signed integer to be converted to two bytes
float LTC2664_code_to_voltage(uint16_t dac_code, float min_output, float max_output)
Calculate the LTC2664 DAC output voltage given the DAC code, offset, and LSB.
uint16_t LTC2664_voltage_to_code(float dac_voltage, float min_output, float max_output)
Calculate a LTC2664 DAC code given the desired output voltage and DAC address (0-3) ...
LT_SPI: Routines to communicate with ATmega328P's hardware SPI port.
This union splits one int16_t (16-bit signed integer) or uint16_t (16-bit unsigned integer) into two ...
void spi_transfer_block(uint8_t cs_pin, uint8_t *tx, uint8_t *rx, uint8_t length)
Reads and sends a byte array.
uint8_t LT_byte[2]
2 bytes (unsigned 8-bit integers) to be converted to a 16-bit signed or unsigned integer ...