diff --git a/fmuv3_build.sh b/fmuv3_build.sh index 43101fc714..b49aaa877e 100755 --- a/fmuv3_build.sh +++ b/fmuv3_build.sh @@ -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 diff --git a/src/drivers/uavcan/sensors/rangefinder.cpp b/src/drivers/uavcan/sensors/rangefinder.cpp index cff084292c..bb8884db71 100644 --- a/src/drivers/uavcan/sensors/rangefinder.cpp +++ b/src/drivers/uavcan/sensors/rangefinder.cpp @@ -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 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; } diff --git a/src/drivers/uavcan/sensors/rangefinder.hpp b/src/drivers/uavcan/sensors/rangefinder.hpp index 470d23c8af..353ad0d366 100644 --- a/src/drivers/uavcan/sensors/rangefinder.hpp +++ b/src/drivers/uavcan/sensors/rangefinder.hpp @@ -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}; diff --git a/src/drivers/uavcan/uavcan_params.c b/src/drivers/uavcan/uavcan_params.c index 1d5c0edf0b..4e9f5404fe 100644 --- a/src/drivers/uavcan/uavcan_params.c +++ b/src/drivers/uavcan/uavcan_params.c @@ -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 *