41 Serial.println(user_command);
57 Serial.println(F(
"incorrect option"));
66 Serial.println(F(
"Main Menu"));
67 Serial.println(F(
"1-Settings"));
68 Serial.println(F(
"2-Analyze"));
69 Serial.println(F(
"3-Test Clock"));
70 Serial.println(F(
"4-Calibrate ADC"));
72 Serial.print(F(
"Enter a command: "));
77 Serial.println(F(
"Enter the Start frequency (KHz)"));
79 Serial.println(
start, 4);
81 Serial.println(F(
"Enter the Stop frequency (KHz)"));
83 Serial.println(
stop, 4);
85 Serial.println(F(
"Enter Step size (kHz)"));
87 Serial.println(
step, 4);
103 Serial.println(F(
"Sweeping..."));
105 Serial.println(F(
" --------------------------------0 dBV-|"));
106 Serial.println(F(
" V"));
147 Serial.print(F(
" "));
149 Serial.print(F(
" "));
152 Serial.print(F(
"KHz"));
157 Serial.print(F(
" "));
159 Serial.print(F(
" "));
161 Serial.print(F(
"KHz"));
163 else if (adc_voltage > .1)
166 Serial.print(F(
" "));
168 Serial.print(F(
" "));
170 Serial.print(F(
"KHz"));
173 Serial.print(F(
" "));
179 Serial.print(F(
"Step: "));
180 Serial.println(
step, 4);
200 Serial.print(F(
"#"));
214 Serial.print(F(
"Enter the desired clock freq (KHz)"));
218 Serial.println(freq, 4);
222 if (clock_code == -1)
224 Serial.println(
"No Sloution");
248 Serial.print(
"Voltage: ");
249 Serial.println(adc_voltage, 4);
265 Serial.println(F(
"Calibration Restored"));
270 Serial.println(F(
"Calibration not found"));
288 Serial.println(F(
"Short the inputs to ground calibrate the offset."));
289 Serial.println(F(
"or apply a voltage for the lower point in two point calibration"));
290 Serial.print(F(
"Enter the measured input voltage:"));
292 Serial.println(zero_voltage, 6);
307 Serial.println(F(
"Apply ~2.49V to +IN"));
308 Serial.println(F(
"Enter the measured input voltage:"));
320 Serial.print(F(
"ADC offset : "));
322 Serial.print(F(
" ADC lsb : "));
324 Serial.println(F(
"nV (32-bits)"));
336 Serial.println(F(
"Calibration Stored to EEPROM"));
#define LTC6904_CLK_ON_CLK_INV_ON
Clock on, inverted clock on.
LTC6904: 1kHz to 68MHz Serial Port Programmable Oscillator.
uint8_t eeprom_read_int16(uint8_t i2c_address, int16_t *read_data, uint16_t address)
Read the two byte integer data from the EEPROM starting at address.
LTC2484: 24-Bit Delta Sigma ADC with Easy Drive Input Current Cancellation.
unsigned char user_command
static uint8_t adc_command
#define EEPROM_I2C_ADDRESS
#define LTC2484_AUTO_CALIBRATION
static uint8_t calibrate_voltage()
Calibrate ADC given two known inputs.
static void store_calibration()
Store measured calibration parameters to nonvolatile EEPROM on demo board.
Header File for Linduino Libraries and Demo Code.
uint16_t LTC6904_frequency_to_code(float frequency, uint8_t clk)
Calculates the code necessary to create the clock frequency.
uint8_t eeprom_read_float(uint8_t i2c_address, float *read_data, uint16_t address)
Read the four byte float data from the EEPROM starting at address.
uint8_t eeprom_write_int32(uint8_t i2c_address, int32_t write_data, uint16_t address)
Write the 4 byte long data to the EEPROM starting at address.
static void display_graph(float data)
union LT_union_int32_4bytes data
static void display_menu()
static float LTC2484_lsb
Ideal LSB size, 5V/(2^29) for a 5V reference.
float LTC2484_code_to_voltage(int32_t adc_code, float LTC2484_lsb, int32_t LTC2484_offset_code)
Calculates the LTC2484 input bipolar voltage.
LTC24XX General Library: Functions and defines for all SINC4 Delta Sigma ADCs.
const uint16_t MISO_TIMEOUT
The MISO timeout (ms)
static int8_t restore_calibration()
Read stored calibration parameters from nonvolatile EEPROM on demo board.
void LTC2484_cal_voltage(int32_t zero_code, int32_t fs_code, float zero_voltage, float fs_voltage, float *LTC2484_lsb, int32_t *LTC2484_offset_code)
Calibrate the lsb.
uint8_t eeprom_write_float(uint8_t i2c_address, float write_data, uint16_t address)
Write the 4 byte float data to the EEPROM starting at address.
uint8_t eeprom_write_int16(uint8_t i2c_address, int16_t write_data, uint16_t address)
Write the 2 byte integer data to the EEPROM starting at address.
void LTC2484_read(uint8_t cs, uint8_t adc_command, int32_t *adc_code)
Read LTC2484 result, program configuration for next conversion.
void quikeval_SPI_init(void)
Configure the SPI port for 4Mhz SCK.
#define EEPROM_CAL_STATUS_ADDRESS
#define LTC2484_EXTERNAL_INPUT
LT_SPI: Routines to communicate with ATmega328P's hardware SPI port.
#define LTC6904_ADDRESS
ADR 0.
uint8_t LTC6904_write(uint8_t address, uint16_t code)
Writes 2 bytes.
LT_I2C: Routines to communicate with ATmega328P's hardware I2C port.
int8_t LTC2484_EOC_timeout(uint8_t cs, uint16_t miso_timeout)
Checks for EOC with a specified timeout.
void quikeval_SPI_connect()
Connect SPI pins to QuikEval connector through the Linduino MUX. This will disconnect I2C...
uint8_t eeprom_read_int32(uint8_t i2c_address, int32_t *read_data, uint16_t address)
Read the four byte long data from the EEPROM starting at address.
#define LTC2484_CS
define the SPI CS pin
#define LTC2484_REJECTION_60HZ
void quikeval_I2C_init(void)
Initializes Linduino I2C port.
static int32_t LTC2484_offset_code
Ideal offset.
void quikeval_I2C_connect(void)
Switch MUX to connect I2C pins to QuikEval connector.