Multiple MaxBotix I2C Pixhawk 2.1 problem

thanks

I have change the MaxBotic i2c sensor address to 102 (decimal), they I have change the type to 7 and the address to 102, but no change.

May be im doing something wrong?

Did you changed the Adress on the Maxbotic using the arduino sketch ?
Other thing you can do is keeping the maxbotix to original 070x that is 112 on Mission planner (That is what I did for my test)

hi!

Yes I did.

I have try to do what you told me, to test with the default address, so I have change the addres again:

Then I have change the address again un MP, but no result

any other idea??

073 = is 115 then
https://www.binaryhexconverter.com/hex-to-decimal-converter

sorry, im a little confuse with the address. In the arduino sketch the address are decimal, from 2 to 254, just pair numbers.

you have told me about hexadecimal numbers and how to convert. But I dont understan why did you take the 073 for example. the MP address are in hexadecimal?
I think im missing something, but I really dont know. Can you enlight me pls?

thanks!

Sorry for confusion , I just took the number showned on the Arduino screen 73… :wink:
BAsically if you can read with arduino at adress 70hex, you should be able to read on mission planner at 112 decimal.
Please note I never tried with Maxbotic, I made it work with my I2C TFMINI Maxbotic emulation:

As I can see, wont work the same way. I think the next step is the MaxBotic Driver. Can you tell me how to load that driver to the pix?

thanks!

First: Can you make the Maxbotic work ok with the native driver on the Pix ?

yes, rngfnd_type=2 and works like a charm…

yuhuuu, dont foget meee plss

thanks

Not having a Maxbotic sonar, it is hard for me to dig deeper.

how about the maxbotic driver? How can I load it to the pix? Thanks!

Maxbotic driver is an old driver structure , so it has no reserve for multiple devices as it is now.

1 Like

I have the same kind of problem with dual airspeed sensor on I2C Dual airspeed sensor problem

Yes, @ppoirier is right. The AP driver uses a hard-coded I2C address (code is here). It would need to be changed so that it’s more like the lightwareI2C driver (see just a few lines lower in the link above) so that it uses “state[instance].address” instead of “AP_RANGE_FINDER_MAXSONARI2CXL_DEFAULT_ADDR”. It’s a relatively simple change that any number of developers could make. I think it might be good to start with creating an issue on the issues list in the hopes that a developer steps forward to resolve it.

The other thing that would need to be done to allow this change to go into master would be to default the I2C address to the default for the maxbotixI2C so that every user doesn’t have to specifically go in and set the I2C parameter to the correct number for this sensor.

Has there been any progress to be able to use multiple maxbotix I2C?

1 Like

No but , as shown above, you can use lightware I2C driver that allows multiple devices

It has a sensor similar to maxbotix selling on Aliexpress. The model is GY-US42, could I use it to change the address by arduino too?

As there is no information on how to program you can certainly try to use the maxbotic arduino code as they probably clone the code as well :blush:

I will do this. I will buy and test them. If it works, leave a feedback here.