Arduino_Modbus/modbus_config.h
Razvalyaev 1c4f4d689a Работает Modbus, проверено на ESP32-S3-Zero
Заготовка для модбас на ИВР
2025-08-29 20:23:34 +03:00

44 lines
2.0 KiB
C

/**
**************************************************************************
* @file interface_config.h
* @brief Конфигурация для модбаса
*************************************************************************/
#include <Arduino.h>
#ifndef _MODBUS_CONFIG_H_
#define _MODBUS_CONFIG_H_
// Включить/выключить debug
#define RS_DEBUG 0 ///< Отладка приема/передачи UART
#define MODBUS_DEBUG 0 ///< Отладка обработки запросов Modbus
#define MODBUS_ERR_DEBUG 1 ///< Отладка ошибок по CAN
// MODBUS PARAMS
#define MODBUS_DEVICE_ID 1 ///< девайс текущего устройства
#define MODBUS_TIMEOUT 5000 ///< максимальнйы тайтаут MB в тиках таймера
// STRING OBJECTS MODBUS
#define MODBUS_VENDOR_NAME "NIO PRIBOR"
#define MODBUS_PRODUCT_CODE ""
#define MODBUS_REVISION "Ver. 1.0"
#define MODBUS_VENDOR_URL ""
#define MODBUS_PRODUCT_NAME ""
#define MODBUS_MODEL_NAME "Arduino"
#define MODBUS_USER_APPLICATION_NAME ""
// PERIPH FUNCTIONS AND HANDLERS
#define rs_huart Serial1 //используемый uart
#define HUART_TypeDef HardwareSerial
/**
* @brief Поменять комманды 0x03 и 0x04 местами (для LabView терминалки от двигателей)
* @details Терминалка от двигателей использует для чтения регистров комманду R_HOLD_REGS вместо R_IN_REGS
* Поэтому чтобы считывать Input Regs - надо поменять их местами.
*/
//#define MODBUS_SWITCH_COMMAND_R_IN_REGS_AND_R_HOLD_REGS
/////////////////////////////////////////////////////////////////////
/////////////////////////---CALC DEFINES---//////////////////////////
#endif //_MODBUS_CONFIG_H_