diff --git a/libraries/AP_Beacon/AP_Beacon_Marvelmind.cpp b/libraries/AP_Beacon/AP_Beacon_Marvelmind.cpp index 483f9dd07a..8a13def1e6 100644 --- a/libraries/AP_Beacon/AP_Beacon_Marvelmind.cpp +++ b/libraries/AP_Beacon/AP_Beacon_Marvelmind.cpp @@ -234,6 +234,16 @@ void AP_Beacon_Marvelmind::process_beacons_distances_datagram() } } +int8_t AP_Beacon_Marvelmind::find_beacon_instance(uint8_t address) const +{ + for (uint8_t i = 0; i < hedge.positions_beacons.num_beacons; i++) { + if (hedge.positions_beacons.beacons[i].address == address) { + return i; + } + } + return -1; +} + void AP_Beacon_Marvelmind::update(void) { if (uart == nullptr || hedge == nullptr || hedge->position_buffer == nullptr) { diff --git a/libraries/AP_Beacon/AP_Beacon_Marvelmind.h b/libraries/AP_Beacon/AP_Beacon_Marvelmind.h index d7379b0654..835abfb602 100644 --- a/libraries/AP_Beacon/AP_Beacon_Marvelmind.h +++ b/libraries/AP_Beacon/AP_Beacon_Marvelmind.h @@ -114,6 +114,7 @@ private: void process_beacons_distances_datagram(); void set_stationary_beacons_positions(); void order_stationary_beacons(); + int8_t find_beacon_instance(uint8_t address) const; // Variables for Ardupilot AP_HAL::UARTDriver *uart;