81 spi_write((uint8_t)((data >> 10) & 0xFF));
92 dac_voltage = (((float) dac_code / 262143.0) * (max_output - min_output)) + min_output;
101 float_code = 262143.0 * (dac_voltage - min_output) / (max_output - min_output);
102 float_code = (float_code > (floor(float_code) + 0.5)) ? ceil(float_code) : floor(float_code);
103 if (float_code < 0.0) float_code = 0.0;
104 if (float_code > 262143.0) float_code = 262143.0;
105 dac_code = (uint32_t) (float_code);
#define output_high(pin)
Set "pin" high.
void LTC2758_write(uint8_t cs, uint8_t dac_command, uint8_t dac_address, uint32_t data)
Transmits 32 bit input stream: 4-bit command + 4-bit don't-care + 18-bit data + 6 don't care...
Header File for Linduino Libraries and Demo Code.
void spi_write(int8_t data)
Write a data byte using the SPI hardware.
float LTC2758_code_to_voltage(uint32_t dac_code, float min_output, float max_output)
Calculate the LTC2758 DAC output voltage given the DAC code and and the minimum / maximum outputs for...
union LT_union_int32_4bytes data
#define output_low(pin)
Set "pin" low.
LT_SPI: Routines to communicate with ATmega328P's hardware SPI port.
LT_I2C: Routines to communicate with ATmega328P's hardware I2C port.
uint32_t LTC2758_voltage_to_code(float dac_voltage, float min_output, float max_output)
Calculate a LTC2758 DAC code given the desired output voltage and the minimum / maximum outputs for a...