I am trying to use 4 TLE493d-w2B6 sensors. Each one has a different i2c address (product types: A0, A1, A2, A3). I have tried to use the library posted on Github (GitHub - Infineon/TLE493D-3DMagnetic-Sensor: Library for Infineons's 3D magnetic sensor TLE493D for Arduino.) and I can communicate with one of the sensors on the bus (the 493d w2b6-A0). I can't communicate with the other 3 sensors. Here is the code that I am using. Anyone have any thoughts?
#include<Wire.h>
#include <Tle493d.h>
Tle493d Tle493d_A0 = Tle493d(Tle493d::AccessMode_e::MASTERCONTROLLEDMODE, Tle493d::TypeAddress_e::TLE493D_A0);
Tle493d Tle493d_A1 = Tle493d(Tle493d::AccessMode_e::MASTERCONTROLLEDMODE, Tle493d::TypeAddress_e::TLE493D_A1);
Tle493d Tle493d_A2 = Tle493d(Tle493d::AccessMode_e::MASTERCONTROLLEDMODE, Tle493d::TypeAddress_e::TLE493D_A2);
Tle493d Tle493d_A3 = Tle493d(Tle493d::AccessMode_e::MASTERCONTROLLEDMODE, Tle493d::TypeAddress_e::TLE493D_A3);
void setup()
{
Serial.begin(9600);
Tle493d_A0.begin();
Tle493d_A1.begin();
Tle493d_A2.begin();
Tle493d_A3.begin();
}
void loop()
{
Tle493d_A0.updateData();
Serial.print(Tle493d_A0.getX());
Serial.print(" ; ");
Serial.print(Tle493d_A0.getY());
Serial.print(" ; ");
Serial.println(Tle493d_A0.getZ());
Tle493d_A1.updateData();
Serial.print(Tle493d_A1.getX());
Serial.print(" ; ");
Serial.print(Tle493d_A1.getY());
Serial.print(" ; ");
Serial.println(Tle493d_A1.getZ());
Tle493d_A2.updateData();
Serial.print(Tle493d_A2.getX());
Serial.print(" ; ");
Serial.print(Tle493d_A2.getY());
Serial.print(" ; ");
Serial.println(Tle493d_A2.getZ());
Tle493d_A3.updateData();
Serial.print(Tle493d_A3.getX());
Serial.print(" ; ");
Serial.print(Tle493d_A3.getY());
Serial.print(" ; ");
Serial.println(Tle493d_A3.getZ());
Serial.println("__________________");
delay(1000);
}