The DroneCAN node numbers chosen for the GPS receivers do not fit
What ArduPilot says:
- Selected GPS Node N not set as instance N
- Same Node Id N set for multiple GPS
- Same Node Id N set for multiple GPS
With DroneCAN receivers, GPS1_CAN_OVRIDE and GPS2_CAN_OVRIDE say which CAN node is GPS 1 and which is GPS 2; 0 leaves it to the order in which they appear. “Same Node Id … set for multiple GPS”: both name the same node. “Selected GPS Node … not set as instance …”: the node named for that GPS is not the one that took the place, usually because it is absent or has another node number. GPS1_CAN_NODEID and GPS2_CAN_NODEID show the nodes actually found.
What to do, most likely first
Both override parameters hold the same node number.
FixGive each GPS its own node number, or set both to 0, and reboot.
The node number entered is not the receiver's real one, or that receiver is not on the bus.
CheckThe ground station's DroneCAN screen lists the nodes and their numbers.
FixEnter the real node number, or 0 to let ArduPilot assign the receivers, and reboot.
Parameters to look at
| Parameter | What it is |
|---|---|
GPS1_CAN_OVRIDE | DroneCAN GPS NODE ID |
GPS2_CAN_OVRIDE | DroneCAN GPS NODE ID |
GPS1_CAN_NODEID | Detected CAN Node ID for GPS |
GPS2_CAN_NODEID | Detected CAN Node ID for GPS |
GPS1_TYPE | GPS type |
GPS2_TYPE | GPS type |
The code that sends it
Selected GPS Node N not set as instance N
libraries/AP_GPS/AP_GPS_DroneCAN.cpp AP_GPS_DroneCAN::inter_instance_pre_arm_checks() · Open in ArduPilot Copter-4.7.1
Same Node Id N set for multiple GPS
libraries/AP_GPS/AP_GPS_DroneCAN.cpp AP_GPS_DroneCAN::probe() · Open in ArduPilot Copter-4.7.1
Same Node Id N set for multiple GPS
libraries/AP_GPS/AP_GPS_DroneCAN.cpp AP_GPS_DroneCAN::inter_instance_pre_arm_checks() · Open in ArduPilot Copter-4.7.1