Browse Source

ArduSub: support *10 multipler when storing/retrieving radius in NAV_LOITER_TURNS

c421
Peter Barker 3 years ago committed by Randy Mackay
parent
commit
6634b0926e
  1. 5
      ArduSub/commands_logic.cpp

5
ArduSub/commands_logic.cpp

@ -353,7 +353,10 @@ void Sub::do_circle(const AP_Mission::Mission_Command& cmd)
} }
// calculate radius // calculate radius
uint8_t circle_radius_m = HIGHBYTE(cmd.p1); // circle radius held in high byte of p1 uint16_t circle_radius_m = HIGHBYTE(cmd.p1); // circle radius held in high byte of p1
if (cmd.type_specific_bits & (1U << 0)) {
circle_radius_m *= 10;
}
// move to edge of circle (verify_circle) will ensure we begin circling once we reach the edge // move to edge of circle (verify_circle) will ensure we begin circling once we reach the edge
auto_circle_movetoedge_start(circle_center, circle_radius_m); auto_circle_movetoedge_start(circle_center, circle_radius_m);

Loading…
Cancel
Save