Is dronecan / uavcan data displayed in QGC?

Hi, I have some ARKcan canNodes, its a basic can node with an inbuilt IMU.

I’m not sure if i’ve got them working properly as I don’t actually know what a successful connection is supposed to look like. Am I able to actually view the IMU data in QGC, or even a device like an external IMU or servo. Or is this something that gets logged and I can look post flight?

I can view parameters for them in QGC, but I’m not sure where else to go from there, and there isn’t too much documentation saying what to do with it after setup, which makes me think either I don’t actually understand the device or somethings gone wrong somewhere.

Also, documentation of the ARK CANnode itself is also unhelpful for my situation (maybe just outdated), I thought the LED status colour may help me, mine flashes green with the occasional blue… they never mention green, only red and blue

Any help is great as I don’t have much knowledge or experience with the can bus.
Thanks
Owen

One thing that you can do to get more insights is uavcan status in “Analyze Tools → MAVLink shell”.

hi @JulianOes ,

Thanks for the reply

I’ve had a look at uavcan status , I get some information, most of it is the non-specific “usual stuff”. The only specific thing I could see was the device ID of the node, so I suppose that confirms that its on, but what about the IMU on board, or the components I have plugged in on the I2C ports of the node, should they be showing up here as well?

I also get a list of sensors that seem to change every time I try this command, I’ve had sensors such as mag, IMU, gyros, gnss and ‘gnss_relative’, none of which have ever given any data when attempted to read, likely because they never existed!

Are there other ways/places to view the data, MAVLink for example, or is can something read using other methods not relying on QGC? Still not entirely convinced I understand the way the can bus works, or perhaps I’m not understanding how its integrated with PX4/QGC?

If this is more to do with PX4 I may open a new question on that section instead, would be more sensible there.

Thanks
Owen

Hi Owen, what do you want to accomplish with the CANnode?

Hi @AlexKlimaj

So essentially I want to have servos and some I2C IMU sensors connected to the CANnode. I would like to know where/how to get the data from the sensors and the inbuilt IMU as well, whether it be via MAVLink message or something that is simply logged etc.

I have not actually played around with servos yet but that seems like it should be a bit more straight forwards

Note: The IMUs I am using are not supported by PX4 by default, I have some custom drivers for them and if my understanding is correct these drivers can also be used on the CANnode? I have also tested with other I2C devices that are supported still with no luck.

You will need to build the custom drivers into the CANnode firmware.

Here is the PR for transmitting IMU data over Dronecan from the CANnode.

This PR can only send IMU data from one IMU FYI. If you add extra I2C IMUs.

For servos, you will need to configure the Control allocator params on the CANnode and the Dronecan/UAVCAN params on the flight controller.

Ahh I see thankyou for this, this will be very helpful.

I’ll have a play around and see what I can do :slight_smile:

When it comes to building the firmware with the driver is it as simple as adding the “CONFIG_DRIVER_IMU…” bit to the default.px4board file or is there a little more to it?

Yes, that is all you need for an I2C IMU driver.

1 Like

Hi @AlexKlimaj ,
I’ve had a play around with everything and I still don’t see any sort of data from any sensors whether it be the onboard IMU or one of the external I2C sensors I have (both supported and custom)

Any ideas as to what I’m doing wrong?

Did you cherry pick that PR into your branch? To publish the IMU data?
You can check the CANnode debug console to check if your sensors are running.

Yep I’ve put that PR in my branch.

How might I check the debug console, I’m quite new to the debug process. Or do you just mean running uavcan status to check?

No, the debug console on the CANnode itself. The 6 pin jst-sh. With a serial connection.

Ah okay thank you, that is completely new to me, is there some documentation written anywhere so I can learn what to do, don’t want to waste your time asking if its already explained somewhere : )

Edit: I think I just generally don’t understand debugging/ what it is, doing some research now, feel free to point me any specific directions that you think might be helpful.

1 Like