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
calibration_session.h
Go to the documentation of this file.
1
9#pragma once
10
11#include "aim_map.h"
12
13#include <cstdint>
14#include <optional>
15
16namespace aiming
17{
18enum class CalState : uint8_t { Idle, WaitPoint1, WaitPoint2, Done, Failed };
19
21{
22public:
24 void start();
26 void cancel();
34 CalState record(float x, float y, Angles at, bool target_visible);
35
36 CalState state() const { return state_; }
37 int points() const { return points_; }
38 std::optional<AimMap> result() const { return result_; }
39 const char* failure() const { return failure_; }
40
41private:
42 CalState state_ = CalState::Idle;
43 int points_ = 0;
44 CalPoint first_;
45 std::optional<AimMap> result_;
46 const char* failure_ = nullptr;
47};
48} // namespace aiming
Maps a target's image position to turret angles (pure C++20, natively tested).
Definition calibration_session.h:21
void cancel()
Returns to Idle from any state and discards points, result and failure.
Definition calibration_session.cpp:13
void start()
Begins a calibration: state WaitPoint1, 0 points, previous result and failure cleared.
Definition calibration_session.cpp:5
CalState record(float x, float y, Angles at, bool target_visible)
Records a calibration point.
Definition calibration_session.cpp:21
Turret pose: pan degrees from home (positive = right), tilt servo degrees (larger = up).
Definition aim_map.h:30
One calibration sample: the target's pixel and the turret angles that pointed at it.
Definition aim_map.h:36