From 28ce015fbb55a2473c01b65af22e4601ebea48a5 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Fri, 23 Mar 2018 07:29:06 -0600 Subject: [PATCH] Remove canutils/libuavcan and examples/uavcan. libuavcan has not built for a year or so. The basic problem is that as NuttX advances, the old frozen versino of libuavcan has become absolute because it violates the portable POSIX OS interface. No one is maintaining the port so there is no alternative but to remove it. --- canutils/libuavcan/.gitignore | 6 - canutils/libuavcan/Kconfig | 232 --------------- canutils/libuavcan/Make.defs | 38 --- canutils/libuavcan/Makefile | 272 ------------------ ...96ace50155573e545ed9bf2fb09964ee2367.patch | 65 ----- canutils/libuavcan/platform_stm32.cpp | 103 ------- examples/README.txt | 6 - examples/uavcan/.gitignore | 11 - examples/uavcan/Kconfig | 34 --- examples/uavcan/Make.defs | 39 --- examples/uavcan/Makefile | 44 --- examples/uavcan/uavcan_main.cxx | 97 ------- include/.gitignore | 2 +- 13 files changed, 1 insertion(+), 948 deletions(-) delete mode 100644 canutils/libuavcan/.gitignore delete mode 100644 canutils/libuavcan/Kconfig delete mode 100644 canutils/libuavcan/Make.defs delete mode 100644 canutils/libuavcan/Makefile delete mode 100644 canutils/libuavcan/nuttx-b04396ace50155573e545ed9bf2fb09964ee2367.patch delete mode 100644 canutils/libuavcan/platform_stm32.cpp delete mode 100644 examples/uavcan/.gitignore delete mode 100644 examples/uavcan/Kconfig delete mode 100644 examples/uavcan/Make.defs delete mode 100644 examples/uavcan/Makefile delete mode 100644 examples/uavcan/uavcan_main.cxx diff --git a/canutils/libuavcan/.gitignore b/canutils/libuavcan/.gitignore deleted file mode 100644 index bb6550f3b..000000000 --- a/canutils/libuavcan/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/.built -/dsdlc_generated -/libuavcan -/libuavcan-* -/dsdl-* -/pyuavcan-* diff --git a/canutils/libuavcan/Kconfig b/canutils/libuavcan/Kconfig deleted file mode 100644 index 64d7157dd..000000000 --- a/canutils/libuavcan/Kconfig +++ /dev/null @@ -1,232 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see the file kconfig-language.txt in the NuttX tools repository. -# - -config CANUTILS_LIBUAVCAN - bool "libuavcan Library" - default n - depends on STM32_HAVE_CAN1 - depends on !STM32_CAN1 - depends on !STM32_CAN2 - depends on !STM32_TIM2 || (STM32_HAVE_TIM3 && !STM32_TIM3) || (STM32_HAVE_TIM4 && !STM32_TIM4) || (STM32_HAVE_TIM5 && !STM32_TIM5) || (STM32_HAVE_TIM6 && !STM32_TIM6) || (STM32_HAVE_TIM7 && !STM32_TIM7) - depends on C99_BOOL8 - depends on HAVE_CXX - depends on !DISABLE_POLL - ---help--- - Enables support for the libuavcan library. - -if CANUTILS_LIBUAVCAN - -config LIBUAVCAN_URL - string "libuavcan URL" - default "https://github.com/UAVCAN/libuavcan/archive" - ---help--- - libuavcan URL. - -config LIBUAVCAN_VERSION - string "libuavcan Version" - default "b04396ace50155573e545ed9bf2fb09964ee2367" - ---help--- - libuavcan version. - -config LIBUAVCAN_DSDL_URL - string "DSDL URL" - default "https://github.com/UAVCAN/dsdl/archive" - ---help--- - DSDL URL. - -config LIBUAVCAN_DSDL_VERSION - string "DSDL Version" - default "9804a3e6972825586be252ce08dd899f44994b14" - ---help--- - DSDL version. - -config LIBUAVCAN_PYUAVCAN_URL - string "pyuavcan URL" - default "https://github.com/UAVCAN/pyuavcan/archive" - ---help--- - pyuavcan URL. - -config LIBUAVCAN_PYUAVCAN_VERSION - string "pyuavcan Version" - default "c58477a644d20ccf95a20c151f3a0402f271c3b8" - ---help--- - pyuavcan version. - -config LIBUAVCAN_STM32_NUM_IFACES - int "Number of CAN Interfaces" - default 1 - range 1 1 if !STM32_HAVE_CAN2 - range 1 2 if STM32_HAVE_CAN2 - -choice - prompt "Timer" - default LIBUAVCAN_STM32_TIM2 if !STM32_TIM2 - default LIBUAVCAN_STM32_TIM3 if STM32_HAVE_TIM3 && !STM32_TIM3 - default LIBUAVCAN_STM32_TIM4 if STM32_HAVE_TIM4 && !STM32_TIM4 - default LIBUAVCAN_STM32_TIM5 if STM32_HAVE_TIM5 && !STM32_TIM5 - default LIBUAVCAN_STM32_TIM6 if STM32_HAVE_TIM6 && !STM32_TIM6 - default LIBUAVCAN_STM32_TIM7 if STM32_HAVE_TIM7 && !STM32_TIM7 - -config LIBUAVCAN_STM32_TIM2 - bool "TIM2" - depends on !STM32_TIM2 - ---help--- - The library will use TIM2. - -config LIBUAVCAN_STM32_TIM3 - bool "TIM3" - depends on STM32_HAVE_TIM3 && !STM32_TIM3 - ---help--- - The library will use TIM3. - -config LIBUAVCAN_STM32_TIM4 - bool "TIM4" - depends on STM32_HAVE_TIM4 && !STM32_TIM4 - ---help--- - The library will use TIM4. - -config LIBUAVCAN_STM32_TIM5 - bool "TIM5" - depends on STM32_HAVE_TIM5 && !STM32_TIM5 - ---help--- - The library will use TIM5. - -config LIBUAVCAN_STM32_TIM6 - bool "TIM6" - depends on STM32_HAVE_TIM6 && !STM32_TIM6 - ---help--- - The library will use TIM6. - -config LIBUAVCAN_STM32_TIM7 - bool "TIM7" - depends on STM32_HAVE_TIM7 && !STM32_TIM7 - ---help--- - The library will use TIM7. - -endchoice - -choice - prompt "C++ Version" - default LIBUAVCAN_CPP03 - -config LIBUAVCAN_CPP03 - bool "C++03" - ---help--- - The library will use C++03. - -config LIBUAVCAN_CPP11 - bool "C++11" - ---help--- - The library will use C++11. - -endchoice - -config LIBUAVCAN_DEBUG - bool "Debug" - default n - ---help--- - Enables debug. - -config LIBUAVCAN_EXCEPTIONS - bool "Exceptions" - default n - ---help--- - Enables exceptions. - -config LIBUAVCAN_TINY - bool "Tiny" - default n - ---help--- - Removes some features to save memory. - -config LIBUAVCAN_NO_GLOBAL_DATA_TYPE_REGISTRY - bool "No Global Data Type Registry" - default n - ---help--- - Removes the global data type registry. - -config LIBUAVCAN_TOSTRING - bool "Implement toString" - default n - depends on LIBUAVCAN_EXCEPTIONS - ---help--- - The library will add a toString method to most of its classes. - -config LIBUAVCAN_IMPLEMENT_PLACEMENT_NEW - bool "Implement Placement new" - default n - ---help--- - The library will implement placement new. - -config LIBUAVCAN_USE_EXTERNAL_SNPRINTF - bool "Use External snprintf" - default n - ---help--- - The library will use an external snprintf. - -config LIBUAVCAN_USE_EXTERNAL_FLOAT16_CONVERSION - bool "Use External float16 Conversion" - default n - ---help--- - The library will use an external float16 conversion. - -config LIBUAVCAN_NO_ASSERTIONS - bool "No Assertions" - default n - ---help--- - Disables assertions. - -config LIBUAVCAN_MEM_POOL_BLOCK_SIZE - int "Memory Pool Block Size" - default 0 - ---help--- - Specifies the memory pool block size. If the value is 0, the - library will use a default value. - -config LIBUAVCAN_FLOAT_COMPARISON_EPSILON_MULT - int "Float Comparion Epsilon Mult" - default 0 - ---help--- - Specifies the float comparison epsilon mult. If the value is - 0, the library will use a default value. - -config LIBUAVCAN_MAX_CAN_ACCEPTANCE_FILTERS - int "Max CAN Acceptance Filters" - default 0 - ---help--- - Specifies the maximum number of CAN acceptance filters. If - the value is 0, the library will use a default value. - -config LIBUAVCAN_MAX_NETWORK_SIZE_HINT - int "Max Network Size Hint" - default 0 - ---help--- - Specifies the maximum network size. If the value is 0, the - library will use a default value. - -config LIBUAVCAN_RX_QUEUE_CAPACITY - int "Rx Queue Capacity" - default 0 - ---help--- - Specifies the rx queue capacity. If the value is 0, the - library will use a default value. - -config LIBUAVCAN_BIT_RATE - int "Bit Rate" - default 0 - range 0 1000000 - ---help--- - Specifies the CAN bit rate. If the value is 0, the library - will automatically detect the bit rate. - -config LIBUAVCAN_INIT_RETRIES - int "Initialization Retries" - default 0 - ---help--- - Specifies the number of times to try initializing the CAN - peripherals before panicking. A value of 0 means to try - forever. - -endif diff --git a/canutils/libuavcan/Make.defs b/canutils/libuavcan/Make.defs deleted file mode 100644 index de45b2130..000000000 --- a/canutils/libuavcan/Make.defs +++ /dev/null @@ -1,38 +0,0 @@ -############################################################################ -# apps/canutils/libuavcan/Make.defs -# -# Copyright (C) 2015-2016 Omni Hoverboards Inc. All rights reserved. -# Author: Paul Alexander Patience -# -# 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 ($(CONFIG_CANUTILS_LIBUAVCAN),y) -CONFIGURED_APPS += canutils/libuavcan -endif diff --git a/canutils/libuavcan/Makefile b/canutils/libuavcan/Makefile deleted file mode 100644 index 5cf5b1dcd..000000000 --- a/canutils/libuavcan/Makefile +++ /dev/null @@ -1,272 +0,0 @@ -############################################################################ -# apps/canutils/libuavcan/Makefile -# -# Copyright (C) 2015-2016 Omni Hoverboards Inc. All rights reserved. -# Author: Paul Alexander Patience -# -# 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 - -DELIM ?= $(strip /) -include $(APPDIR)$(DELIM)Make.defs - -WGET = wget -UNPACK = unzip -PACKEXT = .zip - -LIBUAVCAN_URL = $(patsubst "%",%,$(strip $(CONFIG_LIBUAVCAN_URL))) -LIBUAVCAN_VERSION = $(patsubst "%",%,$(strip $(CONFIG_LIBUAVCAN_VERSION))) -LIBUAVCAN_UNPACKNAME = libuavcan-$(LIBUAVCAN_VERSION) -LIBUAVCAN_PACKNAME = $(LIBUAVCAN_UNPACKNAME)$(PACKEXT) -LIBUAVCAN_DSDL_PATH = libuavcan$(DELIM)dsdl -LIBUAVCAN_PYUAVCAN_PATH = libuavcan$(DELIM)libuavcan$(DELIM)dsdl_compiler$(DELIM)pyuavcan -LIBUAVCAN_PATCHNAME = nuttx-$(LIBUAVCAN_VERSION).patch - -DSDL_URL = $(patsubst "%",%,$(strip $(CONFIG_LIBUAVCAN_DSDL_URL))) -DSDL_VERSION = $(patsubst "%",%,$(strip $(CONFIG_LIBUAVCAN_DSDL_VERSION))) -DSDL_UNPACKNAME = dsdl-$(DSDL_VERSION) -DSDL_PACKNAME = $(DSDL_UNPACKNAME)$(PACKEXT) - -PYUAVCAN_URL = $(patsubst "%",%,$(strip $(CONFIG_LIBUAVCAN_PYUAVCAN_URL))) -PYUAVCAN_VERSION = $(patsubst "%",%,$(strip $(CONFIG_LIBUAVCAN_PYUAVCAN_VERSION))) -PYUAVCAN_UNPACKNAME = pyuavcan-$(PYUAVCAN_VERSION) -PYUAVCAN_PACKNAME = $(PYUAVCAN_UNPACKNAME)$(PACKEXT) - --include libuavcan$(DELIM)libuavcan$(DELIM)include.mk --include libuavcan$(DELIM)libuavcan_drivers$(DELIM)stm32$(DELIM)driver$(DELIM)include.mk - -CXXSRCS = platform_stm32.cpp $(LIBUAVCAN_SRC) $(LIBUAVCAN_STM32_SRC) - -CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" "$(LIBUAVCAN_INC)"} -CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" "$(LIBUAVCAN_STM32_INC)"} -CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" dsdlc_generated} -CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" "$(TOPDIR)$(DELIM)arch$(DELIM)arm$(DELIM)src$(DELIM)common"} -CXXFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" "$(TOPDIR)$(DELIM)arch$(DELIM)arm$(DELIM)src$(DELIM)stm32"} - -CXXFLAGS += -D__KERNEL__ -CXXFLAGS += -DUAVCAN_STM32_NUTTX=1 -CXXFLAGS += -DUAVCAN_STM32_NUM_IFACES=$(CONFIG_LIBUAVCAN_STM32_NUM_IFACES) - -ifeq ($(CONFIG_LIBUAVCAN_STM32_TIM2),y) -CXXFLAGS += -DUAVCAN_STM32_TIMER_NUMBER=2 -else -ifeq ($(CONFIG_LIBUAVCAN_STM32_TIM3),y) -CXXFLAGS += -DUAVCAN_STM32_TIMER_NUMBER=3 -else -ifeq ($(CONFIG_LIBUAVCAN_STM32_TIM4),y) -CXXFLAGS += -DUAVCAN_STM32_TIMER_NUMBER=4 -else -ifeq ($(CONFIG_LIBUAVCAN_STM32_TIM5),y) -CXXFLAGS += -DUAVCAN_STM32_TIMER_NUMBER=5 -else -ifeq ($(CONFIG_LIBUAVCAN_STM32_TIM6),y) -CXXFLAGS += -DUAVCAN_STM32_TIMER_NUMBER=6 -else -ifeq ($(CONFIG_LIBUAVCAN_STM32_TIM7),y) -CXXFLAGS += -DUAVCAN_STM32_TIMER_NUMBER=7 -endif -endif -endif -endif -endif -endif - -ifeq ($(CONFIG_LIBUAVCAN_CPP03),y) -CXXFLAGS += -std=c++03 -DUAVCAN_CPP_VERSION=UAVCAN_CPP03 -else -ifeq ($(CONFIG_LIBUAVCAN_CPP11),y) -CXXFLAGS += -std=c++11 -DUAVCAN_CPP_VERSION=UAVCAN_CPP11 -endif -endif - -ifeq ($(CONFIG_LIBUAVCAN_DEBUG),y) -CXXFLAGS += -DUAVCAN_DEBUG=1 -endif - -ifeq ($(CONFIG_LIBUAVCAN_EXCEPTIONS),y) -CXXFLAGS += -DUAVCAN_EXCEPTIONS=1 -else -CXXFLAGS += -DUAVCAN_EXCEPTIONS=0 -endif - -ifeq ($(CONFIG_LIBUAVCAN_TINY),y) -CXXFLAGS += -DUAVCAN_TINY=1 -endif - -ifeq ($(CONFIG_LIBUAVCAN_NO_GLOBAL_DATA_TYPE_REGISTRY),y) -CXXFLAGS += -DUAVCAN_NO_GLOBAL_DATA_TYPE_REGISTRY=1 -endif - -ifeq ($(CONFIG_LIBUAVCAN_TOSTRING),y) -CXXFLAGS += -DUAVCAN_TOSTRING=1 -else -CXXFLAGS += -DUAVCAN_TOSTRING=0 -endif - -ifeq ($(CONFIG_LIBUAVCAN_IMPLEMENT_PLACEMENT_NEW),y) -CXXFLAGS += -DUAVCAN_IMPLEMENT_PLACEMENT_NEW=1 -endif - -ifeq ($(CONFIG_LIBUAVCAN_USE_EXTERNAL_SNPRINTF),y) -CXXFLAGS += -DUAVCAN_USE_EXTERNAL_SNPRINTF=1 -endif - -ifeq ($(CONFIG_LIBUAVCAN_USE_EXTERNAL_FLOAT16_CONVERSION),y) -CXXFLAGS += -DUAVCAN_USE_EXTERNAL_FLOAT16_CONVERSION=1 -endif - -ifeq ($(CONFIG_LIBUAVCAN_NO_ASSERTIONS),y) -CXXFLAGS += -DUAVCAN_NO_ASSERTIONS=1 -endif - -ifneq ($(CONFIG_LIBUAVCAN_MEM_POOL_BLOCK_SIZE),0) -CXXFLAGS += -DUAVCAN_MEM_POOL_BLOCK_SIZE=$(CONFIG_LIBUAVCAN_MEM_POOL_BLOCK_SIZE) -endif - -ifneq ($(CONFIG_LIBUAVCAN_FLOAT_COMPARISON_EPSILON_MULT),0) -CXXFLAGS += -DUAVCAN_FLOAT_COMPARISON_EPSILON_MULT=$(CONFIG_LIBUAVCAN_FLOAT_COMPARISON_EPSILON_MULT) -endif - -ifneq ($(CONFIG_LIBUAVCAN_MAX_CAN_ACCEPTANCE_FILTERS),0) -CXXFLAGS += -DUAVCAN_MAX_CAN_ACCEPTANCE_FILTERS=$(CONFIG_LIBUAVCAN_MAX_CAN_ACCEPTANCE_FILTERS) -endif - -ifneq ($(CONFIG_LIBUAVCAN_MAX_NETWORK_SIZE_HINT),0) -CXXFLAGS += -DUAVCAN_MAX_NETWORK_SIZE_HINT=$(CONFIG_LIBUAVCAN_MAX_NETWORK_SIZE_HINT) -endif - -CXXEXT = .cpp -CXXOBJS = $(CXXSRCS:$(CXXEXT)=$(OBJEXT)) - -ifeq ($(WINTOOL),y) - BIN = "${shell cygpath -w $(APPDIR)$(DELIM)libapps$(LIBEXT)}" -else - BIN = $(APPDIR)$(DELIM)libapps$(LIBEXT) -endif -DEPBIN = $(APPDIR)/libapps$(LIBEXT) - -ROOTDEPPATH = --dep-path . - -VPATH = - -all: .built -.PHONY: clean depend distclean preconfig -.PRECIOUS: ../../libapps$(LIBEXT) - -$(LIBUAVCAN_PACKNAME): - @echo "Downloading: $@" - $(Q) $(WGET) -O $@ $(LIBUAVCAN_URL)$(DELIM)$(LIBUAVCAN_VERSION)$(PACKEXT) - -$(LIBUAVCAN_UNPACKNAME): $(LIBUAVCAN_PACKNAME) - @echo "Unpacking: $< -> $@" - $(call DELDIR, $@) - $(Q) $(UNPACK) $< - $(Q) touch $@ - -$(DSDL_PACKNAME): - @echo "Downloading: $@" - $(Q) $(WGET) -O $@ $(DSDL_URL)$(DELIM)$(DSDL_VERSION)$(PACKEXT) - -$(DSDL_UNPACKNAME): $(DSDL_PACKNAME) - @echo "Unpacking: $< -> $@" - $(call DELDIR, $@) - $(Q) $(UNPACK) $< - $(Q) touch $@ - -$(PYUAVCAN_PACKNAME): - @echo "Downloading: $@" - $(Q) $(WGET) -O $@ $(PYUAVCAN_URL)$(DELIM)$(PYUAVCAN_VERSION)$(PACKEXT) - -$(PYUAVCAN_UNPACKNAME): $(PYUAVCAN_PACKNAME) - @echo "Unpacking: $< -> $@" - $(call DELDIR, $@) - $(Q) $(UNPACK) $< - $(Q) touch $@ - -libuavcan: $(LIBUAVCAN_UNPACKNAME) $(DSDL_UNPACKNAME) $(PYUAVCAN_UNPACKNAME) - $(call DELDIR, $@) - $(Q) cp -R $(LIBUAVCAN_UNPACKNAME) $@ - $(Q) if [ -r $(LIBUAVCAN_PATCHNAME) ]; then \ - cat $(LIBUAVCAN_PATCHNAME) | patch -p0 || { echo "ERROR: Patch failed"; exit 1; }; \ - fi - $(call DELDIR, $(LIBUAVCAN_DSDL_PATH)) - $(Q) cp -R $(DSDL_UNPACKNAME) $(LIBUAVCAN_DSDL_PATH) - $(call DELDIR, $(LIBUAVCAN_PYUAVCAN_PATH)) - $(Q) cp -R $(PYUAVCAN_UNPACKNAME) $(LIBUAVCAN_PYUAVCAN_PATH) - $(Q) touch $@ - -dsdlc_generated: libuavcan - $(info $(shell $(LIBUAVCAN_DSDLC) $(UAVCAN_DSDL_DIR))) - -$(APPDIR)$(DELIM)include$(DELIM)uavcan: dsdlc_generated - $(Q) mkdir -p $(APPDIR)$(DELIM)include$(DELIM)uavcan - $(Q) cp -R libuavcan$(DELIM)libuavcan$(DELIM)include$(DELIM)uavcan$(DELIM)* $(APPDIR)$(DELIM)include$(DELIM)uavcan - $(Q) cp -R dsdlc_generated$(DELIM)uavcan$(DELIM)* $(APPDIR)$(DELIM)include$(DELIM)uavcan - -$(CXXOBJS): %$(OBJEXT): %$(CXXEXT) - $(call COMPILEXX, $<, $@) - -.built: $(CXXOBJS) - $(call ARCHIVE, $(BIN), $(CXXOBJS)) - $(Q) touch $@ - -install: - -context: libuavcan - $(Q) $(MAKE) $(APPDIR)$(DELIM)include$(DELIM)uavcan TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)" - -.depend: Makefile $(CXXSRCS) - $(Q) $(MKDEP) $(ROOTDEPPATH) "$(CXX)" -- $(CXXFLAGS) -- $(CXXSRCS) >Make.dep - $(Q) touch $@ - -depend: .depend - -clean: - $(call DELFILE, .built) - $(foreach CXXOBJ, $(CXXOBJS), $(call DELFILE, $(CXXOBJ))) - $(call DELDIR, dsdlc_generated) - $(call DELDIR, $(APPDIR)$(DELIM)include$(DELIM)uavcan) - -distclean: clean - $(call DELFILE, Make.dep) - $(call DELFILE, .depend) - $(call DELDIR, libuavcan) - $(call DELDIR, $(LIBUAVCAN_UNPACKNAME)) - $(call DELFILE, $(LIBUAVCAN_PACKNAME)) - $(call DELDIR, $(DSDL_UNPACKNAME)) - $(call DELFILE, $(DSDL_PACKNAME)) - $(call DELDIR, $(PYUAVCAN_UNPACKNAME)) - $(call DELFILE, $(PYUAVCAN_PACKNAME)) - -preconfig: - --include Make.dep diff --git a/canutils/libuavcan/nuttx-b04396ace50155573e545ed9bf2fb09964ee2367.patch b/canutils/libuavcan/nuttx-b04396ace50155573e545ed9bf2fb09964ee2367.patch deleted file mode 100644 index 7ad7d9170..000000000 --- a/canutils/libuavcan/nuttx-b04396ace50155573e545ed9bf2fb09964ee2367.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- libuavcan/libuavcan_drivers/stm32/driver/src/internal.hpp.orig 2016-02-15 18:43:32.799005338 -0600 -+++ libuavcan/libuavcan_drivers/stm32/driver/src/internal.hpp 2016-02-15 18:45:09.621004803 -0600 -@@ -9,6 +9,7 @@ - #if UAVCAN_STM32_CHIBIOS - # include - #elif UAVCAN_STM32_NUTTX -+# include - # include - # include - # include -@@ -97,12 +98,12 @@ - const irqstate_t flags_; - - CriticalSectionLocker() -- : flags_(irqsave()) -+ : flags_(enter_critical_section()) - { } - - ~CriticalSectionLocker() - { -- irqrestore(flags_); -+ leave_critical_section(flags_); - } - }; - ---- libuavcan/libuavcan_drivers/stm32/driver/src/uc_stm32_clock.cpp.orig 2016-06-05 09:12:29.086814547 -0600 -+++ libuavcan/libuavcan_drivers/stm32/driver/src/uc_stm32_clock.cpp 2016-06-05 09:15:03.676810202 -0600 -@@ -31,17 +31,30 @@ - - # if UAVCAN_STM32_NUTTX - # define TIMX UAVCAN_STM32_GLUE3(STM32_TIM, UAVCAN_STM32_TIMER_NUMBER, _BASE) --# define TMR_REG(o) (TIMX + (o)) --# define TIMX_INPUT_CLOCK STM32_TIM27_FREQUENCY -+# define TMR_REG(o) (TIMX + (o)) - --# define TIMX_IRQn UAVCAN_STM32_GLUE2(STM32_IRQ_TIM, UAVCAN_STM32_TIMER_NUMBER) -+# if UAVCAN_STM32_TIMER_NUMBER == 2 -+# define TIMX_INPUT_CLOCK BOARD_TIM2_FREQUENCY -+# elif UAVCAN_STM32_TIMER_NUMBER == 3 -+# define TIMX_INPUT_CLOCK BOARD_TIM3_FREQUENCY -+# elif UAVCAN_STM32_TIMER_NUMBER == 4 -+# define TIMX_INPUT_CLOCK BOARD_TIM4_FREQUENCY -+# elif UAVCAN_STM32_TIMER_NUMBER == 5 -+# define TIMX_INPUT_CLOCK BOARD_TIM5_FREQUENCY -+# elif UAVCAN_STM32_TIMER_NUMBER == 6 -+# define TIMX_INPUT_CLOCK BOARD_TIM6_FREQUENCY -+# elif UAVCAN_STM32_TIMER_NUMBER == 7 -+# define TIMX_INPUT_CLOCK BOARD_TIM7_FREQUENCY -+# endif -+ -+# define TIMX_IRQn UAVCAN_STM32_GLUE2(STM32_IRQ_TIM, UAVCAN_STM32_TIMER_NUMBER) - # endif - - # if UAVCAN_STM32_TIMER_NUMBER >= 2 && UAVCAN_STM32_TIMER_NUMBER <= 7 --# define TIMX_RCC_ENR RCC->APB1ENR --# define TIMX_RCC_RSTR RCC->APB1RSTR --# define TIMX_RCC_ENR_MASK UAVCAN_STM32_GLUE3(RCC_APB1ENR_TIM, UAVCAN_STM32_TIMER_NUMBER, EN) --# define TIMX_RCC_RSTR_MASK UAVCAN_STM32_GLUE3(RCC_APB1RSTR_TIM, UAVCAN_STM32_TIMER_NUMBER, RST) -+# define TIMX_RCC_ENR RCC->APB1ENR -+# define TIMX_RCC_RSTR RCC->APB1RSTR -+# define TIMX_RCC_ENR_MASK UAVCAN_STM32_GLUE3(RCC_APB1ENR_TIM, UAVCAN_STM32_TIMER_NUMBER, EN) -+# define TIMX_RCC_RSTR_MASK UAVCAN_STM32_GLUE3(RCC_APB1RSTR_TIM, UAVCAN_STM32_TIMER_NUMBER, RST) - # else - # error "This UAVCAN_STM32_TIMER_NUMBER is not supported yet" - # endif diff --git a/canutils/libuavcan/platform_stm32.cpp b/canutils/libuavcan/platform_stm32.cpp deleted file mode 100644 index e1adeddf0..000000000 --- a/canutils/libuavcan/platform_stm32.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** - * canutils/libuavcan/platform_stm32.cpp - * - * Copyright (C) 2015-2016 Omni Hoverboards Inc. All rights reserved. - * Author: Paul Alexander Patience - * - * 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. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include - -#include - -/**************************************************************************** - * Configuration - ****************************************************************************/ - -#if CONFIG_LIBUAVCAN_RX_QUEUE_CAPACITY == 0 -# undef CONFIG_LIBUAVCAN_RX_QUEUE_CAPACITY -# define CONFIG_LIBUAVCAN_RX_QUEUE_CAPACITY -#endif - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -static void delay(void) -{ - std::usleep(uavcan_stm32:: - CanInitHelper:: - getRecommendedListeningDelay().toUSec()); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -uavcan::ICanDriver &getCanDriver(void) -{ - static uavcan_stm32::CanInitHelper can; - static bool initialized = false; - - if (!initialized) - { - uavcan::uint32_t bitrate = CONFIG_LIBUAVCAN_BIT_RATE; - -#if CONFIG_LIBUAVCAN_INIT_RETRIES > 0 - int retries = 0; -#endif - - while (can.init(delay, bitrate) < 0) - { -#if CONFIG_LIBUAVCAN_INIT_RETRIES > 0 - retries++; - if (retries >= CONFIG_LIBUAVCAN_INIT_RETRIES) - { - PANIC(); - } -#endif - } - - initialized = true; - } - - return can.driver; -} - -uavcan::ISystemClock &getSystemClock(void) -{ - return uavcan_stm32::SystemClock::instance(); -} diff --git a/examples/README.txt b/examples/README.txt index 94bfbf772..ad0a36fa8 100644 --- a/examples/README.txt +++ b/examples/README.txt @@ -2005,12 +2005,6 @@ examples/touchscreen int board_tsc_setup(int minor); -examples/uavcan -^^^^^^^^^^^^^^^ - - Illustrates use of canutils/uavcan. Contributed by Paul Alexander - Patience. - examples/udp ^^^^^^^^^^^^ diff --git a/examples/uavcan/.gitignore b/examples/uavcan/.gitignore deleted file mode 100644 index fa1ec7579..000000000 --- a/examples/uavcan/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -/Make.dep -/.depend -/.built -/*.asm -/*.obj -/*.rel -/*.lst -/*.sym -/*.adb -/*.lib -/*.src diff --git a/examples/uavcan/Kconfig b/examples/uavcan/Kconfig deleted file mode 100644 index a8b980fb5..000000000 --- a/examples/uavcan/Kconfig +++ /dev/null @@ -1,34 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see the file kconfig-language.txt in the NuttX tools repository. -# - -config EXAMPLES_UAVCAN - bool "UAVCAN example" - default n - depends on CANUTILS_LIBUAVCAN - ---help--- - Enable the UAVCAN example - -if EXAMPLES_UAVCAN - -config EXAMPLES_UAVCAN_NODE_MEM_POOL_SIZE - int "Node Memory Pool Size" - default 4096 - ---help--- - Specifies the node's memory pool size - -config EXAMPLES_UAVCAN_NODE_ID - int "Node ID" - default 1 - range 1 127 - ---help--- - Specifies the node's ID - -config EXAMPLES_UAVCAN_NODE_NAME - string "Node Name" - default "org.nuttx.apps.examples.uavcan" - ---help--- - Specifies the node's name - -endif diff --git a/examples/uavcan/Make.defs b/examples/uavcan/Make.defs deleted file mode 100644 index e72f62ca2..000000000 --- a/examples/uavcan/Make.defs +++ /dev/null @@ -1,39 +0,0 @@ -############################################################################ -# apps/examples/uavcan/Make.defs -# Adds selected applications to apps/ build -# -# Copyright (C) 2015 Omni Hoverboards Inc. All rights reserved. -# Author: Paul Alexander Patience -# -# 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 ($(CONFIG_EXAMPLES_UAVCAN),y) -CONFIGURED_APPS += examples/uavcan -endif diff --git a/examples/uavcan/Makefile b/examples/uavcan/Makefile deleted file mode 100644 index 1d1712f2b..000000000 --- a/examples/uavcan/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################ -# apps/examples/uavcan/Makefile -# -# Copyright (C) 2015 Omni Hoverboards Inc. All rights reserved. -# Author: Paul Alexander Patience -# -# 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)/Make.defs - -APPNAME = uavcan - -MAINSRC = uavcan_main.cxx - -CXXFLAGS += -I$(TOPDIR)/include/apps - -include $(APPDIR)/Application.mk diff --git a/examples/uavcan/uavcan_main.cxx b/examples/uavcan/uavcan_main.cxx deleted file mode 100644 index a2db8186c..000000000 --- a/examples/uavcan/uavcan_main.cxx +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** - * examples/uavcan/uavcan_main.cxx - * - * Copyright (C) 2015 Omni Hoverboards Inc. All rights reserved. - * Author: Paul Alexander Patience - * - * 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. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include -#include - -#include "platform/cxxinitialize.h" - -#include - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -extern uavcan::ICanDriver &getCanDriver(void); -extern uavcan::ISystemClock &getSystemClock(void); - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: uavcan_main - ****************************************************************************/ - -#ifdef CONFIG_BUILD_KERNEL -int main(int argc, FAR char *argv[]) -#else -extern "C" int uavcan_main(int argc, FAR char *argv[]) -#endif -{ - up_cxxinitialize(); - - static uavcan::Node - node(getCanDriver(), getSystemClock()); - - node.setNodeID(CONFIG_EXAMPLES_UAVCAN_NODE_ID); - node.setName(CONFIG_EXAMPLES_UAVCAN_NODE_NAME); - - int ret = node.start(); - if (ret < 0) - { - std::fprintf(stderr, "ERROR: node.start failed: %d\n", ret); - return EXIT_FAILURE; - } - - node.setModeOperational(); - - for (;;) - { - ret = node.spin(uavcan::MonotonicDuration::fromMSec(100)); - if (ret < 0) - { - std::fprintf(stderr, "ERROR: node.spin failed: %d\n", ret); - } - } - - return EXIT_SUCCESS; -} diff --git a/include/.gitignore b/include/.gitignore index a86d54aac..2a43b26b7 100644 --- a/include/.gitignore +++ b/include/.gitignore @@ -1,2 +1,2 @@ /pcode -/uavcan +