So I finally got to rebuild my large drone.
I have connected the Zubax GNSS GPS to the Can Port and confirmed the pinout, that its connected to the buss correctly. There is a terminating resistor in the second port.
I have confirmed continuity for all connections.
I have gone over the Can settings that I am aware of.
I have checked the LEDs and they all seem to blink.
The Arducopter firmware is the latest .3.6.12
I have attached my config file…I have no clue.
RG-XL PArams 12-15-2019.param (14.4 KB)
Any suggestions would be appreciated as I am pretty sure I am missing a config item.
Today I checked the GPS on it’s own and found its working.(UAVCAN GUI)
So I have no clue whats missing
Check with the UAVCAN GUI
Seem its got a 3d fix
I tried a second flight controller and there was no change.
Also tried a different Can port on the GPS…no change.
I have no idea what to check.
Does anyone have a CAN based GPS working, if so what is it.
I am giving up on this Zubax.
I noticed that your Node ID in UAVCAN GUI is 124 - is this an automatic node allocation done by UAVCAN GUI?
I can’t remember which version, but until recently automatic node allocation is not supported in ArduPilot.
In this case (where you have not manually set a node ID) ArduPilot would not be able to talk to the GPS, because it (the GPS) is waiting for the system to assign it an ID.
This Node ID configuration can be done through the UAVCAN GUI - look at this guide from about Step 7 to see how to change parameters for a generic UAVCAN device - you are looking for “uavcan.node_id” or similar, and setting it to something between 1 and 125, excluding 10 (Pixhawk) .
My apologies if my Node ID assumption is incorrect - a node ID of 124 merely seemed odd for a manual assignment.
Your parameters look okay at first glance.
I used the Zubax units a while back with Plane, they worked, but not as well as a Here GPS (I now use a Here V2 over UAVCAN).
I confess I was struggling with the whole Node Id thing. I pulled up the gui again and found that its actually 125. So I set the node id via Mission planner to 125 but still no joy.
Oddly the documentation for Arudcopter indicates the following (CAN_DX_UC_NODE - which is the node ID of the autopilot) Which makes no sense to me. Set the node id to that of the autopilot…in all examples I have read the node id is 10.
I don’t know how it got a node id of 125. I didn’t set it. But regardless I think your telling me that the node id in the gps and arudcopter needs to be the same. Which they are now but still no joy.
My fear about getting a here is what if I can’t see it on the canbus either…grrrr.
Anyway. I think all my param’s are set right.
CAN_D1_UC_NODE,125 (Still puzzled about this one)
Gui is showing me the node id is 125
So Evan…first thank you for your help I greatly appreciate it.
Second…I am going to take up drinking. Check this out.
I thought about what you said about the node ID so I went through my notes on how to set it and set it back to 42 which is the id I was using originally.
I plugged everything back in and booted the drone.
Suddenly I was getting a 3d fix in my basement…what the hell.
I can only assume that writing the new node id and saving it reset something in the gps. No I have compass issues to resolve but hey at least its working.
Glad to hear you’re making headway - maybe I can clear up a couple things for next time:
CAN_D1_UC_NODE is the Node ID of the autopilot. Every device on the UAVCAN bus has its own unique Node ID. For ArduPilot, the default “ownship” Node ID (set with CAN_D1_UC_NODE) is 10, so no other devices on the bus should have an ID of 10. You have now changed that ID to 125, so no other device on the bus should have 125 as its Node ID.
The fact that in one case the Zubax had an ID of 124 and the next time had an ID of 125 suggests that it was getting its ID from the Node Allocation Server of your debugger/SLCAN via UAVCAN GUI.
Chances are that the version of Copter you are using does not have a Node Allocation Server running, which means that the Zubax was waiting for something to tell it what ID to use, and never heard back. Without an assigned Node ID, it didn’t broadcast its normal GPS data for ArduPilot to receive.
When you manually set the Node ID of the Zubax to 42, this overrode the dependence on a Node Allocation Server, and it (Zubax) had an ID right off the bat and started talking normally.
I suspected thats what it was all about… Just whats odd was that the description in mission planner suggested the node id of the uavcan device while the documentation suggested the autopilot.
oh and with me setting the autopilot node id to that of the gps it wouldn’t work.
Setting it to 42 then gave it a real id to work with.
Thanks again for your help.
Every day there is something new to learn.
Now I need to solve my lidar issue.
Have a super Christmas and a happy New Year Evan.