Here 2 Firmware Updating via CAN

Hey everyone,

We purchased a here 2 GPS last year around September (I do not know the hardware version nor where to find it) and haven’t used it at all. Recently, I picked it up and have been trying to update the firmware based on the instructions:

https://docs.cubepilot.org/user-guides/here-2/updating-here-2-firmware.
Here 2 can update

I got it working up to the point at which I need to have here2 detected in Mission Planner and need help here.

Current Status

  • Currently using Mission Planner version 1.3.74.
  • I tried a few different firmware, however my cube is purple and everyone is mentioning to download cube black firmware, which is confusing to me.
  • I got my GPS at a flashing green light yesterday through CAN connection, but it is still not detected under SLCAN for any possible firmware updating.
  • At launch, there is a blue light moving outwards in a wave for 2 seconds. I read people mention it is either that firmware needs updating or firmware is done updating, which again is confusing.

Also, all instructions say copter mode firmware, but I want rover firmware, I would like to know if this also causes any issues?

Thanks in advance!

Cube purple is Cube Black without the vibration isolated IMUs.
GPS got green light means it has its bootloader updated, which is half way to go.
Sometimes you need reboot the Cube to re-connect the GPS after updating

So using cube purple firmware to try SLCAN is fine? because all instructions say use CUBE BLACK Latest firmware.

I have re-connected it multiple times with no avail.

what carrier board are you using? and which can port is it connected to?

I am using the mini carrier board with cube purple and have connected it to the CAN2 port. The switch within HERE2 has been switched to CAN.

your issue is around the fact its can2, not can1
you are pressing the uavcan can2 button?
i would
connect via mavlink
goto uavcan
click can2
if that doesnt work, restart the board
and then do it again.

this assumes that the gps is detected and setup already. it could also be the can “driver” you have selected. also that the firmware you are running is new within the past say month

The here 2 was bought last year actually, it was never touched until last week, hence I am worried about the firmware version.

I was testing the SLCAN1 actually. Current status is that, I can get it to flash greenish light at regular intervals and I can detect it under Mandatory Hardware >> Compass for compass calibration. But Optional Hardware >> UAVCAN and SLCAN1 shows nothing, I select the button, it goes greys after saying trying to connect and then nothing happens.

I’ll try out the SLCAN2 under UAVCAN and does using CubePurple firmware instead of CubeBlack firmware for this process cause any issues?

Thanks again Micheal!

as alvin said, in this case black = purple
the key is CAN2

Ah got it, apologies in advance for asking more questions.

CAN_P1_Driver & CAN_P2_Driver - I am assuming that P1 is for CAN1 port and P2 is for CAN2 port right?
Also, they have options 0,1,2 - I am assuming that this is more useful in the case where I have 2 GPS connected to the cube, so I assign 1 for CAN_P1 and 2 for CAN_P2 to indicate to pixhawk that 2 GPS are connected to both CAN ports as 1 and 2 accordingly. Is this understanding accurate?

In the event that I decide to connect 2 GPS to my cube purple and go with advanced options like GPS blending, my options are that:

  1. I use a CAN bus splitter and connect both GPS via CAN to CAN 2 port.
  2. I use one GPS port and communicate via I2C and one via CAN in CAN2 port [Not sure if this works].
  3. I use both GPS as I2C connected to GPS1 and GPS2.

Which would you recommend out of the three options?

CAN_P1_Driver & CAN_P2_Driver - I am assuming that P1 is for CAN1 port and P2 is for CAN2 port right?

You may check the parameter value definitions from the ardupilot wiki
https://ardupilot.org/copter/docs/parameters.html#can-p1-parameters
I’m not sure what is the different for setting it to 2, but most people set both CAN_Px_Driver to 1.

  1. I use a CAN bus splitter and connect both GPS via CAN to CAN 2 port.

I am not sure if this will work in current version of ardupilot.

  1. I use one GPS port and communicate via I2C and one via CAN in CAN2 port [Not sure if this works].

This will work.

  1. I use both GPS as I2C connected to GPS1 and GPS2.

This will also work.

Thank you Alvin and Michael!

I got here2 to be detected and updated firmware. I followed the steps up to Step 6 from https://docs.cubepilot.org/user-guides/here-2/updating-here-2-firmware.

In step 7, since I have mini carrier board - I changed only CAN_P2_Driver value to 1. Rebooted as per Step 8 and in Step 9, after connecting to mission planner, I went to Setup > Optional Hardware > UAVCAN and clicked SLCAN2. It was an instantly recognized. After this, I updated the firmware and set the GPS_Type value to 9 - UAVCAN and NTF_LED_TYPE to 231 by selecting UAVCAN. Reboot one more time and now my GPS blinks green and has a 3D fix.

Make sure to be outside while doing this I guess. I think that may have helped as well.