| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

Functions | Variables
DC1337A.ino File Reference
Analog-to-Digital Converters (ADC) » LTC2309: 8-channel, 12-Bit SAR ADC with I2C interface

Linear Technology DC1337A Demonstration Board. More...

## Detailed Description

Linear Technology DC1337A Demonstration Board.

LTC2309: 8-Channel, 12-Bit SAR ADC with I2C Interface.

Linear Technology DC1444A Demonstration Board. LTC2301: 1-Channel, 12-Bit ADCs with I2C Compatible Interface

    NOTES
      Setup:
       Set the terminal baud rate to 115200 and select the newline terminator. Equipment
       required is a voltage source (preferably low-noise) and a precision voltmeter. No
       external power supply is required. Ensure all jumpers on the demo board are
       installed in their default positions from the factory. Refer to Demo Manual
       DC1337A.

      How to test Single-Ended mode:
       Bipolar Mode:
        The voltage source should be connected to one of the inputs CH0,...CH7. Ensure the input is
        within its specified absolute input voltage range. (It is easiest
        to tie the voltage source negative terminal to COM.) Ensure the voltage
        source is set within the range of 0V to +4.096V.
        (Swapping input voltages results in a reversed polarity reading.)

       Unipolar Mode:
        The voltage source should be connected to one of the inputs CH0,...CH7. Ensure the input is
        within its specified absolute input voltage range. (It is easiest
        to tie the voltage source negative terminal to COM.) Ensure the voltage
        source is set within the range of 0V to +4.096V.

      How to test Differential Mode:
       Bipolar Mode:
         The voltage source should be connected between paired channels. Ensure both
         inputs are within their specified absolute input voltage range. (It is easiest
         to tie the voltage source negative terminal to COM or GND.) Ensure the voltage
         source is set within the range of 0 to +4.096V (differential voltage range).
         (Swapping input voltages results in a reversed polarity reading.)

       Unipolar Mode:
         The voltage source should be connected between paired channels. (It is easiest
         to tie the voltage source negative terminal to COM or GND.) Ensure both inputs
         are within their specified absolute input voltage range.  (It is easiest to tie
         the voltage source negative terminal to COM or GND.) Ensure the voltage source
         is set within the range of 0 to +4.096V (differential voltage range).

    USER INPUT DATA FORMAT:
     decimal : 1024
     hex     : 0x400
     octal   : 02000  (leading 0 "zero")
     binary  : B10000000000
     float   : 1024.0

http://www.linear.com/product/LTC2309 http://www.linear.com/product/LTC2301

http://www.linear.com/product/LTC2309#demoboards http://www.linear.com/product/LTC2301#demoboards

Copyright 2018(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
- The use of this software may or may not infringe the patent rights of one or more patent holders. This license does not release you from the requirement that you obtain separate licenses from these patent holders to use this software.
- Use of the software either in source or binary form, must be run on or directly connected to an Analog Devices Inc. component.

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file DC1337A.ino.

Go to the source code of this file.

## Functions
static void | print_title ()
| Prints the title block when the program first starts. More...
static void | print_prompt ()
| Prints main menu. More...
static uint8_t | print_user_command_differential ()
| Display selected differential channels. More...
static uint8_t | print_user_command_single_ended ()
| Display selected differential channels. More...
static void | print_channel_selection (uint8_t menu)
| Display selected differential channels. More...
static int8_t | menu_1_read_input ()
| Read channels. More...
static void | menu_3_select_uni_bipolar ()
| Sets LTC2309 to Bipolar or Unipolar. More...
static void | menu_2_select_single_ended_differential ()
| Sets LTC2309 to Single-Ended or Differential. More...
static int8_t | menu_4_sleep ()
static void | menu_5_set_address ()
static void | setup ()
| Initialize Linduino. More...
static void | loop ()
| Repeats Linduino loop. More...
static void | menu_4_set_address ()
| Set the I2C 7 bit address. More...
static int8_t | menu_5_sleep ()
| Sets LTC2309 Sleep Mode. More...

## Variables
static uint8_t | uni_bipolar = LTC2309_UNIPOLAR_MODE
| LTC2309 Unipolar or Bipolar mode selection. More...
static uint8_t | single_ended_differential = LTC2309_SINGLE_ENDED_MODE
| LTC2309 Unipolar or Bipolar mode selection. More...
static uint8_t | i2c_address = LTC2309_I2C_ADDRESS
| I2C address in 7 bit format for part. More...
static uint8_t | LTC2309_bits = 12
| Resolution (12 bits) More...
static float | LTC2309_vref = 4.096
const uint8_t | BUILD_COMMAND_SINGLE_ENDED [8]
| Builds the command for single-ended mode. More...
const uint8_t | BUILD_COMMAND_DIFF [8]
| Build the command for differential mode. More...

## Function Documentation

## ◆ loop()

static void loop | ( | void |  | ) |
| static

Repeats Linduino loop.

Definition at line 151 of file DC1337A.ino.

## ◆ menu_1_read_input()

static int8_t menu_1_read_input | ( |  | ) |
| static

Read channels.

Returns
  1 if successful, 0 if not

Definition at line 193 of file DC1337A.ino.

## ◆ menu_2_select_single_ended_differential()

static void menu_2_select_single_ended_differential | ( |  | ) |
| static

Sets LTC2309 to Single-Ended or Differential.

Definition at line 294 of file DC1337A.ino.

## ◆ menu_3_select_uni_bipolar()

static void menu_3_select_uni_bipolar | ( |  | ) |
| static

Sets LTC2309 to Bipolar or Unipolar.

Definition at line 325 of file DC1337A.ino.

## ◆ menu_4_set_address()

static void menu_4_set_address | ( |  | ) |
| static

Set the I2C 7 bit address.

Definition at line 356 of file DC1337A.ino.

## ◆ menu_4_sleep()

static int8_t menu_4_sleep | ( |  | ) |
| static

## ◆ menu_5_set_address()

static void menu_5_set_address | ( |  | ) |
| static

## ◆ menu_5_sleep()

static int8_t menu_5_sleep | ( |  | ) |
| static

Sets LTC2309 Sleep Mode.

Returns
  1 if successful, 0 if not

Definition at line 369 of file DC1337A.ino.

## ◆ print_channel_selection()

static void print_channel_selection | ( | uint8_t | menu | ) |
| static

Display selected differential channels.

Displaying single-ended channels is straightforward; not so with differential because the inputs can take either polarity.

Definition at line 477 of file DC1337A.ino.

## ◆ print_prompt()

static void print_prompt | ( |  | ) |
| static

Prints main menu.

Definition at line 406 of file DC1337A.ino.

## ◆ print_title()

static void print_title | ( | void |  | ) |
| static

Prints the title block when the program first starts.

Definition at line 391 of file DC1337A.ino.

## ◆ print_user_command_differential()

static uint8_t print_user_command_differential | ( |  | ) |
| static

Display selected differential channels.

Displaying single-ended channels is straightforward; not so with differential because the inputs can take either polarity.

Definition at line 419 of file DC1337A.ino.

## ◆ print_user_command_single_ended()

static uint8_t print_user_command_single_ended | ( |  | ) |
| static

Display selected differential channels.

Displaying single-ended channels is straightforward; not so with differential because the inputs can take either polarity.

Definition at line 511 of file DC1337A.ino.

## ◆ setup()

static void setup | ( | void |  | ) |
| static

Initialize Linduino.

Definition at line 141 of file DC1337A.ino.

## Variable Documentation

## ◆ BUILD_COMMAND_DIFF

const uint8_t BUILD_COMMAND_DIFF[8]

Initial value:
= {LTC2309_P0_N1, LTC2309_P2_N3, LTC2309_P4_N5, LTC2309_P6_N7,
LTC2309_P1_N0, LTC2309_P3_N2, LTC2309_P5_N4, LTC2309_P7_N6
}
LTC2309_P6_N7
#define LTC2309_P6_N7
Definition: LTC2309.h:145
LTC2309_P4_N5
#define LTC2309_P4_N5
Definition: LTC2309.h:142
LTC2309_P0_N1
#define LTC2309_P0_N1
Definition: LTC2309.h:136
LTC2309_P3_N2
#define LTC2309_P3_N2
Definition: LTC2309.h:140
LTC2309_P2_N3
#define LTC2309_P2_N3
Definition: LTC2309.h:139
LTC2309_P5_N4
#define LTC2309_P5_N4
Definition: LTC2309.h:143
LTC2309_P7_N6
#define LTC2309_P7_N6
Definition: LTC2309.h:146
LTC2309_P1_N0
#define LTC2309_P1_N0
Definition: LTC2309.h:137

Build the command for differential mode.

Definition at line 136 of file DC1337A.ino.

## ◆ BUILD_COMMAND_SINGLE_ENDED

const uint8_t BUILD_COMMAND_SINGLE_ENDED[8]

Initial value:
= {LTC2309_CH0, LTC2309_CH1, LTC2309_CH2, LTC2309_CH3,
LTC2309_CH4, LTC2309_CH5, LTC2309_CH6, LTC2309_CH7
}
LTC2309_CH4
#define LTC2309_CH4
Definition: LTC2309.h:127
LTC2309_CH1
#define LTC2309_CH1
Definition: LTC2309.h:124
LTC2309_CH6
#define LTC2309_CH6
Definition: LTC2309.h:129
LTC2309_CH2
#define LTC2309_CH2
Definition: LTC2309.h:125
LTC2309_CH0
#define LTC2309_CH0
Definition: LTC2309.h:123
LTC2309_CH3
#define LTC2309_CH3
Definition: LTC2309.h:126
LTC2309_CH7
#define LTC2309_CH7
Definition: LTC2309.h:130
LTC2309_CH5
#define LTC2309_CH5
Definition: LTC2309.h:128

Builds the command for single-ended mode.

Definition at line 132 of file DC1337A.ino.

## ◆ i2c_address

uint8_t i2c_address = LTC2309_I2C_ADDRESS
| static

I2C address in 7 bit format for part.

Definition at line 126 of file DC1337A.ino.

## ◆ LTC2309_bits

uint8_t LTC2309_bits = 12
| static

Resolution (12 bits)

Definition at line 127 of file DC1337A.ino.

## ◆ LTC2309_vref

float LTC2309_vref = 4.096
| static

Definition at line 128 of file DC1337A.ino.

## ◆ single_ended_differential

uint8_t single_ended_differential = LTC2309_SINGLE_ENDED_MODE
| static

LTC2309 Unipolar or Bipolar mode selection.

Definition at line 125 of file DC1337A.ino.

## ◆ uni_bipolar

uint8_t uni_bipolar = LTC2309_UNIPOLAR_MODE
| static

LTC2309 Unipolar or Bipolar mode selection.

Definition at line 124 of file DC1337A.ino.