129 Serial.begin(115200);
142 uint8_t acknowledge = 0;
145 if (Serial.available())
148 Serial.println(user_command);
149 switch (user_command)
158 Serial.println(
"Incorrect Option");
162 Serial.println(F(
"***** SPI ERROR ******"));
163 Serial.print(F(
"\n*************************\n"));
180 Serial.print(F(
"Received Code: 0x"));
181 Serial.println(adc_code, HEX);
183 channel = adc_code >> 30;
184 channel = channel & 1;
185 Serial.print(F(
"CH"));
186 Serial.print(channel);
187 Serial.print(F(
": "));
188 Serial.print(adc_voltage, 4);
189 Serial.print(F(
"V\n"));
194 Serial.print(F(
"Received Code: 0x"));
195 Serial.println(adc_code, HEX);
197 channel = adc_code >> 30;
198 channel = channel & 1;
199 Serial.print(F(
"CH"));
200 Serial.print(channel);
201 Serial.print(F(
": "));
202 Serial.print(adc_voltage, 4);
203 Serial.print(F(
"V\n"));
210 Serial.print(F(
"Enter REF+ : "));
213 Serial.println(F(
" V"));
214 Serial.print(F(
"Enter REF- : "));
217 Serial.println(F(
" V"));
225 Serial.print(F(
"\n*****************************************************************\n"));
226 Serial.print(F(
"* DC746A Demonstration Program *\n"));
227 Serial.print(F(
"* *\n"));
228 Serial.print(F(
"* This program demonstrates how to send data and receive data *\n"));
229 Serial.print(F(
"* from the 24-bit ADC. *\n"));
230 Serial.print(F(
"* *\n"));
231 Serial.print(F(
"* Set the baud rate to 115200 and select the newline terminator.*\n"));
232 Serial.print(F(
"* *\n"));
233 Serial.print(F(
"*****************************************************************\n"));
239 Serial.print(F(
"\nReference voltage: "));
241 Serial.println(F(
"V"));
242 Serial.print(F(
"Input Voltage Range: "));
246 Serial.println(F(
" V"));
247 Serial.println(F(
"Please Verify!"));
249 Serial.print(F(
"\n1-Read Both Channels\n"));
250 Serial.print(F(
"2-Change Reference Voltage\n"));
252 Serial.print(F(
"Enter a command:"));
unsigned char user_command
float LTC2412_code_to_voltage(int32_t adc_code, float LTC2412_lsb, int32_t LTC2412_offset_code)
Calculates the LTC2412 input voltage.
Header File for Linduino Libraries and Demo Code.
const uint16_t MISO_TIMEOUT
The MISO timeout (ms)
static uint8_t channel
LTC2305 Channel selection.
int8_t LTC2412_EOC_timeout(uint8_t cs, uint16_t miso_timeout)
Checks for EOC with a specified timeout.
static float LTC2412_lsb
Ideal LSB voltage for a perfect part.
static void print_title()
Prints the title block when program first starts.
#define LTC2412_CS
Define the SPI CS pin.
void LTC2412_read(uint8_t cs, uint32_t *adc_code)
Reads the LTC2412 result.
void quikeval_SPI_init(void)
Configure the SPI port for 4Mhz SCK.
int8_t discover_demo_board(char *demo_name)
Read the ID string from the EEPROM and determine if the correct board is connected.
LT_SPI: Routines to communicate with ATmega328P's hardware SPI port.
LTC2412: 2-Channel Differential Input 24-Bit No Latency Delta Sigma ADC LTC2413: 24-Bit No Latency De...
static float reference_voltage
static void setup()
Initialize Linduino.
LT_I2C: Routines to communicate with ATmega328P's hardware I2C port.
char demo_name[]
Demo Board Name stored in QuikEval EEPROM.
void quikeval_SPI_connect()
Connect SPI pins to QuikEval connector through the Linduino MUX. This will disconnect I2C...
static void menu_2_change_ref_voltage()
static void print_prompt()
Prints main menu.
static uint8_t demo_board_connected
Set to 1 if the board is connected.
void quikeval_I2C_init(void)
Initializes Linduino I2C port.
static void loop()
Repeats Linduino loop.
static int8_t menu_1_read_single_ended()
Repeats Linduino loop.
static int32_t LTC2412_offset_code
Ideal offset for a perfect part.