Homepage GitHub

UAVCAN GUI- Unrecognized message type ID - Pixhawk Board


(Niranjan) #1

Hi,
I tried using SLCAN adapter to check UAVCAN messages which is getting broadcast-ed from my pixhawk Board. I have created a new CAN message with a datatype Id 760(since this number was not used by any)
Once I power on my board, I am facing this in GUI tool:

Its showing “unrecognized message type id 760” . I have not specified any node Id to this! Then when I initiate the command “uavcan start” in QGroundControl(this would start my broadcasting of messages) , I get this:

The node spin error increase from 1 to 1000 then it throws up error. I am not able to find what I am missing here. I looked into forums. This error was new!

It would be great if someone could help me.
Board: Pixhawk
SlCAN: Babel

Thank you
Thanks and regards
Niranjan


(Pavel Kirienko) #2

Have you imported your data type definition into the GUI tool?


(Niranjan) #3

Hi,
Yes, I chose the location of my data type definition and imported it during the launch of GUI tool. I also follwed this link : CAN bus for the rest of us
https://discuss.ardupilot.org/t/uavcan-canbus-for-the-rest-of-us/22743 . I initialized the local node to 127 and checked it.
But I still see the error " Unrecognized message type ID 760" at the bottom.
I tried to do Fetch all in Node properties but it was not successful.

Got the error : Param fetch failed:request timed out

data type definition file which i created :

760.TesteCommand.uavcan
uint8 valor [Only this variable I have declared inside the file]

Am i missing something ?
Thank you
Regards
Niranjan


(Niranjan) #4

Hi,
I tried everything I could. But I am still getting above errors. When I launch the UAVCAN GUI tool:
Location of custom DSDL definition[optional] field is available.

I tried adding my data type definition files, it did not work and I even tried by taking a new patch from Git for latest firmware code and test it.No luck. Least I should be able to see the status of existing nodes from new patch!!

I looked into forums and no sign of this particular error. I followed all the documentation and tried to my knowledge. No clue how to solve this issue.
your inputs would be highly helpful.
Thanks and Regards
Niranjan


(Pavel Kirienko) #5

I think the easiest way forward is to single-step through the GUI tool and see what is happening with the custom definitions. Or at least you could just sprinkle some logging around the relevant pieces of the logic to understand what’s really happening. For some reason the GUI tool doesn’t see your definitions.


(Niranjan) #9

Hi,
Thank you for answering all of my questions. I was able to get something working now!!
Now I was able to add the path where my CAN messages are located into GUI tool and I could see the messages flowing out in Bus monitor

The data hex value is as expected. The data type is showing as <unknown message 760>
[but uavcan.equipment.teste.TesteCommand is what I expect to see]**
like in the example all other CAN messages have a path under data type for ex. uavcan.equipemnt.gnss.Fix.

Capture

But it’s not happening in my case. I followed the documentation for uavcan and created a CAN message under
uavcan/equipement/

Do I have to include the new CAN messages which I created in the above path to any files? I was not able to find any relevant documentation for it.!!
Any inputs would be really helpful!

Thank you
Thanks and Regards
Niranjan


(Pavel Kirienko) #10

There is, unfortunately, a known issue with the GUI tool: custom definitions are not passed to children processes yet. It is documented here: https://github.com/UAVCAN/gui_tool/issues/32

Since the bus monitor runs in a separate process, it is unaware of vendor-specific definitions. The fix should be relatively straightforward, just pass the relevant definitions from uavcan.TYPENAMES and uavcan.DATATYPES into the child process upon its spawning. We would appreciate a pull request!


(Niranjan) #11

Hi,
Hope you are doing good. Sorry for the delayed reply. I was able to fix the issue of custom definitions to the children node. GUI tool is working perfectly fine and I could see the CAN IDs of the external and pixhawk device with their data and corresponding datatype ID. Have attached the screenshotScreenshot%20from%202019-06-23%2013-45-32 below:

Thank you for your inputs
Regards
Niran


(Pavel Kirienko) #12

I expect other users might benefit from your fix. Please, consider submitting a pull request.


(Niranjan) #13

Sure. I would be happy to do it.
Thanks and Regards
Niranjan