diff --git a/src/ot-rcp/.cproject b/src/ot-rcp/.cproject index ddf40559..99861877 100644 --- a/src/ot-rcp/.cproject +++ b/src/ot-rcp/.cproject @@ -4,7 +4,7 @@ - + @@ -23,7 +23,7 @@ - + @@ -38,7 +38,7 @@ - @@ -158,7 +174,7 @@ - @@ -289,35 +321,42 @@ + + + + + + + + + + - - - @@ -335,7 +374,7 @@ - + @@ -353,11 +392,14 @@ + + - + + @@ -365,6 +407,7 @@ + @@ -373,6 +416,9 @@ + + + @@ -391,6 +437,7 @@ - + diff --git a/src/ot-rcp/config/btl_interface_cfg_s2c1.h b/src/ot-rcp/config/btl_interface_cfg_s2c1.h index 7f703143..35e65f10 100644 --- a/src/ot-rcp/config/btl_interface_cfg_s2c1.h +++ b/src/ot-rcp/config/btl_interface_cfg_s2c1.h @@ -231,51 +231,51 @@ // <<< end of configuration section >>> #if BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE == 1 -#define BOOTLOADER_PPUSATD0_MASK ((BOOTLOADER_PPUSATD0_EMU << _SMU_PPUSATD0_EMU_SHIFT) \ - | (BOOTLOADER_PPUSATD0_CMU << _SMU_PPUSATD0_CMU_SHIFT) \ - | (BOOTLOADER_PPUSATD0_HFXO0 << _SMU_PPUSATD0_HFXO0_SHIFT) \ - | (BOOTLOADER_PPUSATD0_HFRCO0 << _SMU_PPUSATD0_HFRCO0_SHIFT) \ - | (BOOTLOADER_PPUSATD0_FSRCO << _SMU_PPUSATD0_FSRCO_SHIFT) \ - | (BOOTLOADER_PPUSATD0_DPLL0 << _SMU_PPUSATD0_DPLL0_SHIFT) \ - | (BOOTLOADER_PPUSATD0_LFXO << _SMU_PPUSATD0_LFXO_SHIFT) \ - | (BOOTLOADER_PPUSATD0_LFRCO << _SMU_PPUSATD0_LFRCO_SHIFT) \ - | (BOOTLOADER_PPUSATD0_ULFRCO << _SMU_PPUSATD0_ULFRCO_SHIFT) \ - | (BOOTLOADER_PPUSATD0_MSC << _SMU_PPUSATD0_MSC_SHIFT) \ - | (BOOTLOADER_PPUSATD0_ICACHE0 << _SMU_PPUSATD0_ICACHE0_SHIFT) \ - | (BOOTLOADER_PPUSATD0_PRS << _SMU_PPUSATD0_PRS_SHIFT) \ - | (BOOTLOADER_PPUSATD0_GPIO << _SMU_PPUSATD0_GPIO_SHIFT) \ - | (BOOTLOADER_PPUSATD0_LDMA << _SMU_PPUSATD0_LDMA_SHIFT) \ - | (BOOTLOADER_PPUSATD0_LDMAXBAR << _SMU_PPUSATD0_LDMAXBAR_SHIFT) \ - | (BOOTLOADER_PPUSATD0_TIMER0 << _SMU_PPUSATD0_TIMER0_SHIFT) \ - | (BOOTLOADER_PPUSATD0_TIMER1 << _SMU_PPUSATD0_TIMER1_SHIFT) \ - | (BOOTLOADER_PPUSATD0_TIMER2 << _SMU_PPUSATD0_TIMER2_SHIFT) \ - | (BOOTLOADER_PPUSATD0_TIMER3 << _SMU_PPUSATD0_TIMER3_SHIFT) \ - | (BOOTLOADER_PPUSATD0_USART0 << _SMU_PPUSATD0_USART0_SHIFT) \ - | (BOOTLOADER_PPUSATD0_USART1 << _SMU_PPUSATD0_USART1_SHIFT) \ - | (BOOTLOADER_PPUSATD0_USART2 << _SMU_PPUSATD0_USART2_SHIFT) \ - | (BOOTLOADER_PPUSATD0_BURTC << _SMU_PPUSATD0_BURTC_SHIFT) \ - | (BOOTLOADER_PPUSATD0_I2C1 << _SMU_PPUSATD0_I2C1_SHIFT) \ - | (BOOTLOADER_PPUSATD0_CHIPTESTCTRL << _SMU_PPUSATD0_CHIPTESTCTRL_SHIFT) \ - | (BOOTLOADER_PPUSATD0_LVGD << _SMU_PPUSATD0_LVGD_SHIFT) \ - | (BOOTLOADER_PPUSATD0_SYSCFG << _SMU_PPUSATD0_SYSCFG_SHIFT) \ - | (BOOTLOADER_PPUSATD0_BURAM << _SMU_PPUSATD0_BURAM_SHIFT) \ - | (BOOTLOADER_PPUSATD0_IFADCDEBUG << _SMU_PPUSATD0_IFADCDEBUG_SHIFT) \ - | (BOOTLOADER_PPUSATD0_GPCRC << _SMU_PPUSATD0_GPCRC_SHIFT) \ - | (BOOTLOADER_PPUSATD0_RTCC << _SMU_PPUSATD0_RTCC_SHIFT)) -#define BOOTLOADER_PPUSATD1_MASK ((BOOTLOADER_PPUSATD1_LETIMER0 << _SMU_PPUSATD1_LETIMER0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_IADC0 << _SMU_PPUSATD1_IADC0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_ACMP0 << _SMU_PPUSATD1_ACMP0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_ACMP1 << _SMU_PPUSATD1_ACMP1_SHIFT) \ - | (BOOTLOADER_PPUSATD1_I2C0 << _SMU_PPUSATD1_I2C0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_HFRCOEM23 << _SMU_PPUSATD1_HFRCOEM23_SHIFT) \ - | (BOOTLOADER_PPUSATD1_WDOG0 << _SMU_PPUSATD1_WDOG0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_WDOG1 << _SMU_PPUSATD1_WDOG1_SHIFT) \ - | (BOOTLOADER_PPUSATD1_AMUXCP0 << _SMU_PPUSATD1_AMUXCP0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_RADIOAES << _SMU_PPUSATD1_RADIOAES_SHIFT) \ - | (BOOTLOADER_PPUSATD1_BUFC << _SMU_PPUSATD1_BUFC_SHIFT) \ - | (BOOTLOADER_PPUSATD1_SMU << _SMU_PPUSATD1_SMU_SHIFT) \ - | (BOOTLOADER_PPUSATD1_AHBRADIO << _SMU_PPUSATD1_AHBRADIO_SHIFT) \ - | (BOOTLOADER_PPUSATD1_SEMAILBOX << _SMU_PPUSATD1_SEMAILBOX_SHIFT)) +#define BOOTLOADER_PPUSATD0_MASK ((BOOTLOADER_PPUSATD0_EMU << _SMU_PPUSATD0_EMU_SHIFT) \ + | (BOOTLOADER_PPUSATD0_CMU << _SMU_PPUSATD0_CMU_SHIFT) \ + | (BOOTLOADER_PPUSATD0_HFXO0 << _SMU_PPUSATD0_HFXO0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_HFRCO0 << _SMU_PPUSATD0_HFRCO0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_FSRCO << _SMU_PPUSATD0_FSRCO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_DPLL0 << _SMU_PPUSATD0_DPLL0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LFXO << _SMU_PPUSATD0_LFXO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LFRCO << _SMU_PPUSATD0_LFRCO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_ULFRCO << _SMU_PPUSATD0_ULFRCO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_MSC << _SMU_PPUSATD0_MSC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_ICACHE0 << _SMU_PPUSATD0_ICACHE0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_PRS << _SMU_PPUSATD0_PRS_SHIFT) \ + | (BOOTLOADER_PPUSATD0_GPIO << _SMU_PPUSATD0_GPIO_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LDMA << _SMU_PPUSATD0_LDMA_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LDMAXBAR << _SMU_PPUSATD0_LDMAXBAR_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER0 << _SMU_PPUSATD0_TIMER0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER1 << _SMU_PPUSATD0_TIMER1_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER2 << _SMU_PPUSATD0_TIMER2_SHIFT) \ + | (BOOTLOADER_PPUSATD0_TIMER3 << _SMU_PPUSATD0_TIMER3_SHIFT) \ + | (BOOTLOADER_PPUSATD0_USART0 << _SMU_PPUSATD0_USART0_SHIFT) \ + | (BOOTLOADER_PPUSATD0_USART1 << _SMU_PPUSATD0_USART1_SHIFT) \ + | (BOOTLOADER_PPUSATD0_USART2 << _SMU_PPUSATD0_USART2_SHIFT) \ + | (BOOTLOADER_PPUSATD0_BURTC << _SMU_PPUSATD0_BURTC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_I2C1 << _SMU_PPUSATD0_I2C1_SHIFT) \ + | (BOOTLOADER_PPUSATD0_CHIPTESTCTRL << _SMU_PPUSATD0_CHIPTESTCTRL_SHIFT) \ + | (BOOTLOADER_PPUSATD0_LVGD << _SMU_PPUSATD0_LVGD_SHIFT) \ + | (BOOTLOADER_PPUSATD0_SYSCFG << _SMU_PPUSATD0_SYSCFG_SHIFT) \ + | (BOOTLOADER_PPUSATD0_BURAM << _SMU_PPUSATD0_BURAM_SHIFT) \ + | (BOOTLOADER_PPUSATD0_IFADCDEBUG << _SMU_PPUSATD0_IFADCDEBUG_SHIFT) \ + | (BOOTLOADER_PPUSATD0_GPCRC << _SMU_PPUSATD0_GPCRC_SHIFT) \ + | (BOOTLOADER_PPUSATD0_RTCC << _SMU_PPUSATD0_RTCC_SHIFT)) +#define BOOTLOADER_PPUSATD1_MASK ((BOOTLOADER_PPUSATD1_LETIMER0 << _SMU_PPUSATD1_LETIMER0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_IADC0 << _SMU_PPUSATD1_IADC0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_ACMP0 << _SMU_PPUSATD1_ACMP0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_ACMP1 << _SMU_PPUSATD1_ACMP1_SHIFT) \ + | (BOOTLOADER_PPUSATD1_I2C0 << _SMU_PPUSATD1_I2C0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_HFRCOEM23 << _SMU_PPUSATD1_HFRCOEM23_SHIFT) \ + | (BOOTLOADER_PPUSATD1_WDOG0 << _SMU_PPUSATD1_WDOG0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_WDOG1 << _SMU_PPUSATD1_WDOG1_SHIFT) \ + | (BOOTLOADER_PPUSATD1_AMUXCP0 << _SMU_PPUSATD1_AMUXCP0_SHIFT) \ + | (BOOTLOADER_PPUSATD1_RADIOAES << _SMU_PPUSATD1_RADIOAES_SHIFT) \ + | (BOOTLOADER_PPUSATD1_BUFC << _SMU_PPUSATD1_BUFC_SHIFT) \ + | (BOOTLOADER_PPUSATD1_SMU << _SMU_PPUSATD1_SMU_SHIFT) \ + | (BOOTLOADER_PPUSATD1_AHBRADIO << _SMU_PPUSATD1_AHBRADIO_SHIFT) \ + | (BOOTLOADER_PPUSATD1_SEMAILBOX << _SMU_PPUSATD1_SEMAILBOX_SHIFT)) #endif // BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE #endif // BTL_INTERFACE_CFG_S2C1_H \ No newline at end of file diff --git a/src/ot-rcp/config/circular_queue_config.h b/src/ot-rcp/config/circular_queue_config.h new file mode 100644 index 00000000..81a7173d --- /dev/null +++ b/src/ot-rcp/config/circular_queue_config.h @@ -0,0 +1,23 @@ +/***************************************************************************//** + * @file circular_queue_config.h + * @brief Configuration file for circular queue. + * @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com + ******************************************************************************/ + +#ifndef __CIRCULAR_QUEUE_CONFIG_H__ +#define __CIRCULAR_QUEUE_CONFIG_H__ + +// <<< Use Configuration Wizard in Context Menu >>> +// Circular Queue Configuration + +// Max Queue Length +// <0-256:1> +// Default: 5 +#ifndef CIRCULAR_QUEUE_LEN_MAX +#define CIRCULAR_QUEUE_LEN_MAX 16 +#endif + +// +// <<< end of configuration section >>> + +#endif // __CIRCULAR_QUEUE_CONFIG_H__ diff --git a/src/ot-rcp/config/emlib_core_debug_config.h b/src/ot-rcp/config/emlib_core_debug_config.h index e4a01682..82bba0b2 100644 --- a/src/ot-rcp/config/emlib_core_debug_config.h +++ b/src/ot-rcp/config/emlib_core_debug_config.h @@ -37,7 +37,7 @@ // Enables measuring of interrupt disable time for debugging purposes. // Default: 0 -#define SL_EMLIB_CORE_ENABLE_INTERRUPT_DISABLED_TIMING 0 +#define SL_CORE_DEBUG_INTERRUPTS_MASKED_TIMING 0 // diff --git a/src/ot-rcp/config/sl_core_config.h b/src/ot-rcp/config/sl_core_config.h new file mode 100644 index 00000000..27b173d2 --- /dev/null +++ b/src/ot-rcp/config/sl_core_config.h @@ -0,0 +1,44 @@ +/***************************************************************************//** + * @file + * @brief sl_core Configuration + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +#ifndef SL_CORE_CONFIG_H +#define SL_CORE_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +// Core Abstraction Configuration + +// Enables measurement of interrupt masking time for debugging purposes. +// Default: 0 +#define SL_CORE_DEBUG_INTERRUPTS_MASKED_TIMING 0 +// + +// <<< end of configuration section >>> +#endif // SL_CORE_CONFIG_H diff --git a/src/ot-rcp/config/sl_device_init_lfxo_config.h b/src/ot-rcp/config/sl_device_init_lfxo_config.h index 29371b6c..7976b065 100644 --- a/src/ot-rcp/config/sl_device_init_lfxo_config.h +++ b/src/ot-rcp/config/sl_device_init_lfxo_config.h @@ -63,26 +63,4 @@ #define SL_DEVICE_INIT_LFXO_TIMEOUT cmuLfxoStartupDelay_4KCycles // <<< end of configuration section >>> -// <<< sl:start pin_tool >>> -// SL_DEVICE_INIT_LFXO -// $[LFXO_SL_DEVICE_INIT_LFXO] -#define SL_DEVICE_INIT_LFXO_PERIPHERAL LFXO - -// LFXO LFXTAL_O on PD00 -#define SL_DEVICE_INIT_LFXO_LFXTAL_O_PORT gpioPortD -#define SL_DEVICE_INIT_LFXO_LFXTAL_O_PIN 0 - -// LFXO LFXTAL_I on PD01 -#define SL_DEVICE_INIT_LFXO_LFXTAL_I_PORT gpioPortD -#define SL_DEVICE_INIT_LFXO_LFXTAL_I_PIN 1 - - -// [LFXO_SL_DEVICE_INIT_LFXO]$ - -// $[LFXO_EXTERNAL_DIGITAL_CLOCK] -#define SL_DEVICE_INIT_LFXO_LF_EXTCLK_PORT gpioPortD -#define SL_DEVICE_INIT_LFXO_LF_EXTCLK_PIN 1 -// [LFXO_EXTERNAL_DIGITAL_CLOCK]$ -// <<< sl:end pin_tool >>> - #endif // SL_DEVICE_INIT_LFXO_CONFIG_H \ No newline at end of file diff --git a/src/ot-rcp/config/sl_gp_interface_config.h b/src/ot-rcp/config/sl_gp_interface_config.h new file mode 100644 index 00000000..a937b58b --- /dev/null +++ b/src/ot-rcp/config/sl_gp_interface_config.h @@ -0,0 +1,44 @@ +/***************************************************************************//** + * @file + * @brief OpenThread Green Power configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +//-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- + +// Rx Offset time +// The rx offset time for the bidirectional message. +// +#define GP_RX_OFFSET_IN_MICRO_SECONDS 21000 +// + +// TX Timeout +// Tx timeout after which the gp outgoing packet is invalid. +// +#define GP_TX_MAX_TIMEOUT_IN_MICRO_SECONDS 5000000 +// +// <<< end of configuration section >>> diff --git a/src/ot-rcp/config/sl_interrupt_manager_s2_config.h b/src/ot-rcp/config/sl_interrupt_manager_s2_config.h new file mode 100644 index 00000000..714893aa --- /dev/null +++ b/src/ot-rcp/config/sl_interrupt_manager_s2_config.h @@ -0,0 +1,47 @@ +/***************************************************************************//** + * @file + * @brief Interrupt Manager configuration file for series 2 devices. + ******************************************************************************* + * # License + * Copyright 2023 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_INTERRUPT_MANAGER_S2_CONFIG_H +#define SL_INTERRUPT_MANAGER_S2_CONFIG_H + +// Interrupt Manager Configuration + +// Put the interrupt vector table in RAM. +// Set to 1 to put the vector table in RAM. +// Default: 0 +#define SL_INTERRUPT_MANAGER_S2_INTERRUPTS_IN_RAM 0 + +// + +#endif /* SSL_INTERRUPT_MANAGER_S2_CONFIG_H */ + +// <<< end of configuration section >>> diff --git a/src/ot-rcp/config/sl_memory_config.h b/src/ot-rcp/config/sl_memory_config.h index 9acd1505..f1fd3df8 100644 --- a/src/ot-rcp/config/sl_memory_config.h +++ b/src/ot-rcp/config/sl_memory_config.h @@ -1,28 +1,11 @@ #ifndef SL_MEMORY_CONFIG_H #define SL_MEMORY_CONFIG_H -// <<< Use Configuration Wizard in Context Menu >>> -// Memory configuration +#include "sl_memory_manager_region_config.h" +#include "sl_common.h" -// Stack size for the application. -// Default: 4096 -// The stack size configured here will be used by the stack that the -// application uses when coming out of a reset. -#ifndef SL_STACK_SIZE - #define SL_STACK_SIZE 4096 +#ifndef SL_SUPPRESS_DEPRECATION_WARNINGS_SDK_2024_6 +#warning "This file is deprecated as of Simplicity SDK 2024.6. Content was moved to sl_memory_manager_region_config.h." #endif -// Minimum heap size for the application. -// Default: 2048 -// Note that this value will configure the c heap which is normally used by -// malloc() and free() from the c library. The value defines a minimum heap -// size that is guaranteed to be available. The available heap may be larger -// to make use of any memory that would otherwise remain unused. -#ifndef SL_HEAP_SIZE - #define SL_HEAP_SIZE 2048 -#endif - -// -// <<< end of configuration section >>> - #endif \ No newline at end of file diff --git a/src/ot-rcp/config/sl_memory_manager_config.h b/src/ot-rcp/config/sl_memory_manager_config.h new file mode 100644 index 00000000..7e4b0567 --- /dev/null +++ b/src/ot-rcp/config/sl_memory_manager_config.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief Memory Heap Allocator configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_MEMORY_MANAGER_CONFIG_H +#define SL_MEMORY_MANAGER_CONFIG_H + +// Memory Manager Configuration + +// Minimum block allocation size +// <32-128:8> +// Minimum block allocation size to avoid creating a block too small while splitting up an allocated block. +// Size expressed in bytes and can only be a multiple of 8 bytes for the proper data alignment management done by the dynamic allocator malloc() function. +// Default: 32 +#define SL_MEMORY_MANAGER_BLOCK_ALLOCATION_MIN_SIZE (32) + +// + +// <<< end of configuration section >>> + +#endif /* SL_MEMORY_MANAGER_CONFIG_H */ diff --git a/src/ot-rcp/config/sl_memory_manager_region_config.h b/src/ot-rcp/config/sl_memory_manager_region_config.h new file mode 100644 index 00000000..ba02fdd8 --- /dev/null +++ b/src/ot-rcp/config/sl_memory_manager_region_config.h @@ -0,0 +1,49 @@ +/***************************************************************************//** + * @file + * @brief Memory Heap and stack size configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + +// <<< Use Configuration Wizard in Context Menu >>> + +#ifndef SL_MEMORY_MANAGER_REGION_CONFIG_H +#define SL_MEMORY_MANAGER_REGION_CONFIG_H + +// Memory configuration + +// Stack size for the application. +// Default: 4096 +// The stack size configured here will be used by the stack that the +// application uses when coming out of a reset. +#ifndef SL_STACK_SIZE +#define SL_STACK_SIZE 4096 +#endif +// + +// <<< end of configuration section >>> + +#endif /* SL_MEMORY_MANAGER_REGION_CONFIG_H */ diff --git a/src/ot-rcp/config/sl_openthread_features_config.h b/src/ot-rcp/config/sl_openthread_features_config.h index 0bb69678..319bb6a8 100644 --- a/src/ot-rcp/config/sl_openthread_features_config.h +++ b/src/ot-rcp/config/sl_openthread_features_config.h @@ -1,3 +1,33 @@ +/***************************************************************************//** + * @file + * @brief OpenThread stack configuration file. + ******************************************************************************* + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * SPDX-License-Identifier: Zlib + * + * The licensor of this software is Silicon Laboratories Inc. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + ******************************************************************************/ + #ifndef _SL_OPENTHREAD_FEATURES_CONFIG_H #define _SL_OPENTHREAD_FEATURES_CONFIG_H //-------- <<< Use Configuration Wizard in Context Menu >>> ----------------- @@ -9,7 +39,7 @@ // Thread 1.1 // Thread 1.2 // Thread 1.3 -// Thread 1.2 and Thread 1.3 are compatible with Thread 1.1. +// Thread 1.4 // Current Default: OT_THREAD_VERSION_1_3 #ifndef OPENTHREAD_CONFIG_THREAD_VERSION #define OPENTHREAD_CONFIG_THREAD_VERSION OT_THREAD_VERSION_1_3 @@ -60,32 +90,41 @@ #ifndef OPENTHREAD_CONFIG_MLR_ENABLE #define OPENTHREAD_CONFIG_MLR_ENABLE 1 #endif -// DNS Client (Thread 1.3) +// +#endif // OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2 + +#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_3) +// The following features require at least Thread Stack Protocol Version 1.3 +// DNS Client #ifndef OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE #define OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE 1 #endif -// DNS-SD Server (Thread 1.3) +// DNS-SD Server #ifndef OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE #define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 0 #endif -// Service Registration Protocol (SRP) Client (Thread 1.3) +// Service Registration Protocol (SRP) Client #ifndef OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE #define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 #endif -// Service Registration Protocol (SRP) Server (Thread 1.3) +// Service Registration Protocol (SRP) Server #ifndef OPENTHREAD_CONFIG_SRP_SERVER_ENABLE #define OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 0 #endif -// TCPlp (Low power TCP over OpenThread) (Thread 1.3) +// TCPlp (Low power TCP over OpenThread) #ifndef OPENTHREAD_CONFIG_TCP_ENABLE #define OPENTHREAD_CONFIG_TCP_ENABLE 0 #endif -// Thread over Infrastructure (Thread 1.3: NCP only) +// DNS Client over TCP +#ifndef OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE +#define OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE 0 +#endif +// Thread over Infrastructure (NCP only) #ifndef OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE #define OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE 0 #endif // -#endif // OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2 +#endif // OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_3 // Border Agent #ifndef OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE @@ -211,6 +250,21 @@ #define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 0 #endif // +// Multiple Static Instance Support +#ifndef OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE +#define OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 0 +#endif +// +// Number of OpenThread Instances For Static Buffer Allocation +#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM +#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM 2 +#endif +// +// Define broadcast IID for spinel frames dedicated to all hosts in multipan configuration +#ifndef OPENTHREAD_SPINEL_CONFIG_BROADCAST_IID +#define OPENTHREAD_SPINEL_CONFIG_BROADCAST_IID 0 +#endif +// // OTNS (OpenThread Network Simulator) #ifndef OPENTHREAD_CONFIG_OTNS_ENABLE #define OPENTHREAD_CONFIG_OTNS_ENABLE 0 @@ -220,6 +274,13 @@ #ifndef OPENTHREAD_CONFIG_PING_SENDER_ENABLE #define OPENTHREAD_CONFIG_PING_SENDER_ENABLE 1 #endif + +// +// Power Calibration Module (RCP only configuration) +#ifndef OPENTHREAD_CONFIG_POWER_CALIBRATION_ENABLE +#define OPENTHREAD_CONFIG_POWER_CALIBRATION_ENABLE 0 +#endif + // // Platform UDP #ifndef OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE @@ -269,6 +330,21 @@ #define OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE 1 #endif // +// Max raw power calibration length. +#ifndef SL_OPENTHREAD_RAW_POWER_CALIBRATION_LENGTH +#define SL_OPENTHREAD_RAW_POWER_CALIBRATION_LENGTH 4 +#endif +// +// Max FEM config setting length. +#ifndef SL_OPENTHREAD_FEM_SETTING_LENGTH +#define SL_OPENTHREAD_FEM_SETTING_LENGTH 4 +#endif +// +// The maximum number of RX buffers to use in the radio driver. +// 16 +#ifndef SL_OPENTHREAD_RADIO_RX_BUFFER_COUNT +#define SL_OPENTHREAD_RADIO_RX_BUFFER_COUNT 16 +#endif // // Logging // LOG_OUTPUT @@ -318,7 +394,14 @@ #define OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL 1 #endif +#endif // OPENTHREAD_FULL_LOGS_ENABLE + +// Log crash dump after initialization +#ifndef OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE +#define OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE 0 #endif +// + // // // diff --git a/src/ot-rcp/ot-rcp.slcp b/src/ot-rcp/ot-rcp.slcp index 47207f7d..2db87e4e 100644 --- a/src/ot-rcp/ot-rcp.slcp +++ b/src/ot-rcp/ot-rcp.slcp @@ -20,17 +20,18 @@ source: - {path: app.c} tag: [prebuilt_demo] include: -- path: '' +- path: . file_list: - {path: app.h} - {path: reset_util.h} -sdk: {id: gecko_sdk, version: 4.4.2} +sdk: {id: simplicity_sdk, version: 2024.6.0} toolchain_settings: [] component: - {id: EFR32MG21A010F1024IM32} - {id: bootloader_interface} - {id: brd4001a} - {id: brd4179b} +- {id: memory_manager} - {id: ot_crash_handler} - {id: ot_stack_rcp} - {id: rail_util_pti} @@ -47,12 +48,10 @@ configuration: - condition: [ot_rtt_log] name: BUFFER_SIZE_UP value: '768' -- condition: [ot_rtt_log, device_family_efr32mg1] - name: BUFFER_SIZE_UP - value: '128' - condition: [ot_rtt_log] name: BUFFER_SIZE_DOWN value: '0' +- {name: CIRCULAR_QUEUE_LEN_MAX, value: '16'} ui_hints: highlight: - {path: ./README-OT-RCP.md, focus: true} diff --git a/src/ot-rcp/ot-rcp.slps b/src/ot-rcp/ot-rcp.slps index c081112c..34cb9628 100644 --- a/src/ot-rcp/ot-rcp.slps +++ b/src/ot-rcp/ot-rcp.slps @@ -1,7 +1,7 @@ - + @@ -12,5 +12,6 @@ + \ No newline at end of file