Browse Source

uavcan rangefinder增加rotation

tf-1.12
NageZeng 3 years ago
parent
commit
1000eeb66e
  1. 2
      fmuv3_build.sh
  2. 2
      src/drivers/uavcan/sensors/rangefinder.cpp
  3. 1
      src/drivers/uavcan/sensors/rangefinder.hpp
  4. 19
      src/drivers/uavcan/uavcan_params.c

2
fmuv3_build.sh

@ -6,4 +6,4 @@ date -R @@ -6,4 +6,4 @@ date -R
start_seconds=$(date --date="$starttime" +%s);
end_seconds=$(date --date="$endtime" +%s);
echo "本次运行时间: "$((end_seconds-start_seconds))"s"
cp ./build/px4_fmu-v3_default/px4_fmu-v3_default.px4 /mnt/f/_02-work/100_data/Firmware/px4
cp ./build/px4_fmu-v3_default/px4_fmu-v3_default.px4 /mnt/f/_02-work/100_data/Firmware/px4/px4_fmu-v3_tfiic-12.px4

2
src/drivers/uavcan/sensors/rangefinder.cpp

@ -52,6 +52,7 @@ int UavcanRangefinderBridge::init() @@ -52,6 +52,7 @@ int UavcanRangefinderBridge::init()
// Initialize min/max range from params
param_get(param_find("UAVCAN_RNG_MIN"), &_range_min_m);
param_get(param_find("UAVCAN_RNG_MAX"), &_range_max_m);
param_get(param_find("UAVCAN_RNG_ROT"), &_range_rot);
int res = _sub_range_data.start(RangeCbBinder(this, &UavcanRangefinderBridge::range_sub_cb));
@ -104,6 +105,7 @@ void UavcanRangefinderBridge::range_sub_cb(const @@ -104,6 +105,7 @@ void UavcanRangefinderBridge::range_sub_cb(const
rangefinder->set_fov(msg.field_of_view);
rangefinder->set_min_distance(_range_min_m);
rangefinder->set_max_distance(_range_max_m);
rangefinder->set_orientation((uint8_t)_range_rot);
_inited = true;
}

1
src/drivers/uavcan/sensors/rangefinder.hpp

@ -69,6 +69,7 @@ private: @@ -69,6 +69,7 @@ private:
float _range_min_m{0.0f};
float _range_max_m{0.0f};
int32_t _range_rot{25};
bool _inited{false};

19
src/drivers/uavcan/uavcan_params.c

@ -106,6 +106,25 @@ PARAM_DEFINE_FLOAT(UAVCAN_RNG_MIN, 0.3f); @@ -106,6 +106,25 @@ PARAM_DEFINE_FLOAT(UAVCAN_RNG_MIN, 0.3f);
*/
PARAM_DEFINE_FLOAT(UAVCAN_RNG_MAX, 200.0f);
/**
* UAVCAN rangefinder Rotation
*
* This parameter defines the rotation of the sensor relative to the platform.
*
* @reboot_required true
* @min 0
* @max 25
* @group Sensors
*
* @value 0 ROTATION_FORWARD_FACING
* @value 2 ROTATION_RIGHT_FACING
* @value 4 ROTATION_BACKWARD_FACING
* @value 6 ROTATION_LEFT_FACING
* @value 24 ROTATION_UPWARD_FACING
* @value 25 ROTATION_DOWNWARD_FACING
*/
PARAM_DEFINE_INT32(UAVCAN_RNG_ROT, 25);
/**
* UAVCAN ANTI_COLLISION light operating mode
*

Loading…
Cancel
Save