#ifndef CONFIG_H #define CONFIG_H #include // debug flags #define DEBUG_MODE 1 // device type definitions typedef enum { DEVICE_RELAY = 1, DEVICE_SOIL_SENSOR = 2, DEVICE_THERMOMETER = 3 } device_type_t; // node configuration typedef struct { const char* id; // Unique identifier for the node const char* name; // Human readable name const char* location; // Optional location description uint8_t mac[6]; // MAC address } node_config_t; // RS485 device configuration typedef struct { uint8_t slave_id; // Modbus slave ID device_type_t type; // Type of device const char* name; // Device name (used in MQTT topics) } rs485_device_t; // Network configuration #define MQTT_SERVER_IP {192, 168, 102, 100} #define MQTT_PORT 1883 // MQTT configuration #define MQTT_KEEP_ALIVE_INTERVAL 60 #define MQTT_TX_BUFFER_SIZE 128 #define MQTT_RX_BUFFER_SIZE 128 #define MQTT_COMMAND_TIMEOUT_MS 1000 // node config declaration extern node_config_t NODE_CONFIG; // RS485 devices configuration #define RS485_DEVICE_COUNT 1 // RS485 devices declaration extern const rs485_device_t RS485_DEVICES[RS485_DEVICE_COUNT]; #endif // CONFIG_H