Files
ch32v203-eth-node/include/config.h
2025-03-02 18:01:37 +06:00

51 lines
1.2 KiB
C

#ifndef CONFIG_H
#define CONFIG_H
#include <stdint.h>
// 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, 1}
#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