Добавление совместимости с старым API

This commit is contained in:
2025-11-06 22:37:51 +03:00
parent d136394d23
commit c5c9ed7ab2
9 changed files with 70 additions and 11 deletions

View File

@@ -5,17 +5,64 @@
******************************************************************************* *******************************************************************************
* @details Файл содержит API старых функций, а также заглушки для отключенных модулей: * @details Файл содержит API старых функций, а также заглушки для отключенных модулей:
******************************************************************************/ ******************************************************************************/
#ifndef __MODBUS_COMPAT_H_
#define __MODBUS_COMPAT_H_
#include "modbus_core.h" #include "modbus_core.h"
#define CREATE_DEPRECATED_ALIAS(old_name, new_name, type) \
__attribute__((deprecated("Use " #new_name " instead"))) \
static const type old_name = new_name;
// Для функций
#define CREATE_DEPRECATED_FUNCTION(old_name, new_name, return_type, ...) \
__attribute__((deprecated("Use " #new_name " instead"))) \
return_type old_name(__VA_ARGS__) { \
return new_name(__VA_ARGS__); \
}
/** @addtogroup MODBUS_LEGACY_API Legacy API /** @addtogroup MODBUS_LEGACY_API Legacy API
* @ingroup MODBUS_FUNCTIONS * @ingroup MODBUS_FUNCTIONS
* @brief Старые API функций, сохранённые для обратной совместимости. * @brief Старые API функций, сохранённые для обратной совместимости.
* @note Не используйте эти функции в новом коде. Они могут быть удалены в будущих версиях. * @note Не используйте эти функции в новом коде. Они будут удалены в будущих версиях.
* Вместо них используйте функции из основных групп MODBUS API. * Вместо них используйте актуальные API, приведенные в втором столбце.
* @{ * @{
*/ */
// Устаревшие enum //Старый замените на // Новый
// | // |
// v // v
CREATE_DEPRECATED_ALIAS(NO_ERRORS, ET_NO_ERRORS, MB_ExceptionTypeDef);
CREATE_DEPRECATED_ALIAS(ILLEGAL_FUNCTION, ET_ILLEGAL_FUNCTION, MB_ExceptionTypeDef);
CREATE_DEPRECATED_ALIAS(ILLEGAL_DATA_ADDRESS, ET_ILLEGAL_DATA_ADDRESS, MB_ExceptionTypeDef);
CREATE_DEPRECATED_ALIAS(ILLEGAL_DATA_VALUE, ET_ILLEGAL_DATA_VALUE, MB_ExceptionTypeDef);
CREATE_DEPRECATED_ALIAS(SLAVE_DEVICE_FAILURE, ET_SLAVE_DEVICE_FAILURE, MB_ExceptionTypeDef);
CREATE_DEPRECATED_ALIAS(MB_R_COILS, FC_R_COILS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_R_DISC_IN, FC_R_DISC_IN, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_R_HOLD_REGS, FC_R_HOLD_REGS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_R_IN_REGS, FC_R_IN_REGS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_W_COIL, FC_W_COIL, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_W_HOLD_REG, FC_W_HOLD_REG, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_W_COILS, FC_W_COILS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_W_HOLD_REGS, FC_W_HOLD_REGS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_R_DIAGNOSTICS, FC_R_DIAGNOSTICS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_R_DEVICE_ID, FC_R_DEVICE_ID, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_R_COILS, FC_ERR_R_COILS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_R_DISC_IN, FC_ERR_R_DISC_IN, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_R_IN_REGS, FC_ERR_R_IN_REGS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_R_HOLD_REGS, FC_ERR_R_HOLD_REGS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_W_COIL, FC_ERR_W_COIL, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_W_HOLD_REG, FC_ERR_W_HOLD_REG, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_W_COILS, FC_ERR_W_COILS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_W_HOLD_REGS, FC_ERR_W_HOLD_REGS, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_R_DIAGNOSTIC, FC_ERR_R_DIAGNOSTIC, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_ERR_R_DEVICE_INFO, FC_ERR_R_DEVICE_INFO, MB_FunctonTypeDef);
CREATE_DEPRECATED_ALIAS(MB_BASIC_IDENTIFICATIONS, RID_BASIC_IDENTIFICATIONS, MB_ReadDevId);
CREATE_DEPRECATED_ALIAS(MB_REGULAR_IDENTIFICATIONS, RID_REGULAR_IDENTIFICATIONS, MB_ReadDevId);
CREATE_DEPRECATED_ALIAS(MB_EXTENDED_IDENTIFICATIONS, RID_EXTENDED_IDENTIFICATIONS, MB_ReadDevId);
CREATE_DEPRECATED_ALIAS(MB_SPEDIFIC_IDENTIFICATIONS, RID_SPEDIFIC_IDENTIFICATIONS, MB_ReadDevId);
/** MODBUS_LEGACY_API /** MODBUS_LEGACY_API
@@ -114,5 +161,5 @@
#define MB_Slave_Collect_Message(hmodbus, modbus_msg, modbus_uart_buff) RS_ERR #define MB_Slave_Collect_Message(hmodbus, modbus_msg, modbus_uart_buff) RS_ERR
#define MB_Slave_Parse_Message(hmodbus, modbus_msg, modbus_uart_buff) RS_ERR #define MB_Slave_Parse_Message(hmodbus, modbus_msg, modbus_uart_buff) RS_ERR
#endif #endif
/** @endcond */ /** @endcond */
#endif //__MODBUS_COMPAT_H_

View File

@@ -30,6 +30,7 @@ Coils упакованы в 16-битные слова для эффективн
#ifndef __MODBUS_COILS_H_ #ifndef __MODBUS_COILS_H_
#define __MODBUS_COILS_H_ #define __MODBUS_COILS_H_
#include "modbus_core.h" #include "modbus_core.h"
#ifdef MODBUS_ENABLE_COILS
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
////////////////////---MODBUS FUNCTION DEFINES---//////////////////// ////////////////////---MODBUS FUNCTION DEFINES---////////////////////
@@ -118,5 +119,5 @@ uint8_t MB_Process_Write_Miltuple_Coils(RS_MsgTypeDef *modbus_msg);
* @} * @}
*/ */
/////////////////////////---FUNCTIONS---///////////////////////////// /////////////////////////---FUNCTIONS---/////////////////////////////
#endif //MODBUS_ENABLE_COILS
#endif //__MODBUS_COILS_H_ #endif //__MODBUS_COILS_H_

View File

@@ -29,7 +29,6 @@
#include "modbus_config.h" #include "modbus_config.h"
#include "modbus_data.h" #include "modbus_data.h"
#include "__crc_algs.h" #include "__crc_algs.h"
#include "__modbus_compat.h"
/** /**
* @addtogroup MODBUS_MESSAGE_DEFINES Modbus Message Tools * @addtogroup MODBUS_MESSAGE_DEFINES Modbus Message Tools
@@ -306,10 +305,10 @@ MB_ExceptionTypeDef MB_DefineCoilsAddress(uint16_t **pCoils, uint16_t Addr, uint
* @} * @}
*/ */
/////////////////////////---FUNCTIONS---///////////////////////////// /////////////////////////---FUNCTIONS---/////////////////////////////
#include "__modbus_compat.h"
#endif //__MODBUS_CORE_H_ #endif //__MODBUS_CORE_H_
/** MODBUS_INTERNAL /** MODBUS_INTERNAL
* @} * @}
*/ */

View File

@@ -22,6 +22,7 @@
#ifndef __MODBUS_DEVID_H_ #ifndef __MODBUS_DEVID_H_
#define __MODBUS_DEVID_H_ #define __MODBUS_DEVID_H_
#include "modbus_core.h" #include "modbus_core.h"
#ifdef MODBUS_ENABLE_DEVICE_IDENTIFICATIONS
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
@@ -119,5 +120,6 @@ uint8_t MB_Process_Read_Device_Identifications(RS_MsgTypeDef *modbus_msg);
*/ */
/////////////////////////---FUNCTIONS---///////////////////////////// /////////////////////////---FUNCTIONS---/////////////////////////////
#endif //MODBUS_ENABLE_DEVICE_IDENTIFICATIONS
#endif //__MODBUS_DEVID_H_ #endif //__MODBUS_DEVID_H_

View File

@@ -17,6 +17,7 @@
#ifndef __MODBUS_DIAG_H_ #ifndef __MODBUS_DIAG_H_
#define __MODBUS_DIAG_H_ #define __MODBUS_DIAG_H_
#include "modbus_core.h" #include "modbus_core.h"
#ifdef MODBUS_ENABLE_DIAGNOSTICS
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
/////////////////---DEVICE DIAGNOSTICS DEFINES---//////////////////// /////////////////---DEVICE DIAGNOSTICS DEFINES---////////////////////
@@ -116,6 +117,7 @@ uint8_t MB_Process_Diagnostics(RS_MsgTypeDef *modbus_msg);
/////////////////////////---FUNCTIONS---///////////////////////////// /////////////////////////---FUNCTIONS---/////////////////////////////
#endif //MODBUS_ENABLE_DIAGNOSTICS
#endif //__MODBUS_DIAG_H_ #endif //__MODBUS_DIAG_H_
/** MODBUS_DIAG /** MODBUS_DIAG

View File

@@ -23,6 +23,7 @@
#ifndef __MODBUS_HOLDREGS_H_ #ifndef __MODBUS_HOLDREGS_H_
#define __MODBUS_HOLDREGS_H_ #define __MODBUS_HOLDREGS_H_
#include "modbus_core.h" #include "modbus_core.h"
#ifdef MODBUS_ENABLE_HOLDINGS
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
/////////////////////////---FUNCTIONS---///////////////////////////// /////////////////////////---FUNCTIONS---/////////////////////////////
@@ -59,4 +60,5 @@ uint8_t MB_Process_Write_Miltuple_Regs(RS_MsgTypeDef *modbus_msg);
*/ */
/////////////////////////---FUNCTIONS---///////////////////////////// /////////////////////////---FUNCTIONS---/////////////////////////////
#endif //MODBUS_ENABLE_HOLDINGS
#endif //__MODBUS_HOLDREGS_H_ #endif //__MODBUS_HOLDREGS_H_

View File

@@ -21,6 +21,7 @@
#ifndef __MODBUS_INPUTREGS_H_ #ifndef __MODBUS_INPUTREGS_H_
#define __MODBUS_INPUTREGS_H_ #define __MODBUS_INPUTREGS_H_
#include "modbus_core.h" #include "modbus_core.h"
#ifdef MODBUS_ENABLE_INPUTS
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
/////////////////////////---FUNCTIONS---///////////////////////////// /////////////////////////---FUNCTIONS---/////////////////////////////
@@ -54,4 +55,5 @@ uint8_t MB_Process_Read_Input_Regs(RS_MsgTypeDef *modbus_msg);
*/ */
/////////////////////////---FUNCTIONS---///////////////////////////// /////////////////////////---FUNCTIONS---/////////////////////////////
#endif //MODBUS_ENABLE_INPUTS
#endif //__MODBUS_INPUTREGS_H_ #endif //__MODBUS_INPUTREGS_H_

View File

@@ -11,9 +11,9 @@
Модуль реализации Modbus в режиме мастер Модуль реализации Modbus в режиме мастер
******************************************************************************/ ******************************************************************************/
#ifndef __MODBUS_MASTER_H_ #ifndef __MODBUS_MASTER_H_
#define __MODBUS_MASTER_H_ #define __MODBUS_MASTER_H_
#include "rs_message.h" #include "rs_message.h"
#ifdef MODBUS_ENABLE_MASTER
/** /**
* @addtogroup MODBUS_REQUEST_MSG API for Master Requests * @addtogroup MODBUS_REQUEST_MSG API for Master Requests
@@ -228,4 +228,5 @@ RS_StatusTypeDef MB_Master_Parse_Message(RS_HandleTypeDef *hmodbus, RS_MsgTypeDe
* @} * @}
*/ */
#endif //MODBUS_ENABLE_MASTER
#endif //__MODBUS_MASTER_H_ #endif //__MODBUS_MASTER_H_

View File

@@ -11,9 +11,9 @@
Модуль реализации Modbus в режиме слейв Модуль реализации Modbus в режиме слейв
******************************************************************************/ ******************************************************************************/
#ifndef __MODBUS_SLAVE_H_ #ifndef __MODBUS_SLAVE_H_
#define __MODBUS_SLAVE_H_ #define __MODBUS_SLAVE_H_
#include "rs_message.h" #include "rs_message.h"
#ifdef MODBUS_ENABLE_SLAVE
/** /**
@@ -31,4 +31,7 @@ RS_StatusTypeDef MB_Slave_Parse_Message(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef
/** MODBUS_SLAVE /** MODBUS_SLAVE
* @} * @}
*/ */
#endif //MODBUS_ENABLE_SLAVE
#endif //__MODBUS_SLAVE_H_ #endif //__MODBUS_SLAVE_H_