9
0
Fork 0

Add FreeModBus to NuttX build system

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4962 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2012-07-21 15:33:53 +00:00
parent 38d97ff0b8
commit ca04e580bc
12 changed files with 529 additions and 15 deletions

View File

@ -49,7 +49,7 @@ APPDIR = ${shell pwd}
# list can be extended by the .config file as well
CONFIGURED_APPS =
SUBDIRS = examples graphics interpreters namedapp nshlib netutils system vsn
SUBDIRS = examples graphics interpreters modbus namedapp nshlib netutils system vsn
# There are two different mechanisms for obtaining the list of configured
# directories:
@ -73,6 +73,7 @@ ifeq ($(CONFIG_NUTTX_NEWCONFIG),y)
include examples/Make.defs
include graphics/Make.defs
include interpreters/Make.defs
include modbus/Make.defs
include namedapp/Make.defs
include netutils/Make.defs
include nshlib/Make.defs

View File

@ -5,6 +5,10 @@
comment "FreeModbus"
config MODBUS
bool "Modbus support via FreeModBus"
default n
config MB_ASCII_ENABLED
bool "Modbus ASCII support"
depends on MODBUS

40
apps/modbus/Make.defs Normal file
View File

@ -0,0 +1,40 @@
############################################################################
# apps/modbus/Make.defs
# Adds selected applications to apps/ build
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
if ($(CONFIG_MODBUS),y)
CONFIGURED_APPS += modbus
endif

112
apps/modbus/Makefile Normal file
View File

@ -0,0 +1,112 @@
############################################################################
# apps/modbus/Makefile
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
-include $(TOPDIR)/.config
-include $(TOPDIR)/Make.defs
include $(APPDIR)/Make.defs
# FreeModBus Library
ASRCS =
CSRCS =
ifeq ($(CONFIG_MODBUS),y)
CSRCS += mb.c
DEPPATH = --dep-path .
VPATH = .
include ascii/Make.defs
include functions/Make.defs
include nuttx/Make.defs
include rtu/Make.defs
include tcp/Make.defs
endif
AOBJS = $(ASRCS:.S=$(OBJEXT))
COBJS = $(CSRCS:.c=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS)
OBJS = $(AOBJS) $(COBJS)
ifeq ($(WINTOOL),y)
BIN = "${shell cygpath -w $(APPDIR)/libapps$(LIBEXT)}"
else
BIN = "$(APPDIR)/libapps$(LIBEXT)"
endif
# Build targets
all: .built
.PHONY: context .depend depend clean distclean
ifeq ($(CONFIG_MODBUS),y)
$(AOBJS): %$(OBJEXT): %.S
$(call ASSEMBLE, $<, $@)
$(COBJS): %$(OBJEXT): %.c
$(call COMPILE, $<, $@)
endif
.built: $(OBJS)
ifeq ($(CONFIG_MODBUS),y)
@( for obj in $(OBJS) ; do \
$(call ARCHIVE, $(BIN), $${obj}); \
done ; )
@touch .built
endif
context:
.depend: Makefile $(SRCS)
ifeq ($(CONFIG_MODBUS),y)
@$(MKDEP) $(DEPPATH) \
$(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
@touch $@
endif
depend: .depend
clean:
@rm -f *.o *~ .*.swp .built
$(call CLEAN)
distclean: clean
@rm -f Make.dep .depend
-include Make.dep

View File

@ -56,6 +56,7 @@ was integrated into the NuttX configuration system.
The NuttX-named configuration options that are available include:
CONFIG_MODBUS - General ModBus support
CONFIG_MB_ASCII_ENABLED - Modbus ASCII support
CONFIG_MB_RTU_ENABLED - Modbus RTU support
CONFIG_MB_TCP_ENABLED - Modbus TCP support
@ -70,25 +71,36 @@ The NuttX-named configuration options that are available include:
required because some targets are so fast that there is no time between
receiving and transmitting the frame. If the master is to slow with
enabling its receiver then he will not receive the response correctly.
CONFIG_MB_FUNC_HANDLERS_MAX - Maximum number of Modbus functions codes the
protocol stack should support. The maximum number of supported Modbus
functions must be greater than the sum of all enabled functions in this
file and custom function handlers. If set to small adding more functions
will fail.
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_BUF - Number of bytes which should be allocated for the Report Slave ID command. This number limits the maximum size of the additional segment in the report slave id function. See eMBSetSlaveID() for more information on how to set this value. It is only used if CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED is set to 1.
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED - If the Report Slave ID function should be enabled.
CONFIG_MB_FUNC_READ_INPUT_ENABLED - If the Read Input Registers function should be enabled.
CONFIG_MB_FUNC_READ_HOLDING_ENABLED - If the Read Holding Registers function should be enabled.
CONFIG_MB_FUNC_WRITE_HOLDING_ENABLED - If the Write Single Register function should be enabled.
CONFIG_MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED - If the Write Multiple registers function should be enabled.
CONFIG_MB_FUNC_READ_COILS_ENABLED - If the Read Coils function should be enabled.
CONFIG_MB_FUNC_WRITE_COIL_ENABLED - If the Write Coils function should be enabled.
CONFIG_MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED - If the Write Multiple Coils function should be enabled.
CONFIG_MB_FUNC_READ_DISCRETE_INPUTS_ENABLED - If the Read Discrete Inputs function should be enabled.
CONFIG_MB_FUNC_READWRITE_HOLDING_ENABLED - If the Read/Write Multiple Registers function should be enabled.
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_BUF - Number of bytes which should be
allocated for the Report Slave ID command. This number limits the
maximum size of the additional segment in the report slave id function.
See eMBSetSlaveID() for more information on how to set this value. It
is only used if CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED is set to 1.
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED - If the Report Slave ID
function should be enabled.
CONFIG_MB_FUNC_READ_INPUT_ENABLED - If the Read Input Registers function
should be enabled.
CONFIG_MB_FUNC_READ_HOLDING_ENABLED - If the Read Holding Registers
function should be enabled.
CONFIG_MB_FUNC_WRITE_HOLDING_ENABLED - If the Write Single Register
function should be enabled.
CONFIG_MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED - If the Write Multiple
registers function should be enabled.
CONFIG_MB_FUNC_READ_COILS_ENABLED - If the Read Coils function should
be enabled.
CONFIG_MB_FUNC_WRITE_COIL_ENABLED - If the Write Coils function should
be enabled.
CONFIG_MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED - If the Write Multiple Coils
function should be enabled.
CONFIG_MB_FUNC_READ_DISCRETE_INPUTS_ENABLED - If the Read Discrete Inputs
function should be enabled.
CONFIG_MB_FUNC_READWRITE_HOLDING_ENABLED - If the Read/Write Multiple
Registers function should be enabled.
Note
====

View File

@ -0,0 +1,44 @@
############################################################################
# apps/modbus/functions/Make.defs
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
ifeq ($(MB_ASCII_ENABLED),y)
CSRCS += mbascii.c
DEPPATH += --dep-path ascii
VPATH += :ascii
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(APPDIR)/modbus/ascii}
endif

View File

@ -0,0 +1,41 @@
############################################################################
# apps/modbus/nuttx/Make.defs
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
CSRCS += mbfunccoils.c mbfuncdiag.c mbfuncdisc.c mbfuncholding.c
CSRCS += mbfuncinput.c mbfuncother.c mbutils.c
DEPPATH += --dep-path functions
VPATH += :functions
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(APPDIR)/modbus/functions}

View File

@ -0,0 +1,40 @@
############################################################################
# apps/modbus/nuttx/Make.defs
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
CSRCS += portevent.c portother.c portserial.c porttimer.c
DEPPATH += --dep-path nuttx
VPATH += :nuttx
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(APPDIR)/modbus/nuttx}

44
apps/modbus/rtu/Make.defs Normal file
View File

@ -0,0 +1,44 @@
############################################################################
# apps/modbus/rtu/Make.defs
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
ifeq ($(MB_RTU_ENABLED),y)
CSRCS += mbcrc.c mbrtu.c
DEPPATH += --dep-path rtu
VPATH += :rtu
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(APPDIR)/modbus/rtu}
endif

44
apps/modbus/tcp/Make.defs Normal file
View File

@ -0,0 +1,44 @@
############################################################################
# apps/modbus/tcp/Make.defs
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
ifeq ($(MB_TCP_ENABLED),y)
CSRCS += mbtcp.c
DEPPATH += --dep-path tcp
VPATH += :tcp
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(APPDIR)/modbus/tcp}
endif

View File

@ -771,6 +771,72 @@ CONFIG_NET_RESOLV_ENTRIES=4
#
CONFIG_FTPD_CMDBUFFERSIZE=2048
#
# CONFIG_MODBUS - General ModBus support
# CONFIG_MB_ASCII_ENABLED - Modbus ASCII support
# CONFIG_MB_RTU_ENABLED - Modbus RTU support
# CONFIG_MB_TCP_ENABLED - Modbus TCP support
# CONFIG_MB_ASCII_TIMEOUT_SEC - Character timeout value for Modbus ASCII. The
# character timeout value is not fixed for Modbus ASCII and is therefore
# a configuration option. It should be set to the maximum expected delay
# time of the network. Default 1
# CONFIG_MB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS - Timeout to wait in ASCII prior
# to enabling transmitter. If defined the function calls
# vMBPortSerialDelay with the argument CONFIG_MB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS
# to allow for a delay before the serial transmitter is enabled. This is
# required because some targets are so fast that there is no time between
# receiving and transmitting the frame. If the master is to slow with
# enabling its receiver then he will not receive the response correctly.
# CONFIG_MB_FUNC_HANDLERS_MAX - Maximum number of Modbus functions codes the
# protocol stack should support. The maximum number of supported Modbus
# functions must be greater than the sum of all enabled functions in this
# file and custom function handlers. If set to small adding more functions
# will fail.
# CONFIG_MB_FUNC_OTHER_REP_SLAVEID_BUF - Number of bytes which should be
# allocated for the Report Slave ID command. This number limits the
# maximum size of the additional segment in the report slave id function.
# See eMBSetSlaveID() for more information on how to set this value. It
# is only used if CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED is set to 1.
# CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED - If the Report Slave ID
# function should be enabled.
# CONFIG_MB_FUNC_READ_INPUT_ENABLED - If the Read Input Registers function
# should be enabled.
# CONFIG_MB_FUNC_READ_HOLDING_ENABLED - If the Read Holding Registers
# function should be enabled.
# CONFIG_MB_FUNC_WRITE_HOLDING_ENABLED - If the Write Single Register
# function should be enabled.
# CONFIG_MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED - If the Write Multiple
# registers function should be enabled.
# CONFIG_MB_FUNC_READ_COILS_ENABLED - If the Read Coils function should
# be enabled.
# CONFIG_MB_FUNC_WRITE_COIL_ENABLED - If the Write Coils function should
# be enabled.
# CONFIG_MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED - If the Write Multiple Coils
# function should be enabled.
# CONFIG_MB_FUNC_READ_DISCRETE_INPUTS_ENABLED - If the Read Discrete Inputs
# function should be enabled.
# CONFIG_MB_FUNC_READWRITE_HOLDING_ENABLED - If the Read/Write Multiple
# Registers function should be enabled.
#
CONFIG_MODBUS=n
CONFIG_MB_ASCII_ENABLED=y
CONFIG_MB_RTU_ENABLED=y
CONFIG_MB_TCP_ENABLED=n
CONFIG_MB_ASCII_TIMEOUT_SEC=1
CONFIG_MB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0
CONFIG_MB_FUNC_HANDLERS_MAX=16
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_BUF=32
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED=y
CONFIG_MB_FUNC_READ_INPUT_ENABLED=y
CONFIG_MB_FUNC_READ_HOLDING_ENABLED=y
CONFIG_MB_FUNC_WRITE_HOLDING_ENABLED=y
CONFIG_MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED=y
CONFIG_MB_FUNC_READ_COILS_ENABLED=y
CONFIG_MB_FUNC_WRITE_COIL_ENABLED=y
CONFIG_MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED=y
CONFIG_MB_FUNC_READ_DISCRETE_INPUTS_ENABLED=y
CONFIG_MB_FUNC_READWRITE_HOLDING_ENABLED=y
#
# USB Device Configuration
#

View File

@ -741,6 +741,72 @@ CONFIG_NET_RESOLV_ENTRIES=4
#
CONFIG_FTPD_CMDBUFFERSIZE=2048
#
# CONFIG_MODBUS - General ModBus support
# CONFIG_MB_ASCII_ENABLED - Modbus ASCII support
# CONFIG_MB_RTU_ENABLED - Modbus RTU support
# CONFIG_MB_TCP_ENABLED - Modbus TCP support
# CONFIG_MB_ASCII_TIMEOUT_SEC - Character timeout value for Modbus ASCII. The
# character timeout value is not fixed for Modbus ASCII and is therefore
# a configuration option. It should be set to the maximum expected delay
# time of the network. Default 1
# CONFIG_MB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS - Timeout to wait in ASCII prior
# to enabling transmitter. If defined the function calls
# vMBPortSerialDelay with the argument CONFIG_MB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS
# to allow for a delay before the serial transmitter is enabled. This is
# required because some targets are so fast that there is no time between
# receiving and transmitting the frame. If the master is to slow with
# enabling its receiver then he will not receive the response correctly.
# CONFIG_MB_FUNC_HANDLERS_MAX - Maximum number of Modbus functions codes the
# protocol stack should support. The maximum number of supported Modbus
# functions must be greater than the sum of all enabled functions in this
# file and custom function handlers. If set to small adding more functions
# will fail.
# CONFIG_MB_FUNC_OTHER_REP_SLAVEID_BUF - Number of bytes which should be
# allocated for the Report Slave ID command. This number limits the
# maximum size of the additional segment in the report slave id function.
# See eMBSetSlaveID() for more information on how to set this value. It
# is only used if CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED is set to 1.
# CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED - If the Report Slave ID
# function should be enabled.
# CONFIG_MB_FUNC_READ_INPUT_ENABLED - If the Read Input Registers function
# should be enabled.
# CONFIG_MB_FUNC_READ_HOLDING_ENABLED - If the Read Holding Registers
# function should be enabled.
# CONFIG_MB_FUNC_WRITE_HOLDING_ENABLED - If the Write Single Register
# function should be enabled.
# CONFIG_MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED - If the Write Multiple
# registers function should be enabled.
# CONFIG_MB_FUNC_READ_COILS_ENABLED - If the Read Coils function should
# be enabled.
# CONFIG_MB_FUNC_WRITE_COIL_ENABLED - If the Write Coils function should
# be enabled.
# CONFIG_MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED - If the Write Multiple Coils
# function should be enabled.
# CONFIG_MB_FUNC_READ_DISCRETE_INPUTS_ENABLED - If the Read Discrete Inputs
# function should be enabled.
# CONFIG_MB_FUNC_READWRITE_HOLDING_ENABLED - If the Read/Write Multiple
# Registers function should be enabled.
#
CONFIG_MODBUS=n
CONFIG_MB_ASCII_ENABLED=y
CONFIG_MB_RTU_ENABLED=y
CONFIG_MB_TCP_ENABLED=n
CONFIG_MB_ASCII_TIMEOUT_SEC=1
CONFIG_MB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS=0
CONFIG_MB_FUNC_HANDLERS_MAX=16
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_BUF=32
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED=y
CONFIG_MB_FUNC_READ_INPUT_ENABLED=y
CONFIG_MB_FUNC_READ_HOLDING_ENABLED=y
CONFIG_MB_FUNC_WRITE_HOLDING_ENABLED=y
CONFIG_MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED=y
CONFIG_MB_FUNC_READ_COILS_ENABLED=y
CONFIG_MB_FUNC_WRITE_COIL_ENABLED=y
CONFIG_MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED=y
CONFIG_MB_FUNC_READ_DISCRETE_INPUTS_ENABLED=y
CONFIG_MB_FUNC_READWRITE_HOLDING_ENABLED=y
#
# USB Device Configuration
#