UAVCAN doesn't work on pixracer (but works on pixhawk 2.1). couldn't start parameter count: -2

Hello all,
I am trying to connect two GNSS modules (here2) through UAVCAN bus. I have successfully done it on Pixhawk 2.1. Here’s what uavcan status nsh command gives me:

Shortly after turning on, it starts producing gps_fix messages, everything works great from the box.

I then try the same for pixracer. I try the same setup, connecting it to the only UAVCAN bus on the pixracer chip (unlike pixhawk, pixracer only has one CAN). Both here2 modules light up blue, indicating they have started correctly. However, the UAVCAN driver doesn’t see them. Here’s what uavcan status command outputs:
pixracer status

And here is the log file:

I googled this error and the only thing I’ve found is this, but it doesn’t seem relevant to my problem.

Additional info: both pixHawk and pixracer had the same stable 1.10 Frimware version. I tried connecting both one and two here2 modules to the pixracer. With one module I tried both with and without CAN HUB in between, same result. Yes, I have enabled UAVCAN in QGC; these parameters were identical for PixHawk2.1 and pixracer when I performed the tests:


The error [uavcan] UAVCAN command bridge: couldn't start parameter count: -2 remains on pixracer even when there are no UAVCAN devices connected to the input (which might be an indication of a hardware problem).

Anyone has any ideas what the problem may be?
Thanks in advance!

Maybe @PavelKirienko knows this.

The error code means InvalidParam:

Which in plain English means that something is messed up badly in the parameter bridge. At any rate, I don’t think it is related to your problem. You need to whip out your USB-to-CAN adapter and investigate what’s happening on the bus.

Thanks. Just in case, I have traced it down the error comes from this line:

specifically, the server_node_id.isUnicast() condition is false.

I’ll keep this thread updated.

It turned out to be a HERE2-related hardware problem described here:

Closing this.

1 Like