release 0.2

Добавлен модуль диагностически модбас (функция 0x08)

+ мелкие кореркции
This commit is contained in:
2025-11-04 13:05:52 +03:00
parent 423f6c2918
commit bd34ace028
11 changed files with 552 additions and 99 deletions

View File

@@ -1,7 +1,7 @@
/**
******************************************************************************
* @file modbus_devid.c
* @brief Реализация идентификации устройства Modbus
* @brief Реализация идентификаторов устройства Modbus
******************************************************************************
* @details
Модуль обработки запросов идентификации устройства через MEI-тип 0x0E:
@@ -14,9 +14,10 @@
сообщений с установкой флага MoreFollows и указанием NextObjId для
продолжения чтения в следующем запросе.
******************************************************************************/
#include "modbus_devid.h"
MB_DeviceIdentificationTypeDef MB_DEVID; ///< Device Identificatino=
/**
* @brief Write Object of Device Identification to MessageData
@@ -115,6 +116,11 @@ uint8_t MB_Proccess_Read_Device_Identification(RS_MsgTypeDef *modbus_msg)
break;
case MB_EXTENDED_IDENTIFICATION:
if(MODBUS_NUMB_OF_USEROBJECTS <= 0 || MODBUS_NUMB_OF_USEROBJECTS > 128)
{
return 0;
}
if (modbus_msg->DevId.NextObjId == 0)
{
modbus_msg->DevId.NextObjId = 0x80;