release 0.3
Добавлен master, НО до конца не проверен
This commit is contained in:
@@ -35,6 +35,22 @@ void MB_DiagnosticsInit(void)
|
||||
MB_DIAG.Counters.BusCharacterOverrun = 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Получить данные диагностики из сообщения (DATA[1])
|
||||
* @param modbus_msg Указатель на структуру сообщения
|
||||
* @param data Указатель куда положить данные
|
||||
* @return 1 - успех, 0 - ошибка
|
||||
*/
|
||||
int MB_GetDiagnosticResponse(RS_MsgTypeDef *modbus_msg, uint16_t *data)
|
||||
{
|
||||
if(modbus_msg == NULL || data == NULL)
|
||||
return 0;
|
||||
|
||||
*data = modbus_msg->DATA[1];
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Выставить бит в регистре диагностике
|
||||
* @param bit_num Номер бита для выставления (1-15, 0 бит нельзя выставить)
|
||||
@@ -71,7 +87,7 @@ int MB_Diagnostics_GetBit(int bit_num)
|
||||
* @param modbus_msg Указатель на структуру сообщения modbus
|
||||
* @return fMessageHandled Статус обработки команды
|
||||
*/
|
||||
uint8_t MB_Proccess_Diagnostics(RS_MsgTypeDef *modbus_msg)
|
||||
uint8_t MB_Process_Diagnostics(RS_MsgTypeDef *modbus_msg)
|
||||
{
|
||||
uint16_t sub_function = modbus_msg->DATA[0];
|
||||
uint16_t request_data = modbus_msg->DATA[1];
|
||||
@@ -295,9 +311,10 @@ MB_DeviceModeTypeDef MB_GetDeviceMode(void)
|
||||
#else //MODBUS_ENABLE_DIAGNOSTICS
|
||||
|
||||
void MB_DiagnosticsInit(void) {}
|
||||
int MB_GetDiagnosticResponse(RS_MsgTypeDef *modbus_msg, uint16_t *data) {return 0;}
|
||||
int MB_Diagnostics_WriteBit(int bit_num, int bit_state) {return 0;}
|
||||
int MB_Diagnostics_GetBit(int bit_num) {return 0;}
|
||||
uint8_t MB_Proccess_Diagnostics(RS_MsgTypeDef *modbus_msg) {return 0;}
|
||||
uint8_t MB_Process_Diagnostics(RS_MsgTypeDef *modbus_msg) {return 0;}
|
||||
void MB_Diagnostics_BusMessageCnt(void) {}
|
||||
void MB_Diagnostics_CommunicationErrorCnt(void) {}
|
||||
void MB_Diagnostics_ExceptionErrorCnt(void) {}
|
||||
|
||||
Reference in New Issue
Block a user