Here 2 can update

Here2 CAN Mode Instruction
Here2 Default factory setting is CAN mode with UAVCAN Protocol. Default Here2 CAN mode has three devices on CAN bus: GPS, magnetic compass, and barometer. The safety switch is not workable under CAN mode and the barometer is disabled in CAN mode by default. The barometer can be enabled by UAVCAN parameters setting.

How to use CAN mode:
Using Ardupilot Firmware:
Current official Ardupilot firmware (Copter3.6.7, Plane3.9.6 as well as previous versions) does not support Dynamic Node Allocator, hence user needs to allocate node ID to Here2 manually. The later released Copter3.7 firmware will support Dynamic Node Allocator, user only needs to set the parameters of their flight controller to use CAN mode.

Allocating node ID method:
For allocating node ID to Here2, user needs to use Cube as SLCAN (Serial port to CAN) device, and use the latest version of Mission Planner. At first, upgrade the MissionPlanner to 1.3.63 version, please go to the link: http://firmware.ardupilot.org/Tools/MissionPlanner/ for downloading. Meanwhile the Cube which would be the SLCAN connector needs to be uploaded with copter3.7

Connect the 4p CAN cable in Here2 with the CAN2 port in the Cube controller. Connect the cube to MissionPlanner 1.3.63version and select firmware upload,

click on ‘upload Beta firmware’ to upload arducopter firmware.

If version 3.7 or later is not available, you will need to load “master” Please search the ardupilot wiki on how to do this.

After uploading successfully, click on ‘Connect’. Press Ctrl+L keys to enter into UAVCAN interface.

image

Click on ‘SLCan Mode CAN1’, then the information of Here2 device will show up. Click on ‘Parameters’ on the right side.

image

Pop up the parameters setting interface shown as the screenshot below, set the value of uavcan.node_id between 0 and 125. Click on ‘Writing parameters’, then click on ‘Commit Params’ to save the setting. With the above mentioned steps, manual Node allocation is completed. If the user would like to enable the barometer, it can be done by setting the value of BARO_ENABLE as 1.
image

After modifying the Node ID, the firmware can be changed into stable version.

Boot Cube controller and connect with MissionPlanner, enter into the MissionPlanner to change the parameters with corresponding values as follows:
CAN_D1_PROTOCOL:1
CAN_D2_PROTOCOL:1
CAN_P1_DRIVER:1
CAN_P2_DRIVER:1
GPS_TYPE:9
NTF_LED_TYPES:231

Writing the modified parameters, reboot the cube therefore the CAN mode can work properly.

CANBUS external compass will show up as the third compass with current Ardupilot firmware. Future firmware update will allow CANBUS external compass to be primary. Safety switch on the Here2 will not work under CAN mode. Modify the parameter BRD_SAFETYENABLE to 0 to disable the safety switch, or connect an external safety switch to GPS1 port.
Note: The later released Copter3.7 firmware will support Dynamic Node Allocator. To use the CAN mode user only needs to modify the parameters.
Using PX4 firmware:

Connect with CAN1 or CAN2 port. Connect with the controller to set the UAVCAN_ENABLE parameter as Sensors Automatic Config. The sensors should work properly.
How to use I2C mode:

Here2 also supports the traditional serial port + I2C communication. To use this mode, please disassemble the Here2 housing, Put the lever switch for CAN and Serial+I2C to Serial+I2C position shown as below.

Note… of all carrier boards made before July 2019, CAN 1 and 2 are mixed
You can tell the difference, because “NEW” carrier boards have the word “CubePilot,org” on the side, we apologise for this long standing issue. It is now Fixed and CAN1 = CAN1 on all boards with the new marking.

3 Likes

@abhirup_sen please follow this

Did I miss something? I can’t find any information on updating the firmware on the Here2 and the install wiki just instructs AP parameter setup. As it is the Here2 is not recognized on the CAN bus.

It’s not really written but I just did it after opening slcan from control L and connecting one of the buttons to the right will say update firmware click that then confirm yes search internet it will find firmware and install

1 Like

Is it possible to get the .BIN file for the firmware update? I can not get the slcan in mission planner to communicate with the here2 but it does connect with my ZUBAX babel so I could theoretically update firmware if I had the file on my drive. The slcan function in mission planner does connect to my Zubax GNSS.

how are you setting it up?what are the steps?

As this is a Beta test, I would prefer to ensure the current workflow is correct.

I have tried every conceivable combination but initially I set the switch on the unit to CAN, connected the CAN cable, booted the Cube and set the UAVCAN parameters. I then went to the slcan screen and selected can1, a hesitation on the screen the connection to the cube opened but did not populate with the here2 data. I hooked up my Zubax GNSS With identical configuration and it populated slcan screen with proper data. I then connected the Here2 with a Babel slcan via UAVCAN GUI and was able to verify Proper communication over the bus.

Ah… An errata that affects all full carrier boards shipped before July 2019 is that CAN1 and 2 are mislabeled.
swap CAN ports.

CAN2 is the one to use.

Right, I am aware of the reversal in ports. Can2 is the port I used

It took me several tries and reboots to get slcan to connect. Then it all worked

You are using latest master on ardupilot yes?

Ctrl-Q on mission planner in the firmware page, 3.7 etc

Yes

An Update for these instructions - this is for updating the firmware part only

  1. Make sure you have Mission Planner 1.3.64, and the Here2 plugged into port labeled CAN2
  2. Connect in Mission Planner as normal via USB to the cube
  3. Goto Intital Setup
  4. Optional Hardware
  5. UAVCAN
  6. Click SLCAN Mode CAN1 (this is labeled as Can2 on the carrier board)
  7. a device should appear in the list, click update
  8. Mission Planner will download and install the latest CAN firmware for you.
    image
  9. once updated switch to any other screen
  10. connect as normal in Mission planner again and config the parameters as listed above
1 Like

On the Mini Carrier Board CAN port is labeled as CAN2, would the GPS work also there, after updating the firmware with a standard full carrier board?

Followed the steps but doesnt show the device.
Using Mission Planner 1.3.64
Arducopter 1.3.7(from Ctrl-Q option on firmware page in MP)
Internal switch in Here2 set to CAN and Cable changed
Connected to CAN2 port on the Carrier Board ( Aware of the reversal)
Am I missing anything?

Same probleme here. After pressing button SLCan Mode Can1 nothing appears. Maybe it has todo with the Windows 10 driver. Changed driver from Microsoft STM to The Cube F4 FMU (or is BL he right one?) but without result…

1 Like

If you install mission planner from the MSI it will install all drivers.

Can you film the process? If we are missing a step in our instructions, this may help

I’ve recorded the steps:
It’s flashing Arducopter 3.7 firmware and then trying to update on SLCAN.
To skip firmware flashing go to 3:22


Also attaching pictures of the setup and Here2 switch position.

I have again followed all procedures and changed between can1 and can2 with all appropriate parameter changes and the Here2 will not communicate with mission planner slcan. It appears to me to an issue directly related to the here unit, if I change nothing but swap gps units with a Zubax GNSS it communicates perfectly. That being said, the Here will communicate with the Zubax Babel and UAVCAN GUI