LCOV - code coverage report
Current view: top level - AP_Compass - AP_Compass_DroneCAN.h (source / functions) Hit Total Coverage
Test: lcov.info Lines: 0 1 0.0 %
Date: 2026-09-09 11:02:08 Functions: 0 1 0.0 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "AP_Compass.h"
       4             : 
       5             : #if AP_COMPASS_DRONECAN_ENABLED
       6             : 
       7             : #include "AP_Compass_Backend.h"
       8             : 
       9             : #include <AP_DroneCAN/AP_DroneCAN.h>
      10             : 
      11             : class AP_Compass_DroneCAN : public AP_Compass_Backend {
      12             : public:
      13             :     AP_Compass_DroneCAN(AP_DroneCAN* ap_dronecan, uint32_t devid);
      14             : 
      15             :     static bool subscribe_msgs(AP_DroneCAN* ap_dronecan);
      16             :     static AP_Compass_Backend* probe(uint8_t index);
      17           0 :     static uint32_t get_detected_devid(uint8_t index) { return _detected_modules[index].devid; }
      18             :     static void handle_magnetic_field(AP_DroneCAN *ap_dronecan, const CanardRxTransfer& transfer, const uavcan_equipment_ahrs_MagneticFieldStrength& msg);
      19             :     static void handle_magnetic_field_2(AP_DroneCAN *ap_dronecan, const CanardRxTransfer& transfer, const uavcan_equipment_ahrs_MagneticFieldStrength2 &msg);
      20             : #if AP_COMPASS_DRONECAN_HIRES_ENABLED
      21             :     static void handle_magnetic_field_hires(AP_DroneCAN *ap_dronecan, const CanardRxTransfer& transfer, const dronecan_sensors_magnetometer_MagneticFieldStrengthHiRes &msg);
      22             : #endif
      23             : 
      24             : private:
      25             :     bool init();
      26             : 
      27             :     // callback for DroneCAN messages
      28             :     void handle_mag_msg(const Vector3f &mag);
      29             : 
      30             :     static AP_Compass_DroneCAN* get_dronecan_backend(AP_DroneCAN* ap_dronecan, uint8_t node_id, uint8_t sensor_id);
      31             : 
      32             :     uint8_t  _instance;
      33             : 
      34             :     uint32_t _devid;
      35             : 
      36             :     // Module Detection Registry
      37             :     static struct DetectedModules {
      38             :         AP_DroneCAN* ap_dronecan;
      39             :         uint8_t node_id;
      40             :         uint8_t sensor_id;
      41             :         AP_Compass_DroneCAN *driver;
      42             :         uint32_t devid;
      43             :     } _detected_modules[MAX_CONNECTED_MAGS];
      44             : 
      45             :     static HAL_Semaphore _sem_registry;
      46             : };
      47             : 
      48             : #endif  // AP_COMPASS_DRONECAN_ENABLED

Generated by: LCOV version 1.14