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
File List
Here is a list of all documented files with brief descriptions:
[detail level 1234]
 ▼ include
 constants.h
 control_status.hRead-only view of the controller state for the HUD and stats line
 move_types.hMovement definitions for the Smart Camera project
 nvs_blob.hOne read sequence for fixed-size blobs in NVS, shared by the calibration and WiFi stores (device only)
 pins.hSingle source of truth for every GPIO the turret uses
 sync.hSmall RAII wrappers for the two locking patterns the firmware uses (device only)
 system_control_types.hOperating modes of the turret system
 track_snapshot.hPlain copies of the tracker output and detection timings, safe to hand across tasks
 ▼ lib
 ▼ aiming
 ▼ include
 aim_map.hMaps a target's image position to turret angles (pure C++20, natively tested)
 aim_policy.hDecides where the turret should point from the tracker state (pure C++20, natively tested)
 button_classifier.hTurns a raw push-button level into Short / Long press events (pure C++20, natively tested)
 calibration_blob.hVersioned, CRC-checked byte layout for saving an AimMap to NVS (pure C++20, natively tested)
 calibration_session.hTwo-point joystick calibration as a state machine (pure C++20, natively tested)
 step_planner.hTrapezoidal velocity planner for the pan stepper, ticked at 1 kHz (pure C++20, natively tested)
 ▼ checksum
 ▼ include
 blob_frame.hShared framing for versioned NVS blobs: magic, body, CRC-32 (pure C++20, natively tested)
 crc32.hShared CRC-32 for versioned NVS blobs (pure C++20, natively tested)
 ▼ control
 ▼ include
 control_logic.hThe controller's decisions: button gestures, HUD requests, modes, calibration and jog arbitration (pure C++20, natively tested)
 ▼ controller
 ▼ include
 cal_store.hPersists the aim calibration (an aiming::AimMap) in NVS
 controller.h
 joystick.h
 ▼ detection
 ▼ include
 base_detection_module.hAbstract interface for object detection logic on ESP32-CAM
 camera.h
 camera_diff_detection.h
 test_detection.h
 ▼ frame_store
 ▼ include
 camera_task.hFreeRTOS task that owns frame capture: driver frame -> checks -> copy into a FrameStore slot -> publish
 frame_store.hThread-safe home for camera frames: FrameSlots bookkeeping + fixed PSRAM buffers, allocated once
 ▼ frames
 ▼ include
 frame_slots.hSlot bookkeeping for camera frames: who may write which slot, and RAII leases for readers
 jpeg_check.hCheap integrity check for camera JPEG frames (pure C++20, no platform headers)
 viewer_set.hWhich stream viewers should receive which frame (pure C++20, natively tested)
 ▼ hud
 ▼ include
 reply_json.hFormats the /commands JSON reply from the tracker snapshot and the controller status (pure C++20, natively tested)
 status_fields.hComputes the pose-derived HUD fields of ControlStatus (pure C++20, natively tested)
 ▼ jpeg_gray
 ▼ include
 jpeg_gray.hDecodes a QVGA camera JPEG at 1/8 scale straight into the 40x30 gray grid the tracker uses
 ▼ motion
 ▼ include
 base_turret.hWhat the controller can ask of the pan/tilt turret. Thread-safe: called from loop(), executed by the motor task
 turret.hPan stepper + tilt servo driven by a dedicated FreeRTOS motor task
 ▼ network
 ▼ include
 commands_handler.h
 handshake_guard.h
 stream_broadcaster.hPushes the latest camera frame to each idle /stream WebSocket viewer (drop-when-busy, low latency)
 turret_server.hWeb server interface for MJPEG streaming and remote command handling
 wifi_http.hHTTP routes of the WiFi setup page and its JSON API
 wifi_manager.hNon-blocking WiFi provisioning: saved networks, setup hotspot, PIN-protected changes
 wifi_store.hNVS persistence for the saved WiFi networks, the PIN record and the setup hotspot password
 ▼ provisioning
 ▼ include
 blobs.hVersioned, CRC-checked byte layouts for the saved networks and the PIN record (pure C++20, no heap)
 choose.hPicks which saved networks to try, given a scan (pure C++20, no heap)
 form.hX-www-form-urlencoded decoding and input validation for the WiFi page (pure C++20, no heap)
 network_list.hFixed-capacity list of saved WiFi networks with recency-based eviction (pure C++20, no heap)
 pin_guard.hPIN storage (salted SHA-256) with constant-time check and escalating lockout (pure C++20, no heap)
 prov_types.hPlain value types shared by the WiFi provisioning logic (pure C++20, no heap)
 sha256.hSHA-256 (FIPS 180-4), pure C++20, no heap
 wifi_plan.hWiFi connection state machine: events in, actions out (pure C++20, no heap)
 ▼ remote
 ▼ include
 log_sanitize.h
 origin_check.h
 remote_command.hParses the HUD's /commands text messages into typed commands (pure C++20, natively tested)
 remote_inbox.hHolds the latest remote command state with a dead-man jog timeout (pure C++20, natively tested)
 ▼ stats
 ▼ include
 windowed_counter.hPer-window deltas of monotonically increasing counters, and the averages/percentages built on them (pure)
 ▼ tracking
 ▼ include
 direction.hMaps a tracked target to a pan/tilt direction relative to the grid centre (pure C++20, header-only)
 motion_detector.hFinds moving regions in 40x30 gray frames with a background model (pure C++20, natively tested)
 tracker.hSingle-target persistent tracker over detector blobs (pure C++20, natively tested)
 tracking_types.hValue types shared by the motion detector and the tracker (pure C++20, natively tested)
 ▼ src
 ▼ pin_check
 pin_check.cppWiring bring-up check. Exercises each turret part on its own, with no camera or WiFi
 telemetry.hPeriodic benchmark stats lines (every 5 s, from loop())