diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..12c201e --- /dev/null +++ b/Makefile @@ -0,0 +1,92 @@ +# +# Amel-Tech SmartEverything Arduino IDE Module makefile. +# +# Copyright (c) 2015 Amel-Tech (a division of Amel Srl). All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +SHELL = /bin/sh + +.SUFFIXES: .tar.bz2 + +ROOT_PATH := . +VARIANTS_PATH := $(ROOT_PATH)/module/variants + +# Variant list, can be overriden via command line or ENV +VARIANTS?=$(shell ls --hide=*.mk $(VARIANTS_PATH)) + +ifeq ($(TRAVIS),true) +PRINT_INFO_TRAVIS=print_info_travis +else +PRINT_INFO_TRAVIS= +endif + +CORE_VERSION := $(shell grep version= $(ROOT_PATH)/module/platform.txt | sed 's/version=//g') +#PACKAGE_NAME := $(basename $(notdir $(CURDIR))) +PACKAGE_NAME := AMEL-samd + +# ----------------------------------------------------------------------------- +# packaging specific +PACKAGE_FOLDER := module + +ifeq (postpackaging,$(findstring $(MAKECMDGOALS),postpackaging)) + PACKAGE_FILENAME=$(PACKAGE_NAME)-$(CORE_VERSION).tar.bz2 + PACKAGE_CHKSUM := $(firstword $(shell sha256sum "$(PACKAGE_FILENAME)")) + PACKAGE_SIZE := $(firstword $(shell wc -c "$(PACKAGE_FILENAME)")) +endif + +# end of packaging specific +# ----------------------------------------------------------------------------- + +.PHONY: all clean print_info print_info_travis postpackaging + +# Arduino module packaging: +# - exclude version control system files, here git files and folders .git, .gitattributes and .gitignore +# - exclude 'extras' folder +# - exclude 'obj' folder from variants +all: clean print_info $(PRINT_INFO_TRAVIS) + @echo ---------------------------------------------------------- + @echo "Packaging module." + tar --transform "s|module|$(PACKAGE_NAME)-$(CORE_VERSION)|g" --exclude=.gitattributes --exclude=.travis.yml --exclude-vcs --exclude=obj -cjf "$(PACKAGE_NAME)-$(CORE_VERSION).tar.bz2" "$(PACKAGE_FOLDER)" + $(MAKE) --no-builtin-rules postpackaging -C . + @echo ---------------------------------------------------------- + +clean: + @echo ---------------------------------------------------------- + @echo Cleanup + -$(RM) $(PACKAGE_NAME)-*.tar.bz2 package_$(PACKAGE_NAME)_*.json + @echo ---------------------------------------------------------- + +print_info: + @echo ---------------------------------------------------------- + @echo Building module using + @echo "CURDIR = $(CURDIR)" + @echo "OS = $(OS)" + @echo "SHELL = $(SHELL)" + @echo "VARIANTS_PATH = $(VARIANTS_PATH)" + @echo "VARIANTS = $(VARIANTS)" + @echo "CORE_VERSION = $(CORE_VERSION)" + @echo "PACKAGE_NAME = $(PACKAGE_NAME)" + +postpackaging: + @echo "PACKAGE_CHKSUM = $(PACKAGE_CHKSUM)" + @echo "PACKAGE_SIZE = $(PACKAGE_SIZE)" + @echo "PACKAGE_FILENAME = $(PACKAGE_FILENAME)" + cat extras/package_index.json.template | sed s/%%VERSION%%/$(CORE_VERSION)/ | sed s/%%FILENAME%%/$(PACKAGE_FILENAME)/ | sed s/%%CHECKSUM%%/$(PACKAGE_CHKSUM)/ | sed s/%%SIZE%%/$(PACKAGE_SIZE)/ > package_$(PACKAGE_NAME)_$(CORE_VERSION)_index.json + cp package_$(PACKAGE_NAME)_$(CORE_VERSION)_index.json package_$(PACKAGE_NAME)_index.json + cp package_$(PACKAGE_NAME)_$(CORE_VERSION)_index.json test_package_$(PACKAGE_NAME)_$(CORE_VERSION)_index.json + cp package_$(PACKAGE_NAME)_$(CORE_VERSION)_index.json test_package_$(PACKAGE_NAME)_index.json + @echo "package_$(PACKAGE_NAME)_$(CORE_VERSION)_index.json created" diff --git a/extras/package_index.json.template b/extras/package_index.json.template new file mode 100644 index 0000000..ca6103e --- /dev/null +++ b/extras/package_index.json.template @@ -0,0 +1,57 @@ +{ + "packages": + [ + { + "name": "AMEL", + "maintainer": "AMEL Technology", + "websiteURL": "http://www.amel-tech.com", + "email": "dev@amel-tech.com", + "help": + { + "online": "http://www.amel-tech.com" + }, + "platforms": + [ + { + "name": "AMEL-Tech Boards", + "architecture": "samd", + "version": "%%VERSION%%", + "category": "Partner", + "url": "http://downloads.arduino.cc/cores/%%FILENAME%%", + "archiveFileName": "%%FILENAME%%", + "checksum": "SHA-256:%%CHECKSUM%%", + "size": "%%SIZE%%", + "boards": [ + {"name": "SmartEverything Fox"} + ], + "toolsDependencies": + [ + { + "packager": "arduino", + "name": "arm-none-eabi-gcc", + "version": "4.8.3-2014q1" + }, + { + "packager": "arduino", + "name": "bossac", + "version": "1.6.1-arduino" + }, + { + "packager": "arduino", + "name": "openocd", + "version": "0.9.0-arduino" + }, + { + "packager": "arduino", + "name": "CMSIS", + "version": "4.0.0-atmel" + } + ] + } + ], + "tools": + [ + ] + } + ] +} diff --git a/hardware/AMEL/samd/platform.txt b/hardware/AMEL/samd/platform.txt deleted file mode 100644 index dd443f3..0000000 --- a/hardware/AMEL/samd/platform.txt +++ /dev/null @@ -1,4 +0,0 @@ - -name=AMEL-Tech Boards -version=1.0.0 - diff --git a/hardware/AMEL/samd/boards.txt b/module/boards.txt similarity index 100% rename from hardware/AMEL/samd/boards.txt rename to module/boards.txt diff --git a/hardware/AMEL/samd/bootloaders/sme/Makefile b/module/bootloaders/sme/Makefile similarity index 100% rename from hardware/AMEL/samd/bootloaders/sme/Makefile rename to module/bootloaders/sme/Makefile diff --git a/hardware/AMEL/samd/bootloaders/sme/samd21_sam_ba.bin b/module/bootloaders/sme/samd21_sam_ba.bin old mode 100755 new mode 100644 similarity index 100% rename from hardware/AMEL/samd/bootloaders/sme/samd21_sam_ba.bin rename to module/bootloaders/sme/samd21_sam_ba.bin diff --git a/hardware/AMEL/samd/bootloaders/sme/samd21_sam_ba.hex b/module/bootloaders/sme/samd21_sam_ba.hex similarity index 100% rename from hardware/AMEL/samd/bootloaders/sme/samd21_sam_ba.hex rename to module/bootloaders/sme/samd21_sam_ba.hex diff --git a/hardware/AMEL/samd/libraries/SME_basic/SME_basic.h b/module/libraries/SME_basic/SME_basic.h similarity index 100% rename from hardware/AMEL/samd/libraries/SME_basic/SME_basic.h rename to module/libraries/SME_basic/SME_basic.h diff --git a/hardware/AMEL/samd/libraries/SME_basic/examples/IsOnBattery/IsOnBattery.ino b/module/libraries/SME_basic/examples/IsOnBattery/IsOnBattery.ino similarity index 100% rename from hardware/AMEL/samd/libraries/SME_basic/examples/IsOnBattery/IsOnBattery.ino rename to module/libraries/SME_basic/examples/IsOnBattery/IsOnBattery.ino diff --git a/hardware/AMEL/samd/libraries/SME_basic/examples/StepUp/StepUp.ino b/module/libraries/SME_basic/examples/StepUp/StepUp.ino similarity index 100% rename from hardware/AMEL/samd/libraries/SME_basic/examples/StepUp/StepUp.ino rename to module/libraries/SME_basic/examples/StepUp/StepUp.ino diff --git a/hardware/AMEL/samd/libraries/SME_basic/examples/blinkRGB/blinkRGB.ino b/module/libraries/SME_basic/examples/blinkRGB/blinkRGB.ino similarity index 100% rename from hardware/AMEL/samd/libraries/SME_basic/examples/blinkRGB/blinkRGB.ino rename to module/libraries/SME_basic/examples/blinkRGB/blinkRGB.ino diff --git a/hardware/AMEL/samd/libraries/SME_basic/examples/fadeRGB/fadeRGB.ino b/module/libraries/SME_basic/examples/fadeRGB/fadeRGB.ino similarity index 100% rename from hardware/AMEL/samd/libraries/SME_basic/examples/fadeRGB/fadeRGB.ino rename to module/libraries/SME_basic/examples/fadeRGB/fadeRGB.ino diff --git a/hardware/AMEL/samd/libraries/SME_basic/examples/initializationResult/initializationResult.ino b/module/libraries/SME_basic/examples/initializationResult/initializationResult.ino similarity index 100% rename from hardware/AMEL/samd/libraries/SME_basic/examples/initializationResult/initializationResult.ino rename to module/libraries/SME_basic/examples/initializationResult/initializationResult.ino diff --git a/hardware/AMEL/samd/libraries/SME_basic/examples/userButton/userButton.ino b/module/libraries/SME_basic/examples/userButton/userButton.ino similarity index 100% rename from hardware/AMEL/samd/libraries/SME_basic/examples/userButton/userButton.ino rename to module/libraries/SME_basic/examples/userButton/userButton.ino diff --git a/hardware/AMEL/samd/libraries/SME_basic/library.properties b/module/libraries/SME_basic/library.properties similarity index 100% rename from hardware/AMEL/samd/libraries/SME_basic/library.properties rename to module/libraries/SME_basic/library.properties diff --git a/module/platform.txt b/module/platform.txt new file mode 100644 index 0000000..61da7c8 --- /dev/null +++ b/module/platform.txt @@ -0,0 +1,23 @@ +# +# Amel-Tech SmartEverything Arduino IDE Module makefile. +# +# Copyright (c) 2015 Amel-Tech (a division of Amel Srl). All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +name=AMEL-Tech Boards +version=1.1.0 + diff --git a/hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme.atsln b/module/validation_sme/validation_sme_device/build_as6/validation_sme.atsln similarity index 100% rename from hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme.atsln rename to module/validation_sme/validation_sme_device/build_as6/validation_sme.atsln diff --git a/hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme.componentinfo.xml b/module/validation_sme/validation_sme_device/build_as6/validation_sme.componentinfo.xml similarity index 100% rename from hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme.componentinfo.xml rename to module/validation_sme/validation_sme_device/build_as6/validation_sme.componentinfo.xml diff --git a/hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme.cppproj b/module/validation_sme/validation_sme_device/build_as6/validation_sme.cppproj similarity index 100% rename from hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme.cppproj rename to module/validation_sme/validation_sme_device/build_as6/validation_sme.cppproj diff --git a/hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme_6_2.atsln b/module/validation_sme/validation_sme_device/build_as6/validation_sme_6_2.atsln similarity index 100% rename from hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme_6_2.atsln rename to module/validation_sme/validation_sme_device/build_as6/validation_sme_6_2.atsln diff --git a/hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme_6_2.cppproj b/module/validation_sme/validation_sme_device/build_as6/validation_sme_6_2.cppproj similarity index 100% rename from hardware/AMEL/samd/validation_sme/validation_sme_device/build_as6/validation_sme_6_2.cppproj rename to module/validation_sme/validation_sme_device/build_as6/validation_sme_6_2.cppproj diff --git a/hardware/AMEL/samd/validation_sme/validation_sme_device/test.cpp b/module/validation_sme/validation_sme_device/test.cpp similarity index 100% rename from hardware/AMEL/samd/validation_sme/validation_sme_device/test.cpp rename to module/validation_sme/validation_sme_device/test.cpp diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/WireIoExt.cpp b/module/variants/AMEL_SmartEverything/WireIoExt.cpp similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/WireIoExt.cpp rename to module/variants/AMEL_SmartEverything/WireIoExt.cpp diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/WireIoExt.h b/module/variants/AMEL_SmartEverything/WireIoExt.h similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/WireIoExt.h rename to module/variants/AMEL_SmartEverything/WireIoExt.h diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/debug_scripts/variant_atmel_ice.gdb b/module/variants/AMEL_SmartEverything/debug_scripts/variant_atmel_ice.gdb similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/debug_scripts/variant_atmel_ice.gdb rename to module/variants/AMEL_SmartEverything/debug_scripts/variant_atmel_ice.gdb diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/debug_scripts/variant_sam_ice.gdb b/module/variants/AMEL_SmartEverything/debug_scripts/variant_sam_ice.gdb similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/debug_scripts/variant_sam_ice.gdb rename to module/variants/AMEL_SmartEverything/debug_scripts/variant_sam_ice.gdb diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/internalI2C.cpp b/module/variants/AMEL_SmartEverything/internalI2C.cpp similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/internalI2C.cpp rename to module/variants/AMEL_SmartEverything/internalI2C.cpp diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/internalI2C.h b/module/variants/AMEL_SmartEverything/internalI2C.h similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/internalI2C.h rename to module/variants/AMEL_SmartEverything/internalI2C.h diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/linker_scripts/gcc/flash_with_bootloader.ld b/module/variants/AMEL_SmartEverything/linker_scripts/gcc/flash_with_bootloader.ld similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/linker_scripts/gcc/flash_with_bootloader.ld rename to module/variants/AMEL_SmartEverything/linker_scripts/gcc/flash_with_bootloader.ld diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/linker_scripts/gcc/flash_without_bootloader.ld b/module/variants/AMEL_SmartEverything/linker_scripts/gcc/flash_without_bootloader.ld similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/linker_scripts/gcc/flash_without_bootloader.ld rename to module/variants/AMEL_SmartEverything/linker_scripts/gcc/flash_without_bootloader.ld diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/openocd_scripts/variant_atmel_ice.cfg b/module/variants/AMEL_SmartEverything/openocd_scripts/variant_atmel_ice.cfg similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/openocd_scripts/variant_atmel_ice.cfg rename to module/variants/AMEL_SmartEverything/openocd_scripts/variant_atmel_ice.cfg diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/openocd_scripts/variant_sam_ice.cfg b/module/variants/AMEL_SmartEverything/openocd_scripts/variant_sam_ice.cfg similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/openocd_scripts/variant_sam_ice.cfg rename to module/variants/AMEL_SmartEverything/openocd_scripts/variant_sam_ice.cfg diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/pins_arduino.h b/module/variants/AMEL_SmartEverything/pins_arduino.h similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/pins_arduino.h rename to module/variants/AMEL_SmartEverything/pins_arduino.h diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/variant.cpp b/module/variants/AMEL_SmartEverything/variant.cpp similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/variant.cpp rename to module/variants/AMEL_SmartEverything/variant.cpp diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/variant.h b/module/variants/AMEL_SmartEverything/variant.h similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/variant.h rename to module/variants/AMEL_SmartEverything/variant.h diff --git a/hardware/AMEL/samd/variants/AMEL_SmartEverything/variantInit.cpp b/module/variants/AMEL_SmartEverything/variantInit.cpp similarity index 100% rename from hardware/AMEL/samd/variants/AMEL_SmartEverything/variantInit.cpp rename to module/variants/AMEL_SmartEverything/variantInit.cpp