I2C not yet integrated

Dependencies:   mbed

Tested working with single and differential voltages.

Connect SCL (pin 11) to D15 Connect SDA (pin 10) to D14 Connect pin 16 to +5v Connect pin 9 to gnd

Revision:
2:c9e727dcd00e
Parent:
1:4e4194db7cd6
Child:
3:34e56211d5b6
diff -r 4e4194db7cd6 -r c9e727dcd00e main.cpp
--- a/main.cpp	Tue Nov 29 03:20:35 2016 +0000
+++ b/main.cpp	Tue Dec 06 18:34:46 2016 +0000
@@ -6,20 +6,27 @@
 const uint16_t LTC2991_TIMEOUT=1000; //!< Configures the maximum timeout allowed for an LTC2991 read.
 Serial pc(USBTX, USBRX, 9600);
 
+LTC2991 *ltc0 = new LTC2991(I2C_SDA, I2C_SCL);
+LTC2991 *ltc1 = new LTC2991(PB_3, PB_10);
+LTC2991 *ltc2 = new LTC2991(PB_4, PA_8);
+
 
 //void setup();
 int main();
 void readSingle();
 void readDiff();
 void setup() {
+  //init lib
+  
+  
   ack = 0;
   while (true)
   {
     pc.printf("boot\n");
-    ack |= LTC2991_register_write(LTC2991_I2C_ADDRESS, LTC2991_CHANNEL_ENABLE_REG, LTC2991_ENABLE_ALL_CHANNELS); //! Enables all channels
-    ack |= LTC2991_register_write(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_V1234_REG, 0x00); //! Sets registers to default starting values.
-    ack |= LTC2991_register_write(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_V5678_REG, 0x00);
-    ack |= LTC2991_register_write(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_PWM_Tinternal_REG, LTC2991_REPEAT_MODE); //! Configures LTC2991 for Repeated Acquisition mode
+    ack |= ltc0->LTC2991_register_write(LTC2991_I2C_ADDRESS, LTC2991_CHANNEL_ENABLE_REG, LTC2991_ENABLE_ALL_CHANNELS); //! Enables all channels
+    ack |= ltc0->LTC2991_register_write(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_V1234_REG, 0x00); //! Sets registers to default starting values.
+    ack |= ltc0->LTC2991_register_write(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_V5678_REG, 0x00);
+    ack |= ltc0->LTC2991_register_write(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_PWM_Tinternal_REG, LTC2991_REPEAT_MODE); //! Configures LTC2991 for Repeated Acquisition mode
     
     if (ack != 0) {
       pc.printf("Error: No Acknowledge. Check I2C Address.\n");
@@ -44,9 +51,9 @@
   int16_t code;
   float voltage;
   ack = 0;
-  ack |= LTC2991_register_set_clear_bits(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_V1234_REG, 0x00, LTC2991_V1_V2_DIFFERENTIAL_ENABLE | LTC2991_V1_V2_TEMP_ENABLE);
-  ack |= LTC2991_adc_read_new_data(LTC2991_I2C_ADDRESS, LTC2991_V1_MSB_REG, &code, &data_valid, LTC2991_TIMEOUT);
-  voltage = LTC2991_code_to_single_ended_voltage(code, LTC2991_SINGLE_ENDED_lsb);
+  ack |= ltc0->LTC2991_register_set_clear_bits(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_V1234_REG, 0x00, LTC2991_V1_V2_DIFFERENTIAL_ENABLE | LTC2991_V1_V2_TEMP_ENABLE);
+  ack |= ltc0->LTC2991_adc_read_new_data(LTC2991_I2C_ADDRESS, LTC2991_V1_MSB_REG, &code, &data_valid, LTC2991_TIMEOUT);
+  voltage = ltc0->LTC2991_code_to_single_ended_voltage(code, LTC2991_SINGLE_ENDED_lsb);
   if (ack != 0) {
       pc.printf("Error: No Acknowledge.\n");
   } else {
@@ -59,9 +66,9 @@
   int16_t code;
   float voltage;
   ack = 0;
-  ack |= LTC2991_register_set_clear_bits(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_V1234_REG, LTC2991_V1_V2_DIFFERENTIAL_ENABLE, LTC2991_V1_V2_TEMP_ENABLE);
-  ack |= LTC2991_adc_read_new_data(LTC2991_I2C_ADDRESS, LTC2991_V2_MSB_REG, &code, &data_valid, LTC2991_TIMEOUT);
-  voltage = LTC2991_code_to_differential_voltage(code, LTC2991_DIFFERENTIAL_lsb);
+  ack |= ltc0->LTC2991_register_set_clear_bits(LTC2991_I2C_ADDRESS, LTC2991_CONTROL_V1234_REG, LTC2991_V1_V2_DIFFERENTIAL_ENABLE, LTC2991_V1_V2_TEMP_ENABLE);
+  ack |= ltc0->LTC2991_adc_read_new_data(LTC2991_I2C_ADDRESS, LTC2991_V2_MSB_REG, &code, &data_valid, LTC2991_TIMEOUT);
+  voltage = ltc0->LTC2991_code_to_differential_voltage(code, LTC2991_DIFFERENTIAL_lsb);
   if (ack != 0) {
       pc.printf("Error: No Acknowledge.\n");
   } else {