I could not get any answers in the other threads so may be making a new one will draw some attention.
Looking into set of parameters in the MP I see this list.
It makes one presume that it is possible to have up to 3 compasses?
Is it correct?
Can all 3 compasses be external?
If yes, should they all be connected to the same I2S bus contacts?
Does any of that work? Is it even worth to mess with it?
How to test compasses input? What can be done to see actual data an individual compass returns?
Could anybody share this info if it is not a top secret sacred knowledge?
|COMPASS_PRIMARY||0||0:FirstCompass 1:SecondCompass||If more than one compass is available this selects which compass is the primary. Normally 0=External, 1=Internal. If no External compass is attached this parameter is ignored|
|COMPASS_USE||1||0:Disabled 1:Enabled||Enable or disable the use of the compass (instead of the GPS) for determining heading|
Configure compass so it is attached externally. This is auto-detected on PX4 and Pixhawk, but must be set correctly on an APM2. Set to 1 if the compass is externally connected. When externally connected the COMPASS_ORIENT option operates independently of the AHRS_ORIENTATION board orientation option
ok, I wasted time to solder a i2s bus splitter, but connecting 2 compasses to this bus does not do any good.
You can use the one internal and one i2c external normally. All the commonly used chips used in external compasses use the same i2c address. So you can not have two extermal on the i2c bus. If you had two different addresses it would work.
It would if they all did not have the same address. Most of of the stuff on the market all use the same address by default.
so, is it possible to get somehow 2 different addresses for a compass? where is an internal one get connected to?
I would really like to have 2 redundant GPS units and 2 compasses on this system but do not know how to get it done. what can be done to this i2s compass on the GPS unit? can it go into CAN bus?
or can we alter i2c address somehow? where is this address set on the hardware side?
here is a list of interfaces I have on the PX4 clone I use.
The compass module has to be designed that way.
You will have redundant compass with one internal and one on the i2c bus.Won't that work? There is nothing wrong with the internal Pixhawk compass.
Otherwise I think it is just too much trouble to find a module with a programmable i2c address so you can have two external.