From c4d3ebe5da6e8cf0d51a8a2a8dc1e9420bca3164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Dauphin?= Date: Wed, 20 Jul 2016 18:47:33 +0200 Subject: [PATCH] Aversive++: initial import --- pkg/aversiveplusplus/Makefile | 10 ++++++ pkg/aversiveplusplus/Makefile.include | 20 +++++++++++ tests/pkg_aversiveplusplus/Makefile | 8 +++++ tests/pkg_aversiveplusplus/main.cpp | 50 +++++++++++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 pkg/aversiveplusplus/Makefile create mode 100644 pkg/aversiveplusplus/Makefile.include create mode 100644 tests/pkg_aversiveplusplus/Makefile create mode 100644 tests/pkg_aversiveplusplus/main.cpp diff --git a/pkg/aversiveplusplus/Makefile b/pkg/aversiveplusplus/Makefile new file mode 100644 index 0000000000..7a2ccef625 --- /dev/null +++ b/pkg/aversiveplusplus/Makefile @@ -0,0 +1,10 @@ +PKG_NAME=aversiveplusplus +PKG_URL=https://github.com/AversivePlusPlus/AversivePlusPlus.git +PKG_VERSION=7189e63551fd156719528016d585d870996d8834 + +.PHONY: all + +all: git-download + (cd $(PKG_BUILDDIR) && git submodule update --init --recursive) + +include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/aversiveplusplus/Makefile.include b/pkg/aversiveplusplus/Makefile.include new file mode 100644 index 0000000000..e0767c5408 --- /dev/null +++ b/pkg/aversiveplusplus/Makefile.include @@ -0,0 +1,20 @@ +AVERSIVEPLUSPLUS_MODULES_DIR = $(BINDIRBASE)/pkg/$(BOARD)/aversiveplusplus/modules + +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/base/include +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/container/include +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/filter/include + +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/stream/include +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/stream-riot/include + +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/device/include +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/device-control/include +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/device-2wheel/include + +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/cas/include +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/ik/include + +INCLUDES += -I$(AVERSIVEPLUSPLUS_MODULES_DIR)/feetech/include + +# The package is not compiled (header-only) +PSEUDOMODULES += aversiveplusplus diff --git a/tests/pkg_aversiveplusplus/Makefile b/tests/pkg_aversiveplusplus/Makefile new file mode 100644 index 0000000000..49482e60ab --- /dev/null +++ b/tests/pkg_aversiveplusplus/Makefile @@ -0,0 +1,8 @@ +APPLICATION = pkg_aversiveplusplus +include ../Makefile.tests_common + +USEPKG += aversiveplusplus +FEATURES_REQUIRED += cpp +CXXEXFLAGS += -std=c++11 + +include $(RIOTBASE)/Makefile.include diff --git a/tests/pkg_aversiveplusplus/main.cpp b/tests/pkg_aversiveplusplus/main.cpp new file mode 100644 index 0000000000..d0f8c42091 --- /dev/null +++ b/tests/pkg_aversiveplusplus/main.cpp @@ -0,0 +1,50 @@ +/* +Copyright (c) 2016, Loïc Dauphin +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* 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. + +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 HOLDER 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 + +#include +#include +#include + +RIOT::UARTStream<> sc_uart(1, 1000000); +Feetech::SC sc(sc_uart); + +int main(void) +{ + for(int i = 0 ; i < 15 ; i++) { + if(sc.ping(i)) { + u16 pos = sc.getPosition(i); + printf("servo %d : %d\n", i, (int)pos); + } + else { + printf("servo %d : unavailable\n", i); + } + } + + return 0; +}