2 changed files with 33 additions and 42 deletions
@ -1,42 +0,0 @@
@@ -1,42 +0,0 @@
|
||||
#include "Tracker.h" |
||||
|
||||
/*
|
||||
* Scan control mode |
||||
*/ |
||||
|
||||
/*
|
||||
* update_scan - runs the scan controller |
||||
* called at 50hz while control mode is 'SCAN' |
||||
*/ |
||||
void Mode::update_scan(void) |
||||
{ |
||||
struct Tracker::NavStatus &nav_status = tracker.nav_status; |
||||
|
||||
Parameters &g = tracker.g; |
||||
|
||||
if (!nav_status.manual_control_yaw) { |
||||
float yaw_delta = g.scan_speed_yaw * 0.02f; |
||||
nav_status.bearing += yaw_delta * (nav_status.scan_reverse_yaw?-1:1); |
||||
if (nav_status.bearing < 0 && nav_status.scan_reverse_yaw) { |
||||
nav_status.scan_reverse_yaw = false; |
||||
} |
||||
if (nav_status.bearing > 360 && !nav_status.scan_reverse_yaw) { |
||||
nav_status.scan_reverse_yaw = true; |
||||
} |
||||
nav_status.bearing = constrain_float(nav_status.bearing, 0, 360); |
||||
} |
||||
|
||||
if (!nav_status.manual_control_pitch) { |
||||
float pitch_delta = g.scan_speed_pitch * 0.02f; |
||||
nav_status.pitch += pitch_delta * (nav_status.scan_reverse_pitch?-1:1); |
||||
if (nav_status.pitch < g.pitch_min && nav_status.scan_reverse_pitch) { |
||||
nav_status.scan_reverse_pitch = false; |
||||
} |
||||
if (nav_status.pitch > g.pitch_max && !nav_status.scan_reverse_pitch) { |
||||
nav_status.scan_reverse_pitch = true; |
||||
} |
||||
nav_status.pitch = constrain_float(nav_status.pitch, -g.pitch_min, g.pitch_max); |
||||
} |
||||
|
||||
update_auto(); |
||||
} |
Loading…
Reference in new issue