// SMASHR firmware configuration. Board: Seeed Studio XIAO ESP32S3 (any ESP32-S3 works, change the pins).
#pragma once

#define FW_VERSION        "1.0.0"
#define API_HOST          "sendit-button.vercel.app"   // change if you self-host the API
#define API_PORT          443

// Pins (XIAO ESP32S3 silkscreen in brackets)
#define PIN_BUTTON        1    // [D0] microswitch to GND, internal pull-up
#define PIN_LED_DATA      2    // [D1] through 74AHCT125 to the ring's DIN
#define LED_COUNT         24
#define LED_MAX_BRIGHT    160  // of 255. Full white x24 pulls ~1.4 A; this keeps USB happy

// Button timing
#define DEBOUNCE_MS       25
#define SETUP_HOLD_MS     3000   // hold at boot to enter Wi-Fi setup
#define RESET_HOLD_MS     10000  // hold any time to forget Wi-Fi and pairing

// Network timing
#define WIFI_CONNECT_MS   15000
#define HTTP_TIMEOUT_MS   30000  // a press can take a few seconds while the swap confirms
#define HEARTBEAT_MS      60000

// Captive portal
#define AP_PREFIX         "SMASHR-"
#define PORTAL_TIMEOUT_MS 900000 // give up after 15 minutes and reboot

// Set to 1 to allow Arduino IDE uploads over the LAN during development
#define ENABLE_LAN_OTA    0
