#ifndef TAG_CONFIG_H
#define TAG_CONFIG_H

// Tag-specific configurations
#define MAX_PEER_DEVICES MAX_ANCHORS
#define PEER_DEVICE_TYPE "Anchor"
#define PEER_PREFIX "A"
#define STATUS_PREFIX "Anchors:"
#define WAITING_MESSAGE "Searching..."
#define SEARCHING_MESSAGE "for anchors..."

// UWB Capacity Settings for Tag
#define CAPACITY_TAGS 10
#define CAPACITY_TIMESLOT 10
#define CAPACITY_EXT_MODE 1

// Tag-specific behavior flags
#define ENABLE_ANCHOR_TRACKING true
#define ENABLE_USB_DATA_STREAMING true
#define ENABLE_COORDINATE_COLLECTION true
#define ENABLE_REAL_TIME_POSITIONING true

// Anchor Connection Management
#define ANCHOR_SWITCH_THRESHOLD -80        // RSSI threshold for anchor switching
#define MIN_ANCHORS_FOR_POSITION 3         // Minimum anchors for position calculation
#define ANCHOR_SELECTION_INTERVAL 5000     // 5s interval for anchor selection review
#define CONNECTION_STABILITY_TIME 10000    // 10s stable connection before switching

// Data Streaming Settings
#define USB_STREAM_INTERVAL 100            // 100ms USB data streaming interval
#define STREAM_RAW_DISTANCES true          // Stream raw distance measurements
#define STREAM_ANCHOR_POSITIONS true       // Stream collected anchor coordinates
#define STREAM_CALCULATED_POSITION true    // Stream tag's calculated position

// Coordinate Collection
#define POSITION_REQUEST_INTERVAL 30000    // 30s interval to request anchor positions
#define COORDINATE_CACHE_TIMEOUT 300000    // 5min timeout for cached anchor positions
#define MAX_POSITION_REQUEST_RETRIES 3     // Retry attempts for position requests

// Position Calculation
#define POSITION_SMOOTHING_FACTOR 0.3      // Low-pass filter for position smoothing
#define ENABLE_POSITION_PREDICTION true    // Predict position during anchor handoffs
#define MAX_POSITION_JUMP 5.0              // Max allowed position jump in meters

#endif // TAG_CONFIG_H