Browse Source

add NanoRadar MR72,test ok

master
z 5 years ago
parent
commit
81a930b1be
  1. 9
      libraries/AP_Proximity/AP_Proximity.cpp
  2. 1
      libraries/AP_Proximity/AP_Proximity.h
  3. 6
      libraries/AP_RangeFinder/RangeFinder.cpp
  4. 1
      libraries/AP_RangeFinder/RangeFinder.h

9
libraries/AP_Proximity/AP_Proximity.cpp

@ -17,6 +17,7 @@ @@ -17,6 +17,7 @@
#include "AP_Proximity_LightWareSF40C_v09.h"
#include "AP_Proximity_RPLidarA2.h"
#include "AP_Proximity_TeraRangerTower.h"
#include "AP_Proximity_NanaRadar_MR72.h"
#include "AP_Proximity_TeraRangerTowerEvo.h"
#include "AP_Proximity_RangeFinder.h"
#include "AP_Proximity_MAV.h"
@ -307,6 +308,14 @@ void AP_Proximity::detect_instance(uint8_t instance) @@ -307,6 +308,14 @@ void AP_Proximity::detect_instance(uint8_t instance)
return;
}
break;
case Type::MR72:
if (AP_Proximity_NanaRadar_MR72::detect()) {
state[instance].instance = instance;
drivers[instance] = new AP_Proximity_NanaRadar_MR72(*this, state[instance]);
return;
}
break;
case Type::TRTOWEREVO:
if (AP_Proximity_TeraRangerTowerEvo::detect()) {
state[instance].instance = instance;

1
libraries/AP_Proximity/AP_Proximity.h

@ -47,6 +47,7 @@ public: @@ -47,6 +47,7 @@ public:
RPLidarA2 = 5,
TRTOWEREVO = 6,
SF40C = 7,
MR72 = 8,
#if CONFIG_HAL_BOARD == HAL_BOARD_SITL
SITL = 10,
MorseSITL = 11,

6
libraries/AP_RangeFinder/RangeFinder.cpp

@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
#include "AP_RangeFinder_MaxsonarI2CXL.h"
#include "AP_RangeFinder_MaxsonarSerialLV.h"
#include "AP_RangeFinder_insighticaSerial.h"
#include "AP_RangeFinder_NanoRadar_MR72.h"
#include "AP_RangeFinder_BBB_PRU.h"
#include "AP_RangeFinder_LightWareI2C.h"
#include "AP_RangeFinder_LightWareSerial.h"
@ -498,6 +499,11 @@ void RangeFinder::detect_instance(uint8_t instance, uint8_t& serial_instance) @@ -498,6 +499,11 @@ void RangeFinder::detect_instance(uint8_t instance, uint8_t& serial_instance)
drivers[instance] = new AP_RangeFinder_insighticaSerial(state[instance], params[instance], serial_instance++);
}
break;
case RangeFinder_NanoRadar_MR72:
if (AP_RangeFinder_NanoRadar_MR72::detect(serial_instance)) {
drivers[instance] = new AP_RangeFinder_NanoRadar_MR72(state[instance], params[instance], serial_instance++);
}
break;
default:
break;
}

1
libraries/AP_RangeFinder/RangeFinder.h

@ -78,6 +78,7 @@ public: @@ -78,6 +78,7 @@ public:
RangeFinder_TYPE_Lanbao = 26,
RangeFinder_TYPE_BenewakeTF03 = 27,
RangeFinder_InsighticaSerial = 28,
RangeFinder_NanoRadar_MR72 = 29,
};
enum RangeFinder_Function {

Loading…
Cancel
Save