Integrating a Custom Sensor as DroneCAN Proximity Sensor in ArduPilot

Hello ArduPilot community,

I’m working on integrating a custom sensor into the ArduPilot stack using DroneCAN as a proximity sensor. My sensor is capable of communicating through CANFD. After studying the ArduPilot stack code and documentation, I’ve come to the following understanding, and I’d like to confirm if this is correct or if there’s a better approach:

  1. I need to customize the firmware of my sensor to match the DroneCAN message format for proximity sensors.
  2. Specifically, I believe I need to make my sensor output data that matches the format defined in: dronecan/libcanard/dsdlc_generated/ardupilot.equipment.proximity_sensor.Proximity.c
  3. By doing this, I should be able to directly integrate my sensor as a DroneCAN sensor in ArduPilot without modifying the ArduPilot codebase.

Is this understanding correct? Are there any additional steps or considerations I should be aware of?
Any help would be appreciated. @Yuri_Rage , @tridge , @siddharth @iampete.
Thank you.