forked from Archive/PX4-Autopilot
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:
parent
4c2b6c49c9
commit
358240268d
|
@ -49,7 +49,7 @@ APPDIR = ${shell pwd}
|
||||||
# list can be extended by the .config file as well
|
# list can be extended by the .config file as well
|
||||||
|
|
||||||
CONFIGURED_APPS =
|
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
|
# There are two different mechanisms for obtaining the list of configured
|
||||||
# directories:
|
# directories:
|
||||||
|
@ -73,6 +73,7 @@ ifeq ($(CONFIG_NUTTX_NEWCONFIG),y)
|
||||||
include examples/Make.defs
|
include examples/Make.defs
|
||||||
include graphics/Make.defs
|
include graphics/Make.defs
|
||||||
include interpreters/Make.defs
|
include interpreters/Make.defs
|
||||||
|
include modbus/Make.defs
|
||||||
include namedapp/Make.defs
|
include namedapp/Make.defs
|
||||||
include netutils/Make.defs
|
include netutils/Make.defs
|
||||||
include nshlib/Make.defs
|
include nshlib/Make.defs
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
|
|
||||||
comment "FreeModbus"
|
comment "FreeModbus"
|
||||||
|
|
||||||
|
config MODBUS
|
||||||
|
bool "Modbus support via FreeModBus"
|
||||||
|
default n
|
||||||
|
|
||||||
config MB_ASCII_ENABLED
|
config MB_ASCII_ENABLED
|
||||||
bool "Modbus ASCII support"
|
bool "Modbus ASCII support"
|
||||||
depends on MODBUS
|
depends on MODBUS
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -56,6 +56,7 @@ was integrated into the NuttX configuration system.
|
||||||
|
|
||||||
The NuttX-named configuration options that are available include:
|
The NuttX-named configuration options that are available include:
|
||||||
|
|
||||||
|
CONFIG_MODBUS - General ModBus support
|
||||||
CONFIG_MB_ASCII_ENABLED - Modbus ASCII support
|
CONFIG_MB_ASCII_ENABLED - Modbus ASCII support
|
||||||
CONFIG_MB_RTU_ENABLED - Modbus RTU support
|
CONFIG_MB_RTU_ENABLED - Modbus RTU support
|
||||||
CONFIG_MB_TCP_ENABLED - Modbus TCP 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
|
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
|
receiving and transmitting the frame. If the master is to slow with
|
||||||
enabling its receiver then he will not receive the response correctly.
|
enabling its receiver then he will not receive the response correctly.
|
||||||
|
|
||||||
CONFIG_MB_FUNC_HANDLERS_MAX - Maximum number of Modbus functions codes the
|
CONFIG_MB_FUNC_HANDLERS_MAX - Maximum number of Modbus functions codes the
|
||||||
protocol stack should support. The maximum number of supported Modbus
|
protocol stack should support. The maximum number of supported Modbus
|
||||||
functions must be greater than the sum of all enabled functions in this
|
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
|
file and custom function handlers. If set to small adding more functions
|
||||||
will fail.
|
will fail.
|
||||||
|
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_BUF - Number of bytes which should be
|
||||||
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.
|
allocated for the Report Slave ID command. This number limits the
|
||||||
|
maximum size of the additional segment in the report slave id function.
|
||||||
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED - If the Report Slave ID function should be enabled.
|
See eMBSetSlaveID() for more information on how to set this value. It
|
||||||
CONFIG_MB_FUNC_READ_INPUT_ENABLED - If the Read Input Registers function should be enabled.
|
is only used if CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED is set to 1.
|
||||||
CONFIG_MB_FUNC_READ_HOLDING_ENABLED - If the Read Holding Registers function should be enabled.
|
CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED - If the Report Slave ID
|
||||||
CONFIG_MB_FUNC_WRITE_HOLDING_ENABLED - If the Write Single Register function should be enabled.
|
function should be enabled.
|
||||||
CONFIG_MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED - If the Write Multiple registers function should be enabled.
|
CONFIG_MB_FUNC_READ_INPUT_ENABLED - If the Read Input Registers function
|
||||||
CONFIG_MB_FUNC_READ_COILS_ENABLED - If the Read Coils function should be enabled.
|
should be enabled.
|
||||||
CONFIG_MB_FUNC_WRITE_COIL_ENABLED - If the Write Coils function should be enabled.
|
CONFIG_MB_FUNC_READ_HOLDING_ENABLED - If the Read Holding Registers
|
||||||
CONFIG_MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED - If the Write Multiple Coils function should be enabled.
|
function should be enabled.
|
||||||
CONFIG_MB_FUNC_READ_DISCRETE_INPUTS_ENABLED - If the Read Discrete Inputs function should be enabled.
|
CONFIG_MB_FUNC_WRITE_HOLDING_ENABLED - If the Write Single Register
|
||||||
CONFIG_MB_FUNC_READWRITE_HOLDING_ENABLED - If the Read/Write Multiple Registers function should be enabled.
|
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
|
Note
|
||||||
====
|
====
|
||||||
|
|
|
@ -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
|
|
@ -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}
|
|
@ -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}
|
|
@ -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
|
|
@ -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
|
|
@ -771,6 +771,72 @@ CONFIG_NET_RESOLV_ENTRIES=4
|
||||||
#
|
#
|
||||||
CONFIG_FTPD_CMDBUFFERSIZE=2048
|
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
|
# USB Device Configuration
|
||||||
#
|
#
|
||||||
|
|
|
@ -741,6 +741,72 @@ CONFIG_NET_RESOLV_ENTRIES=4
|
||||||
#
|
#
|
||||||
CONFIG_FTPD_CMDBUFFERSIZE=2048
|
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
|
# USB Device Configuration
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue