#pragma once // ── WiFi credentials (set via build flags or edit here) ────────── #ifndef WIFI_SSID #define WIFI_SSID "YOUR_SSID" #endif #ifndef WIFI_PASS #define WIFI_PASS "YOUR_PASS" #endif // ── Pin assignments ────────────────────────────────────────────── #define THETA_STEP_PIN 25 #define THETA_DIR_PIN 26 #define THETA_EN_PIN 27 #define PHI_STEP_PIN 32 #define PHI_DIR_PIN 33 #define PHI_EN_PIN 14 // ── TMC2209 UART ───────────────────────────────────────────────── #define TMC_RX_PIN 16 #define TMC_TX_PIN 17 #define THETA_TMC_ADDR 0 #define PHI_TMC_ADDR 1 #define TMC_R_SENSE 0.11f // sense resistor value (ohms) #define TMC_RMS_CURRENT 800 // motor current in mA // ── Motor constants ────────────────────────────────────────────── #define STEPS_PER_REV 200 #define DEFAULT_MICROSTEPS 16 // 0.1125 deg per microstep // Steps per degree = STEPS_PER_REV * MICROSTEPS / 360.0 // At 16 microsteps: 200 * 16 / 360 = 8.888... // ── Motion defaults ────────────────────────────────────────────── #define DEFAULT_MAX_SPEED 2000.0f // steps/sec (~225 deg/sec) #define DEFAULT_ACCEL 1000.0f // steps/sec^2 (~112 deg/sec^2) #define SETTLE_MS 200 // ms after move before measurement // ── Homing ─────────────────────────────────────────────────────── #define HOME_SPEED 500.0f // steps/sec (slower for stall detect) #define STALL_THRESHOLD 50 // TMC2209 StallGuard threshold (tune per setup) #define HOME_BACKOFF_STEPS 100 // steps to back off after stall detection // ── Safety ─────────────────────────────────────────────────────── #define IDLE_DISABLE_MS 30000 // disable motors after 30s idle #define WATCHDOG_TIMEOUT_S 60 // WDT reset if no command while moving // ── mDNS ───────────────────────────────────────────────────────── #define MDNS_HOSTNAME "positioner"