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
pins.h File Reference

Single source of truth for every GPIO the turret uses. More...

#include <stdint.h>

Go to the source code of this file.

Functions

constexpr bool pins::check::is_reserved (uint8_t p)
 
constexpr bool pins::check::any_reserved (unsigned i=0)
 
constexpr bool pins::check::on_camera (uint8_t p, unsigned i=0)
 
constexpr bool pins::check::any_on_camera (unsigned i=0)
 
constexpr bool pins::check::any_duplicate (unsigned i=0, unsigned j=1)
 
constexpr bool pins::check::is_adc1 (uint8_t p)
 

Variables

constexpr uint8_t pins::JOYSTICK_X = 32
 
constexpr uint8_t pins::JOYSTICK_Y = 33
 
constexpr uint8_t pins::JOYSTICK_SW = 0
 
constexpr uint8_t pins::SERVO = 14
 
constexpr uint8_t pins::STEPPER_IN1 = 13
 
constexpr uint8_t pins::STEPPER_IN2 = 12
 
constexpr uint8_t pins::STEPPER_IN3 = 15
 
constexpr uint8_t pins::STEPPER_IN4 = 2
 
constexpr int8_t pins::CAM_PWDN = -1
 
constexpr int8_t pins::CAM_RESET = -1
 
constexpr uint8_t pins::CAM_XCLK = 21
 
constexpr uint8_t pins::CAM_SIOD = 26
 
constexpr uint8_t pins::CAM_SIOC = 27
 
constexpr uint8_t pins::CAM_Y9 = 35
 
constexpr uint8_t pins::CAM_Y8 = 34
 
constexpr uint8_t pins::CAM_Y7 = 39
 
constexpr uint8_t pins::CAM_Y6 = 36
 
constexpr uint8_t pins::CAM_Y5 = 19
 
constexpr uint8_t pins::CAM_Y4 = 18
 
constexpr uint8_t pins::CAM_Y3 = 5
 
constexpr uint8_t pins::CAM_Y2 = 4
 
constexpr uint8_t pins::CAM_VSYNC = 25
 
constexpr uint8_t pins::CAM_HREF = 23
 
constexpr uint8_t pins::CAM_PCLK = 22
 
constexpr uint8_t pins::CAMERA []
 
constexpr uint8_t pins::TURRET []
 
constexpr unsigned pins::check::TURRET_COUNT = sizeof(TURRET) / sizeof(TURRET[0])
 
constexpr unsigned pins::check::CAMERA_COUNT = sizeof(CAMERA) / sizeof(CAMERA[0])
 

Detailed Description

Single source of truth for every GPIO the turret uses.

Board: Freenove ESP32-WROVER CAM. With the camera attached only GPIO 0, 2, 12, 13, 14, 15, 32 and 33 are free, and the turret needs all eight. The static_asserts below turn a bad assignment into a build error instead of a board that corrupts PSRAM or refuses to boot.

Variable Documentation

◆ CAMERA

uint8_t pins::CAMERA[]
constexpr
Initial value:
= {CAM_XCLK, CAM_SIOD, CAM_SIOC, CAM_Y9, CAM_Y8, CAM_Y7, CAM_Y6,
CAM_Y5, CAM_Y4, CAM_Y3, CAM_Y2, CAM_VSYNC, CAM_HREF, CAM_PCLK}

◆ TURRET

uint8_t pins::TURRET[]
constexpr
Initial value:
= {JOYSTICK_X, JOYSTICK_Y, JOYSTICK_SW, SERVO,
STEPPER_IN1, STEPPER_IN2, STEPPER_IN3, STEPPER_IN4}