diff --git a/examples/Makefile-cc1352 b/examples/Makefile-cc1352 index d0ca3070c..c9396e6c7 100644 --- a/examples/Makefile-cc1352 +++ b/examples/Makefile-cc1352 @@ -68,10 +68,9 @@ CC1352_MBEDTLS_CPPFLAGS = \ -I$(PWD)/third_party/mbedtls/repo/include \ $(NULL) -CC1352_CONFIG_FILE_CPPFLAGS = \ - -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-cc1352-config.h\"' \ - -I$(PWD)/examples/platforms/cc1352/ \ - $(NULL) +CC1352_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-cc1352-config.h\"' +CC1352_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-cc1352-config-check.h\"' +CC1352_CONFIG_FILE_CPPFLAGS += -I$(PWD)/examples/platforms/cc1352/ COMMONCFLAGS := \ -fdata-sections \ diff --git a/examples/Makefile-cc2538 b/examples/Makefile-cc2538 index 0b8abe6d8..006fe7ffa 100644 --- a/examples/Makefile-cc2538 +++ b/examples/Makefile-cc2538 @@ -56,16 +56,16 @@ configure_OPTIONS = \ TopSourceDir := $(dir $(shell readlink $(firstword $(MAKEFILE_LIST)))).. AbsTopSourceDir := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))).. -CONFIG_FILE = OPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-cc2538-config.h\"' -CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/cc2538/ +CC2538_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-cc2538-config.h\"' +CC2538_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-cc2538-config-check.h\"' +CC2538_CONFIG_FILE_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/cc2538/ -COMMONCFLAGS := \ - -fdata-sections \ - -ffunction-sections \ - -Os \ - -g \ - -D$(CONFIG_FILE) \ - -I$(CONFIG_FILE_PATH) \ +COMMONCFLAGS := \ + -fdata-sections \ + -ffunction-sections \ + -Os \ + -g \ + $(CC2538_CONFIG_FILE_CPPFLAGS) \ $(NULL) include $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/common-switches.mk diff --git a/examples/Makefile-cc2650 b/examples/Makefile-cc2650 index 173a64a19..5aa0dcde1 100644 --- a/examples/Makefile-cc2650 +++ b/examples/Makefile-cc2650 @@ -60,6 +60,7 @@ CC2650_MBEDTLS_CPPFLAGS += -I$(PWD)/third_party/mbedtls CC2650_MBEDTLS_CPPFLAGS += -I$(PWD)/third_party/mbedtls/repo/include CC2650_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-cc2650-config.h\"' +CC2650_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-cc2650-config-check.h\"' CC2650_CONFIG_FILE_CPPFLAGS += -I$(PWD)/examples/platforms/cc2650/ COMMONCFLAGS := \ diff --git a/examples/Makefile-cc2652 b/examples/Makefile-cc2652 index d0f6ef0b5..56a1753ef 100644 --- a/examples/Makefile-cc2652 +++ b/examples/Makefile-cc2652 @@ -68,10 +68,9 @@ CC2652_MBEDTLS_CPPFLAGS = \ -I$(PWD)/third_party/mbedtls/repo/include \ $(NULL) -CC2652_CONFIG_FILE_CPPFLAGS = \ - -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-cc2652-config.h\"' \ - -I$(PWD)/examples/platforms/cc2652/ \ - $(NULL) +CC2652_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-cc2652-config.h\"' +CC2652_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-cc2652-config-check.h\"' +CC2652_CONFIG_FILE_CPPFLAGS += -I$(PWD)/examples/platforms/cc2652/ COMMONCFLAGS := \ -fdata-sections \ diff --git a/examples/Makefile-efr32mg12 b/examples/Makefile-efr32mg12 index e89db1bd3..dea4010a1 100644 --- a/examples/Makefile-efr32mg12 +++ b/examples/Makefile-efr32mg12 @@ -101,19 +101,21 @@ EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls/repo/include EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls/repo/include/mbedtls -CONFIG_FILE = OPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-efr32-config.h\"' CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/efr32mg12/ HAL_CONF_DIR = $(CONFIG_FILE_PATH)/$(shell echo $(BOARD) | tr A-Z a-z) -COMMONCFLAGS := \ - -fdata-sections \ - -ffunction-sections \ - -Os \ - -g \ - -D$(CONFIG_FILE) \ - -I$(CONFIG_FILE_PATH) \ - -I$(HAL_CONF_DIR) \ - -D$(MCU) \ +EFR32MG12_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-efr32-config.h\"' +EFR32MG12_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-efr32-config-check.h\"' +EFR32MG12_CONFIG_FILE_CPPFLAGS += -I$(CONFIG_FILE_PATH) + +COMMONCFLAGS := \ + -fdata-sections \ + -ffunction-sections \ + -Os \ + -g \ + -I$(HAL_CONF_DIR) \ + -D$(MCU) \ + $(EFR32MG12_CONFIG_FILE_CPPFLAGS) \ $(NULL) include $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/common-switches.mk diff --git a/examples/Makefile-efr32mg21 b/examples/Makefile-efr32mg21 index 6d71755d3..8c7e14c46 100644 --- a/examples/Makefile-efr32mg21 +++ b/examples/Makefile-efr32mg21 @@ -87,19 +87,21 @@ EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls/repo/include EFR32_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls/repo/include/mbedtls -CONFIG_FILE = OPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-efr32-config.h\"' CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/efr32mg21/ HAL_CONF_DIR = $(CONFIG_FILE_PATH)/$(shell echo $(BOARD) | tr A-Z a-z) -COMMONCFLAGS := \ - -fdata-sections \ - -ffunction-sections \ - -Os \ - -g \ - -D$(CONFIG_FILE) \ - -I$(CONFIG_FILE_PATH) \ - -I$(HAL_CONF_DIR) \ - -D$(MCU) \ +EFR32MG21_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-efr32-config.h\"' +EFR32MG21_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-efr32-config-check.h\"' +EFR32MG21_CONFIG_FILE_CPPFLAGS += -I$(CONFIG_FILE_PATH) + +COMMONCFLAGS := \ + -fdata-sections \ + -ffunction-sections \ + -Os \ + -g \ + -I$(HAL_CONF_DIR) \ + -D$(MCU) \ + $(EFR32MG21_CONFIG_FILE_CPPFLAGS) \ $(NULL) include $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/common-switches.mk diff --git a/examples/Makefile-gp712 b/examples/Makefile-gp712 index 7e6916e33..c1e285898 100644 --- a/examples/Makefile-gp712 +++ b/examples/Makefile-gp712 @@ -60,6 +60,7 @@ configure_OPTIONS += --enable-cli-logging endif GP712_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-gp712-config.h\"' +GP712_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-gp712-config-check.h\"' GP712_CONFIG_FILE_CPPFLAGS += -I$(PWD)/examples/platforms/gp712/ COMMONCFLAGS := \ diff --git a/examples/Makefile-kw41z b/examples/Makefile-kw41z index 006ebdf5b..60b17df58 100644 --- a/examples/Makefile-kw41z +++ b/examples/Makefile-kw41z @@ -56,16 +56,16 @@ configure_OPTIONS = \ TopSourceDir := $(dir $(shell readlink $(firstword $(MAKEFILE_LIST)))).. AbsTopSourceDir := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))).. -CONFIG_FILE = OPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-kw41z-config.h\"' -CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/kw41z/ +KW41Z_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-kw41z-config.h\"' +KW41Z_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-kw41z-config-check.h\"' +KW41Z_CONFIG_FILE_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/kw41z/ COMMONCFLAGS := \ -fdata-sections \ -ffunction-sections \ -Os \ -g \ - -D$(CONFIG_FILE) \ - -I$(CONFIG_FILE_PATH) \ + $(KW41Z_CONFIG_FILE_CPPFLAGS) \ $(NULL) include $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/common-switches.mk diff --git a/examples/Makefile-nrf52811 b/examples/Makefile-nrf52811 index 493caab1f..fa6a84601 100644 --- a/examples/Makefile-nrf52811 +++ b/examples/Makefile-nrf52811 @@ -68,16 +68,16 @@ NRF52811_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/NordicSemiconducto NRF52811_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/NordicSemiconductor/cmsis NRF52811_MBEDTLS_CPPFLAGS += -DNRF52811_XXAA -CONFIG_FILE = OPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-nrf52811-config.h\"' -CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/nrf52811/ +NRF52811_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-nrf52811-config.h\"' +NRF52811_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-nrf52811-config-check.h\"' +NRF52811_CONFIG_FILE_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/nrf52811/ -COMMONCFLAGS := \ - -fdata-sections \ - -ffunction-sections \ - -Os \ - -g \ - -D$(CONFIG_FILE) \ - -I$(CONFIG_FILE_PATH) \ +COMMONCFLAGS := \ + -fdata-sections \ + -ffunction-sections \ + -Os \ + -g \ + $(NRF52811_CONFIG_FILE_CPPFLAGS) \ $(NULL) include $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/common-switches.mk diff --git a/examples/Makefile-nrf52840 b/examples/Makefile-nrf52840 index efdd894a5..4485059f5 100644 --- a/examples/Makefile-nrf52840 +++ b/examples/Makefile-nrf52840 @@ -72,16 +72,16 @@ NRF52840_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/NordicSemiconducto NRF52840_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/NordicSemiconductor/cmsis NRF52840_MBEDTLS_CPPFLAGS += -DNRF52840_XXAA -CONFIG_FILE = OPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-nrf52840-config.h\"' -CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/nrf52840/ +NRF52840_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-nrf52840-config.h\"' +NRF52840_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-nrf52840-config-check.h\"' +NRF52840_CONFIG_FILE_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/nrf52840/ -COMMONCFLAGS := \ - -fdata-sections \ - -ffunction-sections \ - -Os \ - -g \ - -D$(CONFIG_FILE) \ - -I$(CONFIG_FILE_PATH) \ +COMMONCFLAGS := \ + -fdata-sections \ + -ffunction-sections \ + -Os \ + -g \ + $(NRF52840_CONFIG_FILE_CPPFLAGS) \ $(NULL) include $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/common-switches.mk diff --git a/examples/Makefile-qpg6095 b/examples/Makefile-qpg6095 index 5817a8fa8..059c5202a 100644 --- a/examples/Makefile-qpg6095 +++ b/examples/Makefile-qpg6095 @@ -59,6 +59,7 @@ TopSourceDir := $(dir $(shell readlink $(firstword $(MAKEFILE AbsTopSourceDir := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))).. QPG6095_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-qpg6095-config.h\"' +QPG6095_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-qpg6095-config-check.h\"' QPG6095_CONFIG_FILE_CPPFLAGS += -I$(PWD)/examples/platforms/qpg6095/ QPG6095_MBEDTLS_CPPFLAGS = -DMBEDTLS_CONFIG_FILE='\"mbedtls-config.h\"' QPG6095_MBEDTLS_CPPFLAGS += -DMBEDTLS_USER_CONFIG_FILE='\"qpg6095-mbedtls-config.h\"' @@ -67,16 +68,12 @@ QPG6095_MBEDTLS_CPPFLAGS += -I$(PWD)/third_party/mbedtls QPG6095_MBEDTLS_CPPFLAGS += -I$(PWD)/third_party/mbedtls/repo/include QPG6095_MBEDTLS_CPPFLAGS += -I$(PWD)/third_party/mbedtls/repo/include/mbedtls -CONFIG_FILE = OPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-qpg6095-config.h\"' -CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/qpg6095/ - -COMMONCFLAGS := \ - -fdata-sections \ - -ffunction-sections \ - -Os \ - -g \ - -D$(CONFIG_FILE) \ - -I$(CONFIG_FILE_PATH) \ +COMMONCFLAGS := \ + -fdata-sections \ + -ffunction-sections \ + -Os \ + -g \ + $(QPG6095_CONFIG_FILE_CPPFLAGS) \ $(NULL) include $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/common-switches.mk diff --git a/examples/Makefile-samr21 b/examples/Makefile-samr21 index bd19b8f44..58b298b76 100644 --- a/examples/Makefile-samr21 +++ b/examples/Makefile-samr21 @@ -78,18 +78,18 @@ SAMR21_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/samr21/crypto SAMR21_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls SAMR21_MBEDTLS_CPPFLAGS += -I$(AbsTopSourceDir)/third_party/mbedtls/repo/include -CONFIG_FILE = OPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-samr21-config.h\"' -CONFIG_FILE_PATH = $(AbsTopSourceDir)/examples/platforms/samr21/ +SAMR21_CONFIG_FILE_CPPFLAGS = -DOPENTHREAD_PROJECT_CORE_CONFIG_FILE='\"openthread-core-samr21-config.h\"' +SAMR21_CONFIG_FILE_CPPFLAGS += -DOPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE='\"openthread-core-samr21-config-check.h\"' +SAMR21_CONFIG_FILE_CPPFLAGS += -I$(AbsTopSourceDir)/examples/platforms/samr21/ -COMMONCFLAGS := \ - -DBOARD=$(BOARD) \ - -D$(CPU) \ - -fdata-sections \ - -ffunction-sections \ - -Os \ - -g \ - -D$(CONFIG_FILE) \ - -I$(CONFIG_FILE_PATH) \ +COMMONCFLAGS := \ + -DBOARD=$(BOARD) \ + -D$(CPU) \ + -fdata-sections \ + -ffunction-sections \ + -Os \ + -g \ + $(SAMR21_CONFIG_FILE_CPPFLAGS) \ $(NULL) include $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/common-switches.mk diff --git a/examples/platforms/cc1352/Makefile.am b/examples/platforms/cc1352/Makefile.am index 435e83a78..e64c9fdb4 100644 --- a/examples/platforms/cc1352/Makefile.am +++ b/examples/platforms/cc1352/Makefile.am @@ -54,6 +54,7 @@ PLATFORM_SOURCES logging.c \ misc.c \ openthread-core-cc1352-config.h \ + openthread-core-cc1352-config-check.h \ platform-cc1352.h \ radio.c \ system.c \ diff --git a/examples/platforms/cc1352/openthread-core-cc1352-config-check.h b/examples/platforms/cc1352/openthread-core-cc1352-config-check.h new file mode 100644 index 000000000..eac283004 --- /dev/null +++ b/examples/platforms/cc1352/openthread-core-cc1352-config-check.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_CC1352_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_CC1352_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform cc1352 doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform cc1352 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_CC1352_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/cc2538/Makefile.am b/examples/platforms/cc2538/Makefile.am index 8f95f2d2d..a7d2f0090 100644 --- a/examples/platforms/cc2538/Makefile.am +++ b/examples/platforms/cc2538/Makefile.am @@ -44,6 +44,7 @@ PLATFORM_SOURCES = \ flash.c \ misc.c \ openthread-core-cc2538-config.h \ + openthread-core-cc2538-config-check.h \ platform-cc2538.h \ radio.c \ rom-utility.h \ diff --git a/examples/platforms/cc2538/openthread-core-cc2538-config-check.h b/examples/platforms/cc2538/openthread-core-cc2538-config-check.h new file mode 100644 index 000000000..c1d45924d --- /dev/null +++ b/examples/platforms/cc2538/openthread-core-cc2538-config-check.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_CC2538_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_CC2538_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform cc2538 doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform cc2538 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_CC2538_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/cc2650/Makefile.am b/examples/platforms/cc2650/Makefile.am index bf90901c6..af8dd420a 100644 --- a/examples/platforms/cc2650/Makefile.am +++ b/examples/platforms/cc2650/Makefile.am @@ -54,6 +54,7 @@ PLATFORM_SOURCES = \ misc.c \ logging.c \ openthread-core-cc2650-config.h \ + openthread-core-cc2650-config-check.h \ platform-cc2650.h \ radio.c \ system.c \ diff --git a/examples/platforms/cc2650/openthread-core-cc2650-config-check.h b/examples/platforms/cc2650/openthread-core-cc2650-config-check.h new file mode 100644 index 000000000..1aa48b355 --- /dev/null +++ b/examples/platforms/cc2650/openthread-core-cc2650-config-check.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_CC2650_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_CC2650_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform cc2650 doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform cc2650 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_CC2650_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/cc2652/Makefile.am b/examples/platforms/cc2652/Makefile.am index 8d8b36ab1..7dfe572a7 100644 --- a/examples/platforms/cc2652/Makefile.am +++ b/examples/platforms/cc2652/Makefile.am @@ -54,6 +54,7 @@ PLATFORM_SOURCES logging.c \ misc.c \ openthread-core-cc2652-config.h \ + openthread-core-cc2652-config-check.h \ platform-cc2652.h \ radio.c \ system.c \ diff --git a/examples/platforms/cc2652/openthread-core-cc2652-config-check.h b/examples/platforms/cc2652/openthread-core-cc2652-config-check.h new file mode 100644 index 000000000..662d1ee14 --- /dev/null +++ b/examples/platforms/cc2652/openthread-core-cc2652-config-check.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_CC2652_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_CC2652_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform cc2652 doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform cc2652 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_CC2652_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/efr32mg12/Makefile.am b/examples/platforms/efr32mg12/Makefile.am index 72354f670..54b52da2b 100644 --- a/examples/platforms/efr32mg12/Makefile.am +++ b/examples/platforms/efr32mg12/Makefile.am @@ -99,6 +99,7 @@ PLATFORM_SOURCES = logging.c \ misc.c \ openthread-core-efr32-config.h \ + openthread-core-efr32-config-check.h \ platform-efr32.h \ platform-band.h \ radio.c \ diff --git a/examples/platforms/efr32mg12/openthread-core-efr32-config-check.h b/examples/platforms/efr32mg12/openthread-core-efr32-config-check.h new file mode 100644 index 000000000..2dd40d448 --- /dev/null +++ b/examples/platforms/efr32mg12/openthread-core-efr32-config-check.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_EFR32_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_EFR32_CONFIG_CHECK_H_ + +#include "board_config.h" + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform efr32mg12 doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#ifndef RADIO_CONFIG_915MHZ_OQPSK_SUPPORT +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform efr32mg12 not configured to support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif +#endif + +#endif /* OPENTHREAD_CORE_EFR32_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/efr32mg21/Makefile.am b/examples/platforms/efr32mg21/Makefile.am index c6af552c7..c84ee6471 100644 --- a/examples/platforms/efr32mg21/Makefile.am +++ b/examples/platforms/efr32mg21/Makefile.am @@ -85,6 +85,8 @@ PLATFORM_SOURCES = flash.c \ logging.c \ misc.c \ + openthread-core-efr32-config.h \ + openthread-core-efr32-config-check.h \ radio.c \ startup-gcc.c \ system.c \ diff --git a/examples/platforms/efr32mg21/openthread-core-efr32-config-check.h b/examples/platforms/efr32mg21/openthread-core-efr32-config-check.h new file mode 100644 index 000000000..953efeed2 --- /dev/null +++ b/examples/platforms/efr32mg21/openthread-core-efr32-config-check.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_EFR32_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_EFR32_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform efr32mg21 doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform efr32mg21 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_EFR32_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/efr32mg21/openthread-core-efr32-config.h b/examples/platforms/efr32mg21/openthread-core-efr32-config.h index bdbc39e80..ba95953a8 100644 --- a/examples/platforms/efr32mg21/openthread-core-efr32-config.h +++ b/examples/platforms/efr32mg21/openthread-core-efr32-config.h @@ -44,7 +44,7 @@ * The efr32 platform provides an otPlatLog() function. */ #ifndef OPENTHREAD_CONFIG_LOG_OUTPUT /* allow command line override */ -#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED +#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED #endif /* @@ -54,8 +54,7 @@ * */ -#define OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT 0 - +#define OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT 0 /* * @def OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT @@ -64,9 +63,9 @@ * */ #ifdef RADIO_CONFIG_2P4GHZ_OQPSK_SUPPORT -#define OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT 1 +#define OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT 1 #else -#define OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT 0 +#define OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT 0 #endif /** @@ -75,7 +74,7 @@ * The platform-specific string to insert into the OpenThread version string. * */ -#define OPENTHREAD_CONFIG_PLATFORM_INFO "EFR32" +#define OPENTHREAD_CONFIG_PLATFORM_INFO "EFR32" /* * @def OPENTHREAD_CONFIG_ENABLE_SOFTWARE_RETRANSMIT @@ -83,7 +82,7 @@ * Define to 1 if you want to enable software retransmission logic. * */ -#define OPENTHREAD_CONFIG_ENABLE_SOFTWARE_RETRANSMIT 1 +#define OPENTHREAD_CONFIG_ENABLE_SOFTWARE_RETRANSMIT 1 /** * @def OPENTHREAD_CONFIG_ENABLE_SOFTWARE_CSMA_BACKOFF @@ -91,7 +90,7 @@ * Define to 1 if you want to enable software CSMA-CA backoff logic. * */ -#define OPENTHREAD_CONFIG_ENABLE_SOFTWARE_CSMA_BACKOFF 1 +#define OPENTHREAD_CONFIG_ENABLE_SOFTWARE_CSMA_BACKOFF 1 /** * @def OPENTHREAD_CONFIG_ENABLE_SOFTWARE_ENERGY_SCAN @@ -99,7 +98,7 @@ * Define to 1 if you want to enable software energy scanning logic. * */ -#define OPENTHREAD_CONFIG_ENABLE_SOFTWARE_ENERGY_SCAN 1 +#define OPENTHREAD_CONFIG_ENABLE_SOFTWARE_ENERGY_SCAN 1 /** * @def SETTINGS_CONFIG_BASE_ADDRESS @@ -107,7 +106,7 @@ * The base address of settings. * */ -#define SETTINGS_CONFIG_BASE_ADDRESS 0 +#define SETTINGS_CONFIG_BASE_ADDRESS 0 /** * @def SETTINGS_CONFIG_PAGE_SIZE @@ -115,7 +114,7 @@ * The page size of settings. * */ -#define SETTINGS_CONFIG_PAGE_SIZE FLASH_PAGE_SIZE +#define SETTINGS_CONFIG_PAGE_SIZE FLASH_PAGE_SIZE /** * @def SETTINGS_CONFIG_PAGE_NUM @@ -123,7 +122,7 @@ * The page number of settings. * */ -#define SETTINGS_CONFIG_PAGE_NUM 4 +#define SETTINGS_CONFIG_PAGE_NUM 4 /** * @def RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM @@ -131,7 +130,7 @@ * The number of short source address table entries. * */ -#define RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM 6 +#define RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM 6 /** * @def RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM @@ -139,6 +138,6 @@ * The number of extended source address table entries. * */ -#define RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM 6 +#define RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM 6 -#endif // OPENTHREAD_CORE_EFR32_CONFIG_H_ +#endif // OPENTHREAD_CORE_EFR32_CONFIG_H_ diff --git a/examples/platforms/gp712/Makefile.am b/examples/platforms/gp712/Makefile.am index af7707cf6..673197386 100644 --- a/examples/platforms/gp712/Makefile.am +++ b/examples/platforms/gp712/Makefile.am @@ -47,6 +47,7 @@ PLATFORM_SOURCES = \ logging.c \ misc.c \ openthread-core-gp712-config.h \ + openthread-core-gp712-config-check.h \ platform_qorvo.h \ radio.c \ radio_qorvo.h \ diff --git a/examples/platforms/gp712/openthread-core-gp712-config-check.h b/examples/platforms/gp712/openthread-core-gp712-config-check.h new file mode 100644 index 000000000..9ba03f69c --- /dev/null +++ b/examples/platforms/gp712/openthread-core-gp712-config-check.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_GP712_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_GP712_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform gp712 doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform gp712 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_GP712_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/kw41z/Makefile.am b/examples/platforms/kw41z/Makefile.am index eb4b2546e..4f3f7dece 100644 --- a/examples/platforms/kw41z/Makefile.am +++ b/examples/platforms/kw41z/Makefile.am @@ -56,6 +56,7 @@ PLATFORM_SOURCES logging.c \ misc.c \ openthread-core-kw41z-config.h \ + openthread-core-kw41z-config-check.h \ platform-kw41z.h \ radio.c \ system.c \ diff --git a/examples/platforms/kw41z/openthread-core-kw41z-config-check.h b/examples/platforms/kw41z/openthread-core-kw41z-config-check.h new file mode 100644 index 000000000..237b2fb3c --- /dev/null +++ b/examples/platforms/kw41z/openthread-core-kw41z-config-check.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_KW41Z_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_KW41Z_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform kw41z doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform kw41z doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_KW41Z_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/nrf52811/Makefile.am b/examples/platforms/nrf52811/Makefile.am index 4a5a1f122..aa04a067a 100644 --- a/examples/platforms/nrf52811/Makefile.am +++ b/examples/platforms/nrf52811/Makefile.am @@ -78,6 +78,7 @@ PLATFORM_COMMON_SOURCES logging.c \ misc.c \ openthread-core-nrf52811-config.h \ + openthread-core-nrf52811-config-check.h \ platform-config.h \ platform-fem.h \ platform-nrf5.h \ diff --git a/examples/platforms/nrf52811/openthread-core-nrf52811-config-check.h b/examples/platforms/nrf52811/openthread-core-nrf52811-config-check.h new file mode 100644 index 000000000..9b9c87d72 --- /dev/null +++ b/examples/platforms/nrf52811/openthread-core-nrf52811-config-check.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_NRF52811_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_NRF52811_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform nrf52811 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_NRF52811_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/nrf52840/Makefile.am b/examples/platforms/nrf52840/Makefile.am index c0690cebd..078ec5a44 100644 --- a/examples/platforms/nrf52840/Makefile.am +++ b/examples/platforms/nrf52840/Makefile.am @@ -86,6 +86,7 @@ PLATFORM_COMMON_SOURCES logging.c \ misc.c \ openthread-core-nrf52840-config.h \ + openthread-core-nrf52840-config-check.h \ platform-config.h \ platform-fem.h \ platform-nrf5.h \ diff --git a/examples/platforms/nrf52840/openthread-core-nrf52840-config-check.h b/examples/platforms/nrf52840/openthread-core-nrf52840-config-check.h new file mode 100644 index 000000000..bdeb78210 --- /dev/null +++ b/examples/platforms/nrf52840/openthread-core-nrf52840-config-check.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_NRF52840_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_NRF52840_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform nrf52840 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_NRF52840_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/qpg6095/Makefile.am b/examples/platforms/qpg6095/Makefile.am index 6deeae14c..ab114adbe 100644 --- a/examples/platforms/qpg6095/Makefile.am +++ b/examples/platforms/qpg6095/Makefile.am @@ -49,6 +49,7 @@ libopenthread_qpg6095_a_SOURCES = \ misc.c \ misc_qorvo.h \ openthread-core-qpg6095-config.h \ + openthread-core-qpg6095-config-check.h \ platform.c \ platform_qorvo.h \ radio.c \ diff --git a/examples/platforms/qpg6095/openthread-core-qpg6095-config-check.h b/examples/platforms/qpg6095/openthread-core-qpg6095-config-check.h new file mode 100644 index 000000000..d45320b40 --- /dev/null +++ b/examples/platforms/qpg6095/openthread-core-qpg6095-config-check.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_QPG6095_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_QPG6095_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform qpg6095 doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform qpg6095 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_QPG6095_CONFIG_CHECK_H_ */ diff --git a/examples/platforms/samr21/Makefile.am b/examples/platforms/samr21/Makefile.am index 92324d0fe..946af886c 100644 --- a/examples/platforms/samr21/Makefile.am +++ b/examples/platforms/samr21/Makefile.am @@ -96,6 +96,7 @@ PLATFORM_SOURCES logging.c \ misc.c \ openthread-core-samr21-config.h \ + openthread-core-samr21-config-check.h \ platform-samr21.h \ radio.c \ system.c \ diff --git a/examples/platforms/samr21/openthread-core-samr21-config-check.h b/examples/platforms/samr21/openthread-core-samr21-config-check.h new file mode 100644 index 000000000..372a5f734 --- /dev/null +++ b/examples/platforms/samr21/openthread-core-samr21-config-check.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2019, The OpenThread Authors. + * All rights reserved. + * + * 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 of the copyright holder 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 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. + */ + +#ifndef OPENTHREAD_CORE_SAMR21_CONFIG_CHECK_H_ +#define OPENTHREAD_CORE_SAMR21_CONFIG_CHECK_H_ + +#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC +#error "Platform samr21 doesn't support configuration option: OPENTHREAD_CONFIG_ENABLE_TIME_SYNC" +#endif + +#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT +#error "Platform samr21 doesn't support configuration option: OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT" +#endif + +#endif /* OPENTHREAD_CORE_SAMR21_CONFIG_CHECK_H_ */ diff --git a/src/core/openthread-core-config.h b/src/core/openthread-core-config.h index ab0d82777..55df5f9ab 100644 --- a/src/core/openthread-core-config.h +++ b/src/core/openthread-core-config.h @@ -48,4 +48,8 @@ #include "openthread-core-config-check.h" +#ifdef OPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE +#include OPENTHREAD_CORE_CONFIG_PLATFORM_CHECK_FILE +#endif + #endif // OPENTHREAD_CORE_CONFIG_H_