Arduino_Modbus/modbus_config.h

52 lines
2.2 KiB
C

/**
**************************************************************************
* @file interface_config.h
* @brief Конфигурация для модбаса
*************************************************************************/
#include <Arduino.h>
#ifndef _MODBUS_CONFIG_H_
#define _MODBUS_CONFIG_H_
#define RS_IN_RTOS 20 ///< значение - период таска
// Включить/выключить debug
#define RS_DEBUG 1 ///< Отладка приема/передачи UART
#define MODBUS_DEBUG 1 ///< Отладка обработки запросов Modbus
#define MODBUS_ERR_DEBUG 1 ///< Отладка ошибок по CAN
// MODBUS PARAMS
#define MODBUS_DEVICE_ID 1 ///< девайс текущего устройства
#define MODBUS_TIMEOUT 5000 ///< максимальнйы тайтаут MB в мс
// PERIPH FUNCTIONS AND HANDLERS
#define HUART_TypeDef HardwareSerial
#define rs_huart Serial2 //используемый uart1`
#define MODBUS_SPEED 115200
#define MODBUS_RX_PIN 8
#define MODBUS_TX_PIN 9
// 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 ""
/**
* @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_