Void Sentry
An AI-driven, real-time Sentry Turret platform leveraging asynchronous I/O and computer vision to deliver high-precision autonomous motion tracking on resource-constrained embedded hardware.
Loading...
Searching...
No Matches
base_turret.h
Go to the documentation of this file.
1
6#pragma once
7
8#include "aim_map.h"
9
11{
12public:
13 virtual ~BaseTurret() = default;
15 virtual void set_target_deg(const aiming::Angles& target) = 0;
17 virtual void jog(float pan, float tilt) = 0;
19 virtual void home() = 0;
21 virtual aiming::Angles position_deg() const = 0;
23 virtual float pan_speed() const = 0;
24};
Maps a target's image position to turret angles (pure C++20, natively tested).
Definition base_turret.h:11
virtual void set_target_deg(const aiming::Angles &target)=0
Move to absolute angles (clamped to the soft limits).
virtual float pan_speed() const =0
Current stepper speed, steps/s (signed).
virtual aiming::Angles position_deg() const =0
Current angles (pan from the step counter, tilt as last written to the servo).
virtual void jog(float pan, float tilt)=0
Manual velocity, each axis -1..1 of its max speed; 0,0 stops (with deceleration).
virtual void home()=0
Same as set_target_deg({0, home tilt}).
Turret pose: pan degrees from home (positive = right), tilt servo degrees (larger = up).
Definition aim_map.h:30