FreeModBus now builds

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4963 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-07-21 16:18:16 +00:00
parent 1df7b496dd
commit d06e6c83b3
19 changed files with 130 additions and 98 deletions

View File

@ -48,6 +48,10 @@ CSRCS += mb.c
DEPPATH = --dep-path . DEPPATH = --dep-path .
VPATH = . VPATH = .
ifeq ($(WINTOOL),y)
INCDIROPT = -w
endif
include ascii/Make.defs include ascii/Make.defs
include functions/Make.defs include functions/Make.defs
include nuttx/Make.defs include nuttx/Make.defs

View File

@ -33,7 +33,7 @@
# #
############################################################################ ############################################################################
ifeq ($(MB_ASCII_ENABLED),y) ifeq ($(CONFIG_MB_ASCII_ENABLED),y)
CSRCS += mbascii.c CSRCS += mbascii.c

View File

@ -32,17 +32,18 @@
#include <nuttx/config.h> #include <nuttx/config.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <assert.h>
/* ----------------------- Platform includes --------------------------------*/ /* ----------------------- Platform includes --------------------------------*/
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbascii.h" #include <apps/modbus/mbframe.h>
#include "mbframe.h" #include <apps/modbus/mbport.h>
#include "mbascii.h"
#include "mbcrc.h" #include "mbcrc.h"
#include "mbport.h"
#ifdef CONFIG_MB_ASCII_ENABLED #ifdef CONFIG_MB_ASCII_ENABLED
@ -154,7 +155,7 @@ eMBASCIIReceive( UCHAR * pucRcvAddress, UCHAR ** pucFrame, USHORT * pusLength )
eMBErrorCode eStatus = MB_ENOERR; eMBErrorCode eStatus = MB_ENOERR;
ENTER_CRITICAL_SECTION( ); ENTER_CRITICAL_SECTION( );
assert( usRcvBufferPos < MB_SER_PDU_SIZE_MAX ); ASSERT( usRcvBufferPos < MB_SER_PDU_SIZE_MAX );
/* Length and CRC check */ /* Length and CRC check */
if( ( usRcvBufferPos >= MB_SER_PDU_SIZE_MIN ) if( ( usRcvBufferPos >= MB_SER_PDU_SIZE_MIN )
@ -225,7 +226,7 @@ xMBASCIIReceiveFSM( void )
UCHAR ucByte; UCHAR ucByte;
UCHAR ucResult; UCHAR ucResult;
assert( eSndState == STATE_TX_IDLE ); ASSERT( eSndState == STATE_TX_IDLE );
( void )xMBPortSerialGetByte( ( CHAR * ) & ucByte ); ( void )xMBPortSerialGetByte( ( CHAR * ) & ucByte );
switch ( eRcvState ) switch ( eRcvState )
@ -333,7 +334,7 @@ xMBASCIITransmitFSM( void )
BOOL xNeedPoll = FALSE; BOOL xNeedPoll = FALSE;
UCHAR ucByte; UCHAR ucByte;
assert( eRcvState == STATE_RX_IDLE ); ASSERT( eRcvState == STATE_RX_IDLE );
switch ( eSndState ) switch ( eSndState )
{ {
/* Start of transmission. The start of a frame is defined by sending /* Start of transmission. The start of a frame is defined by sending
@ -421,7 +422,7 @@ xMBASCIITimerT1SExpired( void )
break; break;
default: default:
assert( ( eRcvState == STATE_RX_RCV ) || ( eRcvState == STATE_RX_WAIT_EOF ) ); ASSERT( ( eRcvState == STATE_RX_RCV ) || ( eRcvState == STATE_RX_WAIT_EOF ) );
break; break;
} }
vMBPortTimersDisable( ); vMBPortTimersDisable( );
@ -462,7 +463,7 @@ prvucMBBIN2CHAR( UCHAR ucByte )
else else
{ {
/* Programming error. */ /* Programming error. */
assert( 0 ); ASSERT( 0 );
} }
return '0'; return '0';
} }

View File

@ -37,9 +37,9 @@
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbframe.h" #include <apps/modbus/mbframe.h>
#include "mbproto.h" #include <apps/modbus/mbproto.h>
/* ----------------------- Defines ------------------------------------------*/ /* ----------------------- Defines ------------------------------------------*/
#define MB_PDU_FUNC_READ_ADDR_OFF ( MB_PDU_DATA_OFF ) #define MB_PDU_FUNC_READ_ADDR_OFF ( MB_PDU_DATA_OFF )

View File

@ -26,9 +26,9 @@
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbframe.h" #include <apps/modbus/mbframe.h>
#include "mbproto.h" #include <apps/modbus/mbproto.h>
/* ----------------------- Defines ------------------------------------------*/ /* ----------------------- Defines ------------------------------------------*/
#define MB_PDU_FUNC_READ_ADDR_OFF ( MB_PDU_DATA_OFF ) #define MB_PDU_FUNC_READ_ADDR_OFF ( MB_PDU_DATA_OFF )

View File

@ -37,9 +37,9 @@
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbframe.h" #include <apps/modbus/mbframe.h>
#include "mbproto.h" #include <apps/modbus/mbproto.h>
/* ----------------------- Defines ------------------------------------------*/ /* ----------------------- Defines ------------------------------------------*/
#define MB_PDU_FUNC_READ_ADDR_OFF ( MB_PDU_DATA_OFF + 0) #define MB_PDU_FUNC_READ_ADDR_OFF ( MB_PDU_DATA_OFF + 0)

View File

@ -37,9 +37,9 @@
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbframe.h" #include <apps/modbus/mbframe.h>
#include "mbproto.h" #include <apps/modbus/mbproto.h>
/* ----------------------- Defines ------------------------------------------*/ /* ----------------------- Defines ------------------------------------------*/
#define MB_PDU_FUNC_READ_ADDR_OFF ( MB_PDU_DATA_OFF ) #define MB_PDU_FUNC_READ_ADDR_OFF ( MB_PDU_DATA_OFF )

View File

@ -37,9 +37,9 @@
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbframe.h" #include <apps/modbus/mbframe.h>
#include "mbproto.h" #include <apps/modbus/mbproto.h>
#ifdef CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED #ifdef CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED

View File

@ -32,13 +32,14 @@
#include <nuttx/config.h> #include <nuttx/config.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <assert.h>
/* ----------------------- Platform includes --------------------------------*/ /* ----------------------- Platform includes --------------------------------*/
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbproto.h" #include <apps/modbus/mbproto.h>
/* ----------------------- Defines ------------------------------------------*/ /* ----------------------- Defines ------------------------------------------*/
#define BITS_UCHAR 8U #define BITS_UCHAR 8U
@ -54,8 +55,8 @@ xMBUtilSetBits( UCHAR * ucByteBuf, USHORT usBitOffset, UCHAR ucNBits,
USHORT usNPreBits; USHORT usNPreBits;
USHORT usValue = ucValue; USHORT usValue = ucValue;
assert( ucNBits <= 8 ); ASSERT( ucNBits <= 8 );
assert( ( size_t )BITS_UCHAR == sizeof( UCHAR ) * 8 ); ASSERT( ( size_t )BITS_UCHAR == sizeof( UCHAR ) * 8 );
/* Calculate byte offset for first byte containing the bit values starting /* Calculate byte offset for first byte containing the bit values starting
* at usBitOffset. */ * at usBitOffset. */

View File

@ -37,18 +37,21 @@
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbframe.h" #include <apps/modbus/mbframe.h>
#include "mbproto.h" #include <apps/modbus/mbproto.h>
#include "mbfunc.h" #include <apps/modbus/mbfunc.h>
#include <apps/modbus/mbport.h>
#include "mbport.h"
#ifdef CONFIG_MB_RTU_ENABLED #ifdef CONFIG_MB_RTU_ENABLED
#include "mbrtu.h" #include "mbrtu.h"
#endif #endif
#ifdef CONFIG_MB_ASCII_ENABLED #ifdef CONFIG_MB_ASCII_ENABLED
#include "mbascii.h" #include "mbascii.h"
#endif #endif
#ifdef CONFIG_MB_TCP_ENABLED #ifdef CONFIG_MB_TCP_ENABLED
#include "mbtcp.h" #include "mbtcp.h"
#endif #endif

View File

@ -1,6 +1,8 @@
/* /*
* FreeModbus Libary: Linux Port * FreeModbus Libary: NuttX Port
* Copyright (C) 2006 Christian Walter <wolti@sil.at> * Based on the FreeModbus Linux port by:
*
* Copyright (C) 2006 Christian Walter <wolti@sil.at>
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -19,55 +21,63 @@
* File: $Id: port.h,v 1.1 2006/08/01 20:58:49 wolti Exp $ * File: $Id: port.h,v 1.1 2006/08/01 20:58:49 wolti Exp $
*/ */
#ifndef _PORT_H #ifndef __APPS_MODBUS_NUTTX_PORT_H
#define _PORT_H #define __APPS_MODBUS_NUTTX_PORT_H
#include <stdbool.h>
#include <stdint.h>
#include <assert.h> #include <assert.h>
/* ----------------------- Defines ------------------------------------------*/
#define INLINE #define INLINE
#define PR_BEGIN_EXTERN_C extern "C" { #define PR_BEGIN_EXTERN_C extern "C" {
#define PR_END_EXTERN_C } #define PR_END_EXTERN_C }
#ifdef __cplusplus #ifdef __cplusplus
PR_BEGIN_EXTERN_C PR_BEGIN_EXTERN_C
#endif #endif
/* ----------------------- Defines ------------------------------------------*/
#define ENTER_CRITICAL_SECTION( ) vMBPortEnterCritical() #define ENTER_CRITICAL_SECTION( ) vMBPortEnterCritical()
#define EXIT_CRITICAL_SECTION( ) vMBPortExitCritical() #define EXIT_CRITICAL_SECTION( ) vMBPortExitCritical()
#define MB_PORT_HAS_CLOSE 1
#define MB_PORT_HAS_CLOSE 1
#ifndef TRUE #ifndef TRUE
#define TRUE 1 # define TRUE true
#endif #endif
#ifndef FALSE #ifndef FALSE
#define FALSE 0 # define FALSE false
#endif #endif
/* ----------------------- Type definitions ---------------------------------*/ /* ----------------------- Type definitions ---------------------------------*/
typedef enum
typedef enum
{ {
MB_LOG_ERROR = 0, MB_LOG_ERROR = 0,
MB_LOG_WARN = 1, MB_LOG_WARN = 1,
MB_LOG_INFO = 2, MB_LOG_INFO = 2,
MB_LOG_DEBUG = 3 MB_LOG_DEBUG = 3
} eMBPortLogLevel; } eMBPortLogLevel;
typedef char BOOL; typedef bool BOOL;
typedef unsigned char UCHAR; typedef uint8_t UCHAR;
typedef char CHAR; typedef int8_t CHAR;
typedef unsigned short USHORT; typedef uint16_t USHORT;
typedef short SHORT; typedef int16_t SHORT;
typedef uint32_t ULONG;
typedef unsigned long ULONG; typedef int32_t LONG;
typedef long LONG;
/* ----------------------- Function prototypes ------------------------------*/ /* ----------------------- Function prototypes ------------------------------*/
void vMBPortEnterCritical( void ); void vMBPortEnterCritical(void);
void vMBPortExitCritical( void ); void vMBPortExitCritical(void);
void vMBPortLog( eMBPortLogLevel eLevel, const CHAR * szModule, void vMBPortLog(eMBPortLogLevel eLevel, const CHAR * szModule,
const CHAR * szFmt, ... ); const CHAR * szFmt, ...);
void vMBPortTimerPoll( ); void vMBPortTimerPoll(void);
BOOL xMBPortSerialPoll( ); BOOL xMBPortSerialPoll(void);
BOOL xMBPortSerialSetTimeout( ULONG dwTimeoutMs ); BOOL xMBPortSerialSetTimeout(ULONG dwTimeoutMs);
#ifdef __cplusplus #ifdef __cplusplus
PR_END_EXTERN_C PR_END_EXTERN_C

View File

@ -1,6 +1,8 @@
/* /*
* FreeModbus Libary: Linux Port * FreeModbus Libary: NuttX Port
* Copyright (C) 2006 Christian Walter <wolti@sil.at> * Based on the FreeModbus Linux port by:
*
* Copyright (C) 2006 Christian Walter <wolti@sil.at>
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -20,8 +22,8 @@
*/ */
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbport.h" #include <apps/modbus/mbport.h>
/* ----------------------- Variables ----------------------------------------*/ /* ----------------------- Variables ----------------------------------------*/
static eMBEventType eQueuedEvent; static eMBEventType eQueuedEvent;

View File

@ -1,6 +1,8 @@
/* /*
* FreeModbus Libary: Linux Port * FreeModbus Libary: NuttX Port
* Copyright (C) 2006 Christian Walter <wolti@sil.at> * Based on the FreeModbus Linux port by:
*
* Copyright (C) 2006 Christian Walter <wolti@sil.at>
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -31,8 +33,8 @@
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbport.h" #include <apps/modbus/mbport.h>
/* ----------------------- Defines ------------------------------------------*/ /* ----------------------- Defines ------------------------------------------*/
#define NELEMS( x ) ( sizeof( ( x ) )/sizeof( ( x )[0] ) ) #define NELEMS( x ) ( sizeof( ( x ) )/sizeof( ( x )[0] ) )

View File

@ -1,6 +1,8 @@
/* /*
* FreeModbus Libary: Linux Port * FreeModbus Libary: NuttX Port
* Copyright (C) 2006 Christian Walter <wolti@sil.at> * Based on the FreeModbus Linux port by:
*
* Copyright (C) 2006 Christian Walter <wolti@sil.at>
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -31,12 +33,13 @@
#include <fcntl.h> #include <fcntl.h>
#include <termios.h> #include <termios.h>
#include <unistd.h> #include <unistd.h>
#include <assert.h>
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbport.h" #include <apps/modbus/mbport.h>
/* ----------------------- Defines -----------------------------------------*/ /* ----------------------- Defines -----------------------------------------*/
#ifdef CONFIG_MB_ASCII_ENABLED #ifdef CONFIG_MB_ASCII_ENABLED
@ -66,7 +69,7 @@ void
vMBPortSerialEnable( BOOL bEnableRx, BOOL bEnableTx ) vMBPortSerialEnable( BOOL bEnableRx, BOOL bEnableTx )
{ {
/* it is not allowed that both receiver and transmitter are enabled. */ /* it is not allowed that both receiver and transmitter are enabled. */
assert( !bEnableRx || !bEnableTx ); ASSERT( !bEnableRx || !bEnableTx );
if( bEnableRx ) if( bEnableRx )
{ {
@ -336,7 +339,7 @@ xMBPortSerialPoll( )
BOOL BOOL
xMBPortSerialPutByte( CHAR ucByte ) xMBPortSerialPutByte( CHAR ucByte )
{ {
assert( uiTxBufferPos < BUF_SIZE ); ASSERT( uiTxBufferPos < BUF_SIZE );
ucBuffer[uiTxBufferPos] = ucByte; ucBuffer[uiTxBufferPos] = ucByte;
uiTxBufferPos++; uiTxBufferPos++;
return TRUE; return TRUE;
@ -345,7 +348,7 @@ xMBPortSerialPutByte( CHAR ucByte )
BOOL BOOL
xMBPortSerialGetByte( CHAR * pucByte ) xMBPortSerialGetByte( CHAR * pucByte )
{ {
assert( uiRxBufferPos < BUF_SIZE ); ASSERT( uiRxBufferPos < BUF_SIZE );
*pucByte = ucBuffer[uiRxBufferPos]; *pucByte = ucBuffer[uiRxBufferPos];
uiRxBufferPos++; uiRxBufferPos++;
return TRUE; return TRUE;

View File

@ -1,6 +1,8 @@
/* /*
* FreeModbus Libary: Linux Port * FreeModbus Libary: NuttX Port
* Copyright (C) 2006 Christian Walter <wolti@sil.at> * Based on the FreeModbus Linux port by:
*
* Copyright (C) 2006 Christian Walter <wolti@sil.at>
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -21,14 +23,16 @@
/* ----------------------- Standard includes --------------------------------*/ /* ----------------------- Standard includes --------------------------------*/
#include <nuttx/config.h> #include <nuttx/config.h>
#include <stdlib.h>
#include <sys/time.h> #include <sys/time.h>
#include <stdlib.h>
#include <assert.h>
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbport.h" #include <apps/modbus/mbport.h>
/* ----------------------- Defines ------------------------------------------*/ /* ----------------------- Defines ------------------------------------------*/
@ -87,7 +91,7 @@ vMBPortTimersEnable( )
{ {
int res = gettimeofday( &xTimeLast, NULL ); int res = gettimeofday( &xTimeLast, NULL );
assert( res == 0 ); ASSERT( res == 0 );
bTimeoutEnable = TRUE; bTimeoutEnable = TRUE;
} }

View File

@ -33,7 +33,7 @@
# #
############################################################################ ############################################################################
ifeq ($(MB_RTU_ENABLED),y) ifeq ($(CONFIG_MB_RTU_ENABLED),y)
CSRCS += mbcrc.c mbrtu.c CSRCS += mbcrc.c mbrtu.c

View File

@ -32,17 +32,18 @@
#include <nuttx/config.h> #include <nuttx/config.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <assert.h>
/* ----------------------- Platform includes --------------------------------*/ /* ----------------------- Platform includes --------------------------------*/
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbus/mb.h>
#include "mbrtu.h" #include <apps/modbus/mbframe.h>
#include "mbframe.h" #include <apps/modbus/mbport.h>
#include "mbrtu.h"
#include "mbcrc.h" #include "mbcrc.h"
#include "mbport.h"
/* ----------------------- Defines ------------------------------------------*/ /* ----------------------- Defines ------------------------------------------*/
#define MB_SER_PDU_SIZE_MIN 4 /*!< Minimum size of a Modbus RTU frame. */ #define MB_SER_PDU_SIZE_MIN 4 /*!< Minimum size of a Modbus RTU frame. */
@ -155,7 +156,7 @@ eMBRTUReceive( UCHAR * pucRcvAddress, UCHAR ** pucFrame, USHORT * pusLength )
eMBErrorCode eStatus = MB_ENOERR; eMBErrorCode eStatus = MB_ENOERR;
ENTER_CRITICAL_SECTION( ); ENTER_CRITICAL_SECTION( );
assert( usRcvBufferPos < MB_SER_PDU_SIZE_MAX ); ASSERT( usRcvBufferPos < MB_SER_PDU_SIZE_MAX );
/* Length and CRC check */ /* Length and CRC check */
if( ( usRcvBufferPos >= MB_SER_PDU_SIZE_MIN ) if( ( usRcvBufferPos >= MB_SER_PDU_SIZE_MIN )
@ -229,7 +230,7 @@ xMBRTUReceiveFSM( void )
BOOL xTaskNeedSwitch = FALSE; BOOL xTaskNeedSwitch = FALSE;
UCHAR ucByte; UCHAR ucByte;
assert( eSndState == STATE_TX_IDLE ); ASSERT( eSndState == STATE_TX_IDLE );
/* Always read the character. */ /* Always read the character. */
( void )xMBPortSerialGetByte( ( CHAR * ) & ucByte ); ( void )xMBPortSerialGetByte( ( CHAR * ) & ucByte );
@ -288,7 +289,7 @@ xMBRTUTransmitFSM( void )
{ {
BOOL xNeedPoll = FALSE; BOOL xNeedPoll = FALSE;
assert( eRcvState == STATE_RX_IDLE ); ASSERT( eRcvState == STATE_RX_IDLE );
switch ( eSndState ) switch ( eSndState )
{ {
@ -345,7 +346,7 @@ xMBRTUTimerT35Expired( void )
/* Function called in an illegal state. */ /* Function called in an illegal state. */
default: default:
assert( ( eRcvState == STATE_RX_INIT ) || ASSERT( ( eRcvState == STATE_RX_INIT ) ||
( eRcvState == STATE_RX_RCV ) || ( eRcvState == STATE_RX_ERROR ) ); ( eRcvState == STATE_RX_RCV ) || ( eRcvState == STATE_RX_ERROR ) );
} }

View File

@ -33,7 +33,7 @@
# #
############################################################################ ############################################################################
ifeq ($(MB_TCP_ENABLED),y) ifeq ($(CONFIG_MB_TCP_ENABLED),y)
CSRCS += mbtcp.c CSRCS += mbtcp.c

View File

@ -37,10 +37,11 @@
#include "port.h" #include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/ /* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h" #include <apps/modbusmb.h>
#include <apps/modbusmbframe.h>
#include <apps/modbusmbport.h>
#include "mbtcp.h" #include "mbtcp.h"
#include "mbframe.h"
#include "mbport.h"
#ifdef CONFIG_MB_TCP_ENABLED #ifdef CONFIG_MB_TCP_ENABLED