I am using arducopter 3.3.3 on a hexacopter test platform. From my understanding it should be possible to add a second external compass to the pixhawk (using an i2c splitter). In adittion to a Lea6h gps/comass module, I have a stand alone compass module. The problem is that no matter how I connect the two compass modules to the i2c splitter only one of them is recognized when doing the compass calibration (I have enabled all three compass modules). If I disconnect the stand alone compass, the gps/compass combo works. If I disconnet the compass in the combo, the stand alone works. I have spent a few hours on this now and getting nowhere fast… Any ideas on what I am doing wrong?
Nobody with any thoughts on this?
Are you saying that you can not get the compass to work on the second GPS?
No. I have a third stand alone compass module attached to an i2c splitter (in addition to the lea6h gps/compass module) and it is not being recognized (that is 3 compasses incl the one built into the pixhawk).
Which port are you plugging it in to?
As said above, through an i2c splitter (plugged into the i2c port)
Maybe that it the problem and it has to go into the serial port (where you put the second gps unit)? Will this work with a stand alone compass too?
As far as i understand you can either use the GPS, Serial 4/5 port or one of the telemetry ports for GPS and you will only be bale to use the i2c port for one compass but not all 3
Every I2C device has an address on the bus. If two devices have the same address, then nothing is guaranteed to work. Most magnetometer/compasses have a “base” I2C address of 0x3C
In order to get two devices to work on the bus, you have to change the address of one of them.
Some devices allow for different addresses by tying pins labelled “ADDRESS” either to 3.3V or GND.
You have to read the data sheet for the part to determine how to change the address - or if it is even possible.
Of course, the flight controller has to be able to check that second address, whatever you set it to.