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 @@
#include "AP_Proximity_LightWareSF40C_v09.h" #include "AP_Proximity_LightWareSF40C_v09.h"
#include "AP_Proximity_RPLidarA2.h" #include "AP_Proximity_RPLidarA2.h"
#include "AP_Proximity_TeraRangerTower.h" #include "AP_Proximity_TeraRangerTower.h"
#include "AP_Proximity_NanaRadar_MR72.h"
#include "AP_Proximity_TeraRangerTowerEvo.h" #include "AP_Proximity_TeraRangerTowerEvo.h"
#include "AP_Proximity_RangeFinder.h" #include "AP_Proximity_RangeFinder.h"
#include "AP_Proximity_MAV.h" #include "AP_Proximity_MAV.h"
@ -307,6 +308,14 @@ void AP_Proximity::detect_instance(uint8_t instance)
return; return;
} }
break; 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: case Type::TRTOWEREVO:
if (AP_Proximity_TeraRangerTowerEvo::detect()) { if (AP_Proximity_TeraRangerTowerEvo::detect()) {
state[instance].instance = instance; state[instance].instance = instance;

1
libraries/AP_Proximity/AP_Proximity.h

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

6
libraries/AP_RangeFinder/RangeFinder.cpp

@ -19,6 +19,7 @@
#include "AP_RangeFinder_MaxsonarI2CXL.h" #include "AP_RangeFinder_MaxsonarI2CXL.h"
#include "AP_RangeFinder_MaxsonarSerialLV.h" #include "AP_RangeFinder_MaxsonarSerialLV.h"
#include "AP_RangeFinder_insighticaSerial.h" #include "AP_RangeFinder_insighticaSerial.h"
#include "AP_RangeFinder_NanoRadar_MR72.h"
#include "AP_RangeFinder_BBB_PRU.h" #include "AP_RangeFinder_BBB_PRU.h"
#include "AP_RangeFinder_LightWareI2C.h" #include "AP_RangeFinder_LightWareI2C.h"
#include "AP_RangeFinder_LightWareSerial.h" #include "AP_RangeFinder_LightWareSerial.h"
@ -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++); drivers[instance] = new AP_RangeFinder_insighticaSerial(state[instance], params[instance], serial_instance++);
} }
break; 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: default:
break; break;
} }

1
libraries/AP_RangeFinder/RangeFinder.h

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

Loading…
Cancel
Save