68 uint8_t
reg_read_list[10] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
82 uint8_t data_LSBs, data_MSBs;
83 uint16_t data_ten_bit;
87 data_ten_bit = ((uint16_t)data_MSBs<<2) | ((uint16_t)data_LSBs>>6);
93 Serial.print(F(
"ADC Current Sense Voltage(mA): "));
97 Serial.print(F(
"ADIN Voltage(V): "));
101 Serial.print(F(
"ADIN2 Voltage(V or K): "));
107 Serial.println(*register_data, 4);
122 uint8_t register_data;
125 bit_mask = 0x01 << bit_number;
127 register_data = register_data | bit_mask;
135 uint8_t register_data;
138 bit_mask = 0x01 << bit_number;
140 register_data = register_data & (~bit_mask);
150 *register_data = (*register_data >> bit_number) & 0x1;
171 Serial.print(
"Register 0x");
177 Serial.println(data, HEX);
181 Serial.println(
"No Acknowledge");
205 count = Serial.readBytes(anykey, 1);
212 boolean valid_register(uint8_t user_register, uint8_t register_array[], uint8_t array_length)
215 for (i=0; i<array_length; i++)
217 if (register_array[i] == user_register)
#define LTM_9100_SENSE_mV_PER_TICK
int8_t i2c_read_byte_data(uint8_t address, uint8_t command, uint8_t *value)
Read a byte of data at register specified by "command", store in "value".
int8_t LTM9100_bit_clear(uint8_t i2c_address, uint8_t register_address, uint8_t bit_number)
Clears any bit inside the LTM9100 using the standard I2C repeated start format.
Header File for Linduino Libraries and Demo Code.
#define LTM_9100_ADIN_V_PER_TICK
int8_t LTM9100_bit_set(uint8_t i2c_address, uint8_t register_address, uint8_t bit_number)
Sets any bit inside the LTM9100 using the standard I2C repeated start format.
int8_t LTM9100_bit_read(uint8_t i2c_address, uint8_t register_address, uint8_t bit_number, uint8_t *register_data)
Read the bit specified by bit_number from the LTM9100.
#define LTM_9100_SENSE_E_REG
int8_t LTM9100_register_read(uint8_t i2c_address, uint8_t register_address, uint8_t *register_data)
Reads an 8-bit register from the LTM9100 using the standard repeated start format.
union LT_union_int32_4bytes data
#define LTM_9100_ADIN2_V_PER_TICK
int8_t LTM9100_alert_read(uint8_t *register_data)
Attempts to read a byte from the I2C bus using the alert address (0xC) to ascertain pending alerts on...
uint8_t reg_read_list[10]
int8_t i2c_write_byte_data(uint8_t address, uint8_t command, uint8_t value)
Write a byte of data to register specified by "command".
int8_t LTM9100_register_write(uint8_t i2c_address, uint8_t register_address, uint8_t register_data)
Writes to an 8-bit register inside the LTM9100 using the standard I2C repeated start format...
boolean valid_register(uint8_t user_register, uint8_t register_array[], uint8_t array_length)
Check if user_register is a valid register for the LTM9100.
LT_I2C: Routines to communicate with ATmega328P's hardware I2C port.
int8_t LTM9100_continuous_read_all_registers(uint8_t i2c_address)
Read all LTM9100 registers and output to the serial console every second until a key press is detecte...
#define LTM_9100_ADIN_I_REG
uint8_t reg_write_list[9]
#define LTM_9100_ADIN2_G_REG
int8_t LTM9100_print_all_registers(uint8_t i2c_address)
Read all LTM9100 registers and output to the serial console.
LTM9100: Anyside™ High Voltage Isolated Switch Controller with I²C Command and Telemetry.
int8_t LTM9100_adc_read(uint8_t i2c_address, uint8_t base_address, float *register_data)
Read the specified ADC value (SENSE, ADIN, ADIN2) and output in human readable format to the serial c...
int8_t i2c_read_byte(uint8_t address, uint8_t *value)
Read a byte, store in "value".