diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 023643ac..edfcfd74 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,8 +21,8 @@ jobs: name: Run pre-commit runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v3 + - uses: actions/setup-python@v3 - name: Install pre-commit run: | pip install pre-commit @@ -37,9 +37,9 @@ jobs: permissions: packages: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4.1.4 - name: Log in to the GitHub container registry - uses: docker/login-action@v3 + uses: docker/login-action@v3.1.0 with: registry: ${{ env.REGISTRY }} username: ${{ github.repository_owner }} @@ -85,10 +85,10 @@ jobs: echo "image_name=$image_name" >> $GITHUB_OUTPUT echo "container_name=${{ env.REGISTRY }}/$image_name:$tag_name" >> $GITHUB_OUTPUT - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v3.3.0 if: steps.read-repo-info.outputs.build_image == 'true' - name: Build and Push - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v5.3.0 if: steps.read-repo-info.outputs.build_image == 'true' with: context: . @@ -102,13 +102,14 @@ jobs: image_name: ${{ steps.read-repo-info.outputs.image_name }} container_name: ${{ steps.read-repo-info.outputs.container_name }} + list-manifests: name: List firmware manifests runs-on: ubuntu-latest outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4.1.4 - id: set-matrix run: | echo "matrix=$(find manifests -type f \( -name "*.yaml" -o -name "*.yml" \) -print | sort | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT @@ -124,19 +125,19 @@ jobs: matrix: manifest: ${{ fromJson(needs.list-manifests.outputs.matrix) }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4.1.4 - name: Install SDK extensions run: | # XXX: slc-cli does not actually work when the extensions aren't in the SDK! - for sdk in /simplicity_sdk*; do + for sdk in /*_sdk_*; do slc signature trust --sdk "$sdk" - # ln -s $PWD/simplicity_sdk_extensions "$sdk"/extension + ln -s $PWD/gecko_sdk_extensions "$sdk"/extension - # for ext in "$sdk"/extension/*/; do - # slc signature trust --sdk "$sdk" --extension-path "$ext" - # done + for ext in "$sdk"/extension/*/; do + slc signature trust --sdk "$sdk" --extension-path "$ext" + done done - name: Build firmware @@ -147,7 +148,7 @@ jobs: # Pass all SDKs as consecutive `--sdk ...` arguments sdk_args="" - for sdk_dir in /simplicity_sdk*; do + for sdk_dir in /*_sdk*; do sdk_args="$sdk_args --sdk $sdk_dir" done @@ -177,10 +178,10 @@ jobs: if: ${{ env.ACT }} run: | curl -fsSL https://deb.nodesource.com/nsolid_setup_deb.sh | bash -s 20 - apt-get update && apt-get install -y nodejs + apt-get install -y nodejs - name: Upload artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v4.3.3 with: name: firmware-build-${{ steps.build-firmware.outputs.output_basename }} path: outputs/* @@ -203,6 +204,6 @@ jobs: pattern: firmware-build-* - name: Upload artifacts - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v1 with: files: artifacts/*.gbl diff --git a/.gitignore b/.gitignore index 05140dc8..7a24addf 100644 --- a/.gitignore +++ b/.gitignore @@ -9,11 +9,8 @@ autogen/ *.project.mak *.Makefile build/ -build_*/ artifact/ artifacts/ trashed_modified_files/ src/**/*.bak -src/**/*.bak0 -misc/**/*.bak -misc/**/*.bak0 \ No newline at end of file +misc/**/*.bak \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index d5969126..a0d8d1a1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,8 +18,7 @@ RUN \ python3 \ python3-ruamel.yaml \ unzip \ - xz-utils \ - && rm -rf /var/lib/apt/lists/* + xz-utils # Install Simplicity Commander (unfortunately no stable URL available, this # is known to be working with Commander_linux_x86_64_1v15p0b1306.tar.bz). @@ -40,17 +39,17 @@ RUN \ ENV PATH="$PATH:/opt/slc_cli" -# GCC Embedded Toolchain 12.2.rel1 (for Simplicity SDK) +# GCC Embedded Toolchain 12.2.rel1 (for Gecko SDK 4.4.0+) RUN \ curl -O https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz \ && tar -C /opt -xf arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz \ && rm arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz -# Simplicity SDK +# Simplicity SDK 2024.6.2 RUN \ - curl -o simplicity_sdk.zip -L https://github.com/SiliconLabs/simplicity_sdk/releases/download/v2024.6.2/gecko-sdk.zip \ - && unzip -q -d simplicity_sdk simplicity_sdk.zip \ - && rm simplicity_sdk.zip + curl -o simplicity_sdk_2024.6.2.zip -L https://github.com/SiliconLabs/simplicity_sdk/releases/download/v2024.6.2/gecko-sdk.zip \ + && unzip -q -d simplicity_sdk_2024.6.2 simplicity_sdk_2024.6.2.zip \ + && rm simplicity_sdk_2024.6.2.zip ARG USERNAME=builder ARG USER_UID=1000 diff --git a/README.md b/README.md index 1c1f3748..a0b50e22 100644 --- a/README.md +++ b/README.md @@ -1 +1,90 @@ -# Silicon Labs firmware builder +# Silicon Labs firmware builder repository +This repository contains tools for building firmwares for the Home Assistant Connect +ZBT-1/SkyConnect and the Home Assistant Yellow's IEEE 802.15.4 radio. The firmware +manifests are entirely generic, however, and are intended to be written easily for any +Silicon Labs EFR32 device. + +It uses the Silicon Labs Gecko/Simplicity SDK and proprietary Silicon Labs tools such as +the Silicon Labs Configurator (slc) and the Simplicity Commander standalone utility. + +## Background +The project templates in this repository are configured and built for specific boards +using manifest files. For example, the [`skyconnect_zigbee_ncp.yaml`](https://github.com/NabuCasa/silabs-firmware-builder/blob/main/manifests/skyconnect_zigbee_ncp.yaml) +manifest file configures the Zigbee firmware for the SkyConnect/Connect ZBT-1. + +## Setting up Simplicity Studio (for development) +If you are going to be developing using Simplicity Studio, note that each project can +potentially use a different Simplicity SDK release. It is recommended to forego the typical +Simplicity Studio SDK management workflow and manually manage SDKs: + +1. Clone a specific version of the Simplicity SDK: + ```bash + # For macOS + mkdir ~/SimplicityStudio/SDKs/simplicity_sdk_2024.6.2 + cd ~/SimplicityStudio/SDKs/simplicity_sdk_2024.6.2 + + git clone -b v2024.6.2 https://github.com/SiliconLabs/simplicity_sdk . + git checkout -b branch_tag + ``` + +2. Open preferences, navigate to **Simplicity Studio > SDKs**, click the `Add SDK...` button, and browse to the above location. + +Repeat this process for every necessary SDK version. + +> [!TIP] +> If you have build issues after switching commits, make sure to delete any +> `simplicity_sdk_*`, `gecko_sdk_*`, and `template` folders from the project working tree. + +## Building with a firmware manifest (for building device firmware) +Command line building requires: +- [`slc-cli`](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-tools-slc-cli/02-installation) +- [Simplicity Commander](https://www.silabs.com/developers/mcu-programming-options) (`commander`) +- The exact Simplicity SDK version required by the project. Note that this doesn't have to be a Git working tree, you can use [a GitHub release](https://github.com/SiliconLabs/gecko_sdk/releases). +- A compatible toolchain. Take a look at the `Dockerfile` for the necessary toolchains. + +> [!TIP] +> If you have set up Simplicity Studio on macOS, everything will be automatically +> detected with the exception of `slc`. This is the only tool you need to download. + +> [!WARNING] +> M1 users should set `JAVA_HOME=$(/usr/libexec/java_home -a x86_64)` when running the +> build command to make sure the correct Java version is picked by slc-cli. It currently +> is not compatible with ARM Java. + +`slc-cli` maintains its own SDK and extension trust store so you first must trust all +SDK extensions for every SDK you plan to use: + +```bash +slc signature trust --sdk ~/SimplicityStudio/SDKs/simplicity_sdk_2024.6.2 +slc signature trust --sdk ~/SimplicityStudio/SDKs/simplicity_sdk_2024.6.2 --extension-path ~/SimplicityStudio/SDKs/simplicity_sdk_2024.6.2/extension/nc_efr32_watchdog_extension +``` + +`tools/build_project.py` is the main entry point for building firmwares. Provide paths +to potential SDKs and toolchains with the `--sdk` and `--toolchain` flags. The build +tool will automatically determine which SDK and toolchain to use. + +> [!TIP] +> If you have set up Simplicity Studio on macOS, the default toolchain and SDK paths are +> automatically found so these flags can be omitted. + +```bash +pip install ruamel.yaml # Only dependency + +python tools/build_project.py \ + # The following SDK and toolchain flags can be omitted on macOS, they are all autodetected + --sdk ~/SimplicityStudio/SDKs/gecko_sdk_4.4.4 \ + --sdk ~/SimplicityStudio/SDKs/simplicity_sdk_2024.6.0 \ + --toolchain '/Applications/Simplicity Studio.app/Contents/Eclipse/developer/toolchains/gnu_arm/10.3_2021.10' \ + --toolchain '/Applications/Simplicity Studio.app/Contents/Eclipse/developer/toolchains/gnu_arm/12.2.rel1_2023.7' \ + + --manifest manifests/skyconnect_ncp-uart-hw.yaml \ + --build-dir build \ + --output-dir output \ + + # Generate `.gbl`, `.out`, and `.hex` firmwares + --output gbl \ + --output out \ + --output hex +``` + +Once the build is complete, the firmwares will be in the `output` directory. diff --git a/src/ncp-uart-hw_MGM210PA32JIA/app.c b/gecko_sdk_extensions/nc_efr32_watchdog_extension/inc/nc_efr32_wdog.h similarity index 58% rename from src/ncp-uart-hw_MGM210PA32JIA/app.c rename to gecko_sdk_extensions/nc_efr32_watchdog_extension/inc/nc_efr32_wdog.h index 0cc620ad..db43de3f 100644 --- a/src/ncp-uart-hw_MGM210PA32JIA/app.c +++ b/gecko_sdk_extensions/nc_efr32_watchdog_extension/inc/nc_efr32_wdog.h @@ -1,9 +1,9 @@ /***************************************************************************//** - * @file app.c - * @brief Callbacks implementation and application specific code. + * @file nc_efr32_wdog.h + * @brief Legacy HAL Watchdog ******************************************************************************* * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com + * Copyright 2022 Silicon Laboratories, Inc, www.silabs.com ******************************************************************************* * * The licensor of this software is Silicon Laboratories Inc. Your use of this @@ -15,24 +15,11 @@ * ******************************************************************************/ -#include PLATFORM_HEADER -#include "sl_zigbee.h" +#include +#include "em_cmu.h" +#include "em_wdog.h" +#include "em_rmu.h" +#include "sl_component_catalog.h" -//---------------------- -// Implemented Callbacks - -/** @brief - * - * Application framework equivalent of ::sl_zigbee_radio_needs_calibrating_handler - */ -void sl_zigbee_af_radio_needs_calibrating_cb(void) -{ - sl_mac_calibrate_current_channel(); -} - -/** @brief Init - * Application init function - */ -void sl_zigbee_af_main_init_cb(void) -{ -} +void nc_enable_watchdog(void); +void nc_poke_watchdog(void); diff --git a/gecko_sdk_extensions/nc_efr32_watchdog_extension/nc_efr32_watchdog.slcc b/gecko_sdk_extensions/nc_efr32_watchdog_extension/nc_efr32_watchdog.slcc new file mode 100644 index 00000000..688ae1ba --- /dev/null +++ b/gecko_sdk_extensions/nc_efr32_watchdog_extension/nc_efr32_watchdog.slcc @@ -0,0 +1,38 @@ +root_path: ./ +id: nc_efr32_watchdog +label: EFR32 Watchdog +package: ext-comp +category: External Components +quality: production +description: > + EFR32 Watchdog. +requires: + - name: component_catalog + - name: emlib_wdog + - name: emlib_wdog +provides: + - name: nc_efr32_watchdog + +source: + - path: src/nc_efr32_wdog.c + +include: + - path: inc + file_list: + - path: nc_efr32_wdog.h + +template_contribution: + - name: component_catalog + value: nc_efr32_watchdog + - name: event_handler + value: + event: service_init + include: "nc_efr32_wdog.h" + handler: nc_enable_watchdog + priority: 9999 # load very very late + - name: event_handler + value: + event: service_process_action + include: "nc_efr32_wdog.h" + handler: nc_poke_watchdog + priority: 9999 # run last diff --git a/gecko_sdk_extensions/nc_efr32_watchdog_extension/nc_efr32_watchdog.slce b/gecko_sdk_extensions/nc_efr32_watchdog_extension/nc_efr32_watchdog.slce new file mode 100644 index 00000000..ba087a3f --- /dev/null +++ b/gecko_sdk_extensions/nc_efr32_watchdog_extension/nc_efr32_watchdog.slce @@ -0,0 +1,8 @@ +id: "nc_efr32_watchdog" +label: "EFR32 Watchdog" +version: "1.0.0" +sdk: + id: "gecko_sdk" + version: 4.3.2 +component_path: + - path: "./" \ No newline at end of file diff --git a/gecko_sdk_extensions/nc_efr32_watchdog_extension/src/nc_efr32_wdog.c b/gecko_sdk_extensions/nc_efr32_watchdog_extension/src/nc_efr32_wdog.c new file mode 100644 index 00000000..f18b5a85 --- /dev/null +++ b/gecko_sdk_extensions/nc_efr32_watchdog_extension/src/nc_efr32_wdog.c @@ -0,0 +1,92 @@ +/***************************************************************************//** + * @file nc_efr32_wdog.c + * @brief Legacy HAL Watchdog + ******************************************************************************* + * # License + * Copyright 2022 Silicon Laboratories, Inc, www.silabs.com + ******************************************************************************* + * + * The licensor of this software is Silicon Laboratories Inc. Your use of this + * software is governed by the terms of Silicon Labs Master Software License + * Agreement (MSLA) available at + * www.silabs.com/about-us/legal/master-software-license-agreement. This + * software is distributed to you in Source Code format and is governed by the + * sections of the MSLA applicable to Source Code. + * + ******************************************************************************/ + +#include "em_wdog.h" +#include "nc_efr32_wdog.h" + +static bool feed_watchdog_on_warn_interrupt; + + +#if (_SILICON_LABS_32B_SERIES >= 1) +void WDOG0_IRQHandler(void) +{ + uint32_t interrupts; + + interrupts = WDOGn_IntGet(WDOG0); + WDOGn_IntClear(WDOG0, interrupts); + + if (feed_watchdog_on_warn_interrupt) { + WDOGn_Feed(WDOG0); + feed_watchdog_on_warn_interrupt = false; + } +} +#endif + + +void nc_enable_watchdog(void) +{ + // Enable LE interface +#if !defined(_SILICON_LABS_32B_SERIES_2) + CMU_ClockEnable(cmuClock_HFLE, true); + CMU_OscillatorEnable(cmuOsc_LFRCO, true, true); +#endif + +#if defined(_SILICON_LABS_32B_SERIES_2) && !defined(_SILICON_LABS_32B_SERIES_2_CONFIG_1) + CMU_ClockEnable(cmuClock_WDOG0, true); +#endif + + // Make sure FULL reset is used on WDOG timeout +#if defined(_RMU_CTRL_WDOGRMODE_MASK) + RMU_ResetControl(rmuResetWdog, rmuResetModeFull); +#endif + + WDOG_Init_TypeDef init = WDOG_INIT_DEFAULT; + init.enable = false; + init.debugRun = false; + init.perSel = wdogPeriod_64k; // 2 seconds + init.warnSel = wdogWarnTime75pct; + +#if defined(_WDOG_CTRL_CLKSEL_MASK) + init.clkSel = wdogClkSelLFRCO; +#else + // Series 2 devices select watchdog oscillator with the CMU. + CMU_ClockSelectSet(cmuClock_WDOG0, cmuSelect_LFRCO); +#endif + + WDOGn_Unlock(WDOG0); + WDOGn_Init(WDOG0, &init); + + // Enable warning interrupt + NVIC_ClearPendingIRQ(WDOG0_IRQn); + WDOGn_IntClear(WDOG0, WDOG_IF_WARN); + NVIC_EnableIRQ(WDOG0_IRQn); + WDOGn_IntEnable(WDOG0, WDOG_IEN_WARN); + + WDOGn_Enable(WDOG0, true); + WDOGn_Feed(WDOG0); + + feed_watchdog_on_warn_interrupt = false; +} + + +void nc_poke_watchdog(void) +{ + CORE_DECLARE_IRQ_STATE; + CORE_ENTER_ATOMIC(); + feed_watchdog_on_warn_interrupt = true; + CORE_EXIT_ATOMIC(); +} diff --git a/manifests/aeotec/zga008_openthread_rcp.yaml b/manifests/aeotec/zga008_openthread_rcp.yaml new file mode 100644 index 00000000..ed01c6dd --- /dev/null +++ b/manifests/aeotec/zga008_openthread_rcp.yaml @@ -0,0 +1,29 @@ +name: ZGA008 OpenThread RCP +device: EFR32MG21A020F1024IM32 +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 460800 + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 460800 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_TX_PIN: 5 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_RX_PIN: 6 + + SL_UARTDRV_USART_VCOM_CTS_PORT: gpioPortC + SL_UARTDRV_USART_VCOM_CTS_PIN: 1 + + SL_UARTDRV_USART_VCOM_RTS_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_RTS_PIN: 4 + diff --git a/manifests/aeotec/zga008_zigbee_ncp.yaml b/manifests/aeotec/zga008_zigbee_ncp.yaml new file mode 100644 index 00000000..50e006d7 --- /dev/null +++ b/manifests/aeotec/zga008_zigbee_ncp.yaml @@ -0,0 +1,40 @@ +name: ZGA008 Zigbee +device: EFR32MG21A020F1024IM32 +base_project: src/zigbee_ncp +filename: "{manifest_name}_{ezsp_version}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: zigbee_ncp + ezsp_version: dynamic + baudrate: 115200 + +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 + SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 + SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts + +c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + + SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 + SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 + + SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA + SL_IOSTREAM_USART_VCOM_TX_PIN: 5 + + SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortA + SL_IOSTREAM_USART_VCOM_RX_PIN: 6 + + SL_IOSTREAM_USART_VCOM_CTS_PORT: gpioPortC + SL_IOSTREAM_USART_VCOM_CTS_PIN: 1 + + SL_IOSTREAM_USART_VCOM_RTS_PORT: gpioPortA + SL_IOSTREAM_USART_VCOM_RTS_PIN: 4 + diff --git a/manifests/aeotec_zga008_ncp-uart-hw_115200.yaml b/manifests/aeotec_zga008_ncp-uart-hw_115200.yaml deleted file mode 100644 index ffb8104e..00000000 --- a/manifests/aeotec_zga008_ncp-uart-hw_115200.yaml +++ /dev/null @@ -1,49 +0,0 @@ -name: ZGA008 Zigbee -device: EFR32MG21A020F1024IM32 -base_project: src/ncp-uart-hw_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{ezsp_version}" - -gbl: - fw_type: ncp-uart-hw - dynamic: ["ezsp_version"] - baudrate: 115200 - -c_defines: - SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 - SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts - - SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 - SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 - - SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_TX_PIN: 5 - - SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_RX_PIN: 6 - - SL_IOSTREAM_USART_VCOM_CTS_PORT: gpioPortC - SL_IOSTREAM_USART_VCOM_CTS_PIN: 1 - - SL_IOSTREAM_USART_VCOM_RTS_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_RTS_PIN: 4 - - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 140 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 254 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 - \ No newline at end of file diff --git a/manifests/aeotec_zga008_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/aeotec_zga008_rcp-uart-802154-blehci-hw_460800.yaml deleted file mode 100644 index da289aa3..00000000 --- a/manifests/aeotec_zga008_rcp-uart-802154-blehci-hw_460800.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: ZGA008 Zigbee -device: EFR32MG21A020F1024IM32 -base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-hw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_TX_PIN: 5 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_RX_PIN: 6 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortC - SL_CPC_DRV_UART_VCOM_CTS_PIN: 1 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_RTS_PIN: 4 - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 140 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/easyiot/zb-gw04-1v1_openthread_rcp.yaml b/manifests/easyiot/zb-gw04-1v1_openthread_rcp.yaml new file mode 100644 index 00000000..2bccc576 --- /dev/null +++ b/manifests/easyiot/zb-gw04-1v1_openthread_rcp.yaml @@ -0,0 +1,34 @@ +name: ZB-GW04-1v1 OpenThread RCP +device: EFR32MG21A020F768IM32 +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}_{fw_variant}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 230400 + fw_variant: no_flow + +configuration: + SL_DEVICE_INIT_HFXO_CTUNE: 128 + SL_UARTDRV_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 230400 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_TX_PIN: 1 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_RX_PIN: 0 + + SL_UARTDRV_USART_VCOM_CTS_PORT: 0 + SL_UARTDRV_USART_VCOM_CTS_PIN: 0 + + SL_UARTDRV_USART_VCOM_RTS_PORT: 0 + SL_UARTDRV_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/easyiot/zb-gw04-1v1_zigbee_ncp.yaml b/manifests/easyiot/zb-gw04-1v1_zigbee_ncp.yaml new file mode 100644 index 00000000..31b14636 --- /dev/null +++ b/manifests/easyiot/zb-gw04-1v1_zigbee_ncp.yaml @@ -0,0 +1,42 @@ +name: ZB-GW04-1v1 Zigbee +device: EFR32MG21A020F768IM32 +base_project: src/zigbee_ncp +filename: "{manifest_name}_{ezsp_version}_{fw_variant}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: zigbee_ncp + ezsp_version: dynamic + baudrate: 115200 + fw_variant: sw_flow + +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 + SL_DEVICE_INIT_HFXO_CTUNE: 128 + SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 + SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware + +c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + + SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 + SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 + + SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortB + SL_IOSTREAM_USART_VCOM_TX_PIN: 1 + + SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortB + SL_IOSTREAM_USART_VCOM_RX_PIN: 0 + + SL_IOSTREAM_USART_VCOM_CTS_PORT: 0 + SL_IOSTREAM_USART_VCOM_CTS_PIN: 0 + + SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 + SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/easyiot/zb-gw04-1v2_openthread_rcp.yaml b/manifests/easyiot/zb-gw04-1v2_openthread_rcp.yaml new file mode 100644 index 00000000..5d807bf5 --- /dev/null +++ b/manifests/easyiot/zb-gw04-1v2_openthread_rcp.yaml @@ -0,0 +1,32 @@ +name: ZB-GW04-1v2 OpenThread RCP +device: EFR32MG21A020F768IM32 +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 230400 + +configuration: + SL_DEVICE_INIT_HFXO_CTUNE: 128 + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 230400 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_TX_PIN: 1 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_RX_PIN: 0 + + SL_UARTDRV_USART_VCOM_CTS_PORT: gpioPortD + SL_UARTDRV_USART_VCOM_CTS_PIN: 3 + + SL_UARTDRV_USART_VCOM_RTS_PORT: gpioPortD + SL_UARTDRV_USART_VCOM_RTS_PIN: 4 + diff --git a/manifests/easyiot_zb-gw04-1v2_ncp-uart-hw_115200.yaml b/manifests/easyiot/zb-gw04-1v2_zigbee_ncp.yaml similarity index 51% rename from manifests/easyiot_zb-gw04-1v2_ncp-uart-hw_115200.yaml rename to manifests/easyiot/zb-gw04-1v2_zigbee_ncp.yaml index 54ba4aaa..8a236cd4 100644 --- a/manifests/easyiot_zb-gw04-1v2_ncp-uart-hw_115200.yaml +++ b/manifests/easyiot/zb-gw04-1v2_zigbee_ncp.yaml @@ -1,17 +1,29 @@ name: ZB-GW04-1v2 Zigbee device: EFR32MG21A020F768IM32 -base_project: src/ncp-uart-hw_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{ezsp_version}" +base_project: src/zigbee_ncp +filename: "{manifest_name}_{ezsp_version}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" gbl: - fw_type: ncp-uart-hw - dynamic: ["ezsp_version"] + fw_type: zigbee_ncp + ezsp_version: dynamic baudrate: 115200 -c_defines: +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 + SL_DEVICE_INIT_HFXO_CTUNE: 128 SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts +c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 @@ -27,22 +39,3 @@ c_defines: SL_IOSTREAM_USART_VCOM_RTS_PORT: gpioPortD SL_IOSTREAM_USART_VCOM_RTS_PIN: 4 - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 128 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/easyiot/zb-gw04_bootloader.yaml b/manifests/easyiot/zb-gw04_bootloader.yaml new file mode 100644 index 00000000..68bf67c4 --- /dev/null +++ b/manifests/easyiot/zb-gw04_bootloader.yaml @@ -0,0 +1,33 @@ +name: ZB-GW04 Bootloader +device: EFR32MG21A020F768IM32 +base_project: src/bootloader +filename: "{manifest_name}_{gecko_bootloader_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: gecko-bootloader + gecko_bootloader_version: dynamic + baudrate: 115200 + +c_defines: + SL_SERIAL_UART_FLOW_CONTROL: 0 + + SL_SERIAL_UART_PERIPHERAL: USART0 + SL_SERIAL_UART_PERIPHERAL_NO: 0 + + SL_SERIAL_UART_TX_PORT: gpioPortB + SL_SERIAL_UART_TX_PIN: 1 + + SL_SERIAL_UART_RX_PORT: gpioPortB + SL_SERIAL_UART_RX_PIN: 0 + + SL_SERIAL_UART_CTS_PORT: 0 + SL_SERIAL_UART_CTS_PIN: 0 + + SL_SERIAL_UART_RTS_PORT: 0 + SL_SERIAL_UART_RTS_PIN: 0 + + SL_GPIO_ACTIVATION_POLARITY: LOW + SL_BTL_BUTTON_PORT: gpioPortA + SL_BTL_BUTTON_PIN: 0 \ No newline at end of file diff --git a/manifests/easyiot_zb-gw04-1v1_ncp-uart-sw_115200.yaml b/manifests/easyiot_zb-gw04-1v1_ncp-uart-sw_115200.yaml deleted file mode 100644 index 89d40be1..00000000 --- a/manifests/easyiot_zb-gw04-1v1_ncp-uart-sw_115200.yaml +++ /dev/null @@ -1,48 +0,0 @@ -name: ZB-GW04-1v1 Zigbee -device: EFR32MG21A020F768IM32 -base_project: src/ncp-uart-hw_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{ezsp_version}" - -gbl: - fw_type: ncp-uart-sw - dynamic: ["ezsp_version"] - baudrate: 115200 - -c_defines: - SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 - SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware - - SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 - SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 - - SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortB - SL_IOSTREAM_USART_VCOM_TX_PIN: 1 - - SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortB - SL_IOSTREAM_USART_VCOM_RX_PIN: 0 - - SL_IOSTREAM_USART_VCOM_CTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_CTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 128 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/easyiot_zb-gw04-1v1_rcp-uart-802154-blehci-sw_460800.yaml b/manifests/easyiot_zb-gw04-1v1_rcp-uart-802154-blehci-sw_460800.yaml deleted file mode 100644 index cb366053..00000000 --- a/manifests/easyiot_zb-gw04-1v1_rcp-uart-802154-blehci-sw_460800.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: ZB-GW04-1v1 Zigbee -device: EFR32MG21A020F768IM32 -base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-sw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_TX_PIN: 1 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_RX_PIN: 0 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: 0 - SL_CPC_DRV_UART_VCOM_CTS_PIN: 0 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: 0 - SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 128 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/easyiot_zb-gw04-1v2_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/easyiot_zb-gw04-1v2_rcp-uart-802154-blehci-hw_460800.yaml deleted file mode 100644 index dbd60ff0..00000000 --- a/manifests/easyiot_zb-gw04-1v2_rcp-uart-802154-blehci-hw_460800.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: ZB-GW04-1v2 Zigbee -device: EFR32MG21A020F768IM32 -base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-hw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_TX_PIN: 1 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_RX_PIN: 0 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortD - SL_CPC_DRV_UART_VCOM_CTS_PIN: 3 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortD - SL_CPC_DRV_UART_VCOM_RTS_PIN: 4 - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 128 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/nabucasa/skyconnect_bootloader.yaml b/manifests/nabucasa/skyconnect_bootloader.yaml new file mode 100644 index 00000000..e8cc478a --- /dev/null +++ b/manifests/nabucasa/skyconnect_bootloader.yaml @@ -0,0 +1,32 @@ +name: SkyConnect Bootloader +device: EFR32MG21A020F512IM32 +base_project: src/bootloader +filename: "{manifest_name}_{gecko_bootloader_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: gecko-bootloader + gecko_bootloader_version: dynamic + baudrate: 115200 + +remove_components: + - id: bootloader_gpio_activation + +c_defines: + SL_SERIAL_UART_FLOW_CONTROL: 1 + + SL_SERIAL_UART_PERIPHERAL: USART0 + SL_SERIAL_UART_PERIPHERAL_NO: 0 + + SL_SERIAL_UART_TX_PORT: gpioPortA + SL_SERIAL_UART_TX_PIN: 6 + + SL_SERIAL_UART_RX_PORT: gpioPortA + SL_SERIAL_UART_RX_PIN: 5 + + SL_SERIAL_UART_CTS_PORT: gpioPortB + SL_SERIAL_UART_CTS_PIN: 1 + + SL_SERIAL_UART_RTS_PORT: gpioPortB + SL_SERIAL_UART_RTS_PIN: 0 diff --git a/manifests/nabucasa/skyconnect_openthread_rcp.yaml b/manifests/nabucasa/skyconnect_openthread_rcp.yaml new file mode 100644 index 00000000..27c7b156 --- /dev/null +++ b/manifests/nabucasa/skyconnect_openthread_rcp.yaml @@ -0,0 +1,30 @@ +name: SkyConnect OpenThread RCP +device: EFR32MG21A020F512IM32 +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 460800 + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 460800 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_TX_PIN: 6 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_RX_PIN: 5 + + SL_UARTDRV_USART_VCOM_CTS_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_CTS_PIN: 1 + + SL_UARTDRV_USART_VCOM_RTS_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_RTS_PIN: 0 + + SL_APPLICATION_PRODUCT_ID: '{0xE9, 0x92, 0x67, 0x94, 0xBB, 0x2C, 0x4E, 0xC8, 0x9F, 0x36, 0xD9, 0xC6, 0x79, 0x4A, 0x81, 0xFB}' diff --git a/manifests/nabucasa_skyconnect_ncp-uart-hw_115200.yaml b/manifests/nabucasa/skyconnect_zigbee_ncp.yaml similarity index 58% rename from manifests/nabucasa_skyconnect_ncp-uart-hw_115200.yaml rename to manifests/nabucasa/skyconnect_zigbee_ncp.yaml index 077d7c62..694ea579 100644 --- a/manifests/nabucasa_skyconnect_ncp-uart-hw_115200.yaml +++ b/manifests/nabucasa/skyconnect_zigbee_ncp.yaml @@ -1,14 +1,26 @@ name: SkyConnect Zigbee device: EFR32MG21A020F512IM32 -base_project: src/ncp-uart-hw_EFR32MG21A020F768IM32 +base_project: src/zigbee_ncp filename: "{manifest_name}_{ezsp_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" gbl: - fw_type: ncp-uart-hw - dynamic: ["ezsp_version"] + fw_type: zigbee_ncp + ezsp_version: dynamic baudrate: 115200 +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 + c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts @@ -28,23 +40,3 @@ c_defines: SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 SL_APPLICATION_PRODUCT_ID: '{0xE9, 0x92, 0x67, 0x94, 0xBB, 0x2C, 0x4E, 0xC8, 0x9F, 0x36, 0xD9, 0xC6, 0x79, 0x4A, 0x81, 0xFB}' - - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 133 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 79 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/nabucasa/yellow_bootloader.yaml b/manifests/nabucasa/yellow_bootloader.yaml new file mode 100644 index 00000000..6f9a1704 --- /dev/null +++ b/manifests/nabucasa/yellow_bootloader.yaml @@ -0,0 +1,33 @@ +name: Yellow Bootloader +device: MGM210PA32JIA +base_project: src/bootloader +filename: "{manifest_name}_{gecko_bootloader_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: gecko-bootloader + gecko_bootloader_version: dynamic + baudrate: 115200 + +c_defines: + SL_SERIAL_UART_FLOW_CONTROL: 1 + + SL_SERIAL_UART_PERIPHERAL: USART0 + SL_SERIAL_UART_PERIPHERAL_NO: 0 + + SL_SERIAL_UART_TX_PORT: gpioPortA + SL_SERIAL_UART_TX_PIN: 5 + + SL_SERIAL_UART_RX_PORT: gpioPortA + SL_SERIAL_UART_RX_PIN: 6 + + SL_SERIAL_UART_CTS_PORT: gpioPortD + SL_SERIAL_UART_CTS_PIN: 2 + + SL_SERIAL_UART_RTS_PORT: gpioPortC + SL_SERIAL_UART_RTS_PIN: 1 + + SL_GPIO_ACTIVATION_POLARITY: LOW + SL_BTL_BUTTON_PORT: gpioPortB + SL_BTL_BUTTON_PIN: 0 diff --git a/manifests/nabucasa/yellow_openthread_rcp.yaml b/manifests/nabucasa/yellow_openthread_rcp.yaml new file mode 100644 index 00000000..c485f534 --- /dev/null +++ b/manifests/nabucasa/yellow_openthread_rcp.yaml @@ -0,0 +1,36 @@ +name: Yellow OpenThread RCP +device: MGM210PA32JIA +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 460800 + +add_components: +- id: simple_led + instance: [board_activity] + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 460800 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_TX_PIN: 5 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_RX_PIN: 6 + + SL_UARTDRV_USART_VCOM_CTS_PORT: gpioPortD + SL_UARTDRV_USART_VCOM_CTS_PIN: 2 + + SL_UARTDRV_USART_VCOM_RTS_PORT: gpioPortC + SL_UARTDRV_USART_VCOM_RTS_PIN: 1 + + SL_SIMPLE_LED_BOARD_ACTIVITY_POLARITY: SL_SIMPLE_LED_POLARITY_ACTIVE_LOW + SL_SIMPLE_LED_BOARD_ACTIVITY_PORT: gpioPortB + SL_SIMPLE_LED_BOARD_ACTIVITY_PIN: 1 diff --git a/manifests/nabucasa_yellow_ncp-uart-hw_115200.yaml b/manifests/nabucasa/yellow_zigbee_ncp.yaml similarity index 58% rename from manifests/nabucasa_yellow_ncp-uart-hw_115200.yaml rename to manifests/nabucasa/yellow_zigbee_ncp.yaml index d3b8212c..037c46e7 100644 --- a/manifests/nabucasa_yellow_ncp-uart-hw_115200.yaml +++ b/manifests/nabucasa/yellow_zigbee_ncp.yaml @@ -1,22 +1,34 @@ name: Yellow Zigbee device: MGM210PA32JIA -base_project: src/ncp-uart-hw_MGM210PA32JIA +base_project: src/zigbee_ncp filename: "{manifest_name}_{ezsp_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" gbl: - fw_type: ncp-uart-hw - dynamic: ["ezsp_version"] + fw_type: zigbee_ncp + ezsp_version: dynamic baudrate: 115200 add_components: - id: simple_led instance: [board_activity] +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 + c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts - SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 + SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA @@ -31,26 +43,6 @@ c_defines: SL_IOSTREAM_USART_VCOM_RTS_PORT: gpioPortC SL_IOSTREAM_USART_VCOM_RTS_PIN: 1 - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - SL_SIMPLE_LED_BOARD_ACTIVITY_POLARITY: SL_SIMPLE_LED_POLARITY_ACTIVE_LOW SL_SIMPLE_LED_BOARD_ACTIVITY_PORT: gpioPortB SL_SIMPLE_LED_BOARD_ACTIVITY_PIN: 1 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 133 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 79 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/nabucasa/zwave_stick.yaml b/manifests/nabucasa/zwave_stick.yaml new file mode 100644 index 00000000..f48ffc2b --- /dev/null +++ b/manifests/nabucasa/zwave_stick.yaml @@ -0,0 +1,28 @@ +name: Z-Wave Stick +device: EFR32ZG23A020F512GM40 +base_project: src/zwave_ncp +filename: "{manifest_name}_{zwave_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: zwave_ncp + zwave_version: dynamic + baudrate: 115200 + compression: lz4 + sign_key: "{SDK_DIR}/protocol/z-wave/platform/SiliconLabs/PAL/BootLoader/controller-keys/controller_sign.key" + encrypt_key: "{SDK_DIR}/protocol/z-wave/platform/SiliconLabs/PAL/BootLoader/controller-keys/controller_encrypt.key" + +c_defines: + ZAF_CONFIG_MANUFACTURER_ID: "0x0466" + ZAF_CONFIG_PRODUCT_TYPE_ID: "0x0001" + ZAF_CONFIG_PRODUCT_ID: "0x0001" + + SERIAL_API_PERIPHERAL: USART0 + SERIAL_API_PERIPHERAL_NO: 0 + + SERIAL_API_TX_PORT: gpioPortA + SERIAL_API_TX_PIN: 8 + + SERIAL_API_RX_PORT: gpioPortA + SERIAL_API_RX_PIN: 9 \ No newline at end of file diff --git a/manifests/nabucasa_skyconnect_ncp-uart-sw_115200.yaml b/manifests/nabucasa_skyconnect_ncp-uart-sw_115200.yaml deleted file mode 100644 index 43cbfd52..00000000 --- a/manifests/nabucasa_skyconnect_ncp-uart-sw_115200.yaml +++ /dev/null @@ -1,50 +0,0 @@ -name: SkyConnect SW Zigbee -device: EFR32MG21A020F512IM32 -base_project: src/ncp-uart-hw_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{ezsp_version}" - -gbl: - fw_type: ncp-uart-sw - dynamic: ["ezsp_version"] - baudrate: 115200 - -c_defines: - SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 - SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware - - SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 - SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 - - SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_TX_PIN: 6 - - SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_RX_PIN: 5 - - SL_IOSTREAM_USART_VCOM_CTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_CTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 - - SL_APPLICATION_PRODUCT_ID: '{0xE9, 0x92, 0x67, 0x94, 0xBB, 0x2C, 0x4E, 0xC8, 0x9F, 0x36, 0xD9, 0xC6, 0x79, 0x4A, 0x81, 0xFB}' - - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 133 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 79 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/nabucasa_skyconnect_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/nabucasa_skyconnect_rcp-uart-802154-blehci-hw_460800.yaml deleted file mode 100644 index 0cb0fda5..00000000 --- a/manifests/nabucasa_skyconnect_rcp-uart-802154-blehci-hw_460800.yaml +++ /dev/null @@ -1,44 +0,0 @@ -name: SkyConnect Zigbee -device: EFR32MG21A020F512IM32 -base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-hw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_TX_PIN: 6 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_RX_PIN: 5 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_CTS_PIN: 1 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 - - SL_APPLICATION_PRODUCT_ID: '{0xE9, 0x92, 0x67, 0x94, 0xBB, 0x2C, 0x4E, 0xC8, 0x9F, 0x36, 0xD9, 0xC6, 0x79, 0x4A, 0x81, 0xFB}' - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 133 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 79 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/nabucasa_yellow_ncp-uart-sw_115200.yaml b/manifests/nabucasa_yellow_ncp-uart-sw_115200.yaml deleted file mode 100644 index daa0f290..00000000 --- a/manifests/nabucasa_yellow_ncp-uart-sw_115200.yaml +++ /dev/null @@ -1,56 +0,0 @@ -name: Yellow SW Zigbee -device: MGM210PA32JIA -base_project: src/ncp-uart-hw_MGM210PA32JIA -filename: "{manifest_name}_{ezsp_version}" - -gbl: - fw_type: ncp-uart-sw - dynamic: ["ezsp_version"] - baudrate: 115200 - -add_components: -- id: simple_led - instance: [board_activity] - -c_defines: - SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 - SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware - - SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 - SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 - - SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_TX_PIN: 5 - - SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_RX_PIN: 6 - - SL_IOSTREAM_USART_VCOM_CTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_CTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 - - SL_SIMPLE_LED_BOARD_ACTIVITY_POLARITY: SL_SIMPLE_LED_POLARITY_ACTIVE_LOW - SL_SIMPLE_LED_BOARD_ACTIVITY_PORT: gpioPortB - SL_SIMPLE_LED_BOARD_ACTIVITY_PIN: 1 - - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 133 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 79 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/nabucasa_yellow_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/nabucasa_yellow_rcp-uart-802154-blehci-hw_460800.yaml deleted file mode 100644 index f677b41a..00000000 --- a/manifests/nabucasa_yellow_rcp-uart-802154-blehci-hw_460800.yaml +++ /dev/null @@ -1,50 +0,0 @@ -name: Yellow Zigbee -device: MGM210PA32JIA -base_project: src/rcp-uart-802154-blehci_MGM210PA32JIA -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-hw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -add_components: -- id: simple_led - instance: [board_activity] - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_TX_PIN: 5 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_RX_PIN: 6 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortD - SL_CPC_DRV_UART_VCOM_CTS_PIN: 2 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortC - SL_CPC_DRV_UART_VCOM_RTS_PIN: 1 - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_SIMPLE_LED_BOARD_ACTIVITY_POLARITY: SL_SIMPLE_LED_POLARITY_ACTIVE_LOW - SL_SIMPLE_LED_BOARD_ACTIVITY_PORT: gpioPortB - SL_SIMPLE_LED_BOARD_ACTIVITY_PIN: 1 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 133 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 79 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/smlight/slzb06m_opentread_rcp.yaml b/manifests/smlight/slzb06m_opentread_rcp.yaml new file mode 100644 index 00000000..b9c6e0c8 --- /dev/null +++ b/manifests/smlight/slzb06m_opentread_rcp.yaml @@ -0,0 +1,34 @@ +name: SLZB-06M OpenThread RCP +device: EFR32MG21A020F768IM32 +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}_{fw_variant}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 460800 + fw_variant: no_flow + +configuration: + SL_DEVICE_INIT_HFXO_CTUNE: 80 + SL_UARTDRV_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 460800 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_TX_PIN: 6 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_RX_PIN: 5 + + SL_UARTDRV_USART_VCOM_CTS_PORT: 0 + SL_UARTDRV_USART_VCOM_CTS_PIN: 0 + + SL_UARTDRV_USART_VCOM_RTS_PORT: 0 + SL_UARTDRV_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/smlight/slzb06m_zigbee_ncp.yaml b/manifests/smlight/slzb06m_zigbee_ncp.yaml new file mode 100644 index 00000000..3dbf3f5c --- /dev/null +++ b/manifests/smlight/slzb06m_zigbee_ncp.yaml @@ -0,0 +1,42 @@ +name: SLZB-06M Zigbee +device: EFR32MG21A020F768IM32 +base_project: src/zigbee_ncp +filename: "{manifest_name}_{ezsp_version}_{fw_variant}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: zigbee_ncp + ezsp_version: dynamic + baudrate: 115200 + fw_variant: sw_flow + +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 + SL_DEVICE_INIT_HFXO_CTUNE: 80 + SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 + SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware + +c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + + SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 + SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 + + SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortB + SL_IOSTREAM_USART_VCOM_TX_PIN: 1 + + SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortB + SL_IOSTREAM_USART_VCOM_RX_PIN: 0 + + SL_IOSTREAM_USART_VCOM_CTS_PORT: 0 + SL_IOSTREAM_USART_VCOM_CTS_PIN: 0 + + SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 + SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/smlight/slzb07Mg24_bootloader.yaml b/manifests/smlight/slzb07Mg24_bootloader.yaml new file mode 100644 index 00000000..f3ff1add --- /dev/null +++ b/manifests/smlight/slzb07Mg24_bootloader.yaml @@ -0,0 +1,33 @@ +name: SLZB-07Mg24 Bootloader +device: EFR32MG24A020F1024IM40 +base_project: src/bootloader +filename: "{manifest_name}_{gecko_bootloader_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: gecko-bootloader + gecko_bootloader_version: dynamic + baudrate: 115200 + +c_defines: + SL_SERIAL_UART_FLOW_CONTROL: 1 + + SL_SERIAL_UART_PERIPHERAL: USART0 + SL_SERIAL_UART_PERIPHERAL_NO: 0 + + SL_SERIAL_UART_TX_PORT: gpioPortA + SL_SERIAL_UART_TX_PIN: 6 + + SL_SERIAL_UART_RX_PORT: gpioPortA + SL_SERIAL_UART_RX_PIN: 5 + + SL_SERIAL_UART_CTS_PORT: gpioPortB + SL_SERIAL_UART_CTS_PIN: 1 + + SL_SERIAL_UART_RTS_PORT: gpioPortB + SL_SERIAL_UART_RTS_PIN: 0 + + SL_GPIO_ACTIVATION_POLARITY: LOW + SL_BTL_BUTTON_PORT: gpioPortA + SL_BTL_BUTTON_PIN: 0 diff --git a/manifests/smlight/slzb07Mg24_opentread_rcp.yaml b/manifests/smlight/slzb07Mg24_opentread_rcp.yaml new file mode 100644 index 00000000..4768375d --- /dev/null +++ b/manifests/smlight/slzb07Mg24_opentread_rcp.yaml @@ -0,0 +1,29 @@ +name: SLZB-07Mg24 OpenThread RCP +device: EFR32MG24A020F1024IM40 +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 460800 + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 460800 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_TX_PIN: 6 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_RX_PIN: 5 + + SL_UARTDRV_USART_VCOM_CTS_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_CTS_PIN: 1 + + SL_UARTDRV_USART_VCOM_RTS_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/smlight/slzb07Mg24_zigbee_ncp.yaml b/manifests/smlight/slzb07Mg24_zigbee_ncp.yaml new file mode 100644 index 00000000..485cec4a --- /dev/null +++ b/manifests/smlight/slzb07Mg24_zigbee_ncp.yaml @@ -0,0 +1,40 @@ +name: SLZB-07Mg24 Zigbee +device: EFR32MG24A020F1024IM40 +base_project: src/zigbee_ncp +filename: "{manifest_name}_{ezsp_version}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: zigbee_ncp + ezsp_version: dynamic + baudrate: 115200 + +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 + SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 + SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts + +c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + + SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 + SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 + + SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA + SL_IOSTREAM_USART_VCOM_TX_PIN: 6 + + SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortA + SL_IOSTREAM_USART_VCOM_RX_PIN: 5 + + SL_IOSTREAM_USART_VCOM_CTS_PORT: gpioPortB + SL_IOSTREAM_USART_VCOM_CTS_PIN: 1 + + SL_IOSTREAM_USART_VCOM_RTS_PORT: gpioPortB + SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/smlight/slzb07_bootloader.yaml b/manifests/smlight/slzb07_bootloader.yaml new file mode 100644 index 00000000..6f57fcae --- /dev/null +++ b/manifests/smlight/slzb07_bootloader.yaml @@ -0,0 +1,33 @@ +name: SLZB-07 Bootloader +device: EFR32MG21A020F768IM32 +base_project: src/bootloader +filename: "{manifest_name}_{gecko_bootloader_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: gecko-bootloader + gecko_bootloader_version: dynamic + baudrate: 115200 + +c_defines: + SL_SERIAL_UART_FLOW_CONTROL: 1 + + SL_SERIAL_UART_PERIPHERAL: USART0 + SL_SERIAL_UART_PERIPHERAL_NO: 0 + + SL_SERIAL_UART_TX_PORT: gpioPortA + SL_SERIAL_UART_TX_PIN: 6 + + SL_SERIAL_UART_RX_PORT: gpioPortA + SL_SERIAL_UART_RX_PIN: 5 + + SL_SERIAL_UART_CTS_PORT: gpioPortB + SL_SERIAL_UART_CTS_PIN: 1 + + SL_SERIAL_UART_RTS_PORT: gpioPortB + SL_SERIAL_UART_RTS_PIN: 0 + + SL_GPIO_ACTIVATION_POLARITY: LOW + SL_BTL_BUTTON_PORT: gpioPortA + SL_BTL_BUTTON_PIN: 0 diff --git a/manifests/smlight/slzb07_opentread_rcp.yaml b/manifests/smlight/slzb07_opentread_rcp.yaml new file mode 100644 index 00000000..84721f4f --- /dev/null +++ b/manifests/smlight/slzb07_opentread_rcp.yaml @@ -0,0 +1,29 @@ +name: SLZB-07 OpenThread RCP +device: EFR32MG21A020F768IM32 +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 460800 + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 460800 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_TX_PIN: 6 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_RX_PIN: 5 + + SL_UARTDRV_USART_VCOM_CTS_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_CTS_PIN: 1 + + SL_UARTDRV_USART_VCOM_RTS_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/smlight_slzb07_ncp-uart-hw_115200.yaml b/manifests/smlight/slzb07_zigbee_ncp.yaml similarity index 50% rename from manifests/smlight_slzb07_ncp-uart-hw_115200.yaml rename to manifests/smlight/slzb07_zigbee_ncp.yaml index 332334ae..2c2bcf06 100644 --- a/manifests/smlight_slzb07_ncp-uart-hw_115200.yaml +++ b/manifests/smlight/slzb07_zigbee_ncp.yaml @@ -1,17 +1,28 @@ name: SLZB-07 Zigbee device: EFR32MG21A020F768IM32 -base_project: src/ncp-uart-hw_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{ezsp_version}" +base_project: src/zigbee_ncp +filename: "{manifest_name}_{ezsp_version}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" gbl: - fw_type: ncp-uart-hw - dynamic: ["ezsp_version"] + fw_type: zigbee_ncp + ezsp_version: dynamic baudrate: 115200 -c_defines: +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts +c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 @@ -27,22 +38,3 @@ c_defines: SL_IOSTREAM_USART_VCOM_RTS_PORT: gpioPortB SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 140 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/smlight_slzb06m_ncp-uart-sw_115200.yaml b/manifests/smlight_slzb06m_ncp-uart-sw_115200.yaml deleted file mode 100644 index bbb21f06..00000000 --- a/manifests/smlight_slzb06m_ncp-uart-sw_115200.yaml +++ /dev/null @@ -1,48 +0,0 @@ -name: SLZB-06M Max Zigbee -device: EFR32MG21A020F768IM32 -base_project: src/ncp-uart-hw_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{ezsp_version}" - -gbl: - fw_type: ncp-uart-sw - dynamic: ["ezsp_version"] - baudrate: 115200 - -c_defines: - SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 - SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware - - SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 - SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 - - SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortB - SL_IOSTREAM_USART_VCOM_TX_PIN: 1 - - SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortB - SL_IOSTREAM_USART_VCOM_RX_PIN: 0 - - SL_IOSTREAM_USART_VCOM_CTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_CTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 80 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/smlight_slzb06m_rcp-uart-802154-blehci-sw_460800.yaml b/manifests/smlight_slzb06m_rcp-uart-802154-blehci-sw_460800.yaml deleted file mode 100644 index d77df2f0..00000000 --- a/manifests/smlight_slzb06m_rcp-uart-802154-blehci-sw_460800.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: SLZB-06M Zigbee -device: EFR32MG21A020F768IM32 -base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-sw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_TX_PIN: 1 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_RX_PIN: 0 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: 0 - SL_CPC_DRV_UART_VCOM_CTS_PIN: 0 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: 0 - SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 80 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/smlight_slzb07_ncp-uart-sw_115200.yaml b/manifests/smlight_slzb07_ncp-uart-sw_115200.yaml deleted file mode 100644 index adbd0e95..00000000 --- a/manifests/smlight_slzb07_ncp-uart-sw_115200.yaml +++ /dev/null @@ -1,48 +0,0 @@ -name: SLZB-07 SW Zigbee -device: EFR32MG21A020F768IM32 -base_project: src/ncp-uart-hw_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{ezsp_version}" - -gbl: - fw_type: ncp-uart-sw - dynamic: ["ezsp_version"] - baudrate: 115200 - -c_defines: - SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 - SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware - - SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 - SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 - - SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_TX_PIN: 6 - - SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_RX_PIN: 5 - - SL_IOSTREAM_USART_VCOM_CTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_CTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 140 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/smlight_slzb07_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/smlight_slzb07_rcp-uart-802154-blehci-hw_460800.yaml deleted file mode 100644 index a50dd0cf..00000000 --- a/manifests/smlight_slzb07_rcp-uart-802154-blehci-hw_460800.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: SLZB-07 Zigbee -device: EFR32MG21A020F768IM32 -base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-hw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_TX_PIN: 6 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_RX_PIN: 5 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_CTS_PIN: 1 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 140 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/sonoff/zbdonglee_openthread_rcp.yaml b/manifests/sonoff/zbdonglee_openthread_rcp.yaml new file mode 100644 index 00000000..fcefd1e7 --- /dev/null +++ b/manifests/sonoff/zbdonglee_openthread_rcp.yaml @@ -0,0 +1,34 @@ +name: ZBDongle-E OpenThread RCP +device: EFR32MG21A020F768IM32 +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}_{fw_variant}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 460800 + fw_variant: no_flow + +configuration: + SL_DEVICE_INIT_HFXO_CTUNE: 128 + SL_UARTDRV_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 460800 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_TX_PIN: 1 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortB + SL_UARTDRV_USART_VCOM_RX_PIN: 0 + + SL_UARTDRV_USART_VCOM_CTS_PORT: 0 + SL_UARTDRV_USART_VCOM_CTS_PIN: 0 + + SL_UARTDRV_USART_VCOM_RTS_PORT: 0 + SL_UARTDRV_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/sonoff_zbdonglee_ncp-uart-sw_115200.yaml b/manifests/sonoff/zbdonglee_zigbee_ncp.yaml similarity index 50% rename from manifests/sonoff_zbdonglee_ncp-uart-sw_115200.yaml rename to manifests/sonoff/zbdonglee_zigbee_ncp.yaml index 424025a3..22f06032 100644 --- a/manifests/sonoff_zbdonglee_ncp-uart-sw_115200.yaml +++ b/manifests/sonoff/zbdonglee_zigbee_ncp.yaml @@ -1,17 +1,30 @@ name: ZBDongle-E Zigbee device: EFR32MG21A020F768IM32 -base_project: src/ncp-uart-hw_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{ezsp_version}" +base_project: src/zigbee_ncp +filename: "{manifest_name}_{ezsp_version}_{fw_variant}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" gbl: - fw_type: ncp-uart-sw - dynamic: ["ezsp_version"] + fw_type: zigbee_ncp + ezsp_version: dynamic baudrate: 115200 + fw_variant: sw_flow -c_defines: +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 + SL_DEVICE_INIT_HFXO_CTUNE: 128 SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware +c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 @@ -27,22 +40,3 @@ c_defines: SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 128 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/sonoff_zbdonglee_rcp-uart-802154-blehci-sw_460800.yaml b/manifests/sonoff_zbdonglee_rcp-uart-802154-blehci-sw_460800.yaml deleted file mode 100644 index 3dcd984f..00000000 --- a/manifests/sonoff_zbdonglee_rcp-uart-802154-blehci-sw_460800.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: ZBDongle-E Zigbee -device: EFR32MG21A020F768IM32 -base_project: src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32 -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-sw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_TX_PIN: 1 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortB - SL_CPC_DRV_UART_VCOM_RX_PIN: 0 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: 0 - SL_CPC_DRV_UART_VCOM_CTS_PIN: 0 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: 0 - SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_CLOCK_MANAGER_HFXO_FREQ: 38400000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 128 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: -11 diff --git a/manifests/sparkfun/mgm240p_bootloader.yaml b/manifests/sparkfun/mgm240p_bootloader.yaml new file mode 100644 index 00000000..8a37fa14 --- /dev/null +++ b/manifests/sparkfun/mgm240p_bootloader.yaml @@ -0,0 +1,33 @@ +name: MGM240P Bootloader +device: MGM240PB32VNA +base_project: src/bootloader +filename: "{manifest_name}_{gecko_bootloader_version}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: gecko-bootloader + gecko_bootloader_version: dynamic + baudrate: 115200 + +c_defines: + SL_SERIAL_UART_FLOW_CONTROL: 0 + + SL_SERIAL_UART_PERIPHERAL: USART0 + SL_SERIAL_UART_PERIPHERAL_NO: 0 + + SL_SERIAL_UART_TX_PORT: gpioPortA + SL_SERIAL_UART_TX_PIN: 5 + + SL_SERIAL_UART_RX_PORT: gpioPortA + SL_SERIAL_UART_RX_PIN: 6 + + SL_SERIAL_UART_CTS_PORT: 0 + SL_SERIAL_UART_CTS_PIN: 0 + + SL_SERIAL_UART_RTS_PORT: 0 + SL_SERIAL_UART_RTS_PIN: 0 + + SL_GPIO_ACTIVATION_POLARITY: LOW + SL_BTL_BUTTON_PORT: gpioPortC + SL_BTL_BUTTON_PIN: 0 diff --git a/manifests/sparkfun/mgm240p_openthread_rcp.yaml b/manifests/sparkfun/mgm240p_openthread_rcp.yaml new file mode 100644 index 00000000..c52dc9fa --- /dev/null +++ b/manifests/sparkfun/mgm240p_openthread_rcp.yaml @@ -0,0 +1,34 @@ +name: MGM240P OpenThread RCP +device: MGM240PB32VNA +base_project: src/openthread_rcp +filename: "{manifest_name}_{ot_rcp_version.split('/')[-1]}_gsdk_{sdk_version}_{fw_variant}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: openthread_rcp + ot_rcp_version: dynamic + baudrate: 460800 + fw_variant: no_flow + +configuration: + + SL_UARTDRV_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone + +c_defines: + SL_UARTDRV_USART_VCOM_PERIPHERAL: USART0 + SL_UARTDRV_USART_VCOM_PERIPHERAL_NO: 0 + SL_UARTDRV_USART_VCOM_BAUDRATE: 460800 + + SL_UARTDRV_USART_VCOM_TX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_TX_PIN: 5 + + SL_UARTDRV_USART_VCOM_RX_PORT: gpioPortA + SL_UARTDRV_USART_VCOM_RX_PIN: 6 + + SL_UARTDRV_USART_VCOM_CTS_PORT: 0 + SL_UARTDRV_USART_VCOM_CTS_PIN: 0 + + SL_UARTDRV_USART_VCOM_RTS_PORT: 0 + SL_UARTDRV_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/sparkfun/mgm240p_zigbee_ncp.yaml b/manifests/sparkfun/mgm240p_zigbee_ncp.yaml new file mode 100644 index 00000000..cdb55efb --- /dev/null +++ b/manifests/sparkfun/mgm240p_zigbee_ncp.yaml @@ -0,0 +1,41 @@ +name: MGM240P Zigbee +device: MGM240PB32VNA +base_project: src/zigbee_ncp +filename: "{manifest_name}_{ezsp_version}_{fw_variant}_{baudrate}" +sdk: "simplicity_sdk:2024.6.2" +toolchain: "12.2.1.20221205" + +gbl: + fw_type: zigbee_ncp + ezsp_version: dynamic + baudrate: 115200 + fw_variant: sw_flow + +configuration: + SL_ZIGBEE_CHILD_TABLE_SIZE: 32 + SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 + SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware + +c_defines: + SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 32 + SL_ZIGBEE_BINDING_TABLE_SIZE: 32 + SL_ZIGBEE_BROADCAST_TABLE_SIZE: 64 + SL_ZIGBEE_KEY_TABLE_SIZE: 12 + SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 + SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 200 + + SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 + SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 + + SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA + SL_IOSTREAM_USART_VCOM_TX_PIN: 5 + + SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortA + SL_IOSTREAM_USART_VCOM_RX_PIN: 6 + + SL_IOSTREAM_USART_VCOM_CTS_PORT: 0 + SL_IOSTREAM_USART_VCOM_CTS_PIN: 0 + + SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 + SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 + diff --git a/manifests/sparkfun_mgm240p_ncp-uart-sw_115200.yaml b/manifests/sparkfun_mgm240p_ncp-uart-sw_115200.yaml deleted file mode 100644 index 0d6d0560..00000000 --- a/manifests/sparkfun_mgm240p_ncp-uart-sw_115200.yaml +++ /dev/null @@ -1,48 +0,0 @@ -name: MGM240P Zigbee -device: MGM240PB32VNA -base_project: src/ncp-uart-hw_MGM240PA32VNN -filename: "{manifest_name}_{ezsp_version}" - -gbl: - fw_type: ncp-uart-sw - dynamic: ["ezsp_version"] - baudrate: 115200 - -c_defines: - SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 - SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: uartFlowControlSoftware - - SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 - SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 - - SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_TX_PIN: 5 - - SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_RX_PIN: 6 - - SL_IOSTREAM_USART_VCOM_CTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_CTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RTS_PORT: 0 - SL_IOSTREAM_USART_VCOM_RTS_PIN: 0 - - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 64 - - SL_CLOCK_MANAGER_HFXO_FREQ: 39000000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 140 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: 0 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 32 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 64 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 254 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 32 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 diff --git a/manifests/sparkfun_mgm240p_rcp-uart-802154-blehci-sw_460800.yaml b/manifests/sparkfun_mgm240p_rcp-uart-802154-blehci-sw_460800.yaml deleted file mode 100644 index 14475361..00000000 --- a/manifests/sparkfun_mgm240p_rcp-uart-802154-blehci-sw_460800.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: MGM240P Zigbee -device: MGM240PB32VNA -base_project: src/rcp-uart-802154-blehci_MGM240PA32VNN -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-sw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlNone - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_TX_PIN: 5 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_RX_PIN: 6 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: 0 - SL_CPC_DRV_UART_VCOM_CTS_PIN: 0 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: 0 - SL_CPC_DRV_UART_VCOM_RTS_PIN: 0 - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_CLOCK_MANAGER_HFXO_FREQ: 39000000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 140 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: 0 \ No newline at end of file diff --git a/manifests/tubeszb_mgm24_ncp-uart-hw_115200.yaml b/manifests/tubeszb_mgm24_ncp-uart-hw_115200.yaml deleted file mode 100644 index e2a3bfa4..00000000 --- a/manifests/tubeszb_mgm24_ncp-uart-hw_115200.yaml +++ /dev/null @@ -1,49 +0,0 @@ -name: TubesZB MGM24 HW Max Zigbee -device: MGM240PA32VNN -base_project: src/ncp-uart-hw_MGM240PA32VNN -filename: "{manifest_name}_{ezsp_version}" - -gbl: - fw_type: ncp-uart-hw - dynamic: ["ezsp_version"] - baudrate: 115200 - -c_defines: - SL_IOSTREAM_USART_VCOM_BAUDRATE: 115200 - SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts - - SL_IOSTREAM_USART_VCOM_PERIPHERAL: USART0 - SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO: 0 - - SL_IOSTREAM_USART_VCOM_TX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_TX_PIN: 6 - - SL_IOSTREAM_USART_VCOM_RX_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_RX_PIN: 5 - - SL_IOSTREAM_USART_VCOM_CTS_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_CTS_PIN: 7 - - SL_IOSTREAM_USART_VCOM_RTS_PORT: gpioPortA - SL_IOSTREAM_USART_VCOM_RTS_PIN: 8 - - SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE: 128 - - SL_CLOCK_MANAGER_HFXO_FREQ: 39000000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 140 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: 0 - - SL_ZIGBEE_ADDRESS_TABLE_SIZE: 64 - SL_ZIGBEE_MULTICAST_TABLE_SIZE: 26 - SL_ZIGBEE_ROUTE_TABLE_SIZE: 16 - SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT: 128 - SL_ZIGBEE_BROADCAST_TABLE_SIZE: 30 - SL_ZIGBEE_NEIGHBOR_TABLE_SIZE: 26 - SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE: 254 - SL_ZIGBEE_MAX_END_DEVICE_CHILDREN: 64 - SL_ZIGBEE_BINDING_TABLE_SIZE: 64 - SL_ZIGBEE_APS_DUPLICATE_REJECTION_MAX_ENTRIES: 64 diff --git a/manifests/tubeszb_mgm24_rcp-uart-802154-blehci-hw_460800.yaml b/manifests/tubeszb_mgm24_rcp-uart-802154-blehci-hw_460800.yaml deleted file mode 100644 index 27918e46..00000000 --- a/manifests/tubeszb_mgm24_rcp-uart-802154-blehci-hw_460800.yaml +++ /dev/null @@ -1,42 +0,0 @@ -name: TubesZB MGM24 HW Zigbee -device: MGM240PA32VNN -base_project: src/rcp-uart-802154-blehci_MGM240PA32VNN -filename: "{manifest_name}_{sdk_version}" - -gbl: - fw_type: rcp-uart-802154-blehci-hw - dynamic: ["ezsp_version", "ot_version", "ble_version", "cpc_version"] - baudrate: 460800 - -c_defines: - SL_CPC_DRV_UART_VCOM_BAUDRATE: 460800 - SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE: usartHwFlowControlCtsAndRts - - SL_CPC_DRV_UART_VCOM_PERIPHERAL: USART0 - SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO: 0 - - SL_CPC_DRV_UART_VCOM_TX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_TX_PIN: 6 - - SL_CPC_DRV_UART_VCOM_RX_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_RX_PIN: 5 - - SL_CPC_DRV_UART_VCOM_CTS_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_CTS_PIN: 7 - - SL_CPC_DRV_UART_VCOM_RTS_PORT: gpioPortA - SL_CPC_DRV_UART_VCOM_RTS_PIN: 8 - - SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE: 10 - SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE: 10 - - SL_CPC_TX_QUEUE_ITEM_MAX_COUNT: 15 - SL_CPC_RX_BUFFER_MAX_COUNT: 15 - - SL_CLOCK_MANAGER_HFXO_FREQ: 39000000 - SL_CLOCK_MANAGER_HFXO_CTUNE: 140 - SL_CLOCK_MANAGER_HFXO_PRECISION: 50 - SL_CLOCK_MANAGER_LFXO_CTUNE: 63 - SL_CLOCK_MANAGER_LFXO_PRECISION: 50 - - SL_RAIL_UTIL_RSSI_OFFSET: 0 diff --git a/simplicity_sdk_extensions/.gitkeep b/simplicity_sdk_extensions/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/src/bootloader/bootloader.slcp b/src/bootloader/bootloader.slcp new file mode 100644 index 00000000..768197bd --- /dev/null +++ b/src/bootloader/bootloader.slcp @@ -0,0 +1,35 @@ +project_name: bootloader +package: bootloader +quality: production +label: Bootloader +description: Gecko bootloader with XMODEM-CRC transfer over UART. + +category: Example|Bootloader +filter: + - name: "Device Type" + value: ["NCP"] + - name: "Project Difficulty" + value: ["Advanced"] + - name: "MCU" + value: ["Bootloader"] + + +component: + - id: bootloader_core + - id: bootloader_crc + - id: bootloader_aes_sha_ecdsa + - id: bootloader_delay_driver + - id: bootloader_gpio_activation + - id: bootloader_image_parser + - id: bootloader_token_management + - id: bootloader_serial_driver + - id: bootloader_xmodem_parser + - id: bootloader_uart_xmodem + - id: bootloader_debug + +configuration: + - name: SL_VCOM_ENABLE + value: 1 + +post_build: + profile: bootloader_series_2 \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/SEGGER_RTT_Conf.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/SEGGER_RTT_Conf.h deleted file mode 100644 index 2c0d7dd3..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/SEGGER_RTT_Conf.h +++ /dev/null @@ -1,428 +0,0 @@ -/********************************************************************* -* SEGGER Microcontroller GmbH * -* The Embedded Experts * -********************************************************************** -* * -* (c) 1995 - 2023 SEGGER Microcontroller GmbH * -* * -* www.segger.com Support: support@segger.com * -* * -********************************************************************** -* * -* SEGGER SystemView * Real-time application analysis * -* * -********************************************************************** -* * -* All rights reserved. * -* * -* SEGGER strongly recommends to not make any changes * -* to or modify the source code of this software in order to stay * -* compatible with the SystemView and RTT protocol, and J-Link. * -* * -* Redistribution and use in source and binary forms, with or * -* without modification, are permitted provided that the following * -* condition is met: * -* * -* o Redistributions of source code must retain the above copyright * -* notice, this condition and the following disclaimer. * -* * -* 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 SEGGER Microcontroller 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. * -* * -********************************************************************** -* * -* SystemView version: 3.52 * -* * -********************************************************************** ----------------------------END-OF-HEADER------------------------------ -File : SEGGER_RTT_Conf.h -Purpose : Implementation of SEGGER real-time transfer (RTT) which - allows real-time communication on targets which support - debugger memory accesses while the CPU is running. -Revision: $Rev: 24316 $ - -*/ - -#ifndef SEGGER_RTT_CONF_H -#define SEGGER_RTT_CONF_H - -#ifdef __IAR_SYSTEMS_ICC__ - #include -#endif - -/********************************************************************* -* -* Defines, configurable -* -********************************************************************** -*/ - -// -// Take in and set to correct values for Cortex-A systems with CPU cache -// -//#define SEGGER_RTT_CPU_CACHE_LINE_SIZE (32) // Largest cache line size (in bytes) in the current system -//#define SEGGER_RTT_UNCACHED_OFF (0xFB000000) // Address alias where RTT CB and buffers can be accessed uncached -// -// Most common case: -// Up-channel 0: RTT -// Up-channel 1: SystemView -// -#ifndef SEGGER_RTT_MAX_NUM_UP_BUFFERS - #define SEGGER_RTT_MAX_NUM_UP_BUFFERS (9) // Max. number of up-buffers (T->H) available on this target (Default: 9) -#endif -// -// Most common case: -// Down-channel 0: RTT -// Down-channel 1: SystemView -// -#ifndef SEGGER_RTT_MAX_NUM_DOWN_BUFFERS - #define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (9) // Max. number of down-buffers (H->T) available on this target (Default: 9) -#endif - -#ifndef BUFFER_SIZE_UP - #define BUFFER_SIZE_UP (1024) // Size of the buffer for terminal output of target, up to host (Default: 1k) -#endif - -#ifndef BUFFER_SIZE_DOWN - #define BUFFER_SIZE_DOWN (1024) // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16) -#endif - -#ifndef SEGGER_RTT_PRINTF_BUFFER_SIZE - #define SEGGER_RTT_PRINTF_BUFFER_SIZE (64u) // Size of buffer for RTT printf to bulk-send chars via RTT (Default: 64) -#endif - -#ifndef SEGGER_RTT_MODE_DEFAULT - #define SEGGER_RTT_MODE_DEFAULT SEGGER_RTT_MODE_NO_BLOCK_SKIP // Mode for pre-initialized terminal channel (buffer 0) -#endif - -/********************************************************************* -* -* RTT memcpy configuration -* -* memcpy() is good for large amounts of data, -* but the overhead is big for small amounts, which are usually stored via RTT. -* With SEGGER_RTT_MEMCPY_USE_BYTELOOP a simple byte loop can be used instead. -* -* SEGGER_RTT_MEMCPY() can be used to replace standard memcpy() in RTT functions. -* This is may be required with memory access restrictions, -* such as on Cortex-A devices with MMU. -*/ -#ifndef SEGGER_RTT_MEMCPY_USE_BYTELOOP - #define SEGGER_RTT_MEMCPY_USE_BYTELOOP 0 // 0: Use memcpy/SEGGER_RTT_MEMCPY, 1: Use a simple byte-loop -#endif -// -// Example definition of SEGGER_RTT_MEMCPY to external memcpy with GCC toolchains and Cortex-A targets -// -//#if ((defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)) && (defined (__ARM_ARCH_7A__)) -// #define SEGGER_RTT_MEMCPY(pDest, pSrc, NumBytes) SEGGER_memcpy((pDest), (pSrc), (NumBytes)) -//#endif - -// -// Target is not allowed to perform other RTT operations while string still has not been stored completely. -// Otherwise we would probably end up with a mixed string in the buffer. -// If using RTT from within interrupts, multiple tasks or multi processors, define the SEGGER_RTT_LOCK() and SEGGER_RTT_UNLOCK() function here. -// -// SEGGER_RTT_MAX_INTERRUPT_PRIORITY can be used in the sample lock routines on Cortex-M3/4. -// Make sure to mask all interrupts which can send RTT data, i.e. generate SystemView events, or cause task switches. -// When high-priority interrupts must not be masked while sending RTT data, SEGGER_RTT_MAX_INTERRUPT_PRIORITY needs to be adjusted accordingly. -// (Higher priority = lower priority number) -// Default value for embOS: 128u -// Default configuration in FreeRTOS: configMAX_SYSCALL_INTERRUPT_PRIORITY: ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) -// In case of doubt mask all interrupts: 1 << (8 - BASEPRI_PRIO_BITS) i.e. 1 << 5 when 3 bits are implemented in NVIC -// or define SEGGER_RTT_LOCK() to completely disable interrupts. -// -#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) // Interrupt priority to lock on SEGGER_RTT_LOCK on Cortex-M3/4 (Default: 0x20) -#endif - -/********************************************************************* -* -* RTT lock configuration for SEGGER Embedded Studio, -* Rowley CrossStudio and GCC -*/ -#if ((defined(__SES_ARM) || defined(__SES_RISCV) || defined(__CROSSWORKS_ARM) || defined(__GNUC__) || defined(__clang__)) && !defined (__CC_ARM) && !defined(WIN32)) - #if (defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_8M_BASE__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs %0, primask \n\t" \ - "movs r1, #1 \n\t" \ - "msr primask, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("msr primask, %0 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : \ - ); \ - } - #elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_8M_MAIN__)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs %0, basepri \n\t" \ - "mov r1, %1 \n\t" \ - "msr basepri, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : "i"(SEGGER_RTT_MAX_INTERRUPT_PRIORITY) \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("msr basepri, %0 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : \ - ); \ - } - - #elif (defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs r1, CPSR \n\t" \ - "mov %0, r1 \n\t" \ - "orr r1, r1, #0xC0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \ - "mrs r1, CPSR \n\t" \ - "bic r1, r1, #0xC0 \n\t" \ - "and r0, r0, #0xC0 \n\t" \ - "orr r1, r1, r0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : "r0", "r1", "cc" \ - ); \ - } - #elif defined(__riscv) || defined(__riscv_xlen) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("csrr %0, mstatus \n\t" \ - "csrci mstatus, 8 \n\t" \ - "andi %0, %0, 8 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("csrr a1, mstatus \n\t" \ - "or %0, %0, a1 \n\t" \ - "csrs mstatus, %0 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : "a1" \ - ); \ - } - #else - #define SEGGER_RTT_LOCK() - #define SEGGER_RTT_UNLOCK() - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for IAR EWARM -*/ -#ifdef __ICCARM__ - #if (defined (__ARM6M__) && (__CORE__ == __ARM6M__)) || \ - (defined (__ARM8M_BASELINE__) && (__CORE__ == __ARM8M_BASELINE__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_PRIMASK(); \ - __set_PRIMASK(1); - - #define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \ - } - #elif (defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)) || \ - (defined (__ARM7M__) && (__CORE__ == __ARM7M__)) || \ - (defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) || \ - (defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_BASEPRI(); \ - __set_BASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY); - - #define SEGGER_RTT_UNLOCK() __set_BASEPRI(_SEGGER_RTT__LockState); \ - } - #elif (defined (__ARM7A__) && (__CORE__ == __ARM7A__)) || \ - (defined (__ARM7R__) && (__CORE__ == __ARM7R__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs r1, CPSR \n\t" \ - "mov %0, r1 \n\t" \ - "orr r1, r1, #0xC0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \ - "mrs r1, CPSR \n\t" \ - "bic r1, r1, #0xC0 \n\t" \ - "and r0, r0, #0xC0 \n\t" \ - "orr r1, r1, r0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : "r0", "r1", "cc" \ - ); \ - } - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for IAR RX -*/ -#ifdef __ICCRX__ - #define SEGGER_RTT_LOCK() { \ - unsigned long _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_interrupt_state(); \ - __disable_interrupt(); - - #define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration for IAR RL78 -*/ -#ifdef __ICCRL78__ - #define SEGGER_RTT_LOCK() { \ - __istate_t _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_interrupt_state(); \ - __disable_interrupt(); - - #define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration for KEIL ARM -*/ -#ifdef __CC_ARM - #if (defined __TARGET_ARCH_6S_M) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - register unsigned char _SEGGER_RTT__PRIMASK __asm( "primask"); \ - _SEGGER_RTT__LockState = _SEGGER_RTT__PRIMASK; \ - _SEGGER_RTT__PRIMASK = 1u; \ - __schedule_barrier(); - - #define SEGGER_RTT_UNLOCK() _SEGGER_RTT__PRIMASK = _SEGGER_RTT__LockState; \ - __schedule_barrier(); \ - } - #elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - register unsigned char BASEPRI __asm( "basepri"); \ - _SEGGER_RTT__LockState = BASEPRI; \ - BASEPRI = SEGGER_RTT_MAX_INTERRUPT_PRIORITY; \ - __schedule_barrier(); - - #define SEGGER_RTT_UNLOCK() BASEPRI = _SEGGER_RTT__LockState; \ - __schedule_barrier(); \ - } - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for TI ARM -*/ -#ifdef __TI_ARM__ - #if defined (__TI_ARM_V6M0__) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_PRIMASK(); \ - __set_PRIMASK(1); - - #define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \ - } - #elif (defined (__TI_ARM_V7M3__) || defined (__TI_ARM_V7M4__)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = _set_interrupt_priority(SEGGER_RTT_MAX_INTERRUPT_PRIORITY); - - #define SEGGER_RTT_UNLOCK() _set_interrupt_priority(_SEGGER_RTT__LockState); \ - } - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for CCRX -*/ -#ifdef __RX - #include - #define SEGGER_RTT_LOCK() { \ - unsigned long _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = get_psw() & 0x010000; \ - clrpsw_i(); - - #define SEGGER_RTT_UNLOCK() set_psw(get_psw() | _SEGGER_RTT__LockState); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration for embOS Simulation on Windows -* (Can also be used for generic RTT locking with embOS) -*/ -#if defined(WIN32) || defined(SEGGER_RTT_LOCK_EMBOS) - -void OS_SIM_EnterCriticalSection(void); -void OS_SIM_LeaveCriticalSection(void); - -#define SEGGER_RTT_LOCK() { \ - OS_SIM_EnterCriticalSection(); - -#define SEGGER_RTT_UNLOCK() OS_SIM_LeaveCriticalSection(); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration fallback -*/ -#ifndef SEGGER_RTT_LOCK - #define SEGGER_RTT_LOCK() // Lock RTT (nestable) (i.e. disable interrupts) -#endif - -#ifndef SEGGER_RTT_UNLOCK - #define SEGGER_RTT_UNLOCK() // Unlock RTT (nestable) (i.e. enable previous interrupt lock state) -#endif - -#endif -/*************************** End of file ****************************/ \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/app_properties_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/app_properties_config.h deleted file mode 100644 index 6951a569..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/app_properties_config.h +++ /dev/null @@ -1,65 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Application Properties Header File - ******************************************************************************* - * # License - * Copyright 2021 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 APP_PROPERTIES_CONFIG_H -#define APP_PROPERTIES_CONFIG_H - -#include "sl_application_type.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// App Properties settings - -// Type of signature this application is signed with -// Default: APPLICATION_SIGNATURE_NONE(0) -#define SL_APPLICATION_SIGNATURE 0 - -// Location of the signature -// Default: 0xFFFFFFFF -#define SL_APPLICATION_SIGNATURE_LOCATION 0xFFFFFFFF - -// Bitfield representing type of application -#define SL_APPLICATION_TYPE APPLICATION_TYPE - -// Version number for this application -// <0-4294967295:1> -// Default: 1 [0-4294967295] -#define SL_APPLICATION_VERSION 1 - -// Capabilities of this application -// Default: 0 -#define SL_APPLICATION_CAPABILITIES 0 - -//Product ID of the device for which the application is built -#define SL_APPLICATION_PRODUCT_ID { 0 } - -// - -#endif // APP_PROPERTIES_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/btl_interface_cfg.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/btl_interface_cfg.h deleted file mode 100644 index d8a0a919..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/btl_interface_cfg.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_H -#define BTL_INTERFACE_CFG_H - -#if !defined(BOOTLOADER_APPLOADER) - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_1) -#include "btl_interface_cfg_s2c1.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_2) -#include "btl_interface_cfg_s2c2.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_3) -#include "btl_interface_cfg_s2c3.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_4) -#include "btl_interface_cfg_s2c4.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_5) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_6) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_8) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#endif // !BOOTLOADER_APPLOADER - -#endif // BTL_INTERFACE_CFG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/btl_interface_cfg_s2c1.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/btl_interface_cfg_s2c1.h deleted file mode 100644 index 35e65f10..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/btl_interface_cfg_s2c1.h +++ /dev/null @@ -1,281 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_S2C1_H -#define BTL_INTERFACE_CFG_S2C1_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Bootloader Interface Trust Zone Security State Configuration - -// Disable multi tiered fallback logic -// The fault handling logic as well as the USART auto-detection logic will be disabled. -// The re-configuration of SMU will be handled by querying the running bootloader -// for the peripheral list. Querying the peripheral list is supported from the bootloader -// version 2.0.0. Check for the BOOTLOADER_CAPABILITY_PERIPHERAL_LIST capability to -// see if the running bootloader supports querying the peripheral list. -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 0 - -// Disable peripheral access fault handling -// The fault handling triggered by an erroneous access of peripherals will be disabled. -// -// This should be disabled iff all the peripherals that are in use by the bootloader -// have been properly configured by the "Manually override security state of peripherals" option. -#define BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING 0 - -// Manually override the security state of peripherals in use by the bootloader -// Default: 0. -// Manually override the security state of peripherals. Choose the peripherals touched -// by the customized code to have a valid secure access state before interacting with the bootloader -// In practice, this means that the chosen peripherals will be available at the secure address, -// which is accessible by the bootloader. Once the application is entered back the secure access state -// is changed back to the original state. -// -// The USART auto-detection logic that detects which, if any, USART is in use by the bootloader -// will be disabled. Make sure to choose the correct USART used by the bootloader. -#define BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE 0 -// EMU -// Update secure access state of EMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_EMU 0 - -// CMU -// Update secure access state of CMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_CMU 0 - -// HFXO0 -// Update secure access state of HFXO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFXO0 0 - -// HFRCO0 -// Update secure access state of HFRCO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFRCO0 0 - -// FSRCO -// Update secure access state of FSRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_FSRCO 0 - -// DPLL0 -// Update secure access state of DPLL0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_DPLL0 0 - -// LFXO -// Update secure access state of LFXO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFXO 0 - -// LFRCO -// Update secure access state of LFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFRCO 0 - -// ULFRCO -// Update secure access state of ULFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_ULFRCO 0 - -// MSC -// Update secure access state of MSC before calling into bootloader -#define BOOTLOADER_PPUSATD0_MSC 0 - -// ICACHE0 -// Update secure access state of ICACHE0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_ICACHE0 0 - -// PRS -// Update secure access state of PRS before calling into bootloader -#define BOOTLOADER_PPUSATD0_PRS 0 - -// GPIO -// Update secure access state of GPIO before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPIO 0 - -// LDMA -// Update secure access state of LDMA before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMA 0 - -// LDMAXBAR -// Update secure access state of LDMAXBAR before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMAXBAR 0 - -// TIMER0 -// Update secure access state of TIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER0 0 - -// TIMER1 -// Update secure access state of TIMER1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER1 0 - -// TIMER2 -// Update secure access state of TIMER2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER2 0 - -// TIMER3 -// Update secure access state of TIMER3 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER3 0 - -// USART0 -// Update secure access state of USART0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART0 0 - -// USART1 -// Update secure access state of USART1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART1 0 - -// USART2 -// Update secure access state of USART2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART2 0 - -// BURTC -// Update secure access state of BURTC before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURTC 0 - -// I2C1 -// Update secure access state of I2C1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_I2C1 0 - -// CHIPTESTCTRL -// Update secure access state of CHIPTESTCTRL before calling into bootloader -#define BOOTLOADER_PPUSATD0_CHIPTESTCTRL 0 - -// LVGD -// Update secure access state of LVGD before calling into bootloader -#define BOOTLOADER_PPUSATD0_LVGD 0 - -// SYSCFG -// Update secure access state of SYSCFG before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSCFG 0 - -// BURAM -// Update secure access state of BURAM before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURAM 0 - -// IFADCDEBUG -// Update secure access state of IFADCDEBUG before calling into bootloader -#define BOOTLOADER_PPUSATD0_IFADCDEBUG 0 - -// GPCRC -// Update secure access state of GPCRC before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPCRC 0 - -// RTCC -// Update secure access state of RTCC before calling into bootloader -#define BOOTLOADER_PPUSATD0_RTCC 0 - -// LETIMER0 -// Update secure access state of LETIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_LETIMER0 0 - -// IADC0 -// Update secure access state of IADC0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_IADC0 0 - -// ACMP0 -// Update secure access state of ACMP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP0 0 - -// ACMP1 -// Update secure access state of ACMP1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP1 0 - -// I2C0 -// Update secure access state of I2C0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_I2C0 0 - -// HFRCOEM23 -// Update secure access state of HFRCOEM23 before calling into bootloader -#define BOOTLOADER_PPUSATD1_HFRCOEM23 0 - -// WDOG0 -// Update secure access state of WDOG0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG0 0 - -// WDOG1 -// Update secure access state of WDOG1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG1 0 - -// AMUXCP0 -// Update secure access state of AMUXCP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_AMUXCP0 0 - -// RADIOAES -// Update secure access state of RADIOAES before calling into bootloader -#define BOOTLOADER_PPUSATD1_RADIOAES 0 - -// BUFC -// Update secure access state of BUFC before calling into bootloader -#define BOOTLOADER_PPUSATD1_BUFC 0 - -// SMU -// Update secure access state of SMU before calling into bootloader -#define BOOTLOADER_PPUSATD1_SMU 0 - -// AHBRADIO -// Update secure access state of AHBRADIO before calling into bootloader -#define BOOTLOADER_PPUSATD1_AHBRADIO 0 - -// SEMAILBOX -// Update secure access state of SEMAILBOX before calling into bootloader -#define BOOTLOADER_PPUSATD1_SEMAILBOX 0 -// - -// -// <<< 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)) -#endif // BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE - -#endif // BTL_INTERFACE_CFG_S2C1_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/dmadrv_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/dmadrv_config.h deleted file mode 100644 index be24f49d..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/dmadrv_config.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef DMADRV_CONFIG_H -#define DMADRV_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMA interrupt priority <0-15> -// Priority of the DMA interrupt. Smaller number equals higher priority. -// Default: 8 -#define EMDRV_DMADRV_DMA_IRQ_PRIORITY 8 - -// Number of available channels <1-8> -// Number of DMA channels supported by the driver. A lower channel count -// will reduce RAM memory footprint. The default is to support all channels -// on the device. -// Default: 8 -#define EMDRV_DMADRV_DMA_CH_COUNT 8 - -// Number of fixed priority channels -// This will configure channels [0, CH_PRIORITY - 1] as fixed priority, -// and channels [CH_PRIORITY, CH_COUNT] as round-robin. -// Default: 0 -#define EMDRV_DMADRV_DMA_CH_PRIORITY 0 - -// <<< end of configuration section >>> - -#endif // DMADRV_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/emlib_core_debug_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/emlib_core_debug_config.h deleted file mode 100644 index e4a01682..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/emlib_core_debug_config.h +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************//** - * @file - * @brief emlib_core Configuration - ******************************************************************************* - * # License - * Copyright 2019 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 EM_CORE_DEBUG_CONFIG_H -#define EM_CORE_DEBUG_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Core Configuration - -// Enables measuring of interrupt disable time for debugging purposes. -// Default: 0 -#define SL_EMLIB_CORE_ENABLE_INTERRUPT_DISABLED_TIMING 0 - -// - -// <<< end of configuration section >>> -#endif // EM_CORE_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/legacy_common_ash_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/legacy_common_ash_config.h deleted file mode 100644 index fe9ffaf4..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/legacy_common_ash_config.h +++ /dev/null @@ -1,43 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Legacy Host ASH configuration file. - ******************************************************************************* - * # License - * Copyright 2021 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 LEGACY_NCP_ASH_CONFIG_H -#define LEGACY_NCP_ASH_CONFIG_H - -// The USART used for ASH communications in COM_Port_t format, as defined in platform/service/legacy_hal/inc/serial.h (see defined names for USART ports) <-1..3:1> -// Default: (-1) -// The default value of -1 causes the ASH code to try to use the USART assigned to the "VCOM" instance of SL_IOSTREAM_USART. Otherwise the value is passed to Legacy HAL, which attempts to find an instance of SL_IOSTREAM_USART which uses that USART. -#define LEGACY_NCP_ASH_SERIAL_PORT (-1) - -#endif /* LEGACY_NCP_ASH_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/legacy_hal_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/legacy_hal_config.h deleted file mode 100644 index a6d18138..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/legacy_hal_config.h +++ /dev/null @@ -1,47 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Legacy HAL configuration file. - ******************************************************************************* - * # License - * Copyright 2021 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 LEGACY_HAL_CONFIG_H -#define LEGACY_HAL_CONFIG_H - -// Translate button interrupt callback -// When the Simple Button component is included, it provides a callback for -// buttons configured in interrupt mode. When this option is 1, Legacy HAL -// will try to consume that callback and translate it to "halButtonIsr", -// the legacy callback. If anything else in the application consumes the -// Simple button callback, it will override Legacy HAL's version. -// Default: 1 -#define LEGACY_HAL_TRANSLATE_BUTTON_INTERRUPT (1) - -#endif /* LEGACY_HAL_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/nvm3_default_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/nvm3_default_config.h deleted file mode 100644 index df85ba9e..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/nvm3_default_config.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef NVM3_DEFAULT_CONFIG_H -#define NVM3_DEFAULT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// NVM3 Default Instance Configuration - -#ifndef NVM3_DEFAULT_CACHE_SIZE -// NVM3 Default Instance Cache Size -// Number of NVM3 objects to cache. To reduce access times this number -// should be equal to or higher than the number of NVM3 objects in the -// default NVM3 instance. -// Default: 200 -#define NVM3_DEFAULT_CACHE_SIZE 200 -#endif - -#ifndef NVM3_DEFAULT_MAX_OBJECT_SIZE -// NVM3 Default Instance Max Object Size -// Max NVM3 object size that can be stored. -// Default: 254 -#define NVM3_DEFAULT_MAX_OBJECT_SIZE 254 -#endif - -#ifndef NVM3_DEFAULT_REPACK_HEADROOM -// NVM3 Default Instance User Repack Headroom -// Headroom determining how many bytes below the forced repack limit the user -// repack limit should be placed. The default is 0, which means the user and -// forced repack limits are equal. -// Default: 0 -#define NVM3_DEFAULT_REPACK_HEADROOM 0 -#endif - -#ifndef NVM3_DEFAULT_NVM_SIZE -// NVM3 Default Instance Size -// Size of the NVM3 storage region in flash. This size should be aligned with -// the flash page size of the device. -// Default: 40960 -#define NVM3_DEFAULT_NVM_SIZE 32768 -#endif - -// - -// <<< end of configuration section >>> - -#endif // NVM3_DEFAULT_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/pin_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/pin_config.h deleted file mode 100644 index b0d9ed1c..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/pin_config.h +++ /dev/null @@ -1,157 +0,0 @@ -#ifndef PIN_CONFIG_H -#define PIN_CONFIG_H - -// $[CMU] -// [CMU]$ - -// $[LFXO] -// [LFXO]$ - -// $[PRS.ASYNCH0] -// [PRS.ASYNCH0]$ - -// $[PRS.ASYNCH1] -// [PRS.ASYNCH1]$ - -// $[PRS.ASYNCH2] -// [PRS.ASYNCH2]$ - -// $[PRS.ASYNCH3] -// [PRS.ASYNCH3]$ - -// $[PRS.ASYNCH4] -// [PRS.ASYNCH4]$ - -// $[PRS.ASYNCH5] -// [PRS.ASYNCH5]$ - -// $[PRS.ASYNCH6] -// [PRS.ASYNCH6]$ - -// $[PRS.ASYNCH7] -// [PRS.ASYNCH7]$ - -// $[PRS.ASYNCH8] -// [PRS.ASYNCH8]$ - -// $[PRS.ASYNCH9] -// [PRS.ASYNCH9]$ - -// $[PRS.ASYNCH10] -// [PRS.ASYNCH10]$ - -// $[PRS.ASYNCH11] -// [PRS.ASYNCH11]$ - -// $[PRS.SYNCH0] -// [PRS.SYNCH0]$ - -// $[PRS.SYNCH1] -// [PRS.SYNCH1]$ - -// $[PRS.SYNCH2] -// [PRS.SYNCH2]$ - -// $[PRS.SYNCH3] -// [PRS.SYNCH3]$ - -// $[GPIO] -// GPIO SWV on PA03 -#ifndef GPIO_SWV_PORT -#define GPIO_SWV_PORT gpioPortA -#endif -#ifndef GPIO_SWV_PIN -#define GPIO_SWV_PIN 3 -#endif - -// [GPIO]$ - -// $[TIMER0] -// [TIMER0]$ - -// $[TIMER1] -// [TIMER1]$ - -// $[TIMER2] -// [TIMER2]$ - -// $[TIMER3] -// [TIMER3]$ - -// $[USART0] -// USART0 CTS -#ifndef USART0_CTS_PORT -#define USART0_CTS_PORT 0 -#endif -#ifndef USART0_CTS_PIN -#define USART0_CTS_PIN 0 -#endif - -// USART0 RTS -#ifndef USART0_RTS_PORT -#define USART0_RTS_PORT 0 -#endif -#ifndef USART0_RTS_PIN -#define USART0_RTS_PIN 0 -#endif - -// USART0 RX on PB00 -#ifndef USART0_RX_PORT -#define USART0_RX_PORT gpioPortB -#endif -#ifndef USART0_RX_PIN -#define USART0_RX_PIN 0 -#endif - -// USART0 TX on PB01 -#ifndef USART0_TX_PORT -#define USART0_TX_PORT gpioPortB -#endif -#ifndef USART0_TX_PIN -#define USART0_TX_PIN 1 -#endif - -// [USART0]$ - -// $[USART1] -// [USART1]$ - -// $[USART2] -// [USART2]$ - -// $[I2C1] -// [I2C1]$ - -// $[LETIMER0] -// [LETIMER0]$ - -// $[IADC0] -// [IADC0]$ - -// $[ACMP0] -// [ACMP0]$ - -// $[ACMP1] -// [ACMP1]$ - -// $[I2C0] -// [I2C0]$ - -// $[PTI] -// [PTI]$ - -// $[MODEM] -// [MODEM]$ - -// $[CUSTOM_PIN_NAME] -#ifndef _PORT -#define _PORT gpioPortA -#endif -#ifndef _PIN -#define _PIN 0 -#endif - -// [CUSTOM_PIN_NAME]$ - -#endif // PIN_CONFIG_H - diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/psa_crypto_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/psa_crypto_config.h deleted file mode 100644 index a17b0efc..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/psa_crypto_config.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef PSA_CRYPTO_CONFIG_H -#define PSA_CRYPTO_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Key management configuration - -// PSA User Maximum Open Keys Count <0-128> -// Maximum amount of keys that the user application will have open -// simultaneously. In context of PSA Crypto, an open key means any key -// either stored in RAM (lifetime set to PSA_KEY_LIFETIME_VOLATILE), or -// used as part of a cryptographic operation. -// When using a key for a multi-part (setup/update/finish) operation, a key -// is considered to be open from the moment the operation is successfully -// setup, until it finishes or aborts. -// When an application tries to open more keys than this value accounts for, -// the PSA API may return PSA_ERROR_INSUFFICIENT_MEMORY. Keep in mind that -// other software included in the application (e.g. wireless protocol stacks) -// also can have a need to have open keys in PSA Crypto. This could lead to -// a race condition when the application key slot count is set too low for -// the actual usage of the application, as a software stack may not fail -// gracefully in case an application opens more than its declared amount of -// keys, thereby precluding the stack from functioning. -// Default: 4 -#define SL_PSA_KEY_USER_SLOT_COUNT (4) - -// PSA Maximum User Persistent Keys Count <0-1024> -// Maximum amount of keys (or other files) that can be stored persistently -// by the application through the PSA interface, when persistent storage -// support for PSA Crypto is included in the project. -// Due to caching logic, this setting does have an impact on static RAM usage. -// Note that this number is added to the potential requirements from other -// software components in the project, such that the total amount of keys -// which can be stored through the ITS backend can be higher than what is -// configured here. -// -// WARNING: When changing this setting on an application that is already -// deployed, and thus will get the change through an application upgrade, -// care should be taken to ensure that the setting is only ever increased, -// and never decreased. Decreasing this setting might cause previously -// stored keys/files to become inaccessible. -// -// It is not possible to change this setting when using V3 ITS Driver. -// The file-storage indexing is dependent on the maximum number of files, -// and if SL_PSA_ITS_USER_MAX_FILES is changed, ITS should be cleared and -// all files need to be stored again. -// Default: 128 -#define SL_PSA_ITS_USER_MAX_FILES (128) - -// Enable V1 Format Support For ITS Files <0-1> -// Devices that used PSA ITS together with gecko_sdk_3.1.x or earlier -// might have keys (or other files) stored in V1 format. -// If no v1 files are used, its support can be disabled for space -// optimization. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V1_DRIVER 0 - -// Enable V2 ITS Driver Support <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. Enabling this -// config option adds upgrade code which converts V2 (and V1 if -// supported) format ITS keys/files to the latest V3 format. Update is -// fully automatic, needs to be run once and require extra flash space of -// approximately the size of the largest key. -// V1 ITS driver support can be disabled if the device has never used ITS -// driver before in GSDK 4.1.x and earlier, or the keys has been already -// migrated. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V2_DRIVER 0 - -// Enable support for V3 ITS Driver <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. In rare case -// that those devices have full nvm3 and not enough space for the -// upgrade, (that requires an extra space to store largest key in memory -// twice), this config option can disable v3 driver and use v2 one. -// To upgrade the device, make space for the upgrade, and enable v3 driver again. -// -// WARNING: When using V3 driver, it is not possible to increase or decrease -// the value of SL_PSA_ITS_USER_MAX_FILES. If the change of -// SL_PSA_ITS_USER_MAX_FILES is required, ITS should be cleared and -// all files need to be stored again. -// Default: 1 -#define SL_PSA_ITS_SUPPORT_V3_DRIVER 1 - -// Built-in AES Key Mode of Operation -// CTR Mode -// CFB Mode -// OFB Mode -// ECB Mode -// CBC Mode (no padding) -// CBC Mode (PKCS#7 padding) -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// Default: PSA_ALG_CTR -#define SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG (PSA_ALG_CTR) - -#ifndef SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG -// Built-in PUF Key Algorithm -// PBKDF2 (CMAC-AES-128-PRF) -// CMAC -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// It is recommended to only use the PUF key for deriving further key -// material. -// Default: PSA_ALG_PBKDF2_AES_CMAC_PRF_128 -#define SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG (PSA_ALG_PBKDF2_AES_CMAC_PRF_128) -#endif // SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG - -// - -// Power optimization configuration - -// Store already-generated random bytes before putting the device to sleep -// Using the hardware TRNG (for example through psa_generate_random()) will -// consume a non-negligible amount of power. A start-up routine must pass -// and a relatively large minimum amount of random bytes will be generated. -// Use cases where the device is frequently entering EM2/EM3 and thereafter -// consumes a small amount of data from the TRNG may benefit from buffering -// the existing random bytes before putting the device to sleep. These -// buffered bytes are then consumed until exhaustion before the TRNG needs -// to be initialized and used again. -// -// NOTE: this configuration option is only applicable for devices with a -// Virtual Secure Engine (VSE), and requires the 'Power Manager' component -// to be included in the project. -// -// Default: 0 -#define SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP (0) - -// Number of random words to buffer before putting the device to sleep <1-63> -// This option can be used to decrease the amount of random words that -// (if enabled) are buffered before the device enters EM2/EM3. Lowering this -// number will result in less static RAM usage, but also means that the TRNG -// potentially has to be initialized more times--leading to increased power -// consumption. By default this option in configured to buffer as much TRNG -// data as possible (limited by the depth of the TRNG FIFO). -// -// NOTE: this configuration option is only applicable when -// SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP is enabled. -// -// Default: 63 -#define SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP (63) -// - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_psa_config_autogen.h" -#endif - -#if defined(TFM_CONFIG_SL_SECURE_LIBRARY) - #include "sli_psa_tfm_translation.h" -#endif - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_psa_acceleration.h" -#endif - -#include "sli_psa_builtin_config_autogen.h" - -#endif // PSA_CRYPTO_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_clock_manager_oscillator_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_clock_manager_oscillator_config.h deleted file mode 100644 index 4a983d60..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_clock_manager_oscillator_config.h +++ /dev/null @@ -1,229 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Oscillators 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_CLOCK_MANAGER_OSCILLATOR_CONFIG_H -#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H - -// Oscillators Settings - -// HFXO Settings (if High Frequency crystal is used) -// Enable to configure HFXO -#ifndef SL_CLOCK_MANAGER_HFXO_EN -#define SL_CLOCK_MANAGER_HFXO_EN 1 -#endif - -// Mode -// -// XTAL -// EXTCLK -// HFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_HFXO_MODE -#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL -#endif - -// Frequency <38000000-40000000> -// 38400000 -#ifndef SL_CLOCK_MANAGER_HFXO_FREQ -#define SL_CLOCK_MANAGER_HFXO_FREQ 38400000 -#endif - -// CTUNE <0-255> -// 140 -#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE -#define SL_CLOCK_MANAGER_HFXO_CTUNE 140 -#endif - -// Precision <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION -#define SL_CLOCK_MANAGER_HFXO_PRECISION 50 -#endif -// - -// LFXO Settings (if Low Frequency crystal is used) -// Enable to configure LFXO -#ifndef SL_CLOCK_MANAGER_LFXO_EN -#define SL_CLOCK_MANAGER_LFXO_EN 1 -#endif - -// Mode -// -// XTAL -// BUFEXTCLK -// DIGEXTCLK -// LFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_LFXO_MODE -#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL -#endif - -// CTUNE <0-127> -// 63 -#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE -#define SL_CLOCK_MANAGER_LFXO_CTUNE 63 -#endif - -// LFXO precision in PPM <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION -#define SL_CLOCK_MANAGER_LFXO_PRECISION 50 -#endif - -// Startup Timeout Delay -// -// CYCLES2 -// CYCLES256 -// CYCLES1K -// CYCLES2K -// CYCLES4K -// CYCLES8K -// CYCLES16K -// CYCLES32K -// LFXO_CFG_TIMEOUT_CYCLES4K -#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT -#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K -#endif -// - -// HFRCO and DPLL Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 7 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 38 MHz -// 48 MHz -// 56 MHz -// 64 MHz -// 80 MHz -// cmuHFRCODPLLFreq_80M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCO_BAND -#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz -#endif - -// Use DPLL -// Enable to use the DPLL with HFRCO -#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN -#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 0 -#endif - -// Target Frequency <1000000-80000000> -// DPLL target frequency -// 80000000 -#ifndef SL_CLOCK_MANAGER_DPLL_FREQ -#define SL_CLOCK_MANAGER_DPLL_FREQ 80000000 -#endif - -// Numerator (N) <300-4095> -// Value of N for output frequency calculation fout = fref * (N+1) / (M+1) -// 3999 -#ifndef SL_CLOCK_MANAGER_DPLL_N -#define SL_CLOCK_MANAGER_DPLL_N 3999 -#endif - -// Denominator (M) <0-4095> -// Value of M for output frequency calculation fout = fref * (N+1) / (M+1) -// 1919 -#ifndef SL_CLOCK_MANAGER_DPLL_M -#define SL_CLOCK_MANAGER_DPLL_M 1919 -#endif - -// Reference Clock -// Reference clock source for DPLL -// DISABLED -// HFXO -// LFXO -// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK -#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#endif - -// Reference Clock Edge Detect -// Edge detection for reference clock -// Falling Edge -// Rising Edge -// cmuDPLLEdgeSel_Fall -#ifndef SL_CLOCK_MANAGER_DPLL_EDGE -#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall -#endif - -// DPLL Lock Mode -// Lock mode -// Frequency-Lock Loop -// Phase-Lock Loop -// cmuDPLLLockMode_Freq -#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE -#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase -#endif - -// Automatic Lock Recovery -// 1 -#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER -#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1 -#endif - -// Enable Dither -// 0 -#ifndef SL_CLOCK_MANAGER_DPLL_DITHER -#define SL_CLOCK_MANAGER_DPLL_DITHER 0 -#endif -// -// - -// HFRCOEM23 Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 40 MHz -// cmuHFRCOEM23Freq_19M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND -#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz -#endif -// - -// - -#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_clock_manager_tree_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_clock_manager_tree_config.h deleted file mode 100644 index 75795905..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_clock_manager_tree_config.h +++ /dev/null @@ -1,217 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Clock Tree 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_CLOCK_MANAGER_TREE_CONFIG_H -#define SL_CLOCK_MANAGER_TREE_CONFIG_H - -// Internal Defines: DO NOT MODIFY -// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE -// selection of each clock branch to the right HW register value. -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA - -// Clock Tree Settings - -// Default Clock Source Selection for HF clock branches -// HFRCODPLL -// HFXO -// FSRCO -// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#endif - -// Default Clock Source Selection for LF clock branches -// LFRCO -// LFXO -// ULFRCO -// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#endif - -// System Clock Branch Settings - -// Clock Source Selection for SYSCLK branch -// DEFAULT_HF -// FSRCO -// HFRCODPLL -// HFXO -// Selection of the Clock source for SYSCLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// HCLK branch divider -// DIV1 -// DIV2 -// DIV4 -// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface. -// CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER -#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#endif - -// PCLK branch divider -// DIV1 -// DIV2 -// PCLK branch is derived from HCLK. This clock drives the APB bus interface. -// CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER -#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#endif - -// - -// Trace Clock Branches Settings -// Clock Source Selection for TRACECLK branch -// HCLK -// HFRCOEM23 -// Selection of the Clock source for TRACECLK -// CMU_TRACECLKCTRL_CLKSEL_HCLK -#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE -#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_HCLK -#endif - -// - -// High Frequency Clock Branches Settings -// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible -// EM01GRPACLK clock the Timer peripherals -// Clock Source Selection for EM01GRPACLK branch -// DEFAULT_HF -// HFRCODPLL -// HFXO -// HFRCOEM23 -// FSRCO -// Selection of the Clock source for EM01GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// Clock Source Selection for IADCCLK branch -// EM01GRPACLK -// HFRCOEM23 -// FSRCO -// Selection of the Clock source for IADCCLK -// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE -#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#endif - -// - -// Low Frequency Clock Branches Settings - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM23GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM4GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM4GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for RTCCCLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_RTCCCLK_SOURCE -#define SL_CLOCK_MANAGER_RTCCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG0CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG0CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG1CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG1CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// - -// Mixed Frequency Clock Branch Settings - -// Clock Source Selection for SYSTICKCLK branch -// <0=> HCLK -// <1=> EM23GRPACLK -// Selection of the Clock source for SYSTICKCLK -// 0 -#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0 -#endif -// -// - -#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_core_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_core_config.h deleted file mode 100644 index 5b4725ee..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_core_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @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 \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_custom_manufacturing_token_header.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_custom_manufacturing_token_header.h deleted file mode 100644 index cba1a05e..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_custom_manufacturing_token_header.h +++ /dev/null @@ -1,84 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Custom manufacturing token header - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -/***************************************************************************//** - * Custom Manufacturing Token Usage Examples - * - * The macro DEFINE_MFG_TOKEN() should be used when instantiating a - * manufacturing token. Refer to the list of *_LOCATION defines to - * see what memory is allocated and what memory is unused/available. - * - * The _LOCATION is or'ed with either USERDATA_TOKENS or LOCKBITSDATA_TOKENS - * to control which segment of memory the token is placed in. - * - * REMEMBER: By definition, manufacturing tokens exist at fixed addresses. - * Tokens should not overlap. - * - * Here is a basic example of a manufacturing token header file: - * - * Note that the address used here is just an example. It places the 8 bytes - * in the middle of the USERDATA space on an EFR32MG12P433F1024GM68. - * To review addresses of existing tokens when choosing a new address, refer - * to an961-custom-nodes-efr32.pdf and the files - * platform/service/token_manager/inc/sl_token_manufacturing_series_1.h - * platform/service/token_manager/inc/sl_token_manufacturing_series_2.h - * - * @code - * #define CREATOR_MFG_EXAMPLE 0x4242 - * #ifdef DEFINETYPES - * typedef uint8_t tokTypeMfgExample[8]; - * #endif - * #ifdef DEFINETOKENS - * #define MFG_EXAMPLE_LOCATION (USERDATA_TOKENS | 0x2000) - * DEFINE_MFG_TOKEN(MFG_EXAMPLE, - * tokTypeMfgExample, - * MFG_EXAMPLE_LOCATION, - * {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}) - * #endif - * @endcode - * - * Since this file contains both the typedefs and the token defs, there are - * two \#defines used to select which one is needed when this file is included. - * \#define DEFINETYPES is used to select the type definitions and - * \#define DEFINETOKENS is used to select the token definitions. - * - * To use this example: - * Ensure the Token Manager's configuration in Studio - * has enabled Custom Manufacuturing Tokens. - * - * Ensure your application has: - * #include "sl_token_api.h" - * #include "sl_token_manager.h" - * - * This code will read the token data: - * uint8_t data[8]; - * sl_token_get_data(TOKEN_MFG_EXAMPLE, 0, &data, sizeof(data)); - ******************************************************************************/ - -/* - #define CREATOR_MFG_EXAMPLE 0x4242 - #ifdef DEFINETYPES - typedef uint8_t tokTypeMfgExample[8]; - #endif - #ifdef DEFINETOKENS - #define MFG_EXAMPLE_LOCATION (USERDATA_TOKENS | 0x2000) - DEFINE_MFG_TOKEN(MFG_EXAMPLE, - tokTypeMfgExample, - MFG_EXAMPLE_LOCATION, - {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}) - #endif - */ \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_custom_token_header.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_custom_token_header.h deleted file mode 100644 index 2d68afff..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_custom_token_header.h +++ /dev/null @@ -1,86 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Custom token header - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -/***************************************************************************//** - * Custom Tokens Usage Examples - * - * #define BASICTOKEN1_DEFAULT 0xA5F0 - * #define BASICTOKEN2_DEFAULT { { 0xAA, 0xBB, 0xCC }, 0xDDDD } - * #define BASICTOKEN3_DEFAULT { { 0 } } - * #define COUNTERTOKEN1_DEFAULT 0 - * #define COUNTERTOKEN2_DEFAULT 0xCCCCCCCC - * #define INDEXEDTOKEN1_DEFAULT 0 - * #define INDEXEDTOKEN2_DEFAULT { 0xDDDD } - * #define INDEXEDTOKEN3_DEFAULT { 0xAA, 0xBBBB, { 0x00, 0x11, 0x22 }, 0xCC } - * - * #ifdef DEFINETYPES - * typedef uint16_t tokTypeBasicToken1; - * typedef struct { - * uint8_t basicToken2Array[3]; - * uint16_t basicToken2VarA; - * } tokTypeBasicToken2; - * - * typedef struct { - * uint8_t basicToken3Array[254]; - * } tokTypeBasicToken3; - * - * typedef uint32_t tokTypeCounterToken1; - * typedef uint32_t tokTypeCounterToken2; - * - * typedef uint8_t tokTypeIndexedToken1Element; - * typedef uint16_t tokTypeIndexedToken2Element; - * - * typedef struct { - * uint8_t indexedToken3VarA; - * uint16_t indexedToken3VarB; - * uint8_t indexedToken3Array[3]; - * int8_t indexedToken3VarC; - * } tokTypeIndexedToken3Element; - * - * #endif - * - * #ifdef DEFINETOKENS - * DEFINE_BASIC_TOKEN(BASICTOKEN1, - * tokTypeBasicToken1, - * BASICTOKEN1_DEFAULT) - * DEFINE_BASIC_TOKEN(BASICTOKEN2, - * tokTypeBasicToken2, - * BASICTOKEN2_DEFAULT) - * DEFINE_BASIC_TOKEN(BASICTOKEN3, - * tokTypeBasicToken3, - * BASICTOKEN3_DEFAULT) - * DEFINE_COUNTER_TOKEN(COUNTERTOKEN1, - * tokTypeCounterToken1, - * COUNTERTOKEN1_DEFAULT) - * DEFINE_COUNTER_TOKEN(COUNTERTOKEN2, - * tokTypeCounterToken2, - * COUNTERTOKEN2_DEFAULT) - * DEFINE_INDEXED_TOKEN(INDEXEDTOKEN1, - * tokTypeIndexedToken1Element, - * INDEXEDTOKEN1_ELEMENTS, - * INDEXEDTOKEN1_DEFAULT) - * DEFINE_INDEXED_TOKEN(INDEXEDTOKEN2, - * tokTypeIndexedToken2Element, - * INDEXEDTOKEN2_ELEMENTS, - * INDEXEDTOKEN2_DEFAULT) - * DEFINE_INDEXED_TOKEN(INDEXEDTOKEN3, - * tokTypeIndexedToken3Element, - * INDEXEDTOKEN3_ELEMENTS, - * INDEXEDTOKEN3_DEFAULT) - * #endif - * - ******************************************************************************/ \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_debug_swo_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_debug_swo_config.h deleted file mode 100644 index fee7e65d..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_debug_swo_config.h +++ /dev/null @@ -1,106 +0,0 @@ -/***************************************************************************//** - * @file - * @brief SWO configuration - ******************************************************************************* - * # License - * Copyright 2020 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_DEBUG_SWO_CONFIG_H -#define SL_DEBUG_SWO_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// SWO Configuration - -// SWO Frequency -// Must be 875 kHz for communication with Silicon Labs debuggers -// Default: 875000 -#define SL_DEBUG_SWO_FREQ 875000 - -// Enable interrupt event trace -// Default: 0 -#define SL_DEBUG_SWO_SAMPLE_IRQ 0 - -// Enable Program Counter samples -// Default: 0 -#define SL_DEBUG_SWO_SAMPLE_PC 0 - -// SWO debug sample intervals -// <64=> 64 -// <128=> 128 -// <192=> 192 -// <256=> 256 -// <320=> 320 -// <384=> 384 -// <448=> 448 -// <512=> 512 -// <576=> 576 -// <640=> 640 -// <704=> 704 -// <768=> 768 -// <832=> 832 -// <896=> 896 -// <960=> 960 -// <1024=> 1024 -// <2048=> 2048 -// <3072=> 3072 -// <4096=> 4096 -// <5102=> 5102 -// <6144=> 6144 -// <7168=> 7168 -// <8192=> 8192 -// <9216=> 9216 -// <10240=> 10240 -// <11264=> 11264 -// <12288=> 12288 -// <13312=> 13312 -// <14336=> 14336 -// <15360=> 15360 -// Must be 64, 128, 192, [ n * 64 ], 1024, 2048, 3072, [ n * 1024 ] , 15360 -// Default: 15360 -#define SL_DEBUG_SWO_SAMPLE_INTERVAL 15360 -// - -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_DEBUG -// $[GPIO_SL_DEBUG] -#ifndef SL_DEBUG_PERIPHERAL -#define SL_DEBUG_PERIPHERAL GPIO -#endif - -// GPIO SWV on PA03 -#ifndef SL_DEBUG_SWV_PORT -#define SL_DEBUG_SWV_PORT gpioPortA -#endif -#ifndef SL_DEBUG_SWV_PIN -#define SL_DEBUG_SWV_PIN 3 -#endif -// [GPIO_SL_DEBUG]$ -// <<< sl:end pin_tool >>> - -#endif // SL_DEBUG_SWO_CONFIG_H diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_interrupt_manager_s2_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_interrupt_manager_s2_config.h deleted file mode 100644 index 30fdec93..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_interrupt_manager_s2_config.h +++ /dev/null @@ -1,47 +0,0 @@ -/***************************************************************************//** - * @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 >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_iostream_usart_vcom_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_iostream_usart_vcom_config.h deleted file mode 100644 index 30c2c803..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_iostream_usart_vcom_config.h +++ /dev/null @@ -1,105 +0,0 @@ -/***************************************************************************//** - * @file - * @brief IOSTREAM_USART Config. - ******************************************************************************* - * # License - * Copyright 2020 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_IOSTREAM_USART_VCOM_CONFIG_H -#define SL_IOSTREAM_USART_VCOM_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// USART settings - -// Baud rate -// Default: 115200 -#define SL_IOSTREAM_USART_VCOM_BAUDRATE 115200 - -// Parity mode to use -// No Parity -// Even parity -// Odd parity -// Default: usartNoParity -#define SL_IOSTREAM_USART_VCOM_PARITY usartNoParity - -// Number of stop bits to use. -// 0.5 stop bits -// 1 stop bits -// 1.5 stop bits -// 2 stop bits -// Default: usartStopbits1 -#define SL_IOSTREAM_USART_VCOM_STOP_BITS usartStopbits1 - -// Flow control -// None -// CTS -// RTS -// CTS/RTS -// Software Flow control (XON/XOFF) -// Default: usartHwFlowControlNone -#define SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE uartFlowControlSoftware - -// Receive buffer size -// Default: 32 -#define SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE 32 - -// Convert \n to \r\n -// It can be changed at runtime using the C API. -// Default: 0 -#define SL_IOSTREAM_USART_VCOM_CONVERT_BY_DEFAULT_LF_TO_CRLF 0 - -// Restrict the energy mode to allow the reception. -// Default: 1 -// Limits the lowest energy mode the system can sleep to in order to keep the reception on. May cause higher power consumption. -#define SL_IOSTREAM_USART_VCOM_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION 1 - -// - -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_IOSTREAM_USART_VCOM -// $[USART_SL_IOSTREAM_USART_VCOM] -#define SL_IOSTREAM_USART_VCOM_PERIPHERAL USART0 -#define SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO 0 - -#define SL_IOSTREAM_USART_VCOM_TX_PORT gpioPortB -#define SL_IOSTREAM_USART_VCOM_TX_PIN 1 - -#define SL_IOSTREAM_USART_VCOM_RX_PORT gpioPortB -#define SL_IOSTREAM_USART_VCOM_RX_PIN 0 - -#define SL_IOSTREAM_USART_VCOM_CTS_PORT 0 -#define SL_IOSTREAM_USART_VCOM_CTS_PIN 0 - -#define SL_IOSTREAM_USART_VCOM_RTS_PORT 0 -#define SL_IOSTREAM_USART_VCOM_RTS_PIN 0 - -// [USART_SL_IOSTREAM_USART_VCOM]$ -// <<< sl:end pin_tool >>> - -#endif diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_iostream_vuart_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_iostream_vuart_config.h deleted file mode 100644 index b0c53246..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_iostream_vuart_config.h +++ /dev/null @@ -1,42 +0,0 @@ -/***************************************************************************//** - * @file - * @brief SL_IOSTREAM_VUART Config. - ******************************************************************************* - * # License - * Copyright 2019 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_IOSTREAM_VUART_CONFIG_H -#define SL_IOSTREAM_VUART_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// VUART settings -// Receive buffer size -// Default: 32 -#define SL_IOSTREAM_VUART_RX_BUFFER_SIZE 32 - -// -// <<< end of configuration section >>> -#endif \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_legacy_hal_wdog_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_legacy_hal_wdog_config.h deleted file mode 100644 index 786ef227..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_legacy_hal_wdog_config.h +++ /dev/null @@ -1,88 +0,0 @@ -/***************************************************************************//** - * @file sl_legacy_hal_wdog_config.h - * @brief Legacy HAL watchdog configuration file. - ******************************************************************************* - * # License - * Copyright 2022 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_LEGACY_HAL_WDOG_CONFIG_H -#define SL_LEGACY_HAL_WDOG_CONFIG_H - -// Legacy HAL WDOG Configurations - -// Disable calling halInternalEnableWatchDog in base-replacement.c's halInit(). -// Default: 0 -#define SL_LEGACY_HAL_DISABLE_WATCHDOG 0 -// - -// WDOG to use for SL_LEGACY_HAL_WDOGn. -// Default: 0 -// <0=> WDOG0 -// <1=> WDOD1 -#define SL_LEGACY_HAL_WDOGn 0 - -// Period for SL_LEGACY_HAL_WDOG timeout. -// Default: wdogPeriod_64k -// The default period of wdogPeriod_64k will trigger watchdog reset after 2 seconds (64k / 32k) and warning interrupt is triggered after 1.5 seconds (75% of timeout). -// wdogPeriod_9 / 9 clock periods -// wdogPeriod_17 / 17 clock periods -// wdogPeriod_33 / 33 clock periods -// wdogPeriod_65 / 65 clock periods -// wdogPeriod_129 / 129 clock periods -// wdogPeriod_257 / 257 clock periods -// wdogPeriod_513 / 513 clock periods -// wdogPeriod_1k / 1025 clock periods -// wdogPeriod_2k / 2049 clock periods -// wdogPeriod_4k / 4097 clock periods -// wdogPeriod_8k / 8193 clock periods -// wdogPeriod_16k / 16385 clock periods -// wdogPeriod_32k / 32769 clock periods -// wdogPeriod_64k / 65537 clock periods -// wdogPeriod_128k / 131073 clock periods -// wdogPeriod_256k / 262145 clock periods -#define SL_LEGACY_HAL_WDOG_PERIOD wdogPeriod_64k - -// Warning for SL_LEGACY_HAL_WDOG timeout. -// Default: wdogWarnTime75pct -// The default warning of wdogWarnTime75pct will trigger warning interrupt after 1.5 seconds (75% of timeout) if the period is wdogPeriod_64k. -// wdogWarnDisable / Watchdog warning period is disabled -// wdogWarnTime25pct / Watchdog warning period is 25% of the timeout -// wdogWarnTime50pct / Watchdog warning period is 50% of the timeout -// wdogWarnTime75pct / Watchdog warning period is 75% of the timeout -#define SL_LEGACY_HAL_WDOG_WARNING wdogWarnTime75pct - -// Counter keeps running during debug halt. -// Default: 0 -#define SL_LEGACY_HAL_WDOG_DEBUG_RUN 0 -// - -// - -#endif /* SL_LEGACY_HAL_WDOG_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_mbedtls_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_mbedtls_config.h deleted file mode 100644 index 5ebefc9a..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_mbedtls_config.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef SL_MBEDTLS_CONFIG_H -#define SL_MBEDTLS_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// TLS/DTLS configuration - -// Complete list of ciphersuites to use, in order of preference. -// Default: MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 -// Complete list of ciphersuites to use, in order of preference. -// The value of this configuration should be updated for the application needs. -#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 - -// Maximum TLS/DTLS fragment length in bytes (input). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when receiving data. -#define SL_MBEDTLS_SSL_IN_CONTENT_LEN 768 - -// Maximum TLS/DTLS fragment length in bytes (output). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when sending data. -#define SL_MBEDTLS_SSL_OUT_CONTENT_LEN 768 - -// Enable support for RFC 6066 max_fragment_length extension in SSL. -// Default: 1 -// Enable support for RFC 6066 max_fragment_length extension in SSL. -#define SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1 - -// Enable support for exporting key block and master secret. -// Default: 1 -// Enable support for exporting key block and master secret. -// This is required for certain users of TLS, e.g. EAP-TLS. -#define SL_MBEDTLS_SSL_EXPORT_KEYS 1 - -// Enable the PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 0 - -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 0 - -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 0 - -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 0 - -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 0 - -// Enable parsing of the compressed curves. -// Default: 0 -// Enable parsing of the compressed curves. -#define SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING 0 - -// - -// RSA configuration - -// Disable use of the Chinese Remainder Theorem for RSA. -// Default: 0 -// Disable use of the Chinese Remainder Theorem for RSA private key -// computations. -#define SL_MBEDTLS_RSA_NO_CRT 0 - -// - -// Miscellaneous configuration - -// Enable Silicon Labs' Mbed TLS- and PSA Crypto drivers. -// Default: 1 -// Enable drivers for hardware acceleration (Mbed TLS and PSA Crypto) and -// secure key handling (PSA Crypto). -#define SL_MBEDTLS_DRIVERS_ENABLED 1 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_mbedtls_config_autogen.h" -#endif - -#include "sli_mbedtls_omnipresent.h" - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_mbedtls_acceleration.h" -#endif - -#include "sl_mbedtls_device_config.h" - -// Include transformation logic to apply CMSIS-config configuration options to -// the correct Mbed TLS / PSA Crypto options. -#include "sli_mbedtls_config_transform_autogen.h" - -// Included for backward compatibility reasons. -#include "mbedtls/build_info.h" - -#endif // SL_MBEDTLS_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_mbedtls_device_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_mbedtls_device_config.h deleted file mode 100644 index e286a0d9..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_mbedtls_device_config.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef SL_MBEDTLS_DEVICE_CONFIG_H -#define SL_MBEDTLS_DEVICE_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Secure Engine (SE) version configuration - -// Support SE firmware versions older than 1.2.2 <0-1> -// Enable software fallback for ECDH and ECC public key validation on xG21 -// devices running SE firmware versions lower than 1.2.2. -// -// Due to other stability concerns, it is strongly recommended to upgrade -// these devices to the latest firmware revision instead of turning on -// software fallback support. -// -// Not having fallback support will make ECDH operations, as well as PSA -// Crypto public key import, return an error code on affected devices. -// -// Default: 0 -#define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 0 - -// Assume an SE firmware version newer than 1.2.2 <0-1> -// For enhanced performance: if it is guaranteed that all devices on which -// this library will run are updated to at least SE FW 1.2.2, then turning -// on this option will remove certain fallback checks, thereby reducing the -// amount of processing required for ECDH and public key verification -// operations. -// Default: 0 -#define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 0 - -// Assume an SE firmware version that is unaffected by Ed25519 errata <0-1> -// For minimal code size and performance savings: if it is guaranteed that -// none of the devices running this library has SE FWs in the range -// [1.2.2, 1.2.8], then enabling this option will disable runtime version -// checks. -// Default: 0 -#define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 0 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Additional SE version related logic (DO NOT MODIFY) - -// SL_SE_ASSUME_FW_AT_LEAST_1_2_10 is no longer in use, however, it is kept here -// for backwards compatibility. */ -#if defined(SL_SE_ASSUME_FW_AT_LEAST_1_2_10) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 - #undef SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA - #define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 1 -#endif - -// SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2) - #undef SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 - #define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 1 -#endif - -// SLI_SE_ASSUME_FW_AT_LEAST_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_ASSUME_FW_AT_LEAST_1_2_2) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 -#endif - -#endif // SL_MBEDTLS_DEVICE_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_memory_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_memory_config.h deleted file mode 100644 index 3afe6966..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_memory_config.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef SL_MEMORY_CONFIG_H -#define SL_MEMORY_CONFIG_H - -#include "sl_memory_manager_region_config.h" -#include "sl_common.h" - -#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 - -#endif diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_memory_manager_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_memory_manager_config.h deleted file mode 100644 index 67a6c468..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_memory_manager_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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 */ \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_memory_manager_region_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_memory_manager_region_config.h deleted file mode 100644 index 988548c2..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_memory_manager_region_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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 */ \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_power_manager_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_power_manager_config.h deleted file mode 100644 index d90c0b55..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_power_manager_config.h +++ /dev/null @@ -1,78 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Power Manager configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_POWER_MANAGER_CONFIG_H -#define SL_POWER_MANAGER_CONFIG_H - -// Power Manager Configuration - -// Enable custom IRQ handler for external HF oscillator. -// Enable if CMU_IRQHandler/HFXO0_IRQHandler is needed from your application. -// The function sl_power_manager_irq_handler() will have to be called from you custom handler if this is enabled. -// Default: 0 -#define SL_POWER_MANAGER_CUSTOM_HF_OSCILLATOR_IRQ_HANDLER 0 - -// Enable fast wakeup (disable voltage scaling in EM2/3 mode) -// Enable or disable voltage scaling in EM2/3 modes (when available). This decreases wakeup time by about 30 us. -// Deprecated. It is replaced by the function sl_power_manager_em23_voltage_scaling_enable_fast_wakeup() -// Default: 0 -#define SL_POWER_MANAGER_CONFIG_VOLTAGE_SCALING_FAST_WAKEUP 0 - -// Enable debugging feature -// Enable or disable debugging features (trace the different modules that have requirements). -// Default: 0 -#define SL_POWER_MANAGER_DEBUG 0 - -// Maximum numbers of requirements that can be logged -// Default: 10 -#define SL_POWER_MANAGER_DEBUG_POOL_SIZE 10 -// - -// Pin retention mode -// -// No retention -// Retention through EM4 -// Retention through EM4 and wakeup -// power_manager_pin_retention_disable -#define SL_POWER_MANAGER_INIT_EMU_EM4_PIN_RETENTION_MODE EMU_EM4CTRL_EM4IORETMODE_DISABLE - -// Enable EM2 debugging feature -// Enable or disable debugging features. -// Default: 1 -#define SL_POWER_MANAGER_INIT_EMU_EM2_DEBUG_ENABLE 1 -// - -// - -#endif /* SL_POWER_MANAGER_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_pa_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_pa_config.h deleted file mode 100644 index a48d2e59..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_pa_config.h +++ /dev/null @@ -1,81 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Power Amplifier configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PA_CONFIG_H -#define SL_RAIL_UTIL_PA_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// PA Configuration -// Initial PA Power (deci-dBm, 100 = 10.0 dBm) -// Default: 100 -#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100 -// PA Ramp Time (microseconds) -// <0-65535:1> -// Default: 10 -#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10 -// Milli-volts on PA supply pin (PA_VDD) -// <0-65535:1> -// Default: 3300 -#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300 -// 2.4 GHz PA Selection -// Highest Possible -// High Power (chip-specific) -// Medium Power (chip-specific) -// Low Power -// Disable -// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -// Sub-1 GHz PA Selection -// Disable -// Default: RAIL_TX_POWER_MODE_NONE -#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE -// - -// PA Curve Configuration -// Header file containing custom PA curves -// Default: "pa_curves_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h" -// Header file containing PA curve types -// Default: "pa_curve_types_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h" -// - -// PA Calibration Configuration -// Apply PA Calibration Factory Offset -// Default: 1 -#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 1 -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_PA_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_power_manager_init_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_power_manager_init_config.h deleted file mode 100644 index 03a1dfd0..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_power_manager_init_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @file - * @brief RAIL power manager configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H -#define SL_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RAIL power manager configuration - -// Enable RAIL power manager initialization -// Default: 1 -#define SL_RAIL_UTIL_RAIL_POWER_MANAGER_INIT 1 - -// -// <<< end of configuration section >>> -#endif // SL_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_pti_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_pti_config.h deleted file mode 100644 index 0852c99c..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_pti_config.h +++ /dev/null @@ -1,62 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Packet Trace Information configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PTI_CONFIG_H -#define SL_RAIL_UTIL_PTI_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// PTI Configuration - -// PTI mode -// UART -// UART onewire -// SPI -// Disabled -// Default: RAIL_PTI_MODE_UART -#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_DISABLED - -// PTI Baud Rate (Hertz) -// <147800-20000000:1> -// Default: 1600000 -#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 1600000 - -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_RAIL_UTIL_PTI -// $[PTI_SL_RAIL_UTIL_PTI] -// [PTI_SL_RAIL_UTIL_PTI]$ - -// <<< sl:end pin_tool >>> - -#endif // SL_RAIL_UTIL_PTI_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_rf_path_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_rf_path_config.h deleted file mode 100644 index 464e91c3..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_rf_path_config.h +++ /dev/null @@ -1,48 +0,0 @@ -/***************************************************************************//** - * @file - * @brief - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RF_PATH_CONFIG_H -#define SL_RAIL_UTIL_RF_PATH_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// Chip-internal RF Path Configuration -// RF Path Mode -// Path 0 -// Path 1 -// Default: RAIL_ANTENNA_1 -#define SL_RAIL_UTIL_RF_PATH_INT_RF_PATH_MODE RAIL_ANTENNA_1 -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_RF_PATH_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_rssi_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_rssi_config.h deleted file mode 100644 index 1365e6e5..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_rail_util_rssi_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @file - * @brief RSSI configuration header file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RSSI_CONFIG_H -#define SL_RAIL_UTIL_RSSI_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RSSI Offset Configuration - -// Software RSSI offset value -// Default: -11 -#define SL_RAIL_UTIL_RSSI_OFFSET -11 - -// -// <<< end of configuration section >>> -#endif // SL_RAIL_UTIL_RSSI_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_sleeptimer_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_sleeptimer_config.h deleted file mode 100644 index bba646d6..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_sleeptimer_config.h +++ /dev/null @@ -1,82 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Sleep Timer configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_SLEEPTIMER_CONFIG_H -#define SL_SLEEPTIMER_CONFIG_H - -#define SL_SLEEPTIMER_PERIPHERAL_DEFAULT 0 -#define SL_SLEEPTIMER_PERIPHERAL_RTCC 1 -#define SL_SLEEPTIMER_PERIPHERAL_PRORTC 2 -#define SL_SLEEPTIMER_PERIPHERAL_RTC 3 -#define SL_SLEEPTIMER_PERIPHERAL_SYSRTC 4 -#define SL_SLEEPTIMER_PERIPHERAL_BURTC 5 -#define SL_SLEEPTIMER_PERIPHERAL_WTIMER 6 -#define SL_SLEEPTIMER_PERIPHERAL_TIMER 7 - -// Timer Peripheral Used by Sleeptimer -// Default (auto select) -// RTCC -// Radio internal RTC (PRORTC) -// RTC -// SYSRTC -// Back-Up RTC (BURTC) -// WTIMER -// TIMER -// Selection of the Timer Peripheral Used by the Sleeptimer -#define SL_SLEEPTIMER_PERIPHERAL SL_SLEEPTIMER_PERIPHERAL_DEFAULT - -// TIMER/WTIMER Instance Used by Sleeptimer (not applicable for other peripherals) -// Make sure TIMER instance size is 32bits. Check datasheet for 32bits TIMERs. -// Default: 0 -#define SL_SLEEPTIMER_TIMER_INSTANCE 0 - -// Enable wallclock functionality -// Enable or disable wallclock functionalities (get_time, get_date, etc). -// Default: 0 -#define SL_SLEEPTIMER_WALLCLOCK_CONFIG 0 - -// Timer frequency divider (not applicable for WTIMER/TIMER) -// WTIMER/TIMER peripherals are always prescaled to 1024. -// Default: 1 -#define SL_SLEEPTIMER_FREQ_DIVIDER 1 - -// If Radio internal RTC (PRORTC) HAL is used, determines if it owns the IRQ handler. Enable, if no wireless stack is used. -// Default: 0 -#define SL_SLEEPTIMER_PRORTC_HAL_OWNS_IRQ_HANDLER 0 - -// Enable DEBUGRUN functionality on hardware RTC. -// Default: 0 -#define SL_SLEEPTIMER_DEBUGRUN 0 - -#endif /* SLEEPTIMER_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_token_manager_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_token_manager_config.h deleted file mode 100644 index 02544106..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_token_manager_config.h +++ /dev/null @@ -1,54 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Token Manager Configurations - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -#ifndef SL_TOKEN_MANAGER_CONFIG_H -#define SL_TOKEN_MANAGER_CONFIG_H - -// TOKEN MANAGER Configurations - -// Enable Custom Tokens -// Default: 0 -#define SL_TOKEN_MANAGER_CUSTOM_TOKENS_PRESENT 0 - -// File containing custom tokens -// Default: "sl_custom_token_header.h" -// Header file containing custom tokens located at project_root/config -#define SL_TOKEN_MANAGER_CUSTOM_TOKEN_HEADER "sl_custom_token_header.h" - -// - -// Enable Custom Manufacturing Tokens -// Default: 0 -#define SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKENS_PRESENT 0 - -// File containing custom manufacturing tokens -// Default: "sl_custom_manufacturing_token_header.h" -// Header file containing custom tokens located at project_root/config -#define SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKEN_HEADER "sl_custom_manufacturing_token_header.h" - -// -// - -#if (SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKENS_PRESENT) -#define APPLICATION_MFG_TOKEN_HEADER SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKEN_HEADER -#endif // SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKENS_PRESENT - -#endif // SL_TOKEN_MANAGER_CONFIG_H - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_debug_print_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_debug_print_config.h deleted file mode 100644 index 55a8e72e..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_debug_print_config.h +++ /dev/null @@ -1,74 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee Debug Print component configuration header. - * - ******************************************************************************* - * # License - * Copyright 2019 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// ZigBee Debug Print configuration - -// Stack group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "stack" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_STACK_GROUP_ENABLED (1) - -// Stack group runtime default -// Default: 1 -// If this option is enabled, prints belonging to the "stack" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_STACK_GROUP_RUNTIME_DEFAULT (1) - -// Core group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "core" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_CORE_GROUP_ENABLED (1) - -// Core group runtime default -// Default: 1 -// If this option is enabled, prints belonging to the "core" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_CORE_GROUP_RUNTIME_DEFAULT (1) - -// App group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "app" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_APP_GROUP_ENABLED (1) - -// App group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "app" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_APP_GROUP_RUNTIME_DEFAULT (1) - -// ZCL group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "zcl" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_ZCL_GROUP_ENABLED (1) - -// ZCL group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "zcl" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_ZCL_GROUP_RUNTIME_DEFAULT (1) - -// Legacy App Framework Debug group enabled -// Default: 0 -// If both this option and ZIGBEE_DEBUG_ZCL_GROUP_ENABLED are enabled, prints belonging to the "legacy app framework debug" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_PRINTS_ZCL_LEGACY_AF_DEBUG_ENABLED (0) - -// Legacy App Framework Debug runtime default -// Default: 0 -// If both this option and ZIGBEE_DEBUG_ZCL_GROUP_ENABLED are enabled, prints belonging to the "legacy app framework debug" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_PRINTS_ZCL_LEGACY_AF_DEBUG_RUNTIME_DEFAULT (0) - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_green_power_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_green_power_config.h deleted file mode 100644 index eb224295..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_green_power_config.h +++ /dev/null @@ -1,53 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Green Power component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Green Power Library configuration - -// Green Power Proxy Table Size <1-126> -// Default: 5 -// The maximum number of Green Power proxy table entries supported by the stack. -#define SL_ZIGBEE_GP_PROXY_TABLE_SIZE 5 - -// Green Power Sink Table Size <0-126> -// Default: 0 -// The maximum number of Green Power sink table entries supported by the stack. -#define SL_ZIGBEE_GP_SINK_TABLE_SIZE 5 - -// Green Power incoming FC (as part of proxy table) Token timeout <0-60> -// Default: 0 -// The timeout (seconds) to restore the GPD incoming security frame counter in the Flash (0 being never). -#define SL_ZIGBEE_GP_INCOMING_FC_TOKEN_TIMEOUT 7 - -// Green Power incoming FC (as part of proxy table) table token table size <0-126> -// Default: 0 -// The maximum table size to restore the GPD incoming security frame counter in the Flash (being either 0 or SL_ZIGBEE_GP_PROXY_TABLE_SIZE). -#define SL_ZIGBEE_GP_INCOMING_FC_TOKEN_TABLE_SIZE 0 - -// Green Power incoming FC (as part of sink table) token table token timeout <0-60> -// Default: 0 -// The timeout (seconds) to restore the GPD incoming security frame counter in the Flash (0 being never). -#define SL_ZIGBEE_GP_INCOMING_FC_IN_SINK_TOKEN_TIMEOUT 7 - -// Green Power incoming FC (as part of sink table)Token table size <0-126> -// Default: 0 -// The maximum table size to restore the GPD incoming security frame counter in the Flash (being either 0 or SL_ZIGBEE_GP_SINK_TABLE_SIZE). -#define SL_ZIGBEE_GP_INCOMING_FC_IN_SINK_TOKEN_TABLE_SIZE 0 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_light_link_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_light_link_config.h deleted file mode 100644 index f38262b5..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_light_link_config.h +++ /dev/null @@ -1,38 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee Light Link component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee ZigBee Light Link Library configuration - -// Group addresses <0-255> -// Default: 0 -// The number of unique group identifiers that this device requires. -#define SL_ZIGBEE_ZLL_GROUP_ADDRESSES 0 - -// RSSI threshold <-128..127:1> -// Default: -40 -// The RSSI threshold applied to incoming scan requests. The stack will ignore scan requests with corrected RSSI values less than this threshold. -#define SL_ZIGBEE_ZLL_RSSI_THRESHOLD -40 - -// Apply RSSI threshold to all interpan messages -// Default: FALSE -// True if the RSSI threshold is to be applied to all incoming touchlink interpan messages. This is not required by the Zigbee 3.0 specifications, but may be useful for testing in a busy environment. -#define SL_ZIGBEE_ZLL_APPLY_THRESHOLD_TO_ALL_INTERPANS 0 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_pro_stack_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_pro_stack_config.h deleted file mode 100644 index 6c41ec4c..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_pro_stack_config.h +++ /dev/null @@ -1,133 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee PRO Full Stack component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee PRO Stack Library configuration - -// Child Table Size <0-64> -// Default: 6 -// The maximum number of ZigBee PRO End Devices that can be supported by a single device. -#define SL_ZIGBEE_MAX_END_DEVICE_CHILDREN 32 - -// Packet Buffer Heap Allocation -// Packet Buffer Heap Size <512-16384> -// Default: SL_ZIGBEE_MEDIUM_PACKET_BUFFER_HEAP -// The amount of heap space that is allocated for packet buffers (in bytes). Each packet buffer has an overhead of `4 * sizeof(uint16_t)` bytes. -// Tiny (1024) -// Small (2048) -// Medium (4096) -// Large (8192) -// Huge (16384) -// Custom -// SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP -// Custom Heap Size <1024-16384> -// Specify the exact number of bytes to use (aligned on 4-byte boundaries) -#define SL_ZIGBEE_TINY_PACKET_BUFFER_HEAP 1024 -#define SL_ZIGBEE_SMALL_PACKET_BUFFER_HEAP 2048 -#define SL_ZIGBEE_MEDIUM_PACKET_BUFFER_HEAP 4096 -#define SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP 8192 -#define SL_ZIGBEE_HUGE_PACKET_BUFFER_HEAP 16384 -#define SL_ZIGBEE_CUSTOM_PACKET_BUFFER_HEAP 0 -#define SL_ZIGBEE_PACKET_BUFFER_HEAP_SIZE SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP -// - -// End Device keep alive support mode -// End Device keep alive support mode -// MAC Data Poll Keep Alive -// End Device Timeout Keep Alive -// Keep Alive Support All -// Default: SL_ZIGBEE_KEEP_ALIVE_SUPPORT_ALL -// End Device keep alive support mode on the coordinator/router could be set here. -#define SL_ZIGBEE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE SL_ZIGBEE_KEEP_ALIVE_SUPPORT_ALL - -// End Device Poll Timeout Value -// End Device Poll Timeout Value -// Seconds-10 -// Minutes-2 -// Minutes-4 -// Minutes-8 -// Minutes-16 -// Minutes-32 -// Minutes-64 -// Minutes-128 -// Minutes-256 -// Minutes-512 -// Minutes-1024 -// Minutes-2048 -// Minutes-4096 -// Minutes-8192 -// Minutes-16384 -// Default: MINUTES_256 -// The amount of time that must pass without hearing a MAC data poll from the device before the end device is removed from the child table. For a router device this applies to its children. For an end device, this is the amount of time before it automatically times itself out. -#define SL_ZIGBEE_END_DEVICE_POLL_TIMEOUT MINUTES_256 - -// Link Power Delta Request Interval <1-65535> -// Default: 300 -// The amount of time in seconds that pass between link power delta requests. -#define SL_ZIGBEE_LINK_POWER_DELTA_INTERVAL 300 - -// APS Unicast Message Queue Size <1-255> -// Default: 10 -// The maximum number of APS unicast messages that can be queued up by the stack. A message is considered queued when sli_zigbee_stack_send_unicast() is called and is de-queued when the sli_zigbee_stack_message_sent_handler() is called. -#define SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT 32 - -// APS unicast Message Duplicate Rejection table Size <1-255> -// Default: 5 -// The maximum number of APS unicast messages that can be stored in the stack, to reject duplicate processing/forwarding of APS messages. -// Size of 1 is basically the same thing as no duplicate rejection -#define SL_ZIGBEE_APS_DUPLICATE_REJECTION_MAX_ENTRIES 5 - -// Broadcast Table Size <15-254> -// Default: 15 -// The size of the broadcast table. -#define SL_ZIGBEE_BROADCAST_TABLE_SIZE 15 - -// Neighbor Table Size -// Neighbor Table Size -// <16=> 16 -// <26=> 26 -// Default: 16 -// The size of the neighbor table. -#define SL_ZIGBEE_NEIGHBOR_TABLE_SIZE 16 - -// Transient key timeout (in seconds) <0-65535> -// Default: 300 -// The amount of time a device will store a transient link key that can be used to join a network. -#define SL_ZIGBEE_TRANSIENT_KEY_TIMEOUT_S 300 - -// Binding Table Size <1-127> -// Default: 3 -// The number of entries that the binding table can hold. -#define SL_ZIGBEE_BINDING_TABLE_SIZE 32 - -// Address table size <1-250> -// Default: 2 -// The number of entries of the address table -#define SL_ZIGBEE_ADDRESS_TABLE_SIZE 16 - -// Route table size <1-254> -// Default: 16 -// The number of entries of the route table -#define SL_ZIGBEE_ROUTE_TABLE_SIZE 16 - -// Multicast table size <1-250> -// Default: 8 -// The number of entries of the multicast table -#define SL_ZIGBEE_MULTICAST_TABLE_SIZE 16 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_security_link_keys_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_security_link_keys_config.h deleted file mode 100644 index 40739619..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_security_link_keys_config.h +++ /dev/null @@ -1,33 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Security Link Keys component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Security Link Keys Library configuration - -// Link Key Table Size <1-127> -// Default: 6 -// The maximum number of link key table entries supported by the stack. -#define SL_ZIGBEE_KEY_TABLE_SIZE 1 - -// Request Key Timeout <0-10> -// Default: 0 -// The length of time that a node will wait for a trust center to answer its Application Link Key request. -#define SL_ZIGBEE_REQUEST_KEY_TIMEOUT 0 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_source_route_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_source_route_config.h deleted file mode 100644 index e5a45f29..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/sl_zigbee_source_route_config.h +++ /dev/null @@ -1,33 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Source Route component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Source Route Library configuration - -// Source route table Size (SoC or NCP) <2-255> -// Default: 7 -// The size of the source route table for storing source routes on the SOC or NCP. -#define SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE 200 - -// Max source route relay counts <11-40> -// Default: 11 -// Max source route hops accepted or/and inserted in the source route table/header. -#define SL_ZIGBEE_MAX_SOURCE_ROUTE_RELAY_COUNT 11 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/zigbee_device_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/zigbee_device_config.h deleted file mode 100644 index aa4dac33..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/zigbee_device_config.h +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee device configuration header. - * - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// ZigBee device configuration - -#ifndef SILABS_ZIGBEE_DEVICE_CONFIG_H -#define SILABS_ZIGBEE_DEVICE_CONFIG_H - -// Mirrors the legacy sl_zigbee_node_type_t enum -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_COORDINATOR_OR_ROUTER 0x01 -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_ROUTER 0x02 -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_END_DEVICE 0x03 -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_SLEEPY_END_DEVICE 0x04 - -// Mirrors the legacy sl_zigbee_af_security_profile_t enum -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_NO_SECURITY 0x00 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_HA 0x01 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_HA_1_2 0x02 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_SE_TEST 0x03 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_SE_FULL 0x04 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 0x05 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_CUSTOM 0xFF - -#define SLI_ZIGBEE_DEFAULT_NETWORK_PRIMARY 0x00 -#define SLI_ZIGBEE_DEFAULT_NETWORK_SECONDARY 0x01 - -#define SLI_ZIGBEE_TX_POWER_MODE_DEFAULT SL_ZIGBEE_TX_POWER_MODE_DEFAULT -#define SLI_ZIGBEE_TX_POWER_MODE_BOOST SL_ZIGBEE_TX_POWER_MODE_BOOST -#define SLI_ZIGBEE_TX_POWER_MODE_ALTERNATE SL_ZIGBEE_TX_POWER_MODE_ALTERNATE -#define SLI_ZIGBEE_TX_POWER_MODE_BOOST_AND_ALTERNATE SL_ZIGBEE_TX_POWER_MODE_BOOST_AND_ALTERNATE -#define SLI_ZIGBEE_TX_POWER_MODE_USE_TOKEN SL_ZIGBEE_TX_POWER_MODE_USE_TOKEN - -// Primary Network Device Type -// The ZigBee Primary Network Device Type -// Coordinator or Router -// Router -// End Device -// Sleepy End Device -// Default: SLI_ZIGBEE_NETWORK_DEVICE_TYPE_ROUTER -#define SLI_ZIGBEE_PRIMARY_NETWORK_DEVICE_TYPE SLI_ZIGBEE_NETWORK_DEVICE_TYPE_COORDINATOR_OR_ROUTER - -// Primary Network Security Type -// The ZigBee Primary Network Security Type -// No Security -// Home Automation Security -// Home Automation Security 1.2 -// Smart Energy Security Full (compliant) -// Smart Energy Security Test (dev only) -// ZigBee 3.0 Security -// Custom Security -// Default: SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 -#define SLI_ZIGBEE_PRIMARY_NETWORK_SECURITY_TYPE SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 - -// Enable Secondary Network -// Default: 0 -// Enable/Disable the ZigBee Secondary Network -#define SLI_ZIGBEE_SECONDARY_NETWORK_ENABLED (0) - -// Secondary Network Device Type -// The ZigBee Secondary Network Device Type -// Coordinator or Router -// Router -// End Device -// Sleepy End Device -// Default: SLI_ZIGBEE_NETWORK_DEVICE_TYPE_ROUTER -#define SLI_ZIGBEE_SECONDARY_NETWORK_DEVICE_TYPE SLI_ZIGBEE_NETWORK_DEVICE_TYPE_SLEEPY_END_DEVICE - -// Secondary Network Security Type -// The ZigBee Secondary Network Security Type -// No Security -// Home Automation Security -// Smart Energy Security Full (compliant) -// Smart Energy Security Test (dev only) -// ZigBee 3.0 Security -// Custom Security -// Default: SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 -#define SLI_ZIGBEE_SECONDARY_NETWORK_SECURITY_TYPE SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 - -// Default Network -// The ZigBee Default Network -// Primary Network -// Secondary Network -// Default: SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 -#define SLI_ZIGBEE_DEFAULT_NETWORK SLI_ZIGBEE_DEFAULT_NETWORK_PRIMARY - -// TX power mode -// The ZigBee node transmission power mode -// Default -// Boost -// Alternate -// Boost & Alternate -// Use token -// Default: SLI_ZIGBEE_TX_POWER_MODE_USE_TOKEN -#define SLI_ZIGBEE_TX_POWER_MODE SLI_ZIGBEE_TX_POWER_MODE_USE_TOKEN - -// - -#endif // SILABS_ZIGBEE_DEVICE_CONFIG_H - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/zigbee_sleep_config.h b/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/zigbee_sleep_config.h deleted file mode 100644 index 49fe8146..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/config/zigbee_sleep_config.h +++ /dev/null @@ -1,42 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Application Framework common component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Sleep configuration - -// Minimum Sleep Duration <5-1000> -// Default: 5 -// The minimum duration in milliseconds that the application will attempt to sleep for. If the sleep duration would be less than this amount, the application will not sleep. -#define SL_ZIGBEE_APP_FRAMEWORK_MINIMUM_SLEEP_DURATION_MS 5 - -// Sleep Backoff time <0-10000> -// Default: 0 -// This setting will keep a device from going back to sleep immediately upon waking up -#define SL_ZIGBEE_APP_FRAMEWORK_BACKOFF_SLEEP_MS 0 - -// Stay awake when NOT joined -// Default: TRUE -// This will force a device to stay awake even when not joined to the network. This is often used for debugging and is not recommended for production devices since it cause the device to consume battery power even when not joined to a ZigBee network. -#define SL_ZIGBEE_APP_FRAMEWORK_STAY_AWAKE_WHEN_NOT_JOINED 1 - -// Use button to force wakeup or allow sleep -// Default: FALSE -// This will setup the hardware buttons to wake-up or allow the device to go to sleep. Button 0 will force the device to wake up and stay awake. Button 1 will turn off this behavior to allow the device to sleep normally. Please note that in order for this option to be fully functional, button 0 and button 1 have to be configured to wake the device from sleep. -#define SL_ZIGBEE_APP_FRAMEWORK_USE_BUTTON_TO_STAY_AWAKE 0 -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/ncp-uart-hw_EFR32MG21A020F768IM32.slcp b/src/ncp-uart-hw_EFR32MG21A020F768IM32/ncp-uart-hw_EFR32MG21A020F768IM32.slcp deleted file mode 100644 index 583b7c0c..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/ncp-uart-hw_EFR32MG21A020F768IM32.slcp +++ /dev/null @@ -1,75 +0,0 @@ -# Silicon Labs Project Configuration Tools: slcp, v0, Component selection file. -project_name: ncp-uart-hw_EFR32MG21A020F768IM32 -label: ncp-uart-hw_EFR32MG21A020F768IM32 -author: Silicon Laboratories, Inc. -description: This network coprocessor (NCP) application supports communication with - a host application over a UART interface with hardware flow control. This NCP application - can be built as configured, or optionally can be augmented with customized extensions - for initialization, main loop processing, event definition/handling, and messaging - with the host. To create a ECC-enabled application for the Smart Energy Profile, - please download and extract the 'EmberZnet-Smart-Energy.zip' side-package over your - installed SDK and add, depending on use-case, one of two new components ('CBKE 163k1'; - 'CBKE 283k1') to your application. -category: Zigbee Application -filter: -- name: Device Type - value: [NCP] -- name: Project Difficulty - value: [Advanced] -- name: Wireless Technology - value: [Zigbee] -package: Zigbee -quality: production -readme: -- {path: readme.html} -- {path: readme.html} -source: -- {path: main.c} -- {path: app.c} -tag: [prebuilt_demo] -sdk: {id: simplicity_sdk, version: 2024.6.2} -toolchain_settings: [] -component: -- {id: EFR32MG21A020F768IM32} -- {id: clock_manager} -- instance: [vcom] - id: iostream_usart -- {id: iostream_vuart} -- {id: rail_util_rssi} -- {id: token_manager} -- {id: zigbee_debug_basic} -- {id: zigbee_debug_extended} -- {id: zigbee_debug_print} -- {id: zigbee_device_config} -- {id: zigbee_gp} -- {id: zigbee_mfglib} -- {id: zigbee_ncp_uart_hardware} -- {id: zigbee_pro_stack} -- {id: zigbee_r22_support} -- {id: zigbee_security_link_keys} -- {id: zigbee_source_route} -- {id: zigbee_system_common} -- {id: zigbee_token_interface} -- {id: zigbee_zll} -define: -- {name: SL_ZIGBEE_CUSTOM_MAC_FILTER_TABLE_SIZE, value: '15'} -configuration: -- {name: SL_BOARD_ENABLE_VCOM, value: '1'} -- {name: SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE, value: usartHwFlowControlCtsAndRts} -- {name: SL_CLI_MAX_INPUT_ARGUMENTS, value: '16'} -- {name: SL_ZIGBEE_BINDING_TABLE_SIZE, value: '32'} -- {name: SL_ZIGBEE_MAX_END_DEVICE_CHILDREN, value: '32'} -- {name: SL_ZIGBEE_PACKET_BUFFER_HEAP_SIZE, value: SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP} -- {name: EMBER_AF_PLUGIN_ZIGBEE_PRO_STACK_CHILD_TABLE_SIZE, value: '32'} -- {name: SL_ZIGBEE_KEY_TABLE_SIZE, value: '12'} -- {name: SL_CLI_EXAMPLE_IOSTREAM_HANDLE, value: sl_iostream_vuart_handle} -- condition: [device_series_2] - name: NVM3_DEFAULT_NVM_SIZE - value: '32768' -- {name: SL_PSA_ITS_SUPPORT_V1_DRIVER, value: '0'} -- {name: SL_PSA_ITS_SUPPORT_V2_DRIVER, value: '0'} -- {name: SL_PSA_ITS_SUPPORT_V3_DRIVER, value: '1'} -ui_hints: - highlight: - - {path: readme.html} - diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/ncp-uart-hw_EFR32MG21A020F768IM32.slps b/src/ncp-uart-hw_EFR32MG21A020F768IM32/ncp-uart-hw_EFR32MG21A020F768IM32.slps deleted file mode 100644 index b4751c16..00000000 --- a/src/ncp-uart-hw_EFR32MG21A020F768IM32/ncp-uart-hw_EFR32MG21A020F768IM32.slps +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/SEGGER_RTT_Conf.h b/src/ncp-uart-hw_MGM210PA32JIA/config/SEGGER_RTT_Conf.h deleted file mode 100644 index 2c0d7dd3..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/SEGGER_RTT_Conf.h +++ /dev/null @@ -1,428 +0,0 @@ -/********************************************************************* -* SEGGER Microcontroller GmbH * -* The Embedded Experts * -********************************************************************** -* * -* (c) 1995 - 2023 SEGGER Microcontroller GmbH * -* * -* www.segger.com Support: support@segger.com * -* * -********************************************************************** -* * -* SEGGER SystemView * Real-time application analysis * -* * -********************************************************************** -* * -* All rights reserved. * -* * -* SEGGER strongly recommends to not make any changes * -* to or modify the source code of this software in order to stay * -* compatible with the SystemView and RTT protocol, and J-Link. * -* * -* Redistribution and use in source and binary forms, with or * -* without modification, are permitted provided that the following * -* condition is met: * -* * -* o Redistributions of source code must retain the above copyright * -* notice, this condition and the following disclaimer. * -* * -* 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 SEGGER Microcontroller 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. * -* * -********************************************************************** -* * -* SystemView version: 3.52 * -* * -********************************************************************** ----------------------------END-OF-HEADER------------------------------ -File : SEGGER_RTT_Conf.h -Purpose : Implementation of SEGGER real-time transfer (RTT) which - allows real-time communication on targets which support - debugger memory accesses while the CPU is running. -Revision: $Rev: 24316 $ - -*/ - -#ifndef SEGGER_RTT_CONF_H -#define SEGGER_RTT_CONF_H - -#ifdef __IAR_SYSTEMS_ICC__ - #include -#endif - -/********************************************************************* -* -* Defines, configurable -* -********************************************************************** -*/ - -// -// Take in and set to correct values for Cortex-A systems with CPU cache -// -//#define SEGGER_RTT_CPU_CACHE_LINE_SIZE (32) // Largest cache line size (in bytes) in the current system -//#define SEGGER_RTT_UNCACHED_OFF (0xFB000000) // Address alias where RTT CB and buffers can be accessed uncached -// -// Most common case: -// Up-channel 0: RTT -// Up-channel 1: SystemView -// -#ifndef SEGGER_RTT_MAX_NUM_UP_BUFFERS - #define SEGGER_RTT_MAX_NUM_UP_BUFFERS (9) // Max. number of up-buffers (T->H) available on this target (Default: 9) -#endif -// -// Most common case: -// Down-channel 0: RTT -// Down-channel 1: SystemView -// -#ifndef SEGGER_RTT_MAX_NUM_DOWN_BUFFERS - #define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (9) // Max. number of down-buffers (H->T) available on this target (Default: 9) -#endif - -#ifndef BUFFER_SIZE_UP - #define BUFFER_SIZE_UP (1024) // Size of the buffer for terminal output of target, up to host (Default: 1k) -#endif - -#ifndef BUFFER_SIZE_DOWN - #define BUFFER_SIZE_DOWN (1024) // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16) -#endif - -#ifndef SEGGER_RTT_PRINTF_BUFFER_SIZE - #define SEGGER_RTT_PRINTF_BUFFER_SIZE (64u) // Size of buffer for RTT printf to bulk-send chars via RTT (Default: 64) -#endif - -#ifndef SEGGER_RTT_MODE_DEFAULT - #define SEGGER_RTT_MODE_DEFAULT SEGGER_RTT_MODE_NO_BLOCK_SKIP // Mode for pre-initialized terminal channel (buffer 0) -#endif - -/********************************************************************* -* -* RTT memcpy configuration -* -* memcpy() is good for large amounts of data, -* but the overhead is big for small amounts, which are usually stored via RTT. -* With SEGGER_RTT_MEMCPY_USE_BYTELOOP a simple byte loop can be used instead. -* -* SEGGER_RTT_MEMCPY() can be used to replace standard memcpy() in RTT functions. -* This is may be required with memory access restrictions, -* such as on Cortex-A devices with MMU. -*/ -#ifndef SEGGER_RTT_MEMCPY_USE_BYTELOOP - #define SEGGER_RTT_MEMCPY_USE_BYTELOOP 0 // 0: Use memcpy/SEGGER_RTT_MEMCPY, 1: Use a simple byte-loop -#endif -// -// Example definition of SEGGER_RTT_MEMCPY to external memcpy with GCC toolchains and Cortex-A targets -// -//#if ((defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)) && (defined (__ARM_ARCH_7A__)) -// #define SEGGER_RTT_MEMCPY(pDest, pSrc, NumBytes) SEGGER_memcpy((pDest), (pSrc), (NumBytes)) -//#endif - -// -// Target is not allowed to perform other RTT operations while string still has not been stored completely. -// Otherwise we would probably end up with a mixed string in the buffer. -// If using RTT from within interrupts, multiple tasks or multi processors, define the SEGGER_RTT_LOCK() and SEGGER_RTT_UNLOCK() function here. -// -// SEGGER_RTT_MAX_INTERRUPT_PRIORITY can be used in the sample lock routines on Cortex-M3/4. -// Make sure to mask all interrupts which can send RTT data, i.e. generate SystemView events, or cause task switches. -// When high-priority interrupts must not be masked while sending RTT data, SEGGER_RTT_MAX_INTERRUPT_PRIORITY needs to be adjusted accordingly. -// (Higher priority = lower priority number) -// Default value for embOS: 128u -// Default configuration in FreeRTOS: configMAX_SYSCALL_INTERRUPT_PRIORITY: ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) -// In case of doubt mask all interrupts: 1 << (8 - BASEPRI_PRIO_BITS) i.e. 1 << 5 when 3 bits are implemented in NVIC -// or define SEGGER_RTT_LOCK() to completely disable interrupts. -// -#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) // Interrupt priority to lock on SEGGER_RTT_LOCK on Cortex-M3/4 (Default: 0x20) -#endif - -/********************************************************************* -* -* RTT lock configuration for SEGGER Embedded Studio, -* Rowley CrossStudio and GCC -*/ -#if ((defined(__SES_ARM) || defined(__SES_RISCV) || defined(__CROSSWORKS_ARM) || defined(__GNUC__) || defined(__clang__)) && !defined (__CC_ARM) && !defined(WIN32)) - #if (defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_8M_BASE__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs %0, primask \n\t" \ - "movs r1, #1 \n\t" \ - "msr primask, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("msr primask, %0 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : \ - ); \ - } - #elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_8M_MAIN__)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs %0, basepri \n\t" \ - "mov r1, %1 \n\t" \ - "msr basepri, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : "i"(SEGGER_RTT_MAX_INTERRUPT_PRIORITY) \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("msr basepri, %0 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : \ - ); \ - } - - #elif (defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs r1, CPSR \n\t" \ - "mov %0, r1 \n\t" \ - "orr r1, r1, #0xC0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \ - "mrs r1, CPSR \n\t" \ - "bic r1, r1, #0xC0 \n\t" \ - "and r0, r0, #0xC0 \n\t" \ - "orr r1, r1, r0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : "r0", "r1", "cc" \ - ); \ - } - #elif defined(__riscv) || defined(__riscv_xlen) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("csrr %0, mstatus \n\t" \ - "csrci mstatus, 8 \n\t" \ - "andi %0, %0, 8 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("csrr a1, mstatus \n\t" \ - "or %0, %0, a1 \n\t" \ - "csrs mstatus, %0 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : "a1" \ - ); \ - } - #else - #define SEGGER_RTT_LOCK() - #define SEGGER_RTT_UNLOCK() - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for IAR EWARM -*/ -#ifdef __ICCARM__ - #if (defined (__ARM6M__) && (__CORE__ == __ARM6M__)) || \ - (defined (__ARM8M_BASELINE__) && (__CORE__ == __ARM8M_BASELINE__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_PRIMASK(); \ - __set_PRIMASK(1); - - #define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \ - } - #elif (defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)) || \ - (defined (__ARM7M__) && (__CORE__ == __ARM7M__)) || \ - (defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) || \ - (defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_BASEPRI(); \ - __set_BASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY); - - #define SEGGER_RTT_UNLOCK() __set_BASEPRI(_SEGGER_RTT__LockState); \ - } - #elif (defined (__ARM7A__) && (__CORE__ == __ARM7A__)) || \ - (defined (__ARM7R__) && (__CORE__ == __ARM7R__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs r1, CPSR \n\t" \ - "mov %0, r1 \n\t" \ - "orr r1, r1, #0xC0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \ - "mrs r1, CPSR \n\t" \ - "bic r1, r1, #0xC0 \n\t" \ - "and r0, r0, #0xC0 \n\t" \ - "orr r1, r1, r0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : "r0", "r1", "cc" \ - ); \ - } - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for IAR RX -*/ -#ifdef __ICCRX__ - #define SEGGER_RTT_LOCK() { \ - unsigned long _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_interrupt_state(); \ - __disable_interrupt(); - - #define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration for IAR RL78 -*/ -#ifdef __ICCRL78__ - #define SEGGER_RTT_LOCK() { \ - __istate_t _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_interrupt_state(); \ - __disable_interrupt(); - - #define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration for KEIL ARM -*/ -#ifdef __CC_ARM - #if (defined __TARGET_ARCH_6S_M) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - register unsigned char _SEGGER_RTT__PRIMASK __asm( "primask"); \ - _SEGGER_RTT__LockState = _SEGGER_RTT__PRIMASK; \ - _SEGGER_RTT__PRIMASK = 1u; \ - __schedule_barrier(); - - #define SEGGER_RTT_UNLOCK() _SEGGER_RTT__PRIMASK = _SEGGER_RTT__LockState; \ - __schedule_barrier(); \ - } - #elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - register unsigned char BASEPRI __asm( "basepri"); \ - _SEGGER_RTT__LockState = BASEPRI; \ - BASEPRI = SEGGER_RTT_MAX_INTERRUPT_PRIORITY; \ - __schedule_barrier(); - - #define SEGGER_RTT_UNLOCK() BASEPRI = _SEGGER_RTT__LockState; \ - __schedule_barrier(); \ - } - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for TI ARM -*/ -#ifdef __TI_ARM__ - #if defined (__TI_ARM_V6M0__) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_PRIMASK(); \ - __set_PRIMASK(1); - - #define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \ - } - #elif (defined (__TI_ARM_V7M3__) || defined (__TI_ARM_V7M4__)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = _set_interrupt_priority(SEGGER_RTT_MAX_INTERRUPT_PRIORITY); - - #define SEGGER_RTT_UNLOCK() _set_interrupt_priority(_SEGGER_RTT__LockState); \ - } - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for CCRX -*/ -#ifdef __RX - #include - #define SEGGER_RTT_LOCK() { \ - unsigned long _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = get_psw() & 0x010000; \ - clrpsw_i(); - - #define SEGGER_RTT_UNLOCK() set_psw(get_psw() | _SEGGER_RTT__LockState); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration for embOS Simulation on Windows -* (Can also be used for generic RTT locking with embOS) -*/ -#if defined(WIN32) || defined(SEGGER_RTT_LOCK_EMBOS) - -void OS_SIM_EnterCriticalSection(void); -void OS_SIM_LeaveCriticalSection(void); - -#define SEGGER_RTT_LOCK() { \ - OS_SIM_EnterCriticalSection(); - -#define SEGGER_RTT_UNLOCK() OS_SIM_LeaveCriticalSection(); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration fallback -*/ -#ifndef SEGGER_RTT_LOCK - #define SEGGER_RTT_LOCK() // Lock RTT (nestable) (i.e. disable interrupts) -#endif - -#ifndef SEGGER_RTT_UNLOCK - #define SEGGER_RTT_UNLOCK() // Unlock RTT (nestable) (i.e. enable previous interrupt lock state) -#endif - -#endif -/*************************** End of file ****************************/ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/app_properties_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/app_properties_config.h deleted file mode 100644 index 6951a569..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/app_properties_config.h +++ /dev/null @@ -1,65 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Application Properties Header File - ******************************************************************************* - * # License - * Copyright 2021 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 APP_PROPERTIES_CONFIG_H -#define APP_PROPERTIES_CONFIG_H - -#include "sl_application_type.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// App Properties settings - -// Type of signature this application is signed with -// Default: APPLICATION_SIGNATURE_NONE(0) -#define SL_APPLICATION_SIGNATURE 0 - -// Location of the signature -// Default: 0xFFFFFFFF -#define SL_APPLICATION_SIGNATURE_LOCATION 0xFFFFFFFF - -// Bitfield representing type of application -#define SL_APPLICATION_TYPE APPLICATION_TYPE - -// Version number for this application -// <0-4294967295:1> -// Default: 1 [0-4294967295] -#define SL_APPLICATION_VERSION 1 - -// Capabilities of this application -// Default: 0 -#define SL_APPLICATION_CAPABILITIES 0 - -//Product ID of the device for which the application is built -#define SL_APPLICATION_PRODUCT_ID { 0 } - -// - -#endif // APP_PROPERTIES_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/btl_interface_cfg.h b/src/ncp-uart-hw_MGM210PA32JIA/config/btl_interface_cfg.h deleted file mode 100644 index d8a0a919..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/btl_interface_cfg.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_H -#define BTL_INTERFACE_CFG_H - -#if !defined(BOOTLOADER_APPLOADER) - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_1) -#include "btl_interface_cfg_s2c1.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_2) -#include "btl_interface_cfg_s2c2.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_3) -#include "btl_interface_cfg_s2c3.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_4) -#include "btl_interface_cfg_s2c4.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_5) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_6) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_8) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#endif // !BOOTLOADER_APPLOADER - -#endif // BTL_INTERFACE_CFG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h b/src/ncp-uart-hw_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h deleted file mode 100644 index 35e65f10..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h +++ /dev/null @@ -1,281 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_S2C1_H -#define BTL_INTERFACE_CFG_S2C1_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Bootloader Interface Trust Zone Security State Configuration - -// Disable multi tiered fallback logic -// The fault handling logic as well as the USART auto-detection logic will be disabled. -// The re-configuration of SMU will be handled by querying the running bootloader -// for the peripheral list. Querying the peripheral list is supported from the bootloader -// version 2.0.0. Check for the BOOTLOADER_CAPABILITY_PERIPHERAL_LIST capability to -// see if the running bootloader supports querying the peripheral list. -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 0 - -// Disable peripheral access fault handling -// The fault handling triggered by an erroneous access of peripherals will be disabled. -// -// This should be disabled iff all the peripherals that are in use by the bootloader -// have been properly configured by the "Manually override security state of peripherals" option. -#define BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING 0 - -// Manually override the security state of peripherals in use by the bootloader -// Default: 0. -// Manually override the security state of peripherals. Choose the peripherals touched -// by the customized code to have a valid secure access state before interacting with the bootloader -// In practice, this means that the chosen peripherals will be available at the secure address, -// which is accessible by the bootloader. Once the application is entered back the secure access state -// is changed back to the original state. -// -// The USART auto-detection logic that detects which, if any, USART is in use by the bootloader -// will be disabled. Make sure to choose the correct USART used by the bootloader. -#define BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE 0 -// EMU -// Update secure access state of EMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_EMU 0 - -// CMU -// Update secure access state of CMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_CMU 0 - -// HFXO0 -// Update secure access state of HFXO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFXO0 0 - -// HFRCO0 -// Update secure access state of HFRCO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFRCO0 0 - -// FSRCO -// Update secure access state of FSRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_FSRCO 0 - -// DPLL0 -// Update secure access state of DPLL0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_DPLL0 0 - -// LFXO -// Update secure access state of LFXO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFXO 0 - -// LFRCO -// Update secure access state of LFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFRCO 0 - -// ULFRCO -// Update secure access state of ULFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_ULFRCO 0 - -// MSC -// Update secure access state of MSC before calling into bootloader -#define BOOTLOADER_PPUSATD0_MSC 0 - -// ICACHE0 -// Update secure access state of ICACHE0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_ICACHE0 0 - -// PRS -// Update secure access state of PRS before calling into bootloader -#define BOOTLOADER_PPUSATD0_PRS 0 - -// GPIO -// Update secure access state of GPIO before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPIO 0 - -// LDMA -// Update secure access state of LDMA before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMA 0 - -// LDMAXBAR -// Update secure access state of LDMAXBAR before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMAXBAR 0 - -// TIMER0 -// Update secure access state of TIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER0 0 - -// TIMER1 -// Update secure access state of TIMER1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER1 0 - -// TIMER2 -// Update secure access state of TIMER2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER2 0 - -// TIMER3 -// Update secure access state of TIMER3 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER3 0 - -// USART0 -// Update secure access state of USART0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART0 0 - -// USART1 -// Update secure access state of USART1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART1 0 - -// USART2 -// Update secure access state of USART2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART2 0 - -// BURTC -// Update secure access state of BURTC before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURTC 0 - -// I2C1 -// Update secure access state of I2C1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_I2C1 0 - -// CHIPTESTCTRL -// Update secure access state of CHIPTESTCTRL before calling into bootloader -#define BOOTLOADER_PPUSATD0_CHIPTESTCTRL 0 - -// LVGD -// Update secure access state of LVGD before calling into bootloader -#define BOOTLOADER_PPUSATD0_LVGD 0 - -// SYSCFG -// Update secure access state of SYSCFG before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSCFG 0 - -// BURAM -// Update secure access state of BURAM before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURAM 0 - -// IFADCDEBUG -// Update secure access state of IFADCDEBUG before calling into bootloader -#define BOOTLOADER_PPUSATD0_IFADCDEBUG 0 - -// GPCRC -// Update secure access state of GPCRC before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPCRC 0 - -// RTCC -// Update secure access state of RTCC before calling into bootloader -#define BOOTLOADER_PPUSATD0_RTCC 0 - -// LETIMER0 -// Update secure access state of LETIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_LETIMER0 0 - -// IADC0 -// Update secure access state of IADC0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_IADC0 0 - -// ACMP0 -// Update secure access state of ACMP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP0 0 - -// ACMP1 -// Update secure access state of ACMP1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP1 0 - -// I2C0 -// Update secure access state of I2C0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_I2C0 0 - -// HFRCOEM23 -// Update secure access state of HFRCOEM23 before calling into bootloader -#define BOOTLOADER_PPUSATD1_HFRCOEM23 0 - -// WDOG0 -// Update secure access state of WDOG0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG0 0 - -// WDOG1 -// Update secure access state of WDOG1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG1 0 - -// AMUXCP0 -// Update secure access state of AMUXCP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_AMUXCP0 0 - -// RADIOAES -// Update secure access state of RADIOAES before calling into bootloader -#define BOOTLOADER_PPUSATD1_RADIOAES 0 - -// BUFC -// Update secure access state of BUFC before calling into bootloader -#define BOOTLOADER_PPUSATD1_BUFC 0 - -// SMU -// Update secure access state of SMU before calling into bootloader -#define BOOTLOADER_PPUSATD1_SMU 0 - -// AHBRADIO -// Update secure access state of AHBRADIO before calling into bootloader -#define BOOTLOADER_PPUSATD1_AHBRADIO 0 - -// SEMAILBOX -// Update secure access state of SEMAILBOX before calling into bootloader -#define BOOTLOADER_PPUSATD1_SEMAILBOX 0 -// - -// -// <<< 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)) -#endif // BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE - -#endif // BTL_INTERFACE_CFG_S2C1_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/dmadrv_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/dmadrv_config.h deleted file mode 100644 index be24f49d..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/dmadrv_config.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef DMADRV_CONFIG_H -#define DMADRV_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMA interrupt priority <0-15> -// Priority of the DMA interrupt. Smaller number equals higher priority. -// Default: 8 -#define EMDRV_DMADRV_DMA_IRQ_PRIORITY 8 - -// Number of available channels <1-8> -// Number of DMA channels supported by the driver. A lower channel count -// will reduce RAM memory footprint. The default is to support all channels -// on the device. -// Default: 8 -#define EMDRV_DMADRV_DMA_CH_COUNT 8 - -// Number of fixed priority channels -// This will configure channels [0, CH_PRIORITY - 1] as fixed priority, -// and channels [CH_PRIORITY, CH_COUNT] as round-robin. -// Default: 0 -#define EMDRV_DMADRV_DMA_CH_PRIORITY 0 - -// <<< end of configuration section >>> - -#endif // DMADRV_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/emlib_core_debug_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/emlib_core_debug_config.h deleted file mode 100644 index e4a01682..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/emlib_core_debug_config.h +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************//** - * @file - * @brief emlib_core Configuration - ******************************************************************************* - * # License - * Copyright 2019 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 EM_CORE_DEBUG_CONFIG_H -#define EM_CORE_DEBUG_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Core Configuration - -// Enables measuring of interrupt disable time for debugging purposes. -// Default: 0 -#define SL_EMLIB_CORE_ENABLE_INTERRUPT_DISABLED_TIMING 0 - -// - -// <<< end of configuration section >>> -#endif // EM_CORE_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/legacy_common_ash_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/legacy_common_ash_config.h deleted file mode 100644 index fe9ffaf4..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/legacy_common_ash_config.h +++ /dev/null @@ -1,43 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Legacy Host ASH configuration file. - ******************************************************************************* - * # License - * Copyright 2021 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 LEGACY_NCP_ASH_CONFIG_H -#define LEGACY_NCP_ASH_CONFIG_H - -// The USART used for ASH communications in COM_Port_t format, as defined in platform/service/legacy_hal/inc/serial.h (see defined names for USART ports) <-1..3:1> -// Default: (-1) -// The default value of -1 causes the ASH code to try to use the USART assigned to the "VCOM" instance of SL_IOSTREAM_USART. Otherwise the value is passed to Legacy HAL, which attempts to find an instance of SL_IOSTREAM_USART which uses that USART. -#define LEGACY_NCP_ASH_SERIAL_PORT (-1) - -#endif /* LEGACY_NCP_ASH_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/legacy_hal_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/legacy_hal_config.h deleted file mode 100644 index a6d18138..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/legacy_hal_config.h +++ /dev/null @@ -1,47 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Legacy HAL configuration file. - ******************************************************************************* - * # License - * Copyright 2021 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 LEGACY_HAL_CONFIG_H -#define LEGACY_HAL_CONFIG_H - -// Translate button interrupt callback -// When the Simple Button component is included, it provides a callback for -// buttons configured in interrupt mode. When this option is 1, Legacy HAL -// will try to consume that callback and translate it to "halButtonIsr", -// the legacy callback. If anything else in the application consumes the -// Simple button callback, it will override Legacy HAL's version. -// Default: 1 -#define LEGACY_HAL_TRANSLATE_BUTTON_INTERRUPT (1) - -#endif /* LEGACY_HAL_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/nvm3_default_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/nvm3_default_config.h deleted file mode 100644 index df85ba9e..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/nvm3_default_config.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef NVM3_DEFAULT_CONFIG_H -#define NVM3_DEFAULT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// NVM3 Default Instance Configuration - -#ifndef NVM3_DEFAULT_CACHE_SIZE -// NVM3 Default Instance Cache Size -// Number of NVM3 objects to cache. To reduce access times this number -// should be equal to or higher than the number of NVM3 objects in the -// default NVM3 instance. -// Default: 200 -#define NVM3_DEFAULT_CACHE_SIZE 200 -#endif - -#ifndef NVM3_DEFAULT_MAX_OBJECT_SIZE -// NVM3 Default Instance Max Object Size -// Max NVM3 object size that can be stored. -// Default: 254 -#define NVM3_DEFAULT_MAX_OBJECT_SIZE 254 -#endif - -#ifndef NVM3_DEFAULT_REPACK_HEADROOM -// NVM3 Default Instance User Repack Headroom -// Headroom determining how many bytes below the forced repack limit the user -// repack limit should be placed. The default is 0, which means the user and -// forced repack limits are equal. -// Default: 0 -#define NVM3_DEFAULT_REPACK_HEADROOM 0 -#endif - -#ifndef NVM3_DEFAULT_NVM_SIZE -// NVM3 Default Instance Size -// Size of the NVM3 storage region in flash. This size should be aligned with -// the flash page size of the device. -// Default: 40960 -#define NVM3_DEFAULT_NVM_SIZE 32768 -#endif - -// - -// <<< end of configuration section >>> - -#endif // NVM3_DEFAULT_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/pin_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/pin_config.h deleted file mode 100644 index e21b0022..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/pin_config.h +++ /dev/null @@ -1,157 +0,0 @@ -#ifndef PIN_CONFIG_H -#define PIN_CONFIG_H - -// $[CMU] -// [CMU]$ - -// $[LFXO] -// [LFXO]$ - -// $[PRS.ASYNCH0] -// [PRS.ASYNCH0]$ - -// $[PRS.ASYNCH1] -// [PRS.ASYNCH1]$ - -// $[PRS.ASYNCH2] -// [PRS.ASYNCH2]$ - -// $[PRS.ASYNCH3] -// [PRS.ASYNCH3]$ - -// $[PRS.ASYNCH4] -// [PRS.ASYNCH4]$ - -// $[PRS.ASYNCH5] -// [PRS.ASYNCH5]$ - -// $[PRS.ASYNCH6] -// [PRS.ASYNCH6]$ - -// $[PRS.ASYNCH7] -// [PRS.ASYNCH7]$ - -// $[PRS.ASYNCH8] -// [PRS.ASYNCH8]$ - -// $[PRS.ASYNCH9] -// [PRS.ASYNCH9]$ - -// $[PRS.ASYNCH10] -// [PRS.ASYNCH10]$ - -// $[PRS.ASYNCH11] -// [PRS.ASYNCH11]$ - -// $[PRS.SYNCH0] -// [PRS.SYNCH0]$ - -// $[PRS.SYNCH1] -// [PRS.SYNCH1]$ - -// $[PRS.SYNCH2] -// [PRS.SYNCH2]$ - -// $[PRS.SYNCH3] -// [PRS.SYNCH3]$ - -// $[GPIO] -// GPIO SWV on PA03 -#ifndef GPIO_SWV_PORT -#define GPIO_SWV_PORT gpioPortA -#endif -#ifndef GPIO_SWV_PIN -#define GPIO_SWV_PIN 3 -#endif - -// [GPIO]$ - -// $[TIMER0] -// [TIMER0]$ - -// $[TIMER1] -// [TIMER1]$ - -// $[TIMER2] -// [TIMER2]$ - -// $[TIMER3] -// [TIMER3]$ - -// $[USART0] -// USART0 CTS on PD02 -#ifndef USART0_CTS_PORT -#define USART0_CTS_PORT gpioPortD -#endif -#ifndef USART0_CTS_PIN -#define USART0_CTS_PIN 2 -#endif - -// USART0 RTS on PC01 -#ifndef USART0_RTS_PORT -#define USART0_RTS_PORT gpioPortC -#endif -#ifndef USART0_RTS_PIN -#define USART0_RTS_PIN 1 -#endif - -// USART0 RX on PA06 -#ifndef USART0_RX_PORT -#define USART0_RX_PORT gpioPortA -#endif -#ifndef USART0_RX_PIN -#define USART0_RX_PIN 6 -#endif - -// USART0 TX on PA05 -#ifndef USART0_TX_PORT -#define USART0_TX_PORT gpioPortA -#endif -#ifndef USART0_TX_PIN -#define USART0_TX_PIN 5 -#endif - -// [USART0]$ - -// $[USART1] -// [USART1]$ - -// $[USART2] -// [USART2]$ - -// $[I2C1] -// [I2C1]$ - -// $[LETIMER0] -// [LETIMER0]$ - -// $[IADC0] -// [IADC0]$ - -// $[ACMP0] -// [ACMP0]$ - -// $[ACMP1] -// [ACMP1]$ - -// $[I2C0] -// [I2C0]$ - -// $[PTI] -// [PTI]$ - -// $[MODEM] -// [MODEM]$ - -// $[CUSTOM_PIN_NAME] -#ifndef _PORT -#define _PORT gpioPortA -#endif -#ifndef _PIN -#define _PIN 0 -#endif - -// [CUSTOM_PIN_NAME]$ - -#endif // PIN_CONFIG_H - diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/psa_crypto_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/psa_crypto_config.h deleted file mode 100644 index a17b0efc..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/psa_crypto_config.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef PSA_CRYPTO_CONFIG_H -#define PSA_CRYPTO_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Key management configuration - -// PSA User Maximum Open Keys Count <0-128> -// Maximum amount of keys that the user application will have open -// simultaneously. In context of PSA Crypto, an open key means any key -// either stored in RAM (lifetime set to PSA_KEY_LIFETIME_VOLATILE), or -// used as part of a cryptographic operation. -// When using a key for a multi-part (setup/update/finish) operation, a key -// is considered to be open from the moment the operation is successfully -// setup, until it finishes or aborts. -// When an application tries to open more keys than this value accounts for, -// the PSA API may return PSA_ERROR_INSUFFICIENT_MEMORY. Keep in mind that -// other software included in the application (e.g. wireless protocol stacks) -// also can have a need to have open keys in PSA Crypto. This could lead to -// a race condition when the application key slot count is set too low for -// the actual usage of the application, as a software stack may not fail -// gracefully in case an application opens more than its declared amount of -// keys, thereby precluding the stack from functioning. -// Default: 4 -#define SL_PSA_KEY_USER_SLOT_COUNT (4) - -// PSA Maximum User Persistent Keys Count <0-1024> -// Maximum amount of keys (or other files) that can be stored persistently -// by the application through the PSA interface, when persistent storage -// support for PSA Crypto is included in the project. -// Due to caching logic, this setting does have an impact on static RAM usage. -// Note that this number is added to the potential requirements from other -// software components in the project, such that the total amount of keys -// which can be stored through the ITS backend can be higher than what is -// configured here. -// -// WARNING: When changing this setting on an application that is already -// deployed, and thus will get the change through an application upgrade, -// care should be taken to ensure that the setting is only ever increased, -// and never decreased. Decreasing this setting might cause previously -// stored keys/files to become inaccessible. -// -// It is not possible to change this setting when using V3 ITS Driver. -// The file-storage indexing is dependent on the maximum number of files, -// and if SL_PSA_ITS_USER_MAX_FILES is changed, ITS should be cleared and -// all files need to be stored again. -// Default: 128 -#define SL_PSA_ITS_USER_MAX_FILES (128) - -// Enable V1 Format Support For ITS Files <0-1> -// Devices that used PSA ITS together with gecko_sdk_3.1.x or earlier -// might have keys (or other files) stored in V1 format. -// If no v1 files are used, its support can be disabled for space -// optimization. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V1_DRIVER 0 - -// Enable V2 ITS Driver Support <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. Enabling this -// config option adds upgrade code which converts V2 (and V1 if -// supported) format ITS keys/files to the latest V3 format. Update is -// fully automatic, needs to be run once and require extra flash space of -// approximately the size of the largest key. -// V1 ITS driver support can be disabled if the device has never used ITS -// driver before in GSDK 4.1.x and earlier, or the keys has been already -// migrated. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V2_DRIVER 0 - -// Enable support for V3 ITS Driver <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. In rare case -// that those devices have full nvm3 and not enough space for the -// upgrade, (that requires an extra space to store largest key in memory -// twice), this config option can disable v3 driver and use v2 one. -// To upgrade the device, make space for the upgrade, and enable v3 driver again. -// -// WARNING: When using V3 driver, it is not possible to increase or decrease -// the value of SL_PSA_ITS_USER_MAX_FILES. If the change of -// SL_PSA_ITS_USER_MAX_FILES is required, ITS should be cleared and -// all files need to be stored again. -// Default: 1 -#define SL_PSA_ITS_SUPPORT_V3_DRIVER 1 - -// Built-in AES Key Mode of Operation -// CTR Mode -// CFB Mode -// OFB Mode -// ECB Mode -// CBC Mode (no padding) -// CBC Mode (PKCS#7 padding) -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// Default: PSA_ALG_CTR -#define SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG (PSA_ALG_CTR) - -#ifndef SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG -// Built-in PUF Key Algorithm -// PBKDF2 (CMAC-AES-128-PRF) -// CMAC -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// It is recommended to only use the PUF key for deriving further key -// material. -// Default: PSA_ALG_PBKDF2_AES_CMAC_PRF_128 -#define SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG (PSA_ALG_PBKDF2_AES_CMAC_PRF_128) -#endif // SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG - -// - -// Power optimization configuration - -// Store already-generated random bytes before putting the device to sleep -// Using the hardware TRNG (for example through psa_generate_random()) will -// consume a non-negligible amount of power. A start-up routine must pass -// and a relatively large minimum amount of random bytes will be generated. -// Use cases where the device is frequently entering EM2/EM3 and thereafter -// consumes a small amount of data from the TRNG may benefit from buffering -// the existing random bytes before putting the device to sleep. These -// buffered bytes are then consumed until exhaustion before the TRNG needs -// to be initialized and used again. -// -// NOTE: this configuration option is only applicable for devices with a -// Virtual Secure Engine (VSE), and requires the 'Power Manager' component -// to be included in the project. -// -// Default: 0 -#define SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP (0) - -// Number of random words to buffer before putting the device to sleep <1-63> -// This option can be used to decrease the amount of random words that -// (if enabled) are buffered before the device enters EM2/EM3. Lowering this -// number will result in less static RAM usage, but also means that the TRNG -// potentially has to be initialized more times--leading to increased power -// consumption. By default this option in configured to buffer as much TRNG -// data as possible (limited by the depth of the TRNG FIFO). -// -// NOTE: this configuration option is only applicable when -// SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP is enabled. -// -// Default: 63 -#define SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP (63) -// - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_psa_config_autogen.h" -#endif - -#if defined(TFM_CONFIG_SL_SECURE_LIBRARY) - #include "sli_psa_tfm_translation.h" -#endif - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_psa_acceleration.h" -#endif - -#include "sli_psa_builtin_config_autogen.h" - -#endif // PSA_CRYPTO_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h deleted file mode 100644 index 4a983d60..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h +++ /dev/null @@ -1,229 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Oscillators 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_CLOCK_MANAGER_OSCILLATOR_CONFIG_H -#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H - -// Oscillators Settings - -// HFXO Settings (if High Frequency crystal is used) -// Enable to configure HFXO -#ifndef SL_CLOCK_MANAGER_HFXO_EN -#define SL_CLOCK_MANAGER_HFXO_EN 1 -#endif - -// Mode -// -// XTAL -// EXTCLK -// HFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_HFXO_MODE -#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL -#endif - -// Frequency <38000000-40000000> -// 38400000 -#ifndef SL_CLOCK_MANAGER_HFXO_FREQ -#define SL_CLOCK_MANAGER_HFXO_FREQ 38400000 -#endif - -// CTUNE <0-255> -// 140 -#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE -#define SL_CLOCK_MANAGER_HFXO_CTUNE 140 -#endif - -// Precision <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION -#define SL_CLOCK_MANAGER_HFXO_PRECISION 50 -#endif -// - -// LFXO Settings (if Low Frequency crystal is used) -// Enable to configure LFXO -#ifndef SL_CLOCK_MANAGER_LFXO_EN -#define SL_CLOCK_MANAGER_LFXO_EN 1 -#endif - -// Mode -// -// XTAL -// BUFEXTCLK -// DIGEXTCLK -// LFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_LFXO_MODE -#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL -#endif - -// CTUNE <0-127> -// 63 -#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE -#define SL_CLOCK_MANAGER_LFXO_CTUNE 63 -#endif - -// LFXO precision in PPM <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION -#define SL_CLOCK_MANAGER_LFXO_PRECISION 50 -#endif - -// Startup Timeout Delay -// -// CYCLES2 -// CYCLES256 -// CYCLES1K -// CYCLES2K -// CYCLES4K -// CYCLES8K -// CYCLES16K -// CYCLES32K -// LFXO_CFG_TIMEOUT_CYCLES4K -#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT -#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K -#endif -// - -// HFRCO and DPLL Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 7 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 38 MHz -// 48 MHz -// 56 MHz -// 64 MHz -// 80 MHz -// cmuHFRCODPLLFreq_80M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCO_BAND -#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz -#endif - -// Use DPLL -// Enable to use the DPLL with HFRCO -#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN -#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 0 -#endif - -// Target Frequency <1000000-80000000> -// DPLL target frequency -// 80000000 -#ifndef SL_CLOCK_MANAGER_DPLL_FREQ -#define SL_CLOCK_MANAGER_DPLL_FREQ 80000000 -#endif - -// Numerator (N) <300-4095> -// Value of N for output frequency calculation fout = fref * (N+1) / (M+1) -// 3999 -#ifndef SL_CLOCK_MANAGER_DPLL_N -#define SL_CLOCK_MANAGER_DPLL_N 3999 -#endif - -// Denominator (M) <0-4095> -// Value of M for output frequency calculation fout = fref * (N+1) / (M+1) -// 1919 -#ifndef SL_CLOCK_MANAGER_DPLL_M -#define SL_CLOCK_MANAGER_DPLL_M 1919 -#endif - -// Reference Clock -// Reference clock source for DPLL -// DISABLED -// HFXO -// LFXO -// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK -#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#endif - -// Reference Clock Edge Detect -// Edge detection for reference clock -// Falling Edge -// Rising Edge -// cmuDPLLEdgeSel_Fall -#ifndef SL_CLOCK_MANAGER_DPLL_EDGE -#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall -#endif - -// DPLL Lock Mode -// Lock mode -// Frequency-Lock Loop -// Phase-Lock Loop -// cmuDPLLLockMode_Freq -#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE -#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase -#endif - -// Automatic Lock Recovery -// 1 -#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER -#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1 -#endif - -// Enable Dither -// 0 -#ifndef SL_CLOCK_MANAGER_DPLL_DITHER -#define SL_CLOCK_MANAGER_DPLL_DITHER 0 -#endif -// -// - -// HFRCOEM23 Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 40 MHz -// cmuHFRCOEM23Freq_19M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND -#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz -#endif -// - -// - -#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_clock_manager_tree_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_clock_manager_tree_config.h deleted file mode 100644 index 75795905..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_clock_manager_tree_config.h +++ /dev/null @@ -1,217 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Clock Tree 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_CLOCK_MANAGER_TREE_CONFIG_H -#define SL_CLOCK_MANAGER_TREE_CONFIG_H - -// Internal Defines: DO NOT MODIFY -// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE -// selection of each clock branch to the right HW register value. -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA - -// Clock Tree Settings - -// Default Clock Source Selection for HF clock branches -// HFRCODPLL -// HFXO -// FSRCO -// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#endif - -// Default Clock Source Selection for LF clock branches -// LFRCO -// LFXO -// ULFRCO -// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#endif - -// System Clock Branch Settings - -// Clock Source Selection for SYSCLK branch -// DEFAULT_HF -// FSRCO -// HFRCODPLL -// HFXO -// Selection of the Clock source for SYSCLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// HCLK branch divider -// DIV1 -// DIV2 -// DIV4 -// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface. -// CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER -#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#endif - -// PCLK branch divider -// DIV1 -// DIV2 -// PCLK branch is derived from HCLK. This clock drives the APB bus interface. -// CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER -#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#endif - -// - -// Trace Clock Branches Settings -// Clock Source Selection for TRACECLK branch -// HCLK -// HFRCOEM23 -// Selection of the Clock source for TRACECLK -// CMU_TRACECLKCTRL_CLKSEL_HCLK -#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE -#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_HCLK -#endif - -// - -// High Frequency Clock Branches Settings -// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible -// EM01GRPACLK clock the Timer peripherals -// Clock Source Selection for EM01GRPACLK branch -// DEFAULT_HF -// HFRCODPLL -// HFXO -// HFRCOEM23 -// FSRCO -// Selection of the Clock source for EM01GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// Clock Source Selection for IADCCLK branch -// EM01GRPACLK -// HFRCOEM23 -// FSRCO -// Selection of the Clock source for IADCCLK -// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE -#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#endif - -// - -// Low Frequency Clock Branches Settings - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM23GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM4GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM4GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for RTCCCLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_RTCCCLK_SOURCE -#define SL_CLOCK_MANAGER_RTCCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG0CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG0CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG1CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG1CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// - -// Mixed Frequency Clock Branch Settings - -// Clock Source Selection for SYSTICKCLK branch -// <0=> HCLK -// <1=> EM23GRPACLK -// Selection of the Clock source for SYSTICKCLK -// 0 -#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0 -#endif -// -// - -#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_core_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_core_config.h deleted file mode 100644 index 5b4725ee..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_core_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @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 \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_custom_manufacturing_token_header.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_custom_manufacturing_token_header.h deleted file mode 100644 index cba1a05e..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_custom_manufacturing_token_header.h +++ /dev/null @@ -1,84 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Custom manufacturing token header - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -/***************************************************************************//** - * Custom Manufacturing Token Usage Examples - * - * The macro DEFINE_MFG_TOKEN() should be used when instantiating a - * manufacturing token. Refer to the list of *_LOCATION defines to - * see what memory is allocated and what memory is unused/available. - * - * The _LOCATION is or'ed with either USERDATA_TOKENS or LOCKBITSDATA_TOKENS - * to control which segment of memory the token is placed in. - * - * REMEMBER: By definition, manufacturing tokens exist at fixed addresses. - * Tokens should not overlap. - * - * Here is a basic example of a manufacturing token header file: - * - * Note that the address used here is just an example. It places the 8 bytes - * in the middle of the USERDATA space on an EFR32MG12P433F1024GM68. - * To review addresses of existing tokens when choosing a new address, refer - * to an961-custom-nodes-efr32.pdf and the files - * platform/service/token_manager/inc/sl_token_manufacturing_series_1.h - * platform/service/token_manager/inc/sl_token_manufacturing_series_2.h - * - * @code - * #define CREATOR_MFG_EXAMPLE 0x4242 - * #ifdef DEFINETYPES - * typedef uint8_t tokTypeMfgExample[8]; - * #endif - * #ifdef DEFINETOKENS - * #define MFG_EXAMPLE_LOCATION (USERDATA_TOKENS | 0x2000) - * DEFINE_MFG_TOKEN(MFG_EXAMPLE, - * tokTypeMfgExample, - * MFG_EXAMPLE_LOCATION, - * {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}) - * #endif - * @endcode - * - * Since this file contains both the typedefs and the token defs, there are - * two \#defines used to select which one is needed when this file is included. - * \#define DEFINETYPES is used to select the type definitions and - * \#define DEFINETOKENS is used to select the token definitions. - * - * To use this example: - * Ensure the Token Manager's configuration in Studio - * has enabled Custom Manufacuturing Tokens. - * - * Ensure your application has: - * #include "sl_token_api.h" - * #include "sl_token_manager.h" - * - * This code will read the token data: - * uint8_t data[8]; - * sl_token_get_data(TOKEN_MFG_EXAMPLE, 0, &data, sizeof(data)); - ******************************************************************************/ - -/* - #define CREATOR_MFG_EXAMPLE 0x4242 - #ifdef DEFINETYPES - typedef uint8_t tokTypeMfgExample[8]; - #endif - #ifdef DEFINETOKENS - #define MFG_EXAMPLE_LOCATION (USERDATA_TOKENS | 0x2000) - DEFINE_MFG_TOKEN(MFG_EXAMPLE, - tokTypeMfgExample, - MFG_EXAMPLE_LOCATION, - {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}) - #endif - */ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_custom_token_header.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_custom_token_header.h deleted file mode 100644 index 2d68afff..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_custom_token_header.h +++ /dev/null @@ -1,86 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Custom token header - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -/***************************************************************************//** - * Custom Tokens Usage Examples - * - * #define BASICTOKEN1_DEFAULT 0xA5F0 - * #define BASICTOKEN2_DEFAULT { { 0xAA, 0xBB, 0xCC }, 0xDDDD } - * #define BASICTOKEN3_DEFAULT { { 0 } } - * #define COUNTERTOKEN1_DEFAULT 0 - * #define COUNTERTOKEN2_DEFAULT 0xCCCCCCCC - * #define INDEXEDTOKEN1_DEFAULT 0 - * #define INDEXEDTOKEN2_DEFAULT { 0xDDDD } - * #define INDEXEDTOKEN3_DEFAULT { 0xAA, 0xBBBB, { 0x00, 0x11, 0x22 }, 0xCC } - * - * #ifdef DEFINETYPES - * typedef uint16_t tokTypeBasicToken1; - * typedef struct { - * uint8_t basicToken2Array[3]; - * uint16_t basicToken2VarA; - * } tokTypeBasicToken2; - * - * typedef struct { - * uint8_t basicToken3Array[254]; - * } tokTypeBasicToken3; - * - * typedef uint32_t tokTypeCounterToken1; - * typedef uint32_t tokTypeCounterToken2; - * - * typedef uint8_t tokTypeIndexedToken1Element; - * typedef uint16_t tokTypeIndexedToken2Element; - * - * typedef struct { - * uint8_t indexedToken3VarA; - * uint16_t indexedToken3VarB; - * uint8_t indexedToken3Array[3]; - * int8_t indexedToken3VarC; - * } tokTypeIndexedToken3Element; - * - * #endif - * - * #ifdef DEFINETOKENS - * DEFINE_BASIC_TOKEN(BASICTOKEN1, - * tokTypeBasicToken1, - * BASICTOKEN1_DEFAULT) - * DEFINE_BASIC_TOKEN(BASICTOKEN2, - * tokTypeBasicToken2, - * BASICTOKEN2_DEFAULT) - * DEFINE_BASIC_TOKEN(BASICTOKEN3, - * tokTypeBasicToken3, - * BASICTOKEN3_DEFAULT) - * DEFINE_COUNTER_TOKEN(COUNTERTOKEN1, - * tokTypeCounterToken1, - * COUNTERTOKEN1_DEFAULT) - * DEFINE_COUNTER_TOKEN(COUNTERTOKEN2, - * tokTypeCounterToken2, - * COUNTERTOKEN2_DEFAULT) - * DEFINE_INDEXED_TOKEN(INDEXEDTOKEN1, - * tokTypeIndexedToken1Element, - * INDEXEDTOKEN1_ELEMENTS, - * INDEXEDTOKEN1_DEFAULT) - * DEFINE_INDEXED_TOKEN(INDEXEDTOKEN2, - * tokTypeIndexedToken2Element, - * INDEXEDTOKEN2_ELEMENTS, - * INDEXEDTOKEN2_DEFAULT) - * DEFINE_INDEXED_TOKEN(INDEXEDTOKEN3, - * tokTypeIndexedToken3Element, - * INDEXEDTOKEN3_ELEMENTS, - * INDEXEDTOKEN3_DEFAULT) - * #endif - * - ******************************************************************************/ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_debug_swo_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_debug_swo_config.h deleted file mode 100644 index fee7e65d..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_debug_swo_config.h +++ /dev/null @@ -1,106 +0,0 @@ -/***************************************************************************//** - * @file - * @brief SWO configuration - ******************************************************************************* - * # License - * Copyright 2020 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_DEBUG_SWO_CONFIG_H -#define SL_DEBUG_SWO_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// SWO Configuration - -// SWO Frequency -// Must be 875 kHz for communication with Silicon Labs debuggers -// Default: 875000 -#define SL_DEBUG_SWO_FREQ 875000 - -// Enable interrupt event trace -// Default: 0 -#define SL_DEBUG_SWO_SAMPLE_IRQ 0 - -// Enable Program Counter samples -// Default: 0 -#define SL_DEBUG_SWO_SAMPLE_PC 0 - -// SWO debug sample intervals -// <64=> 64 -// <128=> 128 -// <192=> 192 -// <256=> 256 -// <320=> 320 -// <384=> 384 -// <448=> 448 -// <512=> 512 -// <576=> 576 -// <640=> 640 -// <704=> 704 -// <768=> 768 -// <832=> 832 -// <896=> 896 -// <960=> 960 -// <1024=> 1024 -// <2048=> 2048 -// <3072=> 3072 -// <4096=> 4096 -// <5102=> 5102 -// <6144=> 6144 -// <7168=> 7168 -// <8192=> 8192 -// <9216=> 9216 -// <10240=> 10240 -// <11264=> 11264 -// <12288=> 12288 -// <13312=> 13312 -// <14336=> 14336 -// <15360=> 15360 -// Must be 64, 128, 192, [ n * 64 ], 1024, 2048, 3072, [ n * 1024 ] , 15360 -// Default: 15360 -#define SL_DEBUG_SWO_SAMPLE_INTERVAL 15360 -// - -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_DEBUG -// $[GPIO_SL_DEBUG] -#ifndef SL_DEBUG_PERIPHERAL -#define SL_DEBUG_PERIPHERAL GPIO -#endif - -// GPIO SWV on PA03 -#ifndef SL_DEBUG_SWV_PORT -#define SL_DEBUG_SWV_PORT gpioPortA -#endif -#ifndef SL_DEBUG_SWV_PIN -#define SL_DEBUG_SWV_PIN 3 -#endif -// [GPIO_SL_DEBUG]$ -// <<< sl:end pin_tool >>> - -#endif // SL_DEBUG_SWO_CONFIG_H diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_fem_util_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_fem_util_config.h deleted file mode 100644 index 74bf6373..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_fem_util_config.h +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Front End Module configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_FEM_UTIL_CONFIG_H -#define SL_FEM_UTIL_CONFIG_H - -#include "em_gpio.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// FEM Configuration -// Enable RX Mode -// Default: 0 -#define SL_FEM_UTIL_RX_ENABLE 0 -// Enable TX Mode -// Default: 0 -#define SL_FEM_UTIL_TX_ENABLE 0 -// Enable Bypass Mode -// Default: 0 -#define SL_FEM_UTIL_BYPASS_ENABLE 0 -// Enable TX High Power Mode -// Default: 0 -#define SL_FEM_UTIL_TX_HIGH_POWER_ENABLE 0 -// - -// Automatic external FEM LNA bypass Configuration -// Enable automatic LNA bypass -// Default: 0 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_ENABLE 0 -// LNA bypass threshold -// <1-31:1> -// Default: 12 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_THRESHOLD 12 -// LNA bypass delta RSSI (dBm) -// <1-255:1> -// Default: 15 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_DELTA_RSSI_DBM 15 -// LNA bypass GPIO polarity -// <0-1:1> -// Default: 1 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_POLARITY 1 -// LNA bypass timeout (Us) -// <1-65535:1> -// Default: 4000 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_TIMEOUT_US 4000 -// -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_FEM_UTIL_RX -// $[PRS_SL_FEM_UTIL_RX] -//#define SL_FEM_UTIL_RX_CHANNEL 5 - -// PRS CH5 on PD10 -//#define SL_FEM_UTIL_RX_PORT gpioPortD -//#define SL_FEM_UTIL_RX_PIN 10 -//#define SL_FEM_UTIL_RX_LOC 0 - -// [PRS_SL_FEM_UTIL_RX]$ - -// SL_FEM_UTIL_TX -// $[PRS_SL_FEM_UTIL_TX] - -// [PRS_SL_FEM_UTIL_TX]$ - -// SL_FEM_UTIL_SLEEP -// $[PRS_SL_FEM_UTIL_SLEEP] -//#define SL_FEM_UTIL_SLEEP_CHANNEL 6 - -// PRS CH6 on PD11 -//#define SL_FEM_UTIL_SLEEP_PORT gpioPortD -//#define SL_FEM_UTIL_SLEEP_PIN 11 -//#define SL_FEM_UTIL_SLEEP_LOC 13 - -// [PRS_SL_FEM_UTIL_SLEEP]$ - -// SL_FEM_UTIL_BYPASS -// $[GPIO_SL_FEM_UTIL_BYPASS] - -// [GPIO_SL_FEM_UTIL_BYPASS]$ - -// SL_FEM_UTIL_TX_HIGH_POWER -// $[GPIO_SL_FEM_UTIL_TX_HIGH_POWER] - -// [GPIO_SL_FEM_UTIL_TX_HIGH_POWER]$ -// <<< sl:end pin_tool >>> - -#define SL_FEM_UTIL_OPTIMIZED_PHY_ENABLE 0 -#define SL_FEM_UTIL_RUNTIME_PHY_SELECT 0 - -#endif // SL_FEM_UTIL_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h deleted file mode 100644 index 30fdec93..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h +++ /dev/null @@ -1,47 +0,0 @@ -/***************************************************************************//** - * @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 >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_iostream_usart_vcom_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_iostream_usart_vcom_config.h deleted file mode 100644 index 7b74b53b..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_iostream_usart_vcom_config.h +++ /dev/null @@ -1,105 +0,0 @@ -/***************************************************************************//** - * @file - * @brief IOSTREAM_USART Config. - ******************************************************************************* - * # License - * Copyright 2020 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_IOSTREAM_USART_VCOM_CONFIG_H -#define SL_IOSTREAM_USART_VCOM_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// USART settings - -// Baud rate -// Default: 115200 -#define SL_IOSTREAM_USART_VCOM_BAUDRATE 115200 - -// Parity mode to use -// No Parity -// Even parity -// Odd parity -// Default: usartNoParity -#define SL_IOSTREAM_USART_VCOM_PARITY usartNoParity - -// Number of stop bits to use. -// 0.5 stop bits -// 1 stop bits -// 1.5 stop bits -// 2 stop bits -// Default: usartStopbits1 -#define SL_IOSTREAM_USART_VCOM_STOP_BITS usartStopbits1 - -// Flow control -// None -// CTS -// RTS -// CTS/RTS -// Software Flow control (XON/XOFF) -// Default: usartHwFlowControlNone -#define SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE usartHwFlowControlCtsAndRts - -// Receive buffer size -// Default: 32 -#define SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE 32 - -// Convert \n to \r\n -// It can be changed at runtime using the C API. -// Default: 0 -#define SL_IOSTREAM_USART_VCOM_CONVERT_BY_DEFAULT_LF_TO_CRLF 0 - -// Restrict the energy mode to allow the reception. -// Default: 1 -// Limits the lowest energy mode the system can sleep to in order to keep the reception on. May cause higher power consumption. -#define SL_IOSTREAM_USART_VCOM_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION 1 - -// - -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_IOSTREAM_USART_VCOM -// $[USART_SL_IOSTREAM_USART_VCOM] -#define SL_IOSTREAM_USART_VCOM_PERIPHERAL USART0 -#define SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO 0 - -#define SL_IOSTREAM_USART_VCOM_TX_PORT gpioPortA -#define SL_IOSTREAM_USART_VCOM_TX_PIN 5 - -#define SL_IOSTREAM_USART_VCOM_RX_PORT gpioPortA -#define SL_IOSTREAM_USART_VCOM_RX_PIN 6 - -#define SL_IOSTREAM_USART_VCOM_CTS_PORT gpioPortD -#define SL_IOSTREAM_USART_VCOM_CTS_PIN 2 - -#define SL_IOSTREAM_USART_VCOM_RTS_PORT gpioPortC -#define SL_IOSTREAM_USART_VCOM_RTS_PIN 1 - -// [USART_SL_IOSTREAM_USART_VCOM]$ -// <<< sl:end pin_tool >>> - -#endif diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_iostream_vuart_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_iostream_vuart_config.h deleted file mode 100644 index b0c53246..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_iostream_vuart_config.h +++ /dev/null @@ -1,42 +0,0 @@ -/***************************************************************************//** - * @file - * @brief SL_IOSTREAM_VUART Config. - ******************************************************************************* - * # License - * Copyright 2019 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_IOSTREAM_VUART_CONFIG_H -#define SL_IOSTREAM_VUART_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// VUART settings -// Receive buffer size -// Default: 32 -#define SL_IOSTREAM_VUART_RX_BUFFER_SIZE 32 - -// -// <<< end of configuration section >>> -#endif \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_legacy_hal_wdog_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_legacy_hal_wdog_config.h deleted file mode 100644 index 786ef227..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_legacy_hal_wdog_config.h +++ /dev/null @@ -1,88 +0,0 @@ -/***************************************************************************//** - * @file sl_legacy_hal_wdog_config.h - * @brief Legacy HAL watchdog configuration file. - ******************************************************************************* - * # License - * Copyright 2022 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_LEGACY_HAL_WDOG_CONFIG_H -#define SL_LEGACY_HAL_WDOG_CONFIG_H - -// Legacy HAL WDOG Configurations - -// Disable calling halInternalEnableWatchDog in base-replacement.c's halInit(). -// Default: 0 -#define SL_LEGACY_HAL_DISABLE_WATCHDOG 0 -// - -// WDOG to use for SL_LEGACY_HAL_WDOGn. -// Default: 0 -// <0=> WDOG0 -// <1=> WDOD1 -#define SL_LEGACY_HAL_WDOGn 0 - -// Period for SL_LEGACY_HAL_WDOG timeout. -// Default: wdogPeriod_64k -// The default period of wdogPeriod_64k will trigger watchdog reset after 2 seconds (64k / 32k) and warning interrupt is triggered after 1.5 seconds (75% of timeout). -// wdogPeriod_9 / 9 clock periods -// wdogPeriod_17 / 17 clock periods -// wdogPeriod_33 / 33 clock periods -// wdogPeriod_65 / 65 clock periods -// wdogPeriod_129 / 129 clock periods -// wdogPeriod_257 / 257 clock periods -// wdogPeriod_513 / 513 clock periods -// wdogPeriod_1k / 1025 clock periods -// wdogPeriod_2k / 2049 clock periods -// wdogPeriod_4k / 4097 clock periods -// wdogPeriod_8k / 8193 clock periods -// wdogPeriod_16k / 16385 clock periods -// wdogPeriod_32k / 32769 clock periods -// wdogPeriod_64k / 65537 clock periods -// wdogPeriod_128k / 131073 clock periods -// wdogPeriod_256k / 262145 clock periods -#define SL_LEGACY_HAL_WDOG_PERIOD wdogPeriod_64k - -// Warning for SL_LEGACY_HAL_WDOG timeout. -// Default: wdogWarnTime75pct -// The default warning of wdogWarnTime75pct will trigger warning interrupt after 1.5 seconds (75% of timeout) if the period is wdogPeriod_64k. -// wdogWarnDisable / Watchdog warning period is disabled -// wdogWarnTime25pct / Watchdog warning period is 25% of the timeout -// wdogWarnTime50pct / Watchdog warning period is 50% of the timeout -// wdogWarnTime75pct / Watchdog warning period is 75% of the timeout -#define SL_LEGACY_HAL_WDOG_WARNING wdogWarnTime75pct - -// Counter keeps running during debug halt. -// Default: 0 -#define SL_LEGACY_HAL_WDOG_DEBUG_RUN 0 -// - -// - -#endif /* SL_LEGACY_HAL_WDOG_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_mbedtls_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_mbedtls_config.h deleted file mode 100644 index 5ebefc9a..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_mbedtls_config.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef SL_MBEDTLS_CONFIG_H -#define SL_MBEDTLS_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// TLS/DTLS configuration - -// Complete list of ciphersuites to use, in order of preference. -// Default: MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 -// Complete list of ciphersuites to use, in order of preference. -// The value of this configuration should be updated for the application needs. -#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 - -// Maximum TLS/DTLS fragment length in bytes (input). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when receiving data. -#define SL_MBEDTLS_SSL_IN_CONTENT_LEN 768 - -// Maximum TLS/DTLS fragment length in bytes (output). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when sending data. -#define SL_MBEDTLS_SSL_OUT_CONTENT_LEN 768 - -// Enable support for RFC 6066 max_fragment_length extension in SSL. -// Default: 1 -// Enable support for RFC 6066 max_fragment_length extension in SSL. -#define SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1 - -// Enable support for exporting key block and master secret. -// Default: 1 -// Enable support for exporting key block and master secret. -// This is required for certain users of TLS, e.g. EAP-TLS. -#define SL_MBEDTLS_SSL_EXPORT_KEYS 1 - -// Enable the PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 0 - -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 0 - -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 0 - -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 0 - -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 0 - -// Enable parsing of the compressed curves. -// Default: 0 -// Enable parsing of the compressed curves. -#define SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING 0 - -// - -// RSA configuration - -// Disable use of the Chinese Remainder Theorem for RSA. -// Default: 0 -// Disable use of the Chinese Remainder Theorem for RSA private key -// computations. -#define SL_MBEDTLS_RSA_NO_CRT 0 - -// - -// Miscellaneous configuration - -// Enable Silicon Labs' Mbed TLS- and PSA Crypto drivers. -// Default: 1 -// Enable drivers for hardware acceleration (Mbed TLS and PSA Crypto) and -// secure key handling (PSA Crypto). -#define SL_MBEDTLS_DRIVERS_ENABLED 1 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_mbedtls_config_autogen.h" -#endif - -#include "sli_mbedtls_omnipresent.h" - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_mbedtls_acceleration.h" -#endif - -#include "sl_mbedtls_device_config.h" - -// Include transformation logic to apply CMSIS-config configuration options to -// the correct Mbed TLS / PSA Crypto options. -#include "sli_mbedtls_config_transform_autogen.h" - -// Included for backward compatibility reasons. -#include "mbedtls/build_info.h" - -#endif // SL_MBEDTLS_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_mbedtls_device_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_mbedtls_device_config.h deleted file mode 100644 index e286a0d9..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_mbedtls_device_config.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef SL_MBEDTLS_DEVICE_CONFIG_H -#define SL_MBEDTLS_DEVICE_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Secure Engine (SE) version configuration - -// Support SE firmware versions older than 1.2.2 <0-1> -// Enable software fallback for ECDH and ECC public key validation on xG21 -// devices running SE firmware versions lower than 1.2.2. -// -// Due to other stability concerns, it is strongly recommended to upgrade -// these devices to the latest firmware revision instead of turning on -// software fallback support. -// -// Not having fallback support will make ECDH operations, as well as PSA -// Crypto public key import, return an error code on affected devices. -// -// Default: 0 -#define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 0 - -// Assume an SE firmware version newer than 1.2.2 <0-1> -// For enhanced performance: if it is guaranteed that all devices on which -// this library will run are updated to at least SE FW 1.2.2, then turning -// on this option will remove certain fallback checks, thereby reducing the -// amount of processing required for ECDH and public key verification -// operations. -// Default: 0 -#define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 0 - -// Assume an SE firmware version that is unaffected by Ed25519 errata <0-1> -// For minimal code size and performance savings: if it is guaranteed that -// none of the devices running this library has SE FWs in the range -// [1.2.2, 1.2.8], then enabling this option will disable runtime version -// checks. -// Default: 0 -#define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 0 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Additional SE version related logic (DO NOT MODIFY) - -// SL_SE_ASSUME_FW_AT_LEAST_1_2_10 is no longer in use, however, it is kept here -// for backwards compatibility. */ -#if defined(SL_SE_ASSUME_FW_AT_LEAST_1_2_10) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 - #undef SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA - #define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 1 -#endif - -// SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2) - #undef SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 - #define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 1 -#endif - -// SLI_SE_ASSUME_FW_AT_LEAST_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_ASSUME_FW_AT_LEAST_1_2_2) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 -#endif - -#endif // SL_MBEDTLS_DEVICE_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_memory_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_memory_config.h deleted file mode 100644 index 3afe6966..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_memory_config.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef SL_MEMORY_CONFIG_H -#define SL_MEMORY_CONFIG_H - -#include "sl_memory_manager_region_config.h" -#include "sl_common.h" - -#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 - -#endif diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_memory_manager_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_memory_manager_config.h deleted file mode 100644 index 67a6c468..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_memory_manager_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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 */ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_memory_manager_region_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_memory_manager_region_config.h deleted file mode 100644 index 988548c2..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_memory_manager_region_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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 */ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_power_manager_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_power_manager_config.h deleted file mode 100644 index d90c0b55..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_power_manager_config.h +++ /dev/null @@ -1,78 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Power Manager configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_POWER_MANAGER_CONFIG_H -#define SL_POWER_MANAGER_CONFIG_H - -// Power Manager Configuration - -// Enable custom IRQ handler for external HF oscillator. -// Enable if CMU_IRQHandler/HFXO0_IRQHandler is needed from your application. -// The function sl_power_manager_irq_handler() will have to be called from you custom handler if this is enabled. -// Default: 0 -#define SL_POWER_MANAGER_CUSTOM_HF_OSCILLATOR_IRQ_HANDLER 0 - -// Enable fast wakeup (disable voltage scaling in EM2/3 mode) -// Enable or disable voltage scaling in EM2/3 modes (when available). This decreases wakeup time by about 30 us. -// Deprecated. It is replaced by the function sl_power_manager_em23_voltage_scaling_enable_fast_wakeup() -// Default: 0 -#define SL_POWER_MANAGER_CONFIG_VOLTAGE_SCALING_FAST_WAKEUP 0 - -// Enable debugging feature -// Enable or disable debugging features (trace the different modules that have requirements). -// Default: 0 -#define SL_POWER_MANAGER_DEBUG 0 - -// Maximum numbers of requirements that can be logged -// Default: 10 -#define SL_POWER_MANAGER_DEBUG_POOL_SIZE 10 -// - -// Pin retention mode -// -// No retention -// Retention through EM4 -// Retention through EM4 and wakeup -// power_manager_pin_retention_disable -#define SL_POWER_MANAGER_INIT_EMU_EM4_PIN_RETENTION_MODE EMU_EM4CTRL_EM4IORETMODE_DISABLE - -// Enable EM2 debugging feature -// Enable or disable debugging features. -// Default: 1 -#define SL_POWER_MANAGER_INIT_EMU_EM2_DEBUG_ENABLE 1 -// - -// - -#endif /* SL_POWER_MANAGER_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_pa_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_pa_config.h deleted file mode 100644 index a48d2e59..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_pa_config.h +++ /dev/null @@ -1,81 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Power Amplifier configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PA_CONFIG_H -#define SL_RAIL_UTIL_PA_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// PA Configuration -// Initial PA Power (deci-dBm, 100 = 10.0 dBm) -// Default: 100 -#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100 -// PA Ramp Time (microseconds) -// <0-65535:1> -// Default: 10 -#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10 -// Milli-volts on PA supply pin (PA_VDD) -// <0-65535:1> -// Default: 3300 -#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300 -// 2.4 GHz PA Selection -// Highest Possible -// High Power (chip-specific) -// Medium Power (chip-specific) -// Low Power -// Disable -// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -// Sub-1 GHz PA Selection -// Disable -// Default: RAIL_TX_POWER_MODE_NONE -#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE -// - -// PA Curve Configuration -// Header file containing custom PA curves -// Default: "pa_curves_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h" -// Header file containing PA curve types -// Default: "pa_curve_types_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h" -// - -// PA Calibration Configuration -// Apply PA Calibration Factory Offset -// Default: 1 -#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 1 -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_PA_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_power_manager_init_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_power_manager_init_config.h deleted file mode 100644 index 03a1dfd0..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_power_manager_init_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @file - * @brief RAIL power manager configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H -#define SL_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RAIL power manager configuration - -// Enable RAIL power manager initialization -// Default: 1 -#define SL_RAIL_UTIL_RAIL_POWER_MANAGER_INIT 1 - -// -// <<< end of configuration section >>> -#endif // SL_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_pti_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_pti_config.h deleted file mode 100644 index 0852c99c..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_pti_config.h +++ /dev/null @@ -1,62 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Packet Trace Information configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PTI_CONFIG_H -#define SL_RAIL_UTIL_PTI_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// PTI Configuration - -// PTI mode -// UART -// UART onewire -// SPI -// Disabled -// Default: RAIL_PTI_MODE_UART -#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_DISABLED - -// PTI Baud Rate (Hertz) -// <147800-20000000:1> -// Default: 1600000 -#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 1600000 - -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_RAIL_UTIL_PTI -// $[PTI_SL_RAIL_UTIL_PTI] -// [PTI_SL_RAIL_UTIL_PTI]$ - -// <<< sl:end pin_tool >>> - -#endif // SL_RAIL_UTIL_PTI_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h deleted file mode 100644 index 5fbdcca9..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h +++ /dev/null @@ -1,48 +0,0 @@ -/***************************************************************************//** - * @file - * @brief - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RF_PATH_CONFIG_H -#define SL_RAIL_UTIL_RF_PATH_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// Chip-internal RF Path Configuration -// RF Path Mode -// Path 0 -// Path 1 -// Default: RAIL_ANTENNA_1 -#define SL_RAIL_UTIL_RF_PATH_INT_RF_PATH_MODE RAIL_ANTENNA_0 -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_RF_PATH_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_rssi_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_rssi_config.h deleted file mode 100644 index 1365e6e5..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_rail_util_rssi_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @file - * @brief RSSI configuration header file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RSSI_CONFIG_H -#define SL_RAIL_UTIL_RSSI_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RSSI Offset Configuration - -// Software RSSI offset value -// Default: -11 -#define SL_RAIL_UTIL_RSSI_OFFSET -11 - -// -// <<< end of configuration section >>> -#endif // SL_RAIL_UTIL_RSSI_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_sleeptimer_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_sleeptimer_config.h deleted file mode 100644 index bba646d6..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_sleeptimer_config.h +++ /dev/null @@ -1,82 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Sleep Timer configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_SLEEPTIMER_CONFIG_H -#define SL_SLEEPTIMER_CONFIG_H - -#define SL_SLEEPTIMER_PERIPHERAL_DEFAULT 0 -#define SL_SLEEPTIMER_PERIPHERAL_RTCC 1 -#define SL_SLEEPTIMER_PERIPHERAL_PRORTC 2 -#define SL_SLEEPTIMER_PERIPHERAL_RTC 3 -#define SL_SLEEPTIMER_PERIPHERAL_SYSRTC 4 -#define SL_SLEEPTIMER_PERIPHERAL_BURTC 5 -#define SL_SLEEPTIMER_PERIPHERAL_WTIMER 6 -#define SL_SLEEPTIMER_PERIPHERAL_TIMER 7 - -// Timer Peripheral Used by Sleeptimer -// Default (auto select) -// RTCC -// Radio internal RTC (PRORTC) -// RTC -// SYSRTC -// Back-Up RTC (BURTC) -// WTIMER -// TIMER -// Selection of the Timer Peripheral Used by the Sleeptimer -#define SL_SLEEPTIMER_PERIPHERAL SL_SLEEPTIMER_PERIPHERAL_DEFAULT - -// TIMER/WTIMER Instance Used by Sleeptimer (not applicable for other peripherals) -// Make sure TIMER instance size is 32bits. Check datasheet for 32bits TIMERs. -// Default: 0 -#define SL_SLEEPTIMER_TIMER_INSTANCE 0 - -// Enable wallclock functionality -// Enable or disable wallclock functionalities (get_time, get_date, etc). -// Default: 0 -#define SL_SLEEPTIMER_WALLCLOCK_CONFIG 0 - -// Timer frequency divider (not applicable for WTIMER/TIMER) -// WTIMER/TIMER peripherals are always prescaled to 1024. -// Default: 1 -#define SL_SLEEPTIMER_FREQ_DIVIDER 1 - -// If Radio internal RTC (PRORTC) HAL is used, determines if it owns the IRQ handler. Enable, if no wireless stack is used. -// Default: 0 -#define SL_SLEEPTIMER_PRORTC_HAL_OWNS_IRQ_HANDLER 0 - -// Enable DEBUGRUN functionality on hardware RTC. -// Default: 0 -#define SL_SLEEPTIMER_DEBUGRUN 0 - -#endif /* SLEEPTIMER_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_token_manager_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_token_manager_config.h deleted file mode 100644 index 02544106..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_token_manager_config.h +++ /dev/null @@ -1,54 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Token Manager Configurations - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -#ifndef SL_TOKEN_MANAGER_CONFIG_H -#define SL_TOKEN_MANAGER_CONFIG_H - -// TOKEN MANAGER Configurations - -// Enable Custom Tokens -// Default: 0 -#define SL_TOKEN_MANAGER_CUSTOM_TOKENS_PRESENT 0 - -// File containing custom tokens -// Default: "sl_custom_token_header.h" -// Header file containing custom tokens located at project_root/config -#define SL_TOKEN_MANAGER_CUSTOM_TOKEN_HEADER "sl_custom_token_header.h" - -// - -// Enable Custom Manufacturing Tokens -// Default: 0 -#define SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKENS_PRESENT 0 - -// File containing custom manufacturing tokens -// Default: "sl_custom_manufacturing_token_header.h" -// Header file containing custom tokens located at project_root/config -#define SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKEN_HEADER "sl_custom_manufacturing_token_header.h" - -// -// - -#if (SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKENS_PRESENT) -#define APPLICATION_MFG_TOKEN_HEADER SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKEN_HEADER -#endif // SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKENS_PRESENT - -#endif // SL_TOKEN_MANAGER_CONFIG_H - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_debug_print_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_debug_print_config.h deleted file mode 100644 index 55a8e72e..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_debug_print_config.h +++ /dev/null @@ -1,74 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee Debug Print component configuration header. - * - ******************************************************************************* - * # License - * Copyright 2019 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// ZigBee Debug Print configuration - -// Stack group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "stack" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_STACK_GROUP_ENABLED (1) - -// Stack group runtime default -// Default: 1 -// If this option is enabled, prints belonging to the "stack" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_STACK_GROUP_RUNTIME_DEFAULT (1) - -// Core group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "core" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_CORE_GROUP_ENABLED (1) - -// Core group runtime default -// Default: 1 -// If this option is enabled, prints belonging to the "core" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_CORE_GROUP_RUNTIME_DEFAULT (1) - -// App group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "app" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_APP_GROUP_ENABLED (1) - -// App group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "app" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_APP_GROUP_RUNTIME_DEFAULT (1) - -// ZCL group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "zcl" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_ZCL_GROUP_ENABLED (1) - -// ZCL group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "zcl" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_ZCL_GROUP_RUNTIME_DEFAULT (1) - -// Legacy App Framework Debug group enabled -// Default: 0 -// If both this option and ZIGBEE_DEBUG_ZCL_GROUP_ENABLED are enabled, prints belonging to the "legacy app framework debug" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_PRINTS_ZCL_LEGACY_AF_DEBUG_ENABLED (0) - -// Legacy App Framework Debug runtime default -// Default: 0 -// If both this option and ZIGBEE_DEBUG_ZCL_GROUP_ENABLED are enabled, prints belonging to the "legacy app framework debug" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_PRINTS_ZCL_LEGACY_AF_DEBUG_RUNTIME_DEFAULT (0) - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_green_power_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_green_power_config.h deleted file mode 100644 index eb224295..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_green_power_config.h +++ /dev/null @@ -1,53 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Green Power component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Green Power Library configuration - -// Green Power Proxy Table Size <1-126> -// Default: 5 -// The maximum number of Green Power proxy table entries supported by the stack. -#define SL_ZIGBEE_GP_PROXY_TABLE_SIZE 5 - -// Green Power Sink Table Size <0-126> -// Default: 0 -// The maximum number of Green Power sink table entries supported by the stack. -#define SL_ZIGBEE_GP_SINK_TABLE_SIZE 5 - -// Green Power incoming FC (as part of proxy table) Token timeout <0-60> -// Default: 0 -// The timeout (seconds) to restore the GPD incoming security frame counter in the Flash (0 being never). -#define SL_ZIGBEE_GP_INCOMING_FC_TOKEN_TIMEOUT 7 - -// Green Power incoming FC (as part of proxy table) table token table size <0-126> -// Default: 0 -// The maximum table size to restore the GPD incoming security frame counter in the Flash (being either 0 or SL_ZIGBEE_GP_PROXY_TABLE_SIZE). -#define SL_ZIGBEE_GP_INCOMING_FC_TOKEN_TABLE_SIZE 0 - -// Green Power incoming FC (as part of sink table) token table token timeout <0-60> -// Default: 0 -// The timeout (seconds) to restore the GPD incoming security frame counter in the Flash (0 being never). -#define SL_ZIGBEE_GP_INCOMING_FC_IN_SINK_TOKEN_TIMEOUT 7 - -// Green Power incoming FC (as part of sink table)Token table size <0-126> -// Default: 0 -// The maximum table size to restore the GPD incoming security frame counter in the Flash (being either 0 or SL_ZIGBEE_GP_SINK_TABLE_SIZE). -#define SL_ZIGBEE_GP_INCOMING_FC_IN_SINK_TOKEN_TABLE_SIZE 0 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_light_link_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_light_link_config.h deleted file mode 100644 index f38262b5..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_light_link_config.h +++ /dev/null @@ -1,38 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee Light Link component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee ZigBee Light Link Library configuration - -// Group addresses <0-255> -// Default: 0 -// The number of unique group identifiers that this device requires. -#define SL_ZIGBEE_ZLL_GROUP_ADDRESSES 0 - -// RSSI threshold <-128..127:1> -// Default: -40 -// The RSSI threshold applied to incoming scan requests. The stack will ignore scan requests with corrected RSSI values less than this threshold. -#define SL_ZIGBEE_ZLL_RSSI_THRESHOLD -40 - -// Apply RSSI threshold to all interpan messages -// Default: FALSE -// True if the RSSI threshold is to be applied to all incoming touchlink interpan messages. This is not required by the Zigbee 3.0 specifications, but may be useful for testing in a busy environment. -#define SL_ZIGBEE_ZLL_APPLY_THRESHOLD_TO_ALL_INTERPANS 0 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_pro_stack_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_pro_stack_config.h deleted file mode 100644 index 5f25b013..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_pro_stack_config.h +++ /dev/null @@ -1,133 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee PRO Full Stack component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee PRO Stack Library configuration - -// Child Table Size <0-64> -// Default: 6 -// The maximum number of ZigBee PRO End Devices that can be supported by a single device. -#define SL_ZIGBEE_MAX_END_DEVICE_CHILDREN 32 - -// Packet Buffer Heap Allocation -// Packet Buffer Heap Size <512-16384> -// Default: SL_ZIGBEE_MEDIUM_PACKET_BUFFER_HEAP -// The amount of heap space that is allocated for packet buffers (in bytes). Each packet buffer has an overhead of `4 * sizeof(uint16_t)` bytes. -// Tiny (1024) -// Small (2048) -// Medium (4096) -// Large (8192) -// Huge (16384) -// Custom -// SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP -// Custom Heap Size <1024-16384> -// Specify the exact number of bytes to use (aligned on 4-byte boundaries) -#define SL_ZIGBEE_TINY_PACKET_BUFFER_HEAP 1024 -#define SL_ZIGBEE_SMALL_PACKET_BUFFER_HEAP 2048 -#define SL_ZIGBEE_MEDIUM_PACKET_BUFFER_HEAP 4096 -#define SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP 8192 -#define SL_ZIGBEE_HUGE_PACKET_BUFFER_HEAP 16384 -#define SL_ZIGBEE_CUSTOM_PACKET_BUFFER_HEAP 0 -#define SL_ZIGBEE_PACKET_BUFFER_HEAP_SIZE SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP -// - -// End Device keep alive support mode -// End Device keep alive support mode -// MAC Data Poll Keep Alive -// End Device Timeout Keep Alive -// Keep Alive Support All -// Default: SL_ZIGBEE_KEEP_ALIVE_SUPPORT_ALL -// End Device keep alive support mode on the coordinator/router could be set here. -#define SL_ZIGBEE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE SL_ZIGBEE_KEEP_ALIVE_SUPPORT_ALL - -// End Device Poll Timeout Value -// End Device Poll Timeout Value -// Seconds-10 -// Minutes-2 -// Minutes-4 -// Minutes-8 -// Minutes-16 -// Minutes-32 -// Minutes-64 -// Minutes-128 -// Minutes-256 -// Minutes-512 -// Minutes-1024 -// Minutes-2048 -// Minutes-4096 -// Minutes-8192 -// Minutes-16384 -// Default: MINUTES_256 -// The amount of time that must pass without hearing a MAC data poll from the device before the end device is removed from the child table. For a router device this applies to its children. For an end device, this is the amount of time before it automatically times itself out. -#define SL_ZIGBEE_END_DEVICE_POLL_TIMEOUT MINUTES_256 - -// Link Power Delta Request Interval <1-65535> -// Default: 300 -// The amount of time in seconds that pass between link power delta requests. -#define SL_ZIGBEE_LINK_POWER_DELTA_INTERVAL 300 - -// APS Unicast Message Queue Size <1-255> -// Default: 10 -// The maximum number of APS unicast messages that can be queued up by the stack. A message is considered queued when sli_zigbee_stack_send_unicast() is called and is de-queued when the sli_zigbee_stack_message_sent_handler() is called. -#define SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT 20 - -// APS unicast Message Duplicate Rejection table Size <1-255> -// Default: 5 -// The maximum number of APS unicast messages that can be stored in the stack, to reject duplicate processing/forwarding of APS messages. -// Size of 1 is basically the same thing as no duplicate rejection -#define SL_ZIGBEE_APS_DUPLICATE_REJECTION_MAX_ENTRIES 5 - -// Broadcast Table Size <15-254> -// Default: 15 -// The size of the broadcast table. -#define SL_ZIGBEE_BROADCAST_TABLE_SIZE 15 - -// Neighbor Table Size -// Neighbor Table Size -// <16=> 16 -// <26=> 26 -// Default: 16 -// The size of the neighbor table. -#define SL_ZIGBEE_NEIGHBOR_TABLE_SIZE 16 - -// Transient key timeout (in seconds) <0-65535> -// Default: 300 -// The amount of time a device will store a transient link key that can be used to join a network. -#define SL_ZIGBEE_TRANSIENT_KEY_TIMEOUT_S 300 - -// Binding Table Size <1-127> -// Default: 3 -// The number of entries that the binding table can hold. -#define SL_ZIGBEE_BINDING_TABLE_SIZE 32 - -// Address table size <1-250> -// Default: 2 -// The number of entries of the address table -#define SL_ZIGBEE_ADDRESS_TABLE_SIZE 16 - -// Route table size <1-254> -// Default: 16 -// The number of entries of the route table -#define SL_ZIGBEE_ROUTE_TABLE_SIZE 16 - -// Multicast table size <1-250> -// Default: 8 -// The number of entries of the multicast table -#define SL_ZIGBEE_MULTICAST_TABLE_SIZE 16 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_security_link_keys_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_security_link_keys_config.h deleted file mode 100644 index 40739619..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_security_link_keys_config.h +++ /dev/null @@ -1,33 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Security Link Keys component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Security Link Keys Library configuration - -// Link Key Table Size <1-127> -// Default: 6 -// The maximum number of link key table entries supported by the stack. -#define SL_ZIGBEE_KEY_TABLE_SIZE 1 - -// Request Key Timeout <0-10> -// Default: 0 -// The length of time that a node will wait for a trust center to answer its Application Link Key request. -#define SL_ZIGBEE_REQUEST_KEY_TIMEOUT 0 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_source_route_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_source_route_config.h deleted file mode 100644 index b857c85b..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/sl_zigbee_source_route_config.h +++ /dev/null @@ -1,33 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Source Route component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Source Route Library configuration - -// Source route table Size (SoC or NCP) <2-255> -// Default: 7 -// The size of the source route table for storing source routes on the SOC or NCP. -#define SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE 150 - -// Max source route relay counts <11-40> -// Default: 11 -// Max source route hops accepted or/and inserted in the source route table/header. -#define SL_ZIGBEE_MAX_SOURCE_ROUTE_RELAY_COUNT 11 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/zigbee_device_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/zigbee_device_config.h deleted file mode 100644 index aa4dac33..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/zigbee_device_config.h +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee device configuration header. - * - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// ZigBee device configuration - -#ifndef SILABS_ZIGBEE_DEVICE_CONFIG_H -#define SILABS_ZIGBEE_DEVICE_CONFIG_H - -// Mirrors the legacy sl_zigbee_node_type_t enum -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_COORDINATOR_OR_ROUTER 0x01 -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_ROUTER 0x02 -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_END_DEVICE 0x03 -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_SLEEPY_END_DEVICE 0x04 - -// Mirrors the legacy sl_zigbee_af_security_profile_t enum -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_NO_SECURITY 0x00 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_HA 0x01 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_HA_1_2 0x02 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_SE_TEST 0x03 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_SE_FULL 0x04 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 0x05 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_CUSTOM 0xFF - -#define SLI_ZIGBEE_DEFAULT_NETWORK_PRIMARY 0x00 -#define SLI_ZIGBEE_DEFAULT_NETWORK_SECONDARY 0x01 - -#define SLI_ZIGBEE_TX_POWER_MODE_DEFAULT SL_ZIGBEE_TX_POWER_MODE_DEFAULT -#define SLI_ZIGBEE_TX_POWER_MODE_BOOST SL_ZIGBEE_TX_POWER_MODE_BOOST -#define SLI_ZIGBEE_TX_POWER_MODE_ALTERNATE SL_ZIGBEE_TX_POWER_MODE_ALTERNATE -#define SLI_ZIGBEE_TX_POWER_MODE_BOOST_AND_ALTERNATE SL_ZIGBEE_TX_POWER_MODE_BOOST_AND_ALTERNATE -#define SLI_ZIGBEE_TX_POWER_MODE_USE_TOKEN SL_ZIGBEE_TX_POWER_MODE_USE_TOKEN - -// Primary Network Device Type -// The ZigBee Primary Network Device Type -// Coordinator or Router -// Router -// End Device -// Sleepy End Device -// Default: SLI_ZIGBEE_NETWORK_DEVICE_TYPE_ROUTER -#define SLI_ZIGBEE_PRIMARY_NETWORK_DEVICE_TYPE SLI_ZIGBEE_NETWORK_DEVICE_TYPE_COORDINATOR_OR_ROUTER - -// Primary Network Security Type -// The ZigBee Primary Network Security Type -// No Security -// Home Automation Security -// Home Automation Security 1.2 -// Smart Energy Security Full (compliant) -// Smart Energy Security Test (dev only) -// ZigBee 3.0 Security -// Custom Security -// Default: SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 -#define SLI_ZIGBEE_PRIMARY_NETWORK_SECURITY_TYPE SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 - -// Enable Secondary Network -// Default: 0 -// Enable/Disable the ZigBee Secondary Network -#define SLI_ZIGBEE_SECONDARY_NETWORK_ENABLED (0) - -// Secondary Network Device Type -// The ZigBee Secondary Network Device Type -// Coordinator or Router -// Router -// End Device -// Sleepy End Device -// Default: SLI_ZIGBEE_NETWORK_DEVICE_TYPE_ROUTER -#define SLI_ZIGBEE_SECONDARY_NETWORK_DEVICE_TYPE SLI_ZIGBEE_NETWORK_DEVICE_TYPE_SLEEPY_END_DEVICE - -// Secondary Network Security Type -// The ZigBee Secondary Network Security Type -// No Security -// Home Automation Security -// Smart Energy Security Full (compliant) -// Smart Energy Security Test (dev only) -// ZigBee 3.0 Security -// Custom Security -// Default: SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 -#define SLI_ZIGBEE_SECONDARY_NETWORK_SECURITY_TYPE SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 - -// Default Network -// The ZigBee Default Network -// Primary Network -// Secondary Network -// Default: SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 -#define SLI_ZIGBEE_DEFAULT_NETWORK SLI_ZIGBEE_DEFAULT_NETWORK_PRIMARY - -// TX power mode -// The ZigBee node transmission power mode -// Default -// Boost -// Alternate -// Boost & Alternate -// Use token -// Default: SLI_ZIGBEE_TX_POWER_MODE_USE_TOKEN -#define SLI_ZIGBEE_TX_POWER_MODE SLI_ZIGBEE_TX_POWER_MODE_USE_TOKEN - -// - -#endif // SILABS_ZIGBEE_DEVICE_CONFIG_H - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/config/zigbee_sleep_config.h b/src/ncp-uart-hw_MGM210PA32JIA/config/zigbee_sleep_config.h deleted file mode 100644 index 49fe8146..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/config/zigbee_sleep_config.h +++ /dev/null @@ -1,42 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Application Framework common component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Sleep configuration - -// Minimum Sleep Duration <5-1000> -// Default: 5 -// The minimum duration in milliseconds that the application will attempt to sleep for. If the sleep duration would be less than this amount, the application will not sleep. -#define SL_ZIGBEE_APP_FRAMEWORK_MINIMUM_SLEEP_DURATION_MS 5 - -// Sleep Backoff time <0-10000> -// Default: 0 -// This setting will keep a device from going back to sleep immediately upon waking up -#define SL_ZIGBEE_APP_FRAMEWORK_BACKOFF_SLEEP_MS 0 - -// Stay awake when NOT joined -// Default: TRUE -// This will force a device to stay awake even when not joined to the network. This is often used for debugging and is not recommended for production devices since it cause the device to consume battery power even when not joined to a ZigBee network. -#define SL_ZIGBEE_APP_FRAMEWORK_STAY_AWAKE_WHEN_NOT_JOINED 1 - -// Use button to force wakeup or allow sleep -// Default: FALSE -// This will setup the hardware buttons to wake-up or allow the device to go to sleep. Button 0 will force the device to wake up and stay awake. Button 1 will turn off this behavior to allow the device to sleep normally. Please note that in order for this option to be fully functional, button 0 and button 1 have to be configured to wake the device from sleep. -#define SL_ZIGBEE_APP_FRAMEWORK_USE_BUTTON_TO_STAY_AWAKE 0 -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM210PA32JIA/main.c b/src/ncp-uart-hw_MGM210PA32JIA/main.c deleted file mode 100644 index f07f4b28..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/main.c +++ /dev/null @@ -1,74 +0,0 @@ -/***************************************************************************//** - * @file main.c - * @brief main() function. - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -#ifdef SL_COMPONENT_CATALOG_PRESENT -#include "sl_component_catalog.h" -#endif -#include "sl_system_init.h" -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) -#include "sl_power_manager.h" -#endif -#if defined(SL_CATALOG_KERNEL_PRESENT) -#include "sl_system_kernel.h" -#else -#include "sl_system_process_action.h" -#endif // SL_CATALOG_KERNEL_PRESENT - -#ifdef SL_ZIGBEE_TEST -#define main nodeMain -#endif - -void app_init(void) -{ -} - -void app_process_action(void) -{ -} - -int main(void) -{ - // Initialize Silicon Labs device, system, service(s) and protocol stack(s). - // Note that if the kernel is present, processing task(s) will be created by - // this call. - sl_system_init(); - - // Initialize the application. For example, create periodic timer(s) or - // task(s) if the kernel is present. - app_init(); - -#if defined(SL_CATALOG_KERNEL_PRESENT) - // Start the kernel. Task(s) created in app_init() will start running. - sl_system_kernel_start(); -#else // SL_CATALOG_KERNEL_PRESENT - while (1) { - // Do not remove this call: Silicon Labs components process action routine - // must be called from the super loop. - sl_system_process_action(); - - // Application process. - app_process_action(); - - // Let the CPU go to sleep if the system allow it. -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) - sl_power_manager_sleep(); -#endif // SL_CATALOG_POWER_MANAGER_PRESENT - } -#endif // SL_CATALOG_KERNEL_PRESENT - - return 0; -} diff --git a/src/ncp-uart-hw_MGM210PA32JIA/ncp-uart-hw_MGM210PA32JIA.slcp b/src/ncp-uart-hw_MGM210PA32JIA/ncp-uart-hw_MGM210PA32JIA.slcp deleted file mode 100644 index 3ca5646a..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/ncp-uart-hw_MGM210PA32JIA.slcp +++ /dev/null @@ -1,75 +0,0 @@ -# Silicon Labs Project Configuration Tools: slcp, v0, Component selection file. -project_name: ncp-uart-hw_MGM210PA32JIA -label: ncp-uart-hw_MGM210PA32JIA -author: Silicon Laboratories, Inc. -description: This network coprocessor (NCP) application supports communication with - a host application over a UART interface with hardware flow control. This NCP application - can be built as configured, or optionally can be augmented with customized extensions - for initialization, main loop processing, event definition/handling, and messaging - with the host. To create a ECC-enabled application for the Smart Energy Profile, - please download and extract the 'EmberZnet-Smart-Energy.zip' side-package over your - installed SDK and add, depending on use-case, one of two new components ('CBKE 163k1'; - 'CBKE 283k1') to your application. -category: Zigbee Application -filter: -- name: Device Type - value: [NCP] -- name: Project Difficulty - value: [Advanced] -- name: Wireless Technology - value: [Zigbee] -package: Zigbee -quality: production -readme: -- {path: readme.html} -- {path: readme.html} -source: -- {path: main.c} -- {path: app.c} -tag: [prebuilt_demo] -sdk: {id: simplicity_sdk, version: 2024.6.2} -toolchain_settings: [] -component: -- {id: MGM210PA32JIA} -- {id: clock_manager} -- instance: [vcom] - id: iostream_usart -- {id: iostream_vuart} -- {id: rail_util_rssi} -- {id: token_manager} -- {id: zigbee_debug_basic} -- {id: zigbee_debug_extended} -- {id: zigbee_debug_print} -- {id: zigbee_device_config} -- {id: zigbee_gp} -- {id: zigbee_mfglib} -- {id: zigbee_ncp_uart_hardware} -- {id: zigbee_pro_stack} -- {id: zigbee_r22_support} -- {id: zigbee_security_link_keys} -- {id: zigbee_source_route} -- {id: zigbee_system_common} -- {id: zigbee_token_interface} -- {id: zigbee_zll} -define: -- {name: SL_ZIGBEE_CUSTOM_MAC_FILTER_TABLE_SIZE, value: '15'} -configuration: -- {name: SL_BOARD_ENABLE_VCOM, value: '1'} -- {name: SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE, value: usartHwFlowControlCtsAndRts} -- {name: SL_CLI_MAX_INPUT_ARGUMENTS, value: '16'} -- {name: SL_ZIGBEE_BINDING_TABLE_SIZE, value: '32'} -- {name: SL_ZIGBEE_MAX_END_DEVICE_CHILDREN, value: '32'} -- {name: SL_ZIGBEE_PACKET_BUFFER_HEAP_SIZE, value: SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP} -- {name: EMBER_AF_PLUGIN_ZIGBEE_PRO_STACK_CHILD_TABLE_SIZE, value: '32'} -- {name: SL_ZIGBEE_KEY_TABLE_SIZE, value: '12'} -- {name: SL_CLI_EXAMPLE_IOSTREAM_HANDLE, value: sl_iostream_vuart_handle} -- condition: [device_series_2] - name: NVM3_DEFAULT_NVM_SIZE - value: '32768' -- {name: SL_PSA_ITS_SUPPORT_V1_DRIVER, value: '0'} -- {name: SL_PSA_ITS_SUPPORT_V2_DRIVER, value: '0'} -- {name: SL_PSA_ITS_SUPPORT_V3_DRIVER, value: '1'} -ui_hints: - highlight: - - {path: readme.html} - diff --git a/src/ncp-uart-hw_MGM210PA32JIA/ncp-uart-hw_MGM210PA32JIA.slps b/src/ncp-uart-hw_MGM210PA32JIA/ncp-uart-hw_MGM210PA32JIA.slps deleted file mode 100644 index 71acfeda..00000000 --- a/src/ncp-uart-hw_MGM210PA32JIA/ncp-uart-hw_MGM210PA32JIA.slps +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/SEGGER_RTT_Conf.h b/src/ncp-uart-hw_MGM240PA32VNN/config/SEGGER_RTT_Conf.h deleted file mode 100644 index 2c0d7dd3..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/SEGGER_RTT_Conf.h +++ /dev/null @@ -1,428 +0,0 @@ -/********************************************************************* -* SEGGER Microcontroller GmbH * -* The Embedded Experts * -********************************************************************** -* * -* (c) 1995 - 2023 SEGGER Microcontroller GmbH * -* * -* www.segger.com Support: support@segger.com * -* * -********************************************************************** -* * -* SEGGER SystemView * Real-time application analysis * -* * -********************************************************************** -* * -* All rights reserved. * -* * -* SEGGER strongly recommends to not make any changes * -* to or modify the source code of this software in order to stay * -* compatible with the SystemView and RTT protocol, and J-Link. * -* * -* Redistribution and use in source and binary forms, with or * -* without modification, are permitted provided that the following * -* condition is met: * -* * -* o Redistributions of source code must retain the above copyright * -* notice, this condition and the following disclaimer. * -* * -* 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 SEGGER Microcontroller 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. * -* * -********************************************************************** -* * -* SystemView version: 3.52 * -* * -********************************************************************** ----------------------------END-OF-HEADER------------------------------ -File : SEGGER_RTT_Conf.h -Purpose : Implementation of SEGGER real-time transfer (RTT) which - allows real-time communication on targets which support - debugger memory accesses while the CPU is running. -Revision: $Rev: 24316 $ - -*/ - -#ifndef SEGGER_RTT_CONF_H -#define SEGGER_RTT_CONF_H - -#ifdef __IAR_SYSTEMS_ICC__ - #include -#endif - -/********************************************************************* -* -* Defines, configurable -* -********************************************************************** -*/ - -// -// Take in and set to correct values for Cortex-A systems with CPU cache -// -//#define SEGGER_RTT_CPU_CACHE_LINE_SIZE (32) // Largest cache line size (in bytes) in the current system -//#define SEGGER_RTT_UNCACHED_OFF (0xFB000000) // Address alias where RTT CB and buffers can be accessed uncached -// -// Most common case: -// Up-channel 0: RTT -// Up-channel 1: SystemView -// -#ifndef SEGGER_RTT_MAX_NUM_UP_BUFFERS - #define SEGGER_RTT_MAX_NUM_UP_BUFFERS (9) // Max. number of up-buffers (T->H) available on this target (Default: 9) -#endif -// -// Most common case: -// Down-channel 0: RTT -// Down-channel 1: SystemView -// -#ifndef SEGGER_RTT_MAX_NUM_DOWN_BUFFERS - #define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (9) // Max. number of down-buffers (H->T) available on this target (Default: 9) -#endif - -#ifndef BUFFER_SIZE_UP - #define BUFFER_SIZE_UP (1024) // Size of the buffer for terminal output of target, up to host (Default: 1k) -#endif - -#ifndef BUFFER_SIZE_DOWN - #define BUFFER_SIZE_DOWN (1024) // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16) -#endif - -#ifndef SEGGER_RTT_PRINTF_BUFFER_SIZE - #define SEGGER_RTT_PRINTF_BUFFER_SIZE (64u) // Size of buffer for RTT printf to bulk-send chars via RTT (Default: 64) -#endif - -#ifndef SEGGER_RTT_MODE_DEFAULT - #define SEGGER_RTT_MODE_DEFAULT SEGGER_RTT_MODE_NO_BLOCK_SKIP // Mode for pre-initialized terminal channel (buffer 0) -#endif - -/********************************************************************* -* -* RTT memcpy configuration -* -* memcpy() is good for large amounts of data, -* but the overhead is big for small amounts, which are usually stored via RTT. -* With SEGGER_RTT_MEMCPY_USE_BYTELOOP a simple byte loop can be used instead. -* -* SEGGER_RTT_MEMCPY() can be used to replace standard memcpy() in RTT functions. -* This is may be required with memory access restrictions, -* such as on Cortex-A devices with MMU. -*/ -#ifndef SEGGER_RTT_MEMCPY_USE_BYTELOOP - #define SEGGER_RTT_MEMCPY_USE_BYTELOOP 0 // 0: Use memcpy/SEGGER_RTT_MEMCPY, 1: Use a simple byte-loop -#endif -// -// Example definition of SEGGER_RTT_MEMCPY to external memcpy with GCC toolchains and Cortex-A targets -// -//#if ((defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)) && (defined (__ARM_ARCH_7A__)) -// #define SEGGER_RTT_MEMCPY(pDest, pSrc, NumBytes) SEGGER_memcpy((pDest), (pSrc), (NumBytes)) -//#endif - -// -// Target is not allowed to perform other RTT operations while string still has not been stored completely. -// Otherwise we would probably end up with a mixed string in the buffer. -// If using RTT from within interrupts, multiple tasks or multi processors, define the SEGGER_RTT_LOCK() and SEGGER_RTT_UNLOCK() function here. -// -// SEGGER_RTT_MAX_INTERRUPT_PRIORITY can be used in the sample lock routines on Cortex-M3/4. -// Make sure to mask all interrupts which can send RTT data, i.e. generate SystemView events, or cause task switches. -// When high-priority interrupts must not be masked while sending RTT data, SEGGER_RTT_MAX_INTERRUPT_PRIORITY needs to be adjusted accordingly. -// (Higher priority = lower priority number) -// Default value for embOS: 128u -// Default configuration in FreeRTOS: configMAX_SYSCALL_INTERRUPT_PRIORITY: ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) -// In case of doubt mask all interrupts: 1 << (8 - BASEPRI_PRIO_BITS) i.e. 1 << 5 when 3 bits are implemented in NVIC -// or define SEGGER_RTT_LOCK() to completely disable interrupts. -// -#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) // Interrupt priority to lock on SEGGER_RTT_LOCK on Cortex-M3/4 (Default: 0x20) -#endif - -/********************************************************************* -* -* RTT lock configuration for SEGGER Embedded Studio, -* Rowley CrossStudio and GCC -*/ -#if ((defined(__SES_ARM) || defined(__SES_RISCV) || defined(__CROSSWORKS_ARM) || defined(__GNUC__) || defined(__clang__)) && !defined (__CC_ARM) && !defined(WIN32)) - #if (defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_8M_BASE__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs %0, primask \n\t" \ - "movs r1, #1 \n\t" \ - "msr primask, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("msr primask, %0 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : \ - ); \ - } - #elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_8M_MAIN__)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs %0, basepri \n\t" \ - "mov r1, %1 \n\t" \ - "msr basepri, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : "i"(SEGGER_RTT_MAX_INTERRUPT_PRIORITY) \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("msr basepri, %0 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : \ - ); \ - } - - #elif (defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs r1, CPSR \n\t" \ - "mov %0, r1 \n\t" \ - "orr r1, r1, #0xC0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \ - "mrs r1, CPSR \n\t" \ - "bic r1, r1, #0xC0 \n\t" \ - "and r0, r0, #0xC0 \n\t" \ - "orr r1, r1, r0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : "r0", "r1", "cc" \ - ); \ - } - #elif defined(__riscv) || defined(__riscv_xlen) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("csrr %0, mstatus \n\t" \ - "csrci mstatus, 8 \n\t" \ - "andi %0, %0, 8 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("csrr a1, mstatus \n\t" \ - "or %0, %0, a1 \n\t" \ - "csrs mstatus, %0 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : "a1" \ - ); \ - } - #else - #define SEGGER_RTT_LOCK() - #define SEGGER_RTT_UNLOCK() - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for IAR EWARM -*/ -#ifdef __ICCARM__ - #if (defined (__ARM6M__) && (__CORE__ == __ARM6M__)) || \ - (defined (__ARM8M_BASELINE__) && (__CORE__ == __ARM8M_BASELINE__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_PRIMASK(); \ - __set_PRIMASK(1); - - #define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \ - } - #elif (defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)) || \ - (defined (__ARM7M__) && (__CORE__ == __ARM7M__)) || \ - (defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) || \ - (defined (__ARM8M_MAINLINE__) && (__CORE__ == __ARM8M_MAINLINE__)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_BASEPRI(); \ - __set_BASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY); - - #define SEGGER_RTT_UNLOCK() __set_BASEPRI(_SEGGER_RTT__LockState); \ - } - #elif (defined (__ARM7A__) && (__CORE__ == __ARM7A__)) || \ - (defined (__ARM7R__) && (__CORE__ == __ARM7R__)) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - __asm volatile ("mrs r1, CPSR \n\t" \ - "mov %0, r1 \n\t" \ - "orr r1, r1, #0xC0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : "=r" (_SEGGER_RTT__LockState) \ - : \ - : "r1", "cc" \ - ); - - #define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \ - "mrs r1, CPSR \n\t" \ - "bic r1, r1, #0xC0 \n\t" \ - "and r0, r0, #0xC0 \n\t" \ - "orr r1, r1, r0 \n\t" \ - "msr CPSR_c, r1 \n\t" \ - : \ - : "r" (_SEGGER_RTT__LockState) \ - : "r0", "r1", "cc" \ - ); \ - } - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for IAR RX -*/ -#ifdef __ICCRX__ - #define SEGGER_RTT_LOCK() { \ - unsigned long _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_interrupt_state(); \ - __disable_interrupt(); - - #define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration for IAR RL78 -*/ -#ifdef __ICCRL78__ - #define SEGGER_RTT_LOCK() { \ - __istate_t _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_interrupt_state(); \ - __disable_interrupt(); - - #define SEGGER_RTT_UNLOCK() __set_interrupt_state(_SEGGER_RTT__LockState); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration for KEIL ARM -*/ -#ifdef __CC_ARM - #if (defined __TARGET_ARCH_6S_M) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - register unsigned char _SEGGER_RTT__PRIMASK __asm( "primask"); \ - _SEGGER_RTT__LockState = _SEGGER_RTT__PRIMASK; \ - _SEGGER_RTT__PRIMASK = 1u; \ - __schedule_barrier(); - - #define SEGGER_RTT_UNLOCK() _SEGGER_RTT__PRIMASK = _SEGGER_RTT__LockState; \ - __schedule_barrier(); \ - } - #elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - register unsigned char BASEPRI __asm( "basepri"); \ - _SEGGER_RTT__LockState = BASEPRI; \ - BASEPRI = SEGGER_RTT_MAX_INTERRUPT_PRIORITY; \ - __schedule_barrier(); - - #define SEGGER_RTT_UNLOCK() BASEPRI = _SEGGER_RTT__LockState; \ - __schedule_barrier(); \ - } - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for TI ARM -*/ -#ifdef __TI_ARM__ - #if defined (__TI_ARM_V6M0__) - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = __get_PRIMASK(); \ - __set_PRIMASK(1); - - #define SEGGER_RTT_UNLOCK() __set_PRIMASK(_SEGGER_RTT__LockState); \ - } - #elif (defined (__TI_ARM_V7M3__) || defined (__TI_ARM_V7M4__)) - #ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY - #define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) - #endif - #define SEGGER_RTT_LOCK() { \ - unsigned int _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = _set_interrupt_priority(SEGGER_RTT_MAX_INTERRUPT_PRIORITY); - - #define SEGGER_RTT_UNLOCK() _set_interrupt_priority(_SEGGER_RTT__LockState); \ - } - #endif -#endif - -/********************************************************************* -* -* RTT lock configuration for CCRX -*/ -#ifdef __RX - #include - #define SEGGER_RTT_LOCK() { \ - unsigned long _SEGGER_RTT__LockState; \ - _SEGGER_RTT__LockState = get_psw() & 0x010000; \ - clrpsw_i(); - - #define SEGGER_RTT_UNLOCK() set_psw(get_psw() | _SEGGER_RTT__LockState); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration for embOS Simulation on Windows -* (Can also be used for generic RTT locking with embOS) -*/ -#if defined(WIN32) || defined(SEGGER_RTT_LOCK_EMBOS) - -void OS_SIM_EnterCriticalSection(void); -void OS_SIM_LeaveCriticalSection(void); - -#define SEGGER_RTT_LOCK() { \ - OS_SIM_EnterCriticalSection(); - -#define SEGGER_RTT_UNLOCK() OS_SIM_LeaveCriticalSection(); \ - } -#endif - -/********************************************************************* -* -* RTT lock configuration fallback -*/ -#ifndef SEGGER_RTT_LOCK - #define SEGGER_RTT_LOCK() // Lock RTT (nestable) (i.e. disable interrupts) -#endif - -#ifndef SEGGER_RTT_UNLOCK - #define SEGGER_RTT_UNLOCK() // Unlock RTT (nestable) (i.e. enable previous interrupt lock state) -#endif - -#endif -/*************************** End of file ****************************/ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/app_properties_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/app_properties_config.h deleted file mode 100644 index 6951a569..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/app_properties_config.h +++ /dev/null @@ -1,65 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Application Properties Header File - ******************************************************************************* - * # License - * Copyright 2021 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 APP_PROPERTIES_CONFIG_H -#define APP_PROPERTIES_CONFIG_H - -#include "sl_application_type.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// App Properties settings - -// Type of signature this application is signed with -// Default: APPLICATION_SIGNATURE_NONE(0) -#define SL_APPLICATION_SIGNATURE 0 - -// Location of the signature -// Default: 0xFFFFFFFF -#define SL_APPLICATION_SIGNATURE_LOCATION 0xFFFFFFFF - -// Bitfield representing type of application -#define SL_APPLICATION_TYPE APPLICATION_TYPE - -// Version number for this application -// <0-4294967295:1> -// Default: 1 [0-4294967295] -#define SL_APPLICATION_VERSION 1 - -// Capabilities of this application -// Default: 0 -#define SL_APPLICATION_CAPABILITIES 0 - -//Product ID of the device for which the application is built -#define SL_APPLICATION_PRODUCT_ID { 0 } - -// - -#endif // APP_PROPERTIES_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/btl_interface_cfg.h b/src/ncp-uart-hw_MGM240PA32VNN/config/btl_interface_cfg.h deleted file mode 100644 index d8a0a919..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/btl_interface_cfg.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_H -#define BTL_INTERFACE_CFG_H - -#if !defined(BOOTLOADER_APPLOADER) - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_1) -#include "btl_interface_cfg_s2c1.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_2) -#include "btl_interface_cfg_s2c2.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_3) -#include "btl_interface_cfg_s2c3.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_4) -#include "btl_interface_cfg_s2c4.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_5) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_6) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_8) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#endif // !BOOTLOADER_APPLOADER - -#endif // BTL_INTERFACE_CFG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h b/src/ncp-uart-hw_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h deleted file mode 100644 index 3e9d6018..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h +++ /dev/null @@ -1,321 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_S2C4_H -#define BTL_INTERFACE_CFG_S2C4_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Bootloader Interface Trust Zone Security State Configuration - -// Disable multi tiered fallback logic -// The fault handling logic as well as the USART auto-detection logic will be disabled. -// The re-configuration of SMU will be handled by querying the running bootloader -// for the peripheral list. Querying the peripheral list is supported from the bootloader -// version 2.0.0. Check for the BOOTLOADER_CAPABILITY_PERIPHERAL_LIST capability to -// see if the running bootloader supports querying the peripheral list. -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 0 - -// Disable peripheral access fault handling -// The fault handling triggered by an erroneous access of peripherals will be disabled. -// -// This should be disabled iff all the peripherals that are in use by the bootloader -// have been properly configured by the "Manually override security state of peripherals" option. -#define BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING 0 - -// Manually override the security state of peripherals in use by the bootloader -// Default: 0. -// Manually override the security state of peripherals. Choose the peripherals touched -// by the customized code to have a valid secure access state before interacting with the bootloader -// In practice, this means that the chosen peripherals will be available at the secure address, -// which is accessible by the bootloader. Once the application is entered back the secure access state -// is changed back to the original state. -// -// The USART auto-detection logic that detects which, if any, USART is in use by the bootloader -// will be disabled. Make sure to choose the correct USART used by the bootloader. -#define BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE 0 -// EMU -// Update secure access state of EMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_EMU 0 - -// CMU -// Update secure access state of CMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_CMU 0 - -// HFRCO0 -// Update secure access state of HFRCO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFRCO0 0 - -// FSRCO -// Update secure access state of FSRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_FSRCO 0 - -// DPLL0 -// Update secure access state of DPLL0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_DPLL0 0 - -// LFXO -// Update secure access state of LFXO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFXO 0 - -// LFRCO -// Update secure access state of LFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFRCO 0 - -// ULFRCO -// Update secure access state of ULFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_ULFRCO 0 - -// MSC -// Update secure access state of MSC before calling into bootloader -#define BOOTLOADER_PPUSATD0_MSC 0 - -// ICACHE0 -// Update secure access state of ICACHE0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_ICACHE0 0 - -// PRS -// Update secure access state of PRS before calling into bootloader -#define BOOTLOADER_PPUSATD0_PRS 0 - -// GPIO -// Update secure access state of GPIO before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPIO 0 - -// LDMA -// Update secure access state of LDMA before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMA 0 - -// LDMAXBAR -// Update secure access state of LDMAXBAR before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMAXBAR 0 - -// TIMER0 -// Update secure access state of TIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER0 0 - -// TIMER1 -// Update secure access state of TIMER1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER1 0 - -// TIMER2 -// Update secure access state of TIMER2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER2 0 - -// TIMER3 -// Update secure access state of TIMER3 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER3 0 - -// TIMER4 -// Update secure access state of TIMER4 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER4 0 - -// USART0 -// Update secure access state of USART0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART0 0 - -// BURTC -// Update secure access state of BURTC before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURTC 0 - -// I2C1 -// Update secure access state of I2C1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_I2C1 0 - -// CHIPTESTCTRL -// Update secure access state of CHIPTESTCTRL before calling into bootloader -#define BOOTLOADER_PPUSATD0_CHIPTESTCTRL 0 - -// SYSCFGCFGNS -// Update secure access state of SYSCFGCFGNS before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSCFGCFGNS 0 - -// SYSCFG -// Update secure access state of SYSCFG before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSCFG 0 - -// BURAM -// Update secure access state of BURAM before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURAM 0 - -// GPCRC -// Update secure access state of GPCRC before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPCRC 0 - -// DCDC -// Update secure access state of DCDC before calling into bootloader -#define BOOTLOADER_PPUSATD0_DCDC 0 - -// HOSTMAILBOX -// Update secure access state of HOSTMAILBOX before calling into bootloader -#define BOOTLOADER_PPUSATD0_HOSTMAILBOX 0 - -// EUSART1 -// Update secure access state of EUSART1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_EUSART1 0 - -// SYSRTC -// Update secure access state of SYSRTC before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSRTC 0 - -// KEYSCAN -// Update secure access state of KEYSCAN before calling into bootloader -#define BOOTLOADER_PPUSATD1_KEYSCAN 0 - -// DMEM -// Update secure access state of DMEM before calling into bootloader -#define BOOTLOADER_PPUSATD1_DMEM 0 - -// RADIOAES -// Update secure access state of RADIOAES before calling into bootloader -#define BOOTLOADER_PPUSATD1_RADIOAES 0 - -// SMU -// Update secure access state of SMU before calling into bootloader -#define BOOTLOADER_PPUSATD1_SMU 0 - -// SMUCFGNS -// Update secure access state of SMUCFGNS before calling into bootloader -#define BOOTLOADER_PPUSATD1_SMUCFGNS 0 - -// LETIMER0 -// Update secure access state of LETIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_LETIMER0 0 - -// IADC0 -// Update secure access state of IADC0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_IADC0 0 - -// ACMP0 -// Update secure access state of ACMP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP0 0 - -// ACMP1 -// Update secure access state of ACMP1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP1 0 - -// AMUXCP0 -// Update secure access state of AMUXCP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_AMUXCP0 0 - -// VDAC0 -// Update secure access state of VDAC0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_VDAC0 0 - -// VDAC1 -// Update secure access state of VDAC1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_VDAC1 0 - -// PCNT -// Update secure access state of PCNT before calling into bootloader -#define BOOTLOADER_PPUSATD1_PCNT 0 - -// HFRCO1 -// Update secure access state of HFRCO1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_HFRCO1 0 - -// HFXO0 -// Update secure access state of HFXO0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_HFXO0 0 - -// I2C0 -// Update secure access state of I2C0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_I2C0 0 - -// WDOG0 -// Update secure access state of WDOG0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG0 0 - -// WDOG1 -// Update secure access state of WDOG1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG1 0 - -// EUSART0 -// Update secure access state of EUSART0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_EUSART0 0 - -// SEMAILBOX -// Update secure access state of SEMAILBOX before calling into bootloader -#define BOOTLOADER_PPUSATD1_SEMAILBOX 0 - -// MVP -// Update secure access state of MVP before calling into bootloader -#define BOOTLOADER_PPUSATD1_MVP 0 - -// AHBRADIO -// Update secure access state of AHBRADIO before calling into bootloader -#define BOOTLOADER_PPUSATD1_AHBRADIO 0 -// - -// -// <<< 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_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_TIMER4 << _SMU_PPUSATD0_TIMER4_SHIFT) \ - | (BOOTLOADER_PPUSATD0_USART0 << _SMU_PPUSATD0_USART0_SHIFT) \ - | (BOOTLOADER_PPUSATD0_BURTC << _SMU_PPUSATD0_BURTC_SHIFT) \ - | (BOOTLOADER_PPUSATD0_I2C1 << _SMU_PPUSATD0_I2C1_SHIFT) \ - | (BOOTLOADER_PPUSATD0_CHIPTESTCTRL << _SMU_PPUSATD0_CHIPTESTCTRL_SHIFT) \ - | (BOOTLOADER_PPUSATD0_SYSCFGCFGNS << _SMU_PPUSATD0_SYSCFGCFGNS_SHIFT) \ - | (BOOTLOADER_PPUSATD0_SYSCFG << _SMU_PPUSATD0_SYSCFG_SHIFT) \ - | (BOOTLOADER_PPUSATD0_BURAM << _SMU_PPUSATD0_BURAM_SHIFT) \ - | (BOOTLOADER_PPUSATD0_GPCRC << _SMU_PPUSATD0_GPCRC_SHIFT) \ - | (BOOTLOADER_PPUSATD0_DCDC << _SMU_PPUSATD0_DCDC_SHIFT) \ - | (BOOTLOADER_PPUSATD0_HOSTMAILBOX << _SMU_PPUSATD0_HOSTMAILBOX_SHIFT) \ - | (BOOTLOADER_PPUSATD0_EUSART1 << _SMU_PPUSATD0_EUSART1_SHIFT) \ - | (BOOTLOADER_PPUSATD0_SYSRTC << _SMU_PPUSATD0_SYSRTC_SHIFT)) -#define BOOTLOADER_PPUSATD1_MASK ((BOOTLOADER_PPUSATD1_KEYSCAN << _SMU_PPUSATD1_KEYSCAN_SHIFT) \ - | (BOOTLOADER_PPUSATD1_DMEM << _SMU_PPUSATD1_DMEM_SHIFT) \ - | (BOOTLOADER_PPUSATD1_RADIOAES << _SMU_PPUSATD1_RADIOAES_SHIFT) \ - | (BOOTLOADER_PPUSATD1_SMU << _SMU_PPUSATD1_SMU_SHIFT) \ - | (BOOTLOADER_PPUSATD1_SMUCFGNS << _SMU_PPUSATD1_SMUCFGNS_SHIFT) \ - | (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_AMUXCP0 << _SMU_PPUSATD1_AMUXCP0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_VDAC0 << _SMU_PPUSATD1_VDAC0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_VDAC1 << _SMU_PPUSATD1_VDAC1_SHIFT) \ - | (BOOTLOADER_PPUSATD1_PCNT << _SMU_PPUSATD1_PCNT_SHIFT) \ - | (BOOTLOADER_PPUSATD1_HFRCO1 << _SMU_PPUSATD1_HFRCO1_SHIFT) \ - | (BOOTLOADER_PPUSATD1_HFXO0 << _SMU_PPUSATD1_HFXO0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_I2C0 << _SMU_PPUSATD1_I2C0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_WDOG0 << _SMU_PPUSATD1_WDOG0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_WDOG1 << _SMU_PPUSATD1_WDOG1_SHIFT) \ - | (BOOTLOADER_PPUSATD1_EUSART0 << _SMU_PPUSATD1_EUSART0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_SEMAILBOX << _SMU_PPUSATD1_SEMAILBOX_SHIFT) \ - | (BOOTLOADER_PPUSATD1_MVP << _SMU_PPUSATD1_MVP_SHIFT) \ - | (BOOTLOADER_PPUSATD1_AHBRADIO << _SMU_PPUSATD1_AHBRADIO_SHIFT)) -#endif // BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE - -#endif // BTL_INTERFACE_CFG_S2C4_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/dmadrv_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/dmadrv_config.h deleted file mode 100644 index be24f49d..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/dmadrv_config.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef DMADRV_CONFIG_H -#define DMADRV_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMA interrupt priority <0-15> -// Priority of the DMA interrupt. Smaller number equals higher priority. -// Default: 8 -#define EMDRV_DMADRV_DMA_IRQ_PRIORITY 8 - -// Number of available channels <1-8> -// Number of DMA channels supported by the driver. A lower channel count -// will reduce RAM memory footprint. The default is to support all channels -// on the device. -// Default: 8 -#define EMDRV_DMADRV_DMA_CH_COUNT 8 - -// Number of fixed priority channels -// This will configure channels [0, CH_PRIORITY - 1] as fixed priority, -// and channels [CH_PRIORITY, CH_COUNT] as round-robin. -// Default: 0 -#define EMDRV_DMADRV_DMA_CH_PRIORITY 0 - -// <<< end of configuration section >>> - -#endif // DMADRV_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/emlib_core_debug_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/emlib_core_debug_config.h deleted file mode 100644 index e4a01682..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/emlib_core_debug_config.h +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************//** - * @file - * @brief emlib_core Configuration - ******************************************************************************* - * # License - * Copyright 2019 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 EM_CORE_DEBUG_CONFIG_H -#define EM_CORE_DEBUG_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Core Configuration - -// Enables measuring of interrupt disable time for debugging purposes. -// Default: 0 -#define SL_EMLIB_CORE_ENABLE_INTERRUPT_DISABLED_TIMING 0 - -// - -// <<< end of configuration section >>> -#endif // EM_CORE_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/legacy_common_ash_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/legacy_common_ash_config.h deleted file mode 100644 index fe9ffaf4..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/legacy_common_ash_config.h +++ /dev/null @@ -1,43 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Legacy Host ASH configuration file. - ******************************************************************************* - * # License - * Copyright 2021 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 LEGACY_NCP_ASH_CONFIG_H -#define LEGACY_NCP_ASH_CONFIG_H - -// The USART used for ASH communications in COM_Port_t format, as defined in platform/service/legacy_hal/inc/serial.h (see defined names for USART ports) <-1..3:1> -// Default: (-1) -// The default value of -1 causes the ASH code to try to use the USART assigned to the "VCOM" instance of SL_IOSTREAM_USART. Otherwise the value is passed to Legacy HAL, which attempts to find an instance of SL_IOSTREAM_USART which uses that USART. -#define LEGACY_NCP_ASH_SERIAL_PORT (-1) - -#endif /* LEGACY_NCP_ASH_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/legacy_hal_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/legacy_hal_config.h deleted file mode 100644 index a6d18138..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/legacy_hal_config.h +++ /dev/null @@ -1,47 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Legacy HAL configuration file. - ******************************************************************************* - * # License - * Copyright 2021 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 LEGACY_HAL_CONFIG_H -#define LEGACY_HAL_CONFIG_H - -// Translate button interrupt callback -// When the Simple Button component is included, it provides a callback for -// buttons configured in interrupt mode. When this option is 1, Legacy HAL -// will try to consume that callback and translate it to "halButtonIsr", -// the legacy callback. If anything else in the application consumes the -// Simple button callback, it will override Legacy HAL's version. -// Default: 1 -#define LEGACY_HAL_TRANSLATE_BUTTON_INTERRUPT (1) - -#endif /* LEGACY_HAL_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/nvm3_default_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/nvm3_default_config.h deleted file mode 100644 index df85ba9e..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/nvm3_default_config.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef NVM3_DEFAULT_CONFIG_H -#define NVM3_DEFAULT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// NVM3 Default Instance Configuration - -#ifndef NVM3_DEFAULT_CACHE_SIZE -// NVM3 Default Instance Cache Size -// Number of NVM3 objects to cache. To reduce access times this number -// should be equal to or higher than the number of NVM3 objects in the -// default NVM3 instance. -// Default: 200 -#define NVM3_DEFAULT_CACHE_SIZE 200 -#endif - -#ifndef NVM3_DEFAULT_MAX_OBJECT_SIZE -// NVM3 Default Instance Max Object Size -// Max NVM3 object size that can be stored. -// Default: 254 -#define NVM3_DEFAULT_MAX_OBJECT_SIZE 254 -#endif - -#ifndef NVM3_DEFAULT_REPACK_HEADROOM -// NVM3 Default Instance User Repack Headroom -// Headroom determining how many bytes below the forced repack limit the user -// repack limit should be placed. The default is 0, which means the user and -// forced repack limits are equal. -// Default: 0 -#define NVM3_DEFAULT_REPACK_HEADROOM 0 -#endif - -#ifndef NVM3_DEFAULT_NVM_SIZE -// NVM3 Default Instance Size -// Size of the NVM3 storage region in flash. This size should be aligned with -// the flash page size of the device. -// Default: 40960 -#define NVM3_DEFAULT_NVM_SIZE 32768 -#endif - -// - -// <<< end of configuration section >>> - -#endif // NVM3_DEFAULT_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/pin_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/pin_config.h deleted file mode 100644 index 5f2290ac..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/pin_config.h +++ /dev/null @@ -1,187 +0,0 @@ -#ifndef PIN_CONFIG_H -#define PIN_CONFIG_H - -// $[CMU] -// [CMU]$ - -// $[LFXO] -// [LFXO]$ - -// $[PRS.ASYNCH0] -// [PRS.ASYNCH0]$ - -// $[PRS.ASYNCH1] -// [PRS.ASYNCH1]$ - -// $[PRS.ASYNCH2] -// [PRS.ASYNCH2]$ - -// $[PRS.ASYNCH3] -// [PRS.ASYNCH3]$ - -// $[PRS.ASYNCH4] -// [PRS.ASYNCH4]$ - -// $[PRS.ASYNCH5] -// [PRS.ASYNCH5]$ - -// $[PRS.ASYNCH6] -// [PRS.ASYNCH6]$ - -// $[PRS.ASYNCH7] -// [PRS.ASYNCH7]$ - -// $[PRS.ASYNCH8] -// [PRS.ASYNCH8]$ - -// $[PRS.ASYNCH9] -// [PRS.ASYNCH9]$ - -// $[PRS.ASYNCH10] -// [PRS.ASYNCH10]$ - -// $[PRS.ASYNCH11] -// [PRS.ASYNCH11]$ - -// $[PRS.ASYNCH12] -// [PRS.ASYNCH12]$ - -// $[PRS.ASYNCH13] -// [PRS.ASYNCH13]$ - -// $[PRS.ASYNCH14] -// [PRS.ASYNCH14]$ - -// $[PRS.ASYNCH15] -// [PRS.ASYNCH15]$ - -// $[PRS.SYNCH0] -// [PRS.SYNCH0]$ - -// $[PRS.SYNCH1] -// [PRS.SYNCH1]$ - -// $[PRS.SYNCH2] -// [PRS.SYNCH2]$ - -// $[PRS.SYNCH3] -// [PRS.SYNCH3]$ - -// $[GPIO] -// GPIO SWV on PA03 -#ifndef GPIO_SWV_PORT -#define GPIO_SWV_PORT gpioPortA -#endif -#ifndef GPIO_SWV_PIN -#define GPIO_SWV_PIN 3 -#endif - -// [GPIO]$ - -// $[TIMER0] -// [TIMER0]$ - -// $[TIMER1] -// [TIMER1]$ - -// $[TIMER2] -// [TIMER2]$ - -// $[TIMER3] -// [TIMER3]$ - -// $[TIMER4] -// [TIMER4]$ - -// $[USART0] -// USART0 CTS on PA07 -#ifndef USART0_CTS_PORT -#define USART0_CTS_PORT gpioPortA -#endif -#ifndef USART0_CTS_PIN -#define USART0_CTS_PIN 7 -#endif - -// USART0 RTS on PA08 -#ifndef USART0_RTS_PORT -#define USART0_RTS_PORT gpioPortA -#endif -#ifndef USART0_RTS_PIN -#define USART0_RTS_PIN 8 -#endif - -// USART0 RX on PA05 -#ifndef USART0_RX_PORT -#define USART0_RX_PORT gpioPortA -#endif -#ifndef USART0_RX_PIN -#define USART0_RX_PIN 5 -#endif - -// USART0 TX on PA06 -#ifndef USART0_TX_PORT -#define USART0_TX_PORT gpioPortA -#endif -#ifndef USART0_TX_PIN -#define USART0_TX_PIN 6 -#endif - -// [USART0]$ - -// $[I2C1] -// [I2C1]$ - -// $[EUSART1] -// [EUSART1]$ - -// $[KEYSCAN] -// [KEYSCAN]$ - -// $[LETIMER0] -// [LETIMER0]$ - -// $[IADC0] -// [IADC0]$ - -// $[ACMP0] -// [ACMP0]$ - -// $[ACMP1] -// [ACMP1]$ - -// $[VDAC0] -// [VDAC0]$ - -// $[VDAC1] -// [VDAC1]$ - -// $[PCNT0] -// [PCNT0]$ - -// $[HFXO0] -// [HFXO0]$ - -// $[I2C0] -// [I2C0]$ - -// $[EUSART0] -// [EUSART0]$ - -// $[PTI] -// [PTI]$ - -// $[MODEM] -// [MODEM]$ - -// $[CUSTOM_PIN_NAME] -#ifndef _PORT -#define _PORT gpioPortA -#endif -#ifndef _PIN -#define _PIN 0 -#endif - -// [CUSTOM_PIN_NAME]$ - -#endif // PIN_CONFIG_H - diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/psa_crypto_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/psa_crypto_config.h deleted file mode 100644 index a17b0efc..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/psa_crypto_config.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef PSA_CRYPTO_CONFIG_H -#define PSA_CRYPTO_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Key management configuration - -// PSA User Maximum Open Keys Count <0-128> -// Maximum amount of keys that the user application will have open -// simultaneously. In context of PSA Crypto, an open key means any key -// either stored in RAM (lifetime set to PSA_KEY_LIFETIME_VOLATILE), or -// used as part of a cryptographic operation. -// When using a key for a multi-part (setup/update/finish) operation, a key -// is considered to be open from the moment the operation is successfully -// setup, until it finishes or aborts. -// When an application tries to open more keys than this value accounts for, -// the PSA API may return PSA_ERROR_INSUFFICIENT_MEMORY. Keep in mind that -// other software included in the application (e.g. wireless protocol stacks) -// also can have a need to have open keys in PSA Crypto. This could lead to -// a race condition when the application key slot count is set too low for -// the actual usage of the application, as a software stack may not fail -// gracefully in case an application opens more than its declared amount of -// keys, thereby precluding the stack from functioning. -// Default: 4 -#define SL_PSA_KEY_USER_SLOT_COUNT (4) - -// PSA Maximum User Persistent Keys Count <0-1024> -// Maximum amount of keys (or other files) that can be stored persistently -// by the application through the PSA interface, when persistent storage -// support for PSA Crypto is included in the project. -// Due to caching logic, this setting does have an impact on static RAM usage. -// Note that this number is added to the potential requirements from other -// software components in the project, such that the total amount of keys -// which can be stored through the ITS backend can be higher than what is -// configured here. -// -// WARNING: When changing this setting on an application that is already -// deployed, and thus will get the change through an application upgrade, -// care should be taken to ensure that the setting is only ever increased, -// and never decreased. Decreasing this setting might cause previously -// stored keys/files to become inaccessible. -// -// It is not possible to change this setting when using V3 ITS Driver. -// The file-storage indexing is dependent on the maximum number of files, -// and if SL_PSA_ITS_USER_MAX_FILES is changed, ITS should be cleared and -// all files need to be stored again. -// Default: 128 -#define SL_PSA_ITS_USER_MAX_FILES (128) - -// Enable V1 Format Support For ITS Files <0-1> -// Devices that used PSA ITS together with gecko_sdk_3.1.x or earlier -// might have keys (or other files) stored in V1 format. -// If no v1 files are used, its support can be disabled for space -// optimization. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V1_DRIVER 0 - -// Enable V2 ITS Driver Support <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. Enabling this -// config option adds upgrade code which converts V2 (and V1 if -// supported) format ITS keys/files to the latest V3 format. Update is -// fully automatic, needs to be run once and require extra flash space of -// approximately the size of the largest key. -// V1 ITS driver support can be disabled if the device has never used ITS -// driver before in GSDK 4.1.x and earlier, or the keys has been already -// migrated. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V2_DRIVER 0 - -// Enable support for V3 ITS Driver <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. In rare case -// that those devices have full nvm3 and not enough space for the -// upgrade, (that requires an extra space to store largest key in memory -// twice), this config option can disable v3 driver and use v2 one. -// To upgrade the device, make space for the upgrade, and enable v3 driver again. -// -// WARNING: When using V3 driver, it is not possible to increase or decrease -// the value of SL_PSA_ITS_USER_MAX_FILES. If the change of -// SL_PSA_ITS_USER_MAX_FILES is required, ITS should be cleared and -// all files need to be stored again. -// Default: 1 -#define SL_PSA_ITS_SUPPORT_V3_DRIVER 1 - -// Built-in AES Key Mode of Operation -// CTR Mode -// CFB Mode -// OFB Mode -// ECB Mode -// CBC Mode (no padding) -// CBC Mode (PKCS#7 padding) -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// Default: PSA_ALG_CTR -#define SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG (PSA_ALG_CTR) - -#ifndef SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG -// Built-in PUF Key Algorithm -// PBKDF2 (CMAC-AES-128-PRF) -// CMAC -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// It is recommended to only use the PUF key for deriving further key -// material. -// Default: PSA_ALG_PBKDF2_AES_CMAC_PRF_128 -#define SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG (PSA_ALG_PBKDF2_AES_CMAC_PRF_128) -#endif // SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG - -// - -// Power optimization configuration - -// Store already-generated random bytes before putting the device to sleep -// Using the hardware TRNG (for example through psa_generate_random()) will -// consume a non-negligible amount of power. A start-up routine must pass -// and a relatively large minimum amount of random bytes will be generated. -// Use cases where the device is frequently entering EM2/EM3 and thereafter -// consumes a small amount of data from the TRNG may benefit from buffering -// the existing random bytes before putting the device to sleep. These -// buffered bytes are then consumed until exhaustion before the TRNG needs -// to be initialized and used again. -// -// NOTE: this configuration option is only applicable for devices with a -// Virtual Secure Engine (VSE), and requires the 'Power Manager' component -// to be included in the project. -// -// Default: 0 -#define SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP (0) - -// Number of random words to buffer before putting the device to sleep <1-63> -// This option can be used to decrease the amount of random words that -// (if enabled) are buffered before the device enters EM2/EM3. Lowering this -// number will result in less static RAM usage, but also means that the TRNG -// potentially has to be initialized more times--leading to increased power -// consumption. By default this option in configured to buffer as much TRNG -// data as possible (limited by the depth of the TRNG FIFO). -// -// NOTE: this configuration option is only applicable when -// SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP is enabled. -// -// Default: 63 -#define SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP (63) -// - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_psa_config_autogen.h" -#endif - -#if defined(TFM_CONFIG_SL_SECURE_LIBRARY) - #include "sli_psa_tfm_translation.h" -#endif - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_psa_acceleration.h" -#endif - -#include "sli_psa_builtin_config_autogen.h" - -#endif // PSA_CRYPTO_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h deleted file mode 100644 index 14e8a53c..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h +++ /dev/null @@ -1,321 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Oscillators 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_CLOCK_MANAGER_OSCILLATOR_CONFIG_H -#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H - -// Oscillators Settings - -// HFXO Settings (if High Frequency crystal is used) -// Enable to configure HFXO -#ifndef SL_CLOCK_MANAGER_HFXO_EN -#define SL_CLOCK_MANAGER_HFXO_EN 1 -#endif - -// Mode -// -// XTAL -// EXTCLK -// EXTCLKPKDET -// HFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_HFXO_MODE -#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL -#endif - -// Frequency <38000000-40000000> -// 39000000 -#ifndef SL_CLOCK_MANAGER_HFXO_FREQ -#define SL_CLOCK_MANAGER_HFXO_FREQ 39000000 -#endif - -// CTUNE <0-255> -// 140 -#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE -#define SL_CLOCK_MANAGER_HFXO_CTUNE 140 -#endif - -// Precision <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION -#define SL_CLOCK_MANAGER_HFXO_PRECISION 50 -#endif - -// HFXO crystal sharing feature -// Enable to configure HFXO crystal sharing leader or follower -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN 0 -#endif - -// Crystal sharing leader -// Enable to configure HFXO crystal sharing leader -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN 0 -#endif - -// Crystal sharing leader minimum startup delay -// If enabled, BUFOUT does not start until timeout set in -// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP expires. -// This prevents waste of power if BUFOUT is ready too early. -// 1 -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN 1 -#endif - -// Wait duration of oscillator startup sequence -// -// T42US -// T83US -// T108US -// T133US -// T158US -// T183US -// T208US -// T233US -// T258US -// T283US -// T333US -// T375US -// T417US -// T458US -// T500US -// T667US -// HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US -#endif -// -// - -// Crystal sharing follower -// Enable to configure HFXO crystal sharing follower -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN 0 -#endif -// - -// GPIO Port -// Bufout request GPIO port. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN -// is enabled, this port will be used to receive the BUFOUT request. If -// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this port -// will be used to request BUFOUT from the crystal sharing leader. -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT 0 -#endif - -// GPIO Pin -// Bufout request GPIO pin. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN -// is enabled, this pin will be used to receive the BUFOUT request. If -// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this pin -// will be used to request BUFOUT from the crystal sharing leader. -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN 10 -#endif -// -// - -// LFXO Settings (if Low Frequency crystal is used) -// Enable to configure LFXO -#ifndef SL_CLOCK_MANAGER_LFXO_EN -#define SL_CLOCK_MANAGER_LFXO_EN 1 -#endif - -// Mode -// -// XTAL -// BUFEXTCLK -// DIGEXTCLK -// LFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_LFXO_MODE -#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL -#endif - -// CTUNE <0-127> -// 63 -#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE -#define SL_CLOCK_MANAGER_LFXO_CTUNE 63 -#endif - -// LFXO precision in PPM <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION -#define SL_CLOCK_MANAGER_LFXO_PRECISION 50 -#endif - -// Startup Timeout Delay -// -// CYCLES2 -// CYCLES256 -// CYCLES1K -// CYCLES2K -// CYCLES4K -// CYCLES8K -// CYCLES16K -// CYCLES32K -// LFXO_CFG_TIMEOUT_CYCLES4K -#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT -#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K -#endif -// - -// HFRCO and DPLL Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 7 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 38 MHz -// 48 MHz -// 56 MHz -// 64 MHz -// 80 MHz -// cmuHFRCODPLLFreq_80M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCO_BAND -#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz -#endif - -// Use DPLL -// Enable to use the DPLL with HFRCO -#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN -#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 0 -#endif - -// Target Frequency <1000000-80000000> -// DPLL target frequency -// 78000000 -#ifndef SL_CLOCK_MANAGER_DPLL_FREQ -#define SL_CLOCK_MANAGER_DPLL_FREQ 78000000 -#endif - -// Numerator (N) <300-4095> -// Value of N for output frequency calculation fout = fref * (N+1) / (M+1) -// 3839 -#ifndef SL_CLOCK_MANAGER_DPLL_N -#define SL_CLOCK_MANAGER_DPLL_N 3839 -#endif - -// Denominator (M) <0-4095> -// Value of M for output frequency calculation fout = fref * (N+1) / (M+1) -// 1919 -#ifndef SL_CLOCK_MANAGER_DPLL_M -#define SL_CLOCK_MANAGER_DPLL_M 1919 -#endif - -// Reference Clock -// Reference clock source for DPLL -// DISABLED -// HFXO -// LFXO -// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK -#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#endif - -// Reference Clock Edge Detect -// Edge detection for reference clock -// Falling Edge -// Rising Edge -// cmuDPLLEdgeSel_Fall -#ifndef SL_CLOCK_MANAGER_DPLL_EDGE -#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall -#endif - -// DPLL Lock Mode -// Lock mode -// Frequency-Lock Loop -// Phase-Lock Loop -// cmuDPLLLockMode_Freq -#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE -#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase -#endif - -// Automatic Lock Recovery -// 1 -#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER -#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1 -#endif - -// Enable Dither -// 0 -#ifndef SL_CLOCK_MANAGER_DPLL_DITHER -#define SL_CLOCK_MANAGER_DPLL_DITHER 0 -#endif -// -// - -// HFRCOEM23 Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 40 MHz -// cmuHFRCOEM23Freq_19M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND -#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz -#endif -// - -// LFRCO Settings -// Precision Mode -// Precision mode uses hardware to automatically re-calibrate the LFRCO -// against a crystal driven by the HFXO. Hardware detects temperature -// changes and initiates a re-calibration of the LFRCO as needed when -// operating in EM0, EM1, or EM2. If a re-calibration is necessary and the -// HFXO is not active, the precision mode hardware will automatically -// enable HFXO for a short time to perform the calibration. EM4 operation is -// not allowed while precision mode is enabled. -// If high precision is selected on devices that do not support it, default -// precision will be used. -// Default precision -// High precision -// cmuPrecisionDefault -#ifndef SL_CLOCK_MANAGER_LFRCO_PRECISION -#define SL_CLOCK_MANAGER_LFRCO_PRECISION cmuPrecisionDefault -#endif -// - -// - -#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_clock_manager_tree_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_clock_manager_tree_config.h deleted file mode 100644 index 10dc053b..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_clock_manager_tree_config.h +++ /dev/null @@ -1,282 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Clock Tree 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_CLOCK_MANAGER_TREE_CONFIG_H -#define SL_CLOCK_MANAGER_TREE_CONFIG_H - -// Internal Defines: DO NOT MODIFY -// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE -// selection of each clock branch to the right HW register value. -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA - -// Clock Tree Settings - -// Default Clock Source Selection for HF clock branches -// HFRCODPLL -// HFXO -// FSRCO -// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#endif - -// Default Clock Source Selection for LF clock branches -// LFRCO -// LFXO -// ULFRCO -// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#endif - -// System Clock Branch Settings - -// Clock Source Selection for SYSCLK branch -// DEFAULT_HF -// FSRCO -// HFRCODPLL -// HFXO -// Selection of the Clock source for SYSCLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// HCLK branch divider -// DIV1 -// DIV2 -// DIV4 -// DIV8 -// DIV16 -// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface. -// CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER -#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#endif - -// PCLK branch divider -// DIV1 -// DIV2 -// PCLK branch is derived from HCLK. This clock drives the APB bus interface. -// CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER -#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#endif - -// - -// Trace Clock Branches Settings -// Clock Source Selection for TRACECLK branch -// DISABLE -// SYSCLK -// HFRCOEM23 -// HFRCODPLLRT -// Selection of the Clock source for TRACECLK -// CMU_TRACECLKCTRL_CLKSEL_SYSCLK -#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE -#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_SYSCLK -#endif - -// TRACECLK branch Divider -// DIV1 -// DIV2 -// DIV3 -// DIV4 -// Selection of the divider value for TRACECLK branch -// CMU_TRACECLKCTRL_PRESC_DIV1 -#ifndef SL_CLOCK_MANAGER_TRACECLK_DIVIDER -#define SL_CLOCK_MANAGER_TRACECLK_DIVIDER CMU_TRACECLKCTRL_PRESC_DIV1 -#endif - -// - -// High Frequency Clock Branches Settings -// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible -// EM01GRPACLK clock the Timer peripherals -// Clock Source Selection for EM01GRPACLK branch -// DEFAULT_HF -// HFRCODPLL -// HFXO -// FSRCO -// HFRCOEM23 -// HFRCODPLLRT -// HFXORT -// Selection of the Clock source for EM01GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM01GRPCCLK branch -// DEFAULT_HF -// HFRCODPLL -// HFXO -// FSRCO -// HFRCOEM23 -// HFRCODPLLRT -// HFXORT -// Selection of the Clock source for EM01GRPCCLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE -#define SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// Clock Source Selection for IADCCLK branch -// EM01GRPACLK -// FSRCO -// HFRCOEM23 -// Selection of the Clock source for IADCCLK -// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE -#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#endif - -// - -// Low Frequency Clock Branches Settings - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM23GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM4GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM4GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for SYSRTCCLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for SYSRTCCLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG0CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG0CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG1CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG1CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for PCNT0CLK branch -// DISABLED -// EM23GRPACLK -// PCNTS0 -// Selection of the Clock source for PCNT0CLK -// CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK -#ifndef SL_CLOCK_MANAGER_PCNT0CLK_SOURCE -#define SL_CLOCK_MANAGER_PCNT0CLK_SOURCE CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK -#endif - -// - -// Mixed Frequency Clock Branch Settings -// Clock Source Selection for EUSART0CLK branch -// DISABLED -// EM01GRPCCLK -// HFRCOEM23 -// LFRCO -// LFXO -// Selection of the Clock source for EUSART0CLK -// CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK -#ifndef SL_CLOCK_MANAGER_EUSART0CLK_SOURCE -#define SL_CLOCK_MANAGER_EUSART0CLK_SOURCE CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK -#endif - -// Clock Source Selection for SYSTICKCLK branch -// <0=> HCLK -// <1=> EM23GRPACLK -// Selection of the Clock source for SYSTICKCLK -// 0 -#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0 -#endif - -// Clock Source Selection for VDAC0CLK branch -// DISABLED -// EM01GRPACLK -// EM23GRPACLK -// FSRCO -// HFRCOEM23 -// Selection of the Clock source for VDAC0CLK -// CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK -#ifndef SL_CLOCK_MANAGER_VDAC0CLK_SOURCE -#define SL_CLOCK_MANAGER_VDAC0CLK_SOURCE CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK -#endif - -// -// - -#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_core_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_core_config.h deleted file mode 100644 index 5b4725ee..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_core_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @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 \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_custom_manufacturing_token_header.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_custom_manufacturing_token_header.h deleted file mode 100644 index cba1a05e..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_custom_manufacturing_token_header.h +++ /dev/null @@ -1,84 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Custom manufacturing token header - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -/***************************************************************************//** - * Custom Manufacturing Token Usage Examples - * - * The macro DEFINE_MFG_TOKEN() should be used when instantiating a - * manufacturing token. Refer to the list of *_LOCATION defines to - * see what memory is allocated and what memory is unused/available. - * - * The _LOCATION is or'ed with either USERDATA_TOKENS or LOCKBITSDATA_TOKENS - * to control which segment of memory the token is placed in. - * - * REMEMBER: By definition, manufacturing tokens exist at fixed addresses. - * Tokens should not overlap. - * - * Here is a basic example of a manufacturing token header file: - * - * Note that the address used here is just an example. It places the 8 bytes - * in the middle of the USERDATA space on an EFR32MG12P433F1024GM68. - * To review addresses of existing tokens when choosing a new address, refer - * to an961-custom-nodes-efr32.pdf and the files - * platform/service/token_manager/inc/sl_token_manufacturing_series_1.h - * platform/service/token_manager/inc/sl_token_manufacturing_series_2.h - * - * @code - * #define CREATOR_MFG_EXAMPLE 0x4242 - * #ifdef DEFINETYPES - * typedef uint8_t tokTypeMfgExample[8]; - * #endif - * #ifdef DEFINETOKENS - * #define MFG_EXAMPLE_LOCATION (USERDATA_TOKENS | 0x2000) - * DEFINE_MFG_TOKEN(MFG_EXAMPLE, - * tokTypeMfgExample, - * MFG_EXAMPLE_LOCATION, - * {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}) - * #endif - * @endcode - * - * Since this file contains both the typedefs and the token defs, there are - * two \#defines used to select which one is needed when this file is included. - * \#define DEFINETYPES is used to select the type definitions and - * \#define DEFINETOKENS is used to select the token definitions. - * - * To use this example: - * Ensure the Token Manager's configuration in Studio - * has enabled Custom Manufacuturing Tokens. - * - * Ensure your application has: - * #include "sl_token_api.h" - * #include "sl_token_manager.h" - * - * This code will read the token data: - * uint8_t data[8]; - * sl_token_get_data(TOKEN_MFG_EXAMPLE, 0, &data, sizeof(data)); - ******************************************************************************/ - -/* - #define CREATOR_MFG_EXAMPLE 0x4242 - #ifdef DEFINETYPES - typedef uint8_t tokTypeMfgExample[8]; - #endif - #ifdef DEFINETOKENS - #define MFG_EXAMPLE_LOCATION (USERDATA_TOKENS | 0x2000) - DEFINE_MFG_TOKEN(MFG_EXAMPLE, - tokTypeMfgExample, - MFG_EXAMPLE_LOCATION, - {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}) - #endif - */ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_custom_token_header.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_custom_token_header.h deleted file mode 100644 index 2d68afff..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_custom_token_header.h +++ /dev/null @@ -1,86 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Custom token header - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -/***************************************************************************//** - * Custom Tokens Usage Examples - * - * #define BASICTOKEN1_DEFAULT 0xA5F0 - * #define BASICTOKEN2_DEFAULT { { 0xAA, 0xBB, 0xCC }, 0xDDDD } - * #define BASICTOKEN3_DEFAULT { { 0 } } - * #define COUNTERTOKEN1_DEFAULT 0 - * #define COUNTERTOKEN2_DEFAULT 0xCCCCCCCC - * #define INDEXEDTOKEN1_DEFAULT 0 - * #define INDEXEDTOKEN2_DEFAULT { 0xDDDD } - * #define INDEXEDTOKEN3_DEFAULT { 0xAA, 0xBBBB, { 0x00, 0x11, 0x22 }, 0xCC } - * - * #ifdef DEFINETYPES - * typedef uint16_t tokTypeBasicToken1; - * typedef struct { - * uint8_t basicToken2Array[3]; - * uint16_t basicToken2VarA; - * } tokTypeBasicToken2; - * - * typedef struct { - * uint8_t basicToken3Array[254]; - * } tokTypeBasicToken3; - * - * typedef uint32_t tokTypeCounterToken1; - * typedef uint32_t tokTypeCounterToken2; - * - * typedef uint8_t tokTypeIndexedToken1Element; - * typedef uint16_t tokTypeIndexedToken2Element; - * - * typedef struct { - * uint8_t indexedToken3VarA; - * uint16_t indexedToken3VarB; - * uint8_t indexedToken3Array[3]; - * int8_t indexedToken3VarC; - * } tokTypeIndexedToken3Element; - * - * #endif - * - * #ifdef DEFINETOKENS - * DEFINE_BASIC_TOKEN(BASICTOKEN1, - * tokTypeBasicToken1, - * BASICTOKEN1_DEFAULT) - * DEFINE_BASIC_TOKEN(BASICTOKEN2, - * tokTypeBasicToken2, - * BASICTOKEN2_DEFAULT) - * DEFINE_BASIC_TOKEN(BASICTOKEN3, - * tokTypeBasicToken3, - * BASICTOKEN3_DEFAULT) - * DEFINE_COUNTER_TOKEN(COUNTERTOKEN1, - * tokTypeCounterToken1, - * COUNTERTOKEN1_DEFAULT) - * DEFINE_COUNTER_TOKEN(COUNTERTOKEN2, - * tokTypeCounterToken2, - * COUNTERTOKEN2_DEFAULT) - * DEFINE_INDEXED_TOKEN(INDEXEDTOKEN1, - * tokTypeIndexedToken1Element, - * INDEXEDTOKEN1_ELEMENTS, - * INDEXEDTOKEN1_DEFAULT) - * DEFINE_INDEXED_TOKEN(INDEXEDTOKEN2, - * tokTypeIndexedToken2Element, - * INDEXEDTOKEN2_ELEMENTS, - * INDEXEDTOKEN2_DEFAULT) - * DEFINE_INDEXED_TOKEN(INDEXEDTOKEN3, - * tokTypeIndexedToken3Element, - * INDEXEDTOKEN3_ELEMENTS, - * INDEXEDTOKEN3_DEFAULT) - * #endif - * - ******************************************************************************/ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_debug_swo_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_debug_swo_config.h deleted file mode 100644 index fee7e65d..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_debug_swo_config.h +++ /dev/null @@ -1,106 +0,0 @@ -/***************************************************************************//** - * @file - * @brief SWO configuration - ******************************************************************************* - * # License - * Copyright 2020 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_DEBUG_SWO_CONFIG_H -#define SL_DEBUG_SWO_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// SWO Configuration - -// SWO Frequency -// Must be 875 kHz for communication with Silicon Labs debuggers -// Default: 875000 -#define SL_DEBUG_SWO_FREQ 875000 - -// Enable interrupt event trace -// Default: 0 -#define SL_DEBUG_SWO_SAMPLE_IRQ 0 - -// Enable Program Counter samples -// Default: 0 -#define SL_DEBUG_SWO_SAMPLE_PC 0 - -// SWO debug sample intervals -// <64=> 64 -// <128=> 128 -// <192=> 192 -// <256=> 256 -// <320=> 320 -// <384=> 384 -// <448=> 448 -// <512=> 512 -// <576=> 576 -// <640=> 640 -// <704=> 704 -// <768=> 768 -// <832=> 832 -// <896=> 896 -// <960=> 960 -// <1024=> 1024 -// <2048=> 2048 -// <3072=> 3072 -// <4096=> 4096 -// <5102=> 5102 -// <6144=> 6144 -// <7168=> 7168 -// <8192=> 8192 -// <9216=> 9216 -// <10240=> 10240 -// <11264=> 11264 -// <12288=> 12288 -// <13312=> 13312 -// <14336=> 14336 -// <15360=> 15360 -// Must be 64, 128, 192, [ n * 64 ], 1024, 2048, 3072, [ n * 1024 ] , 15360 -// Default: 15360 -#define SL_DEBUG_SWO_SAMPLE_INTERVAL 15360 -// - -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_DEBUG -// $[GPIO_SL_DEBUG] -#ifndef SL_DEBUG_PERIPHERAL -#define SL_DEBUG_PERIPHERAL GPIO -#endif - -// GPIO SWV on PA03 -#ifndef SL_DEBUG_SWV_PORT -#define SL_DEBUG_SWV_PORT gpioPortA -#endif -#ifndef SL_DEBUG_SWV_PIN -#define SL_DEBUG_SWV_PIN 3 -#endif -// [GPIO_SL_DEBUG]$ -// <<< sl:end pin_tool >>> - -#endif // SL_DEBUG_SWO_CONFIG_H diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_device_init_dcdc_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_device_init_dcdc_config.h deleted file mode 100644 index 29497ba0..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_device_init_dcdc_config.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef SL_DEVICE_INIT_DCDC_CONFIG_H -#define SL_DEVICE_INIT_DCDC_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Enable DC/DC Converter -// -// Default: 1 -#define SL_DEVICE_INIT_DCDC_ENABLE 1 - -// Set DC/DC Converter in Bypass Mode -// -// Default: 0 -#define SL_DEVICE_INIT_DCDC_BYPASS 0 - -// Override for DCDC PFMX Mode Peak Current Setting -// -// Default: 0 -#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL_OVERRIDE 1 - -// DCDC PFMX Mode Peak Current Setting <0-15> -// -// Default: DCDC_PFMXCTRL_IPKVAL_DEFAULT -#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL 3 - -// <<< end of configuration section >>> - -#endif // SL_DEVICE_INIT_DCDC_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_fem_util_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_fem_util_config.h deleted file mode 100644 index 74bf6373..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_fem_util_config.h +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Front End Module configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_FEM_UTIL_CONFIG_H -#define SL_FEM_UTIL_CONFIG_H - -#include "em_gpio.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// FEM Configuration -// Enable RX Mode -// Default: 0 -#define SL_FEM_UTIL_RX_ENABLE 0 -// Enable TX Mode -// Default: 0 -#define SL_FEM_UTIL_TX_ENABLE 0 -// Enable Bypass Mode -// Default: 0 -#define SL_FEM_UTIL_BYPASS_ENABLE 0 -// Enable TX High Power Mode -// Default: 0 -#define SL_FEM_UTIL_TX_HIGH_POWER_ENABLE 0 -// - -// Automatic external FEM LNA bypass Configuration -// Enable automatic LNA bypass -// Default: 0 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_ENABLE 0 -// LNA bypass threshold -// <1-31:1> -// Default: 12 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_THRESHOLD 12 -// LNA bypass delta RSSI (dBm) -// <1-255:1> -// Default: 15 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_DELTA_RSSI_DBM 15 -// LNA bypass GPIO polarity -// <0-1:1> -// Default: 1 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_POLARITY 1 -// LNA bypass timeout (Us) -// <1-65535:1> -// Default: 4000 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_TIMEOUT_US 4000 -// -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_FEM_UTIL_RX -// $[PRS_SL_FEM_UTIL_RX] -//#define SL_FEM_UTIL_RX_CHANNEL 5 - -// PRS CH5 on PD10 -//#define SL_FEM_UTIL_RX_PORT gpioPortD -//#define SL_FEM_UTIL_RX_PIN 10 -//#define SL_FEM_UTIL_RX_LOC 0 - -// [PRS_SL_FEM_UTIL_RX]$ - -// SL_FEM_UTIL_TX -// $[PRS_SL_FEM_UTIL_TX] - -// [PRS_SL_FEM_UTIL_TX]$ - -// SL_FEM_UTIL_SLEEP -// $[PRS_SL_FEM_UTIL_SLEEP] -//#define SL_FEM_UTIL_SLEEP_CHANNEL 6 - -// PRS CH6 on PD11 -//#define SL_FEM_UTIL_SLEEP_PORT gpioPortD -//#define SL_FEM_UTIL_SLEEP_PIN 11 -//#define SL_FEM_UTIL_SLEEP_LOC 13 - -// [PRS_SL_FEM_UTIL_SLEEP]$ - -// SL_FEM_UTIL_BYPASS -// $[GPIO_SL_FEM_UTIL_BYPASS] - -// [GPIO_SL_FEM_UTIL_BYPASS]$ - -// SL_FEM_UTIL_TX_HIGH_POWER -// $[GPIO_SL_FEM_UTIL_TX_HIGH_POWER] - -// [GPIO_SL_FEM_UTIL_TX_HIGH_POWER]$ -// <<< sl:end pin_tool >>> - -#define SL_FEM_UTIL_OPTIMIZED_PHY_ENABLE 0 -#define SL_FEM_UTIL_RUNTIME_PHY_SELECT 0 - -#endif // SL_FEM_UTIL_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_hfxo_manager_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_hfxo_manager_config.h deleted file mode 100644 index f10cba3d..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_hfxo_manager_config.h +++ /dev/null @@ -1,56 +0,0 @@ -/***************************************************************************//** - * @file - * @brief HFXO Manager configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_HFXO_MANAGER_CONFIG_H -#define SL_HFXO_MANAGER_CONFIG_H - -// HFXO Manager Configuration - -// Enable custom IRQ handler for crystal HF oscillator. -// Enable if HFXO0_IRQHandler is needed from your application. -// The HFXO IRQ priority must not be changed as the HFXO Manager module needs it to be high priority -// and to stay enabled through atomic sections. -// The function sl_hfxo_manager_irq_handler() will have to be called from you custom handler if this is enabled. -// Default: 0 -#define SL_HFXO_MANAGER_CUSTOM_HFXO_IRQ_HANDLER 0 - -// Enable support for Sleepy Crystals. -// If Enabled and if HFXO fails to startup due to a sleepy crystal, HFXO Manager will retry the startup with more aggressive settings -// before falling back to the configured settings. -// Default: 0 -#define SL_HFXO_MANAGER_SLEEPY_CRYSTAL_SUPPORT 0 - -// - -#endif /* SL_HFXO_MANAGER_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h deleted file mode 100644 index 30fdec93..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h +++ /dev/null @@ -1,47 +0,0 @@ -/***************************************************************************//** - * @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 >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_iostream_usart_vcom_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_iostream_usart_vcom_config.h deleted file mode 100644 index b5a1585b..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_iostream_usart_vcom_config.h +++ /dev/null @@ -1,105 +0,0 @@ -/***************************************************************************//** - * @file - * @brief IOSTREAM_USART Config. - ******************************************************************************* - * # License - * Copyright 2020 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_IOSTREAM_USART_VCOM_CONFIG_H -#define SL_IOSTREAM_USART_VCOM_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// USART settings - -// Baud rate -// Default: 115200 -#define SL_IOSTREAM_USART_VCOM_BAUDRATE 115200 - -// Parity mode to use -// No Parity -// Even parity -// Odd parity -// Default: usartNoParity -#define SL_IOSTREAM_USART_VCOM_PARITY usartNoParity - -// Number of stop bits to use. -// 0.5 stop bits -// 1 stop bits -// 1.5 stop bits -// 2 stop bits -// Default: usartStopbits1 -#define SL_IOSTREAM_USART_VCOM_STOP_BITS usartStopbits1 - -// Flow control -// None -// CTS -// RTS -// CTS/RTS -// Software Flow control (XON/XOFF) -// Default: usartHwFlowControlNone -#define SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE usartHwFlowControlCtsAndRts - -// Receive buffer size -// Default: 32 -#define SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE 64 - -// Convert \n to \r\n -// It can be changed at runtime using the C API. -// Default: 0 -#define SL_IOSTREAM_USART_VCOM_CONVERT_BY_DEFAULT_LF_TO_CRLF 0 - -// Restrict the energy mode to allow the reception. -// Default: 1 -// Limits the lowest energy mode the system can sleep to in order to keep the reception on. May cause higher power consumption. -#define SL_IOSTREAM_USART_VCOM_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION 1 - -// - -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_IOSTREAM_USART_VCOM -// $[USART_SL_IOSTREAM_USART_VCOM] -#define SL_IOSTREAM_USART_VCOM_PERIPHERAL USART0 -#define SL_IOSTREAM_USART_VCOM_PERIPHERAL_NO 0 - -#define SL_IOSTREAM_USART_VCOM_TX_PORT gpioPortA -#define SL_IOSTREAM_USART_VCOM_TX_PIN 6 - -#define SL_IOSTREAM_USART_VCOM_RX_PORT gpioPortA -#define SL_IOSTREAM_USART_VCOM_RX_PIN 5 - -#define SL_IOSTREAM_USART_VCOM_CTS_PORT gpioPortA -#define SL_IOSTREAM_USART_VCOM_CTS_PIN 7 - -#define SL_IOSTREAM_USART_VCOM_RTS_PORT gpioPortA -#define SL_IOSTREAM_USART_VCOM_RTS_PIN 8 - -// [USART_SL_IOSTREAM_USART_VCOM]$ -// <<< sl:end pin_tool >>> - -#endif diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_iostream_vuart_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_iostream_vuart_config.h deleted file mode 100644 index b0c53246..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_iostream_vuart_config.h +++ /dev/null @@ -1,42 +0,0 @@ -/***************************************************************************//** - * @file - * @brief SL_IOSTREAM_VUART Config. - ******************************************************************************* - * # License - * Copyright 2019 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_IOSTREAM_VUART_CONFIG_H -#define SL_IOSTREAM_VUART_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// VUART settings -// Receive buffer size -// Default: 32 -#define SL_IOSTREAM_VUART_RX_BUFFER_SIZE 32 - -// -// <<< end of configuration section >>> -#endif \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_legacy_hal_wdog_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_legacy_hal_wdog_config.h deleted file mode 100644 index 786ef227..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_legacy_hal_wdog_config.h +++ /dev/null @@ -1,88 +0,0 @@ -/***************************************************************************//** - * @file sl_legacy_hal_wdog_config.h - * @brief Legacy HAL watchdog configuration file. - ******************************************************************************* - * # License - * Copyright 2022 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_LEGACY_HAL_WDOG_CONFIG_H -#define SL_LEGACY_HAL_WDOG_CONFIG_H - -// Legacy HAL WDOG Configurations - -// Disable calling halInternalEnableWatchDog in base-replacement.c's halInit(). -// Default: 0 -#define SL_LEGACY_HAL_DISABLE_WATCHDOG 0 -// - -// WDOG to use for SL_LEGACY_HAL_WDOGn. -// Default: 0 -// <0=> WDOG0 -// <1=> WDOD1 -#define SL_LEGACY_HAL_WDOGn 0 - -// Period for SL_LEGACY_HAL_WDOG timeout. -// Default: wdogPeriod_64k -// The default period of wdogPeriod_64k will trigger watchdog reset after 2 seconds (64k / 32k) and warning interrupt is triggered after 1.5 seconds (75% of timeout). -// wdogPeriod_9 / 9 clock periods -// wdogPeriod_17 / 17 clock periods -// wdogPeriod_33 / 33 clock periods -// wdogPeriod_65 / 65 clock periods -// wdogPeriod_129 / 129 clock periods -// wdogPeriod_257 / 257 clock periods -// wdogPeriod_513 / 513 clock periods -// wdogPeriod_1k / 1025 clock periods -// wdogPeriod_2k / 2049 clock periods -// wdogPeriod_4k / 4097 clock periods -// wdogPeriod_8k / 8193 clock periods -// wdogPeriod_16k / 16385 clock periods -// wdogPeriod_32k / 32769 clock periods -// wdogPeriod_64k / 65537 clock periods -// wdogPeriod_128k / 131073 clock periods -// wdogPeriod_256k / 262145 clock periods -#define SL_LEGACY_HAL_WDOG_PERIOD wdogPeriod_64k - -// Warning for SL_LEGACY_HAL_WDOG timeout. -// Default: wdogWarnTime75pct -// The default warning of wdogWarnTime75pct will trigger warning interrupt after 1.5 seconds (75% of timeout) if the period is wdogPeriod_64k. -// wdogWarnDisable / Watchdog warning period is disabled -// wdogWarnTime25pct / Watchdog warning period is 25% of the timeout -// wdogWarnTime50pct / Watchdog warning period is 50% of the timeout -// wdogWarnTime75pct / Watchdog warning period is 75% of the timeout -#define SL_LEGACY_HAL_WDOG_WARNING wdogWarnTime75pct - -// Counter keeps running during debug halt. -// Default: 0 -#define SL_LEGACY_HAL_WDOG_DEBUG_RUN 0 -// - -// - -#endif /* SL_LEGACY_HAL_WDOG_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_mbedtls_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_mbedtls_config.h deleted file mode 100644 index 5ebefc9a..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_mbedtls_config.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef SL_MBEDTLS_CONFIG_H -#define SL_MBEDTLS_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// TLS/DTLS configuration - -// Complete list of ciphersuites to use, in order of preference. -// Default: MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 -// Complete list of ciphersuites to use, in order of preference. -// The value of this configuration should be updated for the application needs. -#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 - -// Maximum TLS/DTLS fragment length in bytes (input). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when receiving data. -#define SL_MBEDTLS_SSL_IN_CONTENT_LEN 768 - -// Maximum TLS/DTLS fragment length in bytes (output). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when sending data. -#define SL_MBEDTLS_SSL_OUT_CONTENT_LEN 768 - -// Enable support for RFC 6066 max_fragment_length extension in SSL. -// Default: 1 -// Enable support for RFC 6066 max_fragment_length extension in SSL. -#define SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1 - -// Enable support for exporting key block and master secret. -// Default: 1 -// Enable support for exporting key block and master secret. -// This is required for certain users of TLS, e.g. EAP-TLS. -#define SL_MBEDTLS_SSL_EXPORT_KEYS 1 - -// Enable the PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 0 - -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 0 - -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 0 - -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 0 - -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 0 - -// Enable parsing of the compressed curves. -// Default: 0 -// Enable parsing of the compressed curves. -#define SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING 0 - -// - -// RSA configuration - -// Disable use of the Chinese Remainder Theorem for RSA. -// Default: 0 -// Disable use of the Chinese Remainder Theorem for RSA private key -// computations. -#define SL_MBEDTLS_RSA_NO_CRT 0 - -// - -// Miscellaneous configuration - -// Enable Silicon Labs' Mbed TLS- and PSA Crypto drivers. -// Default: 1 -// Enable drivers for hardware acceleration (Mbed TLS and PSA Crypto) and -// secure key handling (PSA Crypto). -#define SL_MBEDTLS_DRIVERS_ENABLED 1 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_mbedtls_config_autogen.h" -#endif - -#include "sli_mbedtls_omnipresent.h" - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_mbedtls_acceleration.h" -#endif - -#include "sl_mbedtls_device_config.h" - -// Include transformation logic to apply CMSIS-config configuration options to -// the correct Mbed TLS / PSA Crypto options. -#include "sli_mbedtls_config_transform_autogen.h" - -// Included for backward compatibility reasons. -#include "mbedtls/build_info.h" - -#endif // SL_MBEDTLS_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_mbedtls_device_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_mbedtls_device_config.h deleted file mode 100644 index e286a0d9..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_mbedtls_device_config.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef SL_MBEDTLS_DEVICE_CONFIG_H -#define SL_MBEDTLS_DEVICE_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Secure Engine (SE) version configuration - -// Support SE firmware versions older than 1.2.2 <0-1> -// Enable software fallback for ECDH and ECC public key validation on xG21 -// devices running SE firmware versions lower than 1.2.2. -// -// Due to other stability concerns, it is strongly recommended to upgrade -// these devices to the latest firmware revision instead of turning on -// software fallback support. -// -// Not having fallback support will make ECDH operations, as well as PSA -// Crypto public key import, return an error code on affected devices. -// -// Default: 0 -#define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 0 - -// Assume an SE firmware version newer than 1.2.2 <0-1> -// For enhanced performance: if it is guaranteed that all devices on which -// this library will run are updated to at least SE FW 1.2.2, then turning -// on this option will remove certain fallback checks, thereby reducing the -// amount of processing required for ECDH and public key verification -// operations. -// Default: 0 -#define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 0 - -// Assume an SE firmware version that is unaffected by Ed25519 errata <0-1> -// For minimal code size and performance savings: if it is guaranteed that -// none of the devices running this library has SE FWs in the range -// [1.2.2, 1.2.8], then enabling this option will disable runtime version -// checks. -// Default: 0 -#define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 0 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Additional SE version related logic (DO NOT MODIFY) - -// SL_SE_ASSUME_FW_AT_LEAST_1_2_10 is no longer in use, however, it is kept here -// for backwards compatibility. */ -#if defined(SL_SE_ASSUME_FW_AT_LEAST_1_2_10) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 - #undef SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA - #define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 1 -#endif - -// SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2) - #undef SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 - #define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 1 -#endif - -// SLI_SE_ASSUME_FW_AT_LEAST_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_ASSUME_FW_AT_LEAST_1_2_2) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 -#endif - -#endif // SL_MBEDTLS_DEVICE_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_memory_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_memory_config.h deleted file mode 100644 index 3afe6966..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_memory_config.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef SL_MEMORY_CONFIG_H -#define SL_MEMORY_CONFIG_H - -#include "sl_memory_manager_region_config.h" -#include "sl_common.h" - -#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 - -#endif diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_memory_manager_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_memory_manager_config.h deleted file mode 100644 index 67a6c468..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_memory_manager_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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 */ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_memory_manager_region_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_memory_manager_region_config.h deleted file mode 100644 index 988548c2..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_memory_manager_region_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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 */ \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_power_manager_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_power_manager_config.h deleted file mode 100644 index d90c0b55..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_power_manager_config.h +++ /dev/null @@ -1,78 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Power Manager configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_POWER_MANAGER_CONFIG_H -#define SL_POWER_MANAGER_CONFIG_H - -// Power Manager Configuration - -// Enable custom IRQ handler for external HF oscillator. -// Enable if CMU_IRQHandler/HFXO0_IRQHandler is needed from your application. -// The function sl_power_manager_irq_handler() will have to be called from you custom handler if this is enabled. -// Default: 0 -#define SL_POWER_MANAGER_CUSTOM_HF_OSCILLATOR_IRQ_HANDLER 0 - -// Enable fast wakeup (disable voltage scaling in EM2/3 mode) -// Enable or disable voltage scaling in EM2/3 modes (when available). This decreases wakeup time by about 30 us. -// Deprecated. It is replaced by the function sl_power_manager_em23_voltage_scaling_enable_fast_wakeup() -// Default: 0 -#define SL_POWER_MANAGER_CONFIG_VOLTAGE_SCALING_FAST_WAKEUP 0 - -// Enable debugging feature -// Enable or disable debugging features (trace the different modules that have requirements). -// Default: 0 -#define SL_POWER_MANAGER_DEBUG 0 - -// Maximum numbers of requirements that can be logged -// Default: 10 -#define SL_POWER_MANAGER_DEBUG_POOL_SIZE 10 -// - -// Pin retention mode -// -// No retention -// Retention through EM4 -// Retention through EM4 and wakeup -// power_manager_pin_retention_disable -#define SL_POWER_MANAGER_INIT_EMU_EM4_PIN_RETENTION_MODE EMU_EM4CTRL_EM4IORETMODE_DISABLE - -// Enable EM2 debugging feature -// Enable or disable debugging features. -// Default: 1 -#define SL_POWER_MANAGER_INIT_EMU_EM2_DEBUG_ENABLE 1 -// - -// - -#endif /* SL_POWER_MANAGER_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_pa_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_pa_config.h deleted file mode 100644 index 89ae3716..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_pa_config.h +++ /dev/null @@ -1,81 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Power Amplifier configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PA_CONFIG_H -#define SL_RAIL_UTIL_PA_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// PA configuration - -// Initial PA Power (deci-dBm, 100 = 10.0 dBm) -// Default: 100 -#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100 - -// PA Ramp Time (microseconds) -// <10-10:1> -// Default: 10 -#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10 - -// Milli-volts on PA supply pin (PA_VDD) -// <0-65535:1> -// Default: 3300 -#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300 - -// 2.4 GHz PA Selection -// Highest Possible -// High Power (chip-specific) -// Low Power -// Disable -// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST - -// Sub-1 GHz PA Selection -// Disable -// Default: RAIL_TX_POWER_MODE_NONE -#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE - -// Header file containing custom PA curves -// Default: "pa_curves_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h" - -// Header file containing PA curve types -// Default: "pa_curve_types_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h" - -// Enable PA Calibration -// Default: 0 -#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 0 - -// -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_PA_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_power_manager_init_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_power_manager_init_config.h deleted file mode 100644 index 03a1dfd0..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_power_manager_init_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @file - * @brief RAIL power manager configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H -#define SL_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RAIL power manager configuration - -// Enable RAIL power manager initialization -// Default: 1 -#define SL_RAIL_UTIL_RAIL_POWER_MANAGER_INIT 1 - -// -// <<< end of configuration section >>> -#endif // SL_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_pti_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_pti_config.h deleted file mode 100644 index 0852c99c..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_pti_config.h +++ /dev/null @@ -1,62 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Packet Trace Information configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PTI_CONFIG_H -#define SL_RAIL_UTIL_PTI_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// PTI Configuration - -// PTI mode -// UART -// UART onewire -// SPI -// Disabled -// Default: RAIL_PTI_MODE_UART -#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_DISABLED - -// PTI Baud Rate (Hertz) -// <147800-20000000:1> -// Default: 1600000 -#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 1600000 - -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_RAIL_UTIL_PTI -// $[PTI_SL_RAIL_UTIL_PTI] -// [PTI_SL_RAIL_UTIL_PTI]$ - -// <<< sl:end pin_tool >>> - -#endif // SL_RAIL_UTIL_PTI_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_rssi_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_rssi_config.h deleted file mode 100644 index 9abd849b..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_rssi_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @file - * @brief RSSI configuration header file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RSSI_CONFIG_H -#define SL_RAIL_UTIL_RSSI_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RSSI Offset Configuration - -// Software RSSI offset value -// Default: 0 -#define SL_RAIL_UTIL_RSSI_OFFSET 0 - -// -// <<< end of configuration section >>> -#endif // SL_RAIL_UTIL_RSSI_CONFIG_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h deleted file mode 100644 index d6281e48..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h +++ /dev/null @@ -1,48 +0,0 @@ -/***************************************************************************//** - * @file - * @brief - ******************************************************************************* - * # 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_RAIL_UTIL_SEQUENCER_H -#define SL_RAIL_UTIL_SEQUENCER_H - -#include "rail.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define SL_RAIL_UTIL_SEQUENCER_RUNTIME_IMAGE_SELECTION 0 - -#define SL_RAIL_UTIL_SEQUENCER_IMAGE RAIL_SEQ_IMAGE_PA_20_DBM - -#ifdef __cplusplus -} -#endif - -#endif // SL_RAIL_UTIL_SEQUENCER_H \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_sleeptimer_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_sleeptimer_config.h deleted file mode 100644 index bba646d6..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_sleeptimer_config.h +++ /dev/null @@ -1,82 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Sleep Timer configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_SLEEPTIMER_CONFIG_H -#define SL_SLEEPTIMER_CONFIG_H - -#define SL_SLEEPTIMER_PERIPHERAL_DEFAULT 0 -#define SL_SLEEPTIMER_PERIPHERAL_RTCC 1 -#define SL_SLEEPTIMER_PERIPHERAL_PRORTC 2 -#define SL_SLEEPTIMER_PERIPHERAL_RTC 3 -#define SL_SLEEPTIMER_PERIPHERAL_SYSRTC 4 -#define SL_SLEEPTIMER_PERIPHERAL_BURTC 5 -#define SL_SLEEPTIMER_PERIPHERAL_WTIMER 6 -#define SL_SLEEPTIMER_PERIPHERAL_TIMER 7 - -// Timer Peripheral Used by Sleeptimer -// Default (auto select) -// RTCC -// Radio internal RTC (PRORTC) -// RTC -// SYSRTC -// Back-Up RTC (BURTC) -// WTIMER -// TIMER -// Selection of the Timer Peripheral Used by the Sleeptimer -#define SL_SLEEPTIMER_PERIPHERAL SL_SLEEPTIMER_PERIPHERAL_DEFAULT - -// TIMER/WTIMER Instance Used by Sleeptimer (not applicable for other peripherals) -// Make sure TIMER instance size is 32bits. Check datasheet for 32bits TIMERs. -// Default: 0 -#define SL_SLEEPTIMER_TIMER_INSTANCE 0 - -// Enable wallclock functionality -// Enable or disable wallclock functionalities (get_time, get_date, etc). -// Default: 0 -#define SL_SLEEPTIMER_WALLCLOCK_CONFIG 0 - -// Timer frequency divider (not applicable for WTIMER/TIMER) -// WTIMER/TIMER peripherals are always prescaled to 1024. -// Default: 1 -#define SL_SLEEPTIMER_FREQ_DIVIDER 1 - -// If Radio internal RTC (PRORTC) HAL is used, determines if it owns the IRQ handler. Enable, if no wireless stack is used. -// Default: 0 -#define SL_SLEEPTIMER_PRORTC_HAL_OWNS_IRQ_HANDLER 0 - -// Enable DEBUGRUN functionality on hardware RTC. -// Default: 0 -#define SL_SLEEPTIMER_DEBUGRUN 0 - -#endif /* SLEEPTIMER_CONFIG_H */ - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_token_manager_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_token_manager_config.h deleted file mode 100644 index 02544106..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_token_manager_config.h +++ /dev/null @@ -1,54 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Token Manager Configurations - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -#ifndef SL_TOKEN_MANAGER_CONFIG_H -#define SL_TOKEN_MANAGER_CONFIG_H - -// TOKEN MANAGER Configurations - -// Enable Custom Tokens -// Default: 0 -#define SL_TOKEN_MANAGER_CUSTOM_TOKENS_PRESENT 0 - -// File containing custom tokens -// Default: "sl_custom_token_header.h" -// Header file containing custom tokens located at project_root/config -#define SL_TOKEN_MANAGER_CUSTOM_TOKEN_HEADER "sl_custom_token_header.h" - -// - -// Enable Custom Manufacturing Tokens -// Default: 0 -#define SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKENS_PRESENT 0 - -// File containing custom manufacturing tokens -// Default: "sl_custom_manufacturing_token_header.h" -// Header file containing custom tokens located at project_root/config -#define SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKEN_HEADER "sl_custom_manufacturing_token_header.h" - -// -// - -#if (SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKENS_PRESENT) -#define APPLICATION_MFG_TOKEN_HEADER SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKEN_HEADER -#endif // SL_TOKEN_MANAGER_CUSTOM_MANUFACTURING_TOKENS_PRESENT - -#endif // SL_TOKEN_MANAGER_CONFIG_H - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_debug_print_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_debug_print_config.h deleted file mode 100644 index 55a8e72e..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_debug_print_config.h +++ /dev/null @@ -1,74 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee Debug Print component configuration header. - * - ******************************************************************************* - * # License - * Copyright 2019 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// ZigBee Debug Print configuration - -// Stack group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "stack" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_STACK_GROUP_ENABLED (1) - -// Stack group runtime default -// Default: 1 -// If this option is enabled, prints belonging to the "stack" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_STACK_GROUP_RUNTIME_DEFAULT (1) - -// Core group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "core" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_CORE_GROUP_ENABLED (1) - -// Core group runtime default -// Default: 1 -// If this option is enabled, prints belonging to the "core" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_CORE_GROUP_RUNTIME_DEFAULT (1) - -// App group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "app" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_APP_GROUP_ENABLED (1) - -// App group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "app" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_APP_GROUP_RUNTIME_DEFAULT (1) - -// ZCL group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "zcl" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_ZCL_GROUP_ENABLED (1) - -// ZCL group enabled -// Default: 1 -// If this option is enabled, prints belonging to the "zcl" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_ZCL_GROUP_RUNTIME_DEFAULT (1) - -// Legacy App Framework Debug group enabled -// Default: 0 -// If both this option and ZIGBEE_DEBUG_ZCL_GROUP_ENABLED are enabled, prints belonging to the "legacy app framework debug" group shall be included in the build. -#define SL_ZIGBEE_DEBUG_PRINTS_ZCL_LEGACY_AF_DEBUG_ENABLED (0) - -// Legacy App Framework Debug runtime default -// Default: 0 -// If both this option and ZIGBEE_DEBUG_ZCL_GROUP_ENABLED are enabled, prints belonging to the "legacy app framework debug" group shall be runtime enabled by default. -#define SL_ZIGBEE_DEBUG_PRINTS_ZCL_LEGACY_AF_DEBUG_RUNTIME_DEFAULT (0) - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_green_power_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_green_power_config.h deleted file mode 100644 index eb224295..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_green_power_config.h +++ /dev/null @@ -1,53 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Green Power component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Green Power Library configuration - -// Green Power Proxy Table Size <1-126> -// Default: 5 -// The maximum number of Green Power proxy table entries supported by the stack. -#define SL_ZIGBEE_GP_PROXY_TABLE_SIZE 5 - -// Green Power Sink Table Size <0-126> -// Default: 0 -// The maximum number of Green Power sink table entries supported by the stack. -#define SL_ZIGBEE_GP_SINK_TABLE_SIZE 5 - -// Green Power incoming FC (as part of proxy table) Token timeout <0-60> -// Default: 0 -// The timeout (seconds) to restore the GPD incoming security frame counter in the Flash (0 being never). -#define SL_ZIGBEE_GP_INCOMING_FC_TOKEN_TIMEOUT 7 - -// Green Power incoming FC (as part of proxy table) table token table size <0-126> -// Default: 0 -// The maximum table size to restore the GPD incoming security frame counter in the Flash (being either 0 or SL_ZIGBEE_GP_PROXY_TABLE_SIZE). -#define SL_ZIGBEE_GP_INCOMING_FC_TOKEN_TABLE_SIZE 0 - -// Green Power incoming FC (as part of sink table) token table token timeout <0-60> -// Default: 0 -// The timeout (seconds) to restore the GPD incoming security frame counter in the Flash (0 being never). -#define SL_ZIGBEE_GP_INCOMING_FC_IN_SINK_TOKEN_TIMEOUT 7 - -// Green Power incoming FC (as part of sink table)Token table size <0-126> -// Default: 0 -// The maximum table size to restore the GPD incoming security frame counter in the Flash (being either 0 or SL_ZIGBEE_GP_SINK_TABLE_SIZE). -#define SL_ZIGBEE_GP_INCOMING_FC_IN_SINK_TOKEN_TABLE_SIZE 0 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_light_link_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_light_link_config.h deleted file mode 100644 index f38262b5..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_light_link_config.h +++ /dev/null @@ -1,38 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee Light Link component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee ZigBee Light Link Library configuration - -// Group addresses <0-255> -// Default: 0 -// The number of unique group identifiers that this device requires. -#define SL_ZIGBEE_ZLL_GROUP_ADDRESSES 0 - -// RSSI threshold <-128..127:1> -// Default: -40 -// The RSSI threshold applied to incoming scan requests. The stack will ignore scan requests with corrected RSSI values less than this threshold. -#define SL_ZIGBEE_ZLL_RSSI_THRESHOLD -40 - -// Apply RSSI threshold to all interpan messages -// Default: FALSE -// True if the RSSI threshold is to be applied to all incoming touchlink interpan messages. This is not required by the Zigbee 3.0 specifications, but may be useful for testing in a busy environment. -#define SL_ZIGBEE_ZLL_APPLY_THRESHOLD_TO_ALL_INTERPANS 0 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_pro_stack_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_pro_stack_config.h deleted file mode 100644 index 56e8e797..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_pro_stack_config.h +++ /dev/null @@ -1,133 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee PRO Full Stack component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee PRO Stack Library configuration - -// Child Table Size <0-64> -// Default: 6 -// The maximum number of ZigBee PRO End Devices that can be supported by a single device. -#define SL_ZIGBEE_MAX_END_DEVICE_CHILDREN 64 - -// Packet Buffer Heap Allocation -// Packet Buffer Heap Size <512-16384> -// Default: SL_ZIGBEE_MEDIUM_PACKET_BUFFER_HEAP -// The amount of heap space that is allocated for packet buffers (in bytes). Each packet buffer has an overhead of `4 * sizeof(uint16_t)` bytes. -// Tiny (1024) -// Small (2048) -// Medium (4096) -// Large (8192) -// Huge (16384) -// Custom -// SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP -// Custom Heap Size <1024-16384> -// Specify the exact number of bytes to use (aligned on 4-byte boundaries) -#define SL_ZIGBEE_TINY_PACKET_BUFFER_HEAP 1024 -#define SL_ZIGBEE_SMALL_PACKET_BUFFER_HEAP 2048 -#define SL_ZIGBEE_MEDIUM_PACKET_BUFFER_HEAP 4096 -#define SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP 8192 -#define SL_ZIGBEE_HUGE_PACKET_BUFFER_HEAP 16384 -#define SL_ZIGBEE_CUSTOM_PACKET_BUFFER_HEAP 0 -#define SL_ZIGBEE_PACKET_BUFFER_HEAP_SIZE SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP -// - -// End Device keep alive support mode -// End Device keep alive support mode -// MAC Data Poll Keep Alive -// End Device Timeout Keep Alive -// Keep Alive Support All -// Default: SL_ZIGBEE_KEEP_ALIVE_SUPPORT_ALL -// End Device keep alive support mode on the coordinator/router could be set here. -#define SL_ZIGBEE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE SL_ZIGBEE_KEEP_ALIVE_SUPPORT_ALL - -// End Device Poll Timeout Value -// End Device Poll Timeout Value -// Seconds-10 -// Minutes-2 -// Minutes-4 -// Minutes-8 -// Minutes-16 -// Minutes-32 -// Minutes-64 -// Minutes-128 -// Minutes-256 -// Minutes-512 -// Minutes-1024 -// Minutes-2048 -// Minutes-4096 -// Minutes-8192 -// Minutes-16384 -// Default: MINUTES_256 -// The amount of time that must pass without hearing a MAC data poll from the device before the end device is removed from the child table. For a router device this applies to its children. For an end device, this is the amount of time before it automatically times itself out. -#define SL_ZIGBEE_END_DEVICE_POLL_TIMEOUT MINUTES_256 - -// Link Power Delta Request Interval <1-65535> -// Default: 300 -// The amount of time in seconds that pass between link power delta requests. -#define SL_ZIGBEE_LINK_POWER_DELTA_INTERVAL 300 - -// APS Unicast Message Queue Size <1-255> -// Default: 10 -// The maximum number of APS unicast messages that can be queued up by the stack. A message is considered queued when sli_zigbee_stack_send_unicast() is called and is de-queued when the sli_zigbee_stack_message_sent_handler() is called. -#define SL_ZIGBEE_APS_UNICAST_MESSAGE_COUNT 255 - -// APS unicast Message Duplicate Rejection table Size <1-255> -// Default: 5 -// The maximum number of APS unicast messages that can be stored in the stack, to reject duplicate processing/forwarding of APS messages. -// Size of 1 is basically the same thing as no duplicate rejection -#define SL_ZIGBEE_APS_DUPLICATE_REJECTION_MAX_ENTRIES 255 - -// Broadcast Table Size <15-254> -// Default: 15 -// The size of the broadcast table. -#define SL_ZIGBEE_BROADCAST_TABLE_SIZE 30 - -// Neighbor Table Size -// Neighbor Table Size -// <16=> 16 -// <26=> 26 -// Default: 16 -// The size of the neighbor table. -#define SL_ZIGBEE_NEIGHBOR_TABLE_SIZE 26 - -// Transient key timeout (in seconds) <0-65535> -// Default: 300 -// The amount of time a device will store a transient link key that can be used to join a network. -#define SL_ZIGBEE_TRANSIENT_KEY_TIMEOUT_S 300 - -// Binding Table Size <1-127> -// Default: 3 -// The number of entries that the binding table can hold. -#define SL_ZIGBEE_BINDING_TABLE_SIZE 32 - -// Address table size <1-250> -// Default: 2 -// The number of entries of the address table -#define SL_ZIGBEE_ADDRESS_TABLE_SIZE 250 - -// Route table size <1-254> -// Default: 16 -// The number of entries of the route table -#define SL_ZIGBEE_ROUTE_TABLE_SIZE 254 - -// Multicast table size <1-250> -// Default: 8 -// The number of entries of the multicast table -#define SL_ZIGBEE_MULTICAST_TABLE_SIZE 26 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_security_link_keys_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_security_link_keys_config.h deleted file mode 100644 index 40739619..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_security_link_keys_config.h +++ /dev/null @@ -1,33 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Security Link Keys component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Security Link Keys Library configuration - -// Link Key Table Size <1-127> -// Default: 6 -// The maximum number of link key table entries supported by the stack. -#define SL_ZIGBEE_KEY_TABLE_SIZE 1 - -// Request Key Timeout <0-10> -// Default: 0 -// The length of time that a node will wait for a trust center to answer its Application Link Key request. -#define SL_ZIGBEE_REQUEST_KEY_TIMEOUT 0 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_source_route_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_source_route_config.h deleted file mode 100644 index 0e278390..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/sl_zigbee_source_route_config.h +++ /dev/null @@ -1,33 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Source Route component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Source Route Library configuration - -// Source route table Size (SoC or NCP) <2-255> -// Default: 7 -// The size of the source route table for storing source routes on the SOC or NCP. -#define SL_ZIGBEE_SOURCE_ROUTE_TABLE_SIZE 254 - -// Max source route relay counts <11-40> -// Default: 11 -// Max source route hops accepted or/and inserted in the source route table/header. -#define SL_ZIGBEE_MAX_SOURCE_ROUTE_RELAY_COUNT 11 - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/zigbee_device_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/zigbee_device_config.h deleted file mode 100644 index aa4dac33..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/zigbee_device_config.h +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************//** - * @brief ZigBee device configuration header. - * - ******************************************************************************* - * # License - * Copyright 2020 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// ZigBee device configuration - -#ifndef SILABS_ZIGBEE_DEVICE_CONFIG_H -#define SILABS_ZIGBEE_DEVICE_CONFIG_H - -// Mirrors the legacy sl_zigbee_node_type_t enum -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_COORDINATOR_OR_ROUTER 0x01 -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_ROUTER 0x02 -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_END_DEVICE 0x03 -#define SLI_ZIGBEE_NETWORK_DEVICE_TYPE_SLEEPY_END_DEVICE 0x04 - -// Mirrors the legacy sl_zigbee_af_security_profile_t enum -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_NO_SECURITY 0x00 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_HA 0x01 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_HA_1_2 0x02 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_SE_TEST 0x03 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_SE_FULL 0x04 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 0x05 -#define SLI_ZIGBEE_NETWORK_SECURITY_TYPE_CUSTOM 0xFF - -#define SLI_ZIGBEE_DEFAULT_NETWORK_PRIMARY 0x00 -#define SLI_ZIGBEE_DEFAULT_NETWORK_SECONDARY 0x01 - -#define SLI_ZIGBEE_TX_POWER_MODE_DEFAULT SL_ZIGBEE_TX_POWER_MODE_DEFAULT -#define SLI_ZIGBEE_TX_POWER_MODE_BOOST SL_ZIGBEE_TX_POWER_MODE_BOOST -#define SLI_ZIGBEE_TX_POWER_MODE_ALTERNATE SL_ZIGBEE_TX_POWER_MODE_ALTERNATE -#define SLI_ZIGBEE_TX_POWER_MODE_BOOST_AND_ALTERNATE SL_ZIGBEE_TX_POWER_MODE_BOOST_AND_ALTERNATE -#define SLI_ZIGBEE_TX_POWER_MODE_USE_TOKEN SL_ZIGBEE_TX_POWER_MODE_USE_TOKEN - -// Primary Network Device Type -// The ZigBee Primary Network Device Type -// Coordinator or Router -// Router -// End Device -// Sleepy End Device -// Default: SLI_ZIGBEE_NETWORK_DEVICE_TYPE_ROUTER -#define SLI_ZIGBEE_PRIMARY_NETWORK_DEVICE_TYPE SLI_ZIGBEE_NETWORK_DEVICE_TYPE_COORDINATOR_OR_ROUTER - -// Primary Network Security Type -// The ZigBee Primary Network Security Type -// No Security -// Home Automation Security -// Home Automation Security 1.2 -// Smart Energy Security Full (compliant) -// Smart Energy Security Test (dev only) -// ZigBee 3.0 Security -// Custom Security -// Default: SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 -#define SLI_ZIGBEE_PRIMARY_NETWORK_SECURITY_TYPE SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 - -// Enable Secondary Network -// Default: 0 -// Enable/Disable the ZigBee Secondary Network -#define SLI_ZIGBEE_SECONDARY_NETWORK_ENABLED (0) - -// Secondary Network Device Type -// The ZigBee Secondary Network Device Type -// Coordinator or Router -// Router -// End Device -// Sleepy End Device -// Default: SLI_ZIGBEE_NETWORK_DEVICE_TYPE_ROUTER -#define SLI_ZIGBEE_SECONDARY_NETWORK_DEVICE_TYPE SLI_ZIGBEE_NETWORK_DEVICE_TYPE_SLEEPY_END_DEVICE - -// Secondary Network Security Type -// The ZigBee Secondary Network Security Type -// No Security -// Home Automation Security -// Smart Energy Security Full (compliant) -// Smart Energy Security Test (dev only) -// ZigBee 3.0 Security -// Custom Security -// Default: SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 -#define SLI_ZIGBEE_SECONDARY_NETWORK_SECURITY_TYPE SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 - -// Default Network -// The ZigBee Default Network -// Primary Network -// Secondary Network -// Default: SLI_ZIGBEE_NETWORK_SECURITY_TYPE_3_0 -#define SLI_ZIGBEE_DEFAULT_NETWORK SLI_ZIGBEE_DEFAULT_NETWORK_PRIMARY - -// TX power mode -// The ZigBee node transmission power mode -// Default -// Boost -// Alternate -// Boost & Alternate -// Use token -// Default: SLI_ZIGBEE_TX_POWER_MODE_USE_TOKEN -#define SLI_ZIGBEE_TX_POWER_MODE SLI_ZIGBEE_TX_POWER_MODE_USE_TOKEN - -// - -#endif // SILABS_ZIGBEE_DEVICE_CONFIG_H - -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/config/zigbee_sleep_config.h b/src/ncp-uart-hw_MGM240PA32VNN/config/zigbee_sleep_config.h deleted file mode 100644 index 49fe8146..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/config/zigbee_sleep_config.h +++ /dev/null @@ -1,42 +0,0 @@ -/***************************************************************************//** - * @brief Zigbee Application Framework common component configuration header. - *\n******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -// <<< Use Configuration Wizard in Context Menu >>> - -// Zigbee Sleep configuration - -// Minimum Sleep Duration <5-1000> -// Default: 5 -// The minimum duration in milliseconds that the application will attempt to sleep for. If the sleep duration would be less than this amount, the application will not sleep. -#define SL_ZIGBEE_APP_FRAMEWORK_MINIMUM_SLEEP_DURATION_MS 5 - -// Sleep Backoff time <0-10000> -// Default: 0 -// This setting will keep a device from going back to sleep immediately upon waking up -#define SL_ZIGBEE_APP_FRAMEWORK_BACKOFF_SLEEP_MS 0 - -// Stay awake when NOT joined -// Default: TRUE -// This will force a device to stay awake even when not joined to the network. This is often used for debugging and is not recommended for production devices since it cause the device to consume battery power even when not joined to a ZigBee network. -#define SL_ZIGBEE_APP_FRAMEWORK_STAY_AWAKE_WHEN_NOT_JOINED 1 - -// Use button to force wakeup or allow sleep -// Default: FALSE -// This will setup the hardware buttons to wake-up or allow the device to go to sleep. Button 0 will force the device to wake up and stay awake. Button 1 will turn off this behavior to allow the device to sleep normally. Please note that in order for this option to be fully functional, button 0 and button 1 have to be configured to wake the device from sleep. -#define SL_ZIGBEE_APP_FRAMEWORK_USE_BUTTON_TO_STAY_AWAKE 0 -// - -// <<< end of configuration section >>> \ No newline at end of file diff --git a/src/ncp-uart-hw_MGM240PA32VNN/main.c b/src/ncp-uart-hw_MGM240PA32VNN/main.c deleted file mode 100644 index f07f4b28..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/main.c +++ /dev/null @@ -1,74 +0,0 @@ -/***************************************************************************//** - * @file main.c - * @brief main() function. - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ - -#ifdef SL_COMPONENT_CATALOG_PRESENT -#include "sl_component_catalog.h" -#endif -#include "sl_system_init.h" -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) -#include "sl_power_manager.h" -#endif -#if defined(SL_CATALOG_KERNEL_PRESENT) -#include "sl_system_kernel.h" -#else -#include "sl_system_process_action.h" -#endif // SL_CATALOG_KERNEL_PRESENT - -#ifdef SL_ZIGBEE_TEST -#define main nodeMain -#endif - -void app_init(void) -{ -} - -void app_process_action(void) -{ -} - -int main(void) -{ - // Initialize Silicon Labs device, system, service(s) and protocol stack(s). - // Note that if the kernel is present, processing task(s) will be created by - // this call. - sl_system_init(); - - // Initialize the application. For example, create periodic timer(s) or - // task(s) if the kernel is present. - app_init(); - -#if defined(SL_CATALOG_KERNEL_PRESENT) - // Start the kernel. Task(s) created in app_init() will start running. - sl_system_kernel_start(); -#else // SL_CATALOG_KERNEL_PRESENT - while (1) { - // Do not remove this call: Silicon Labs components process action routine - // must be called from the super loop. - sl_system_process_action(); - - // Application process. - app_process_action(); - - // Let the CPU go to sleep if the system allow it. -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) - sl_power_manager_sleep(); -#endif // SL_CATALOG_POWER_MANAGER_PRESENT - } -#endif // SL_CATALOG_KERNEL_PRESENT - - return 0; -} diff --git a/src/ncp-uart-hw_MGM240PA32VNN/ncp-uart-hw_MGM240PA32VNN.slcp b/src/ncp-uart-hw_MGM240PA32VNN/ncp-uart-hw_MGM240PA32VNN.slcp deleted file mode 100644 index a82dbf66..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/ncp-uart-hw_MGM240PA32VNN.slcp +++ /dev/null @@ -1,75 +0,0 @@ -# Silicon Labs Project Configuration Tools: slcp, v0, Component selection file. -project_name: ncp-uart-hw_MGM240PA32VNN -label: ncp-uart-hw_MGM240PA32VNN -author: Silicon Laboratories, Inc. -description: This network coprocessor (NCP) application supports communication with - a host application over a UART interface with hardware flow control. This NCP application - can be built as configured, or optionally can be augmented with customized extensions - for initialization, main loop processing, event definition/handling, and messaging - with the host. To create a ECC-enabled application for the Smart Energy Profile, - please download and extract the 'EmberZnet-Smart-Energy.zip' side-package over your - installed SDK and add, depending on use-case, one of two new components ('CBKE 163k1'; - 'CBKE 283k1') to your application. -category: Zigbee Application -filter: -- name: Device Type - value: [NCP] -- name: Project Difficulty - value: [Advanced] -- name: Wireless Technology - value: [Zigbee] -package: Zigbee -quality: production -readme: -- {path: readme.html} -- {path: readme.html} -source: -- {path: main.c} -- {path: app.c} -tag: [prebuilt_demo] -sdk: {id: simplicity_sdk, version: 2024.6.2} -toolchain_settings: [] -component: -- {id: MGM240PA32VNN} -- {id: clock_manager} -- instance: [vcom] - id: iostream_usart -- {id: iostream_vuart} -- {id: rail_util_rssi} -- {id: token_manager} -- {id: zigbee_debug_basic} -- {id: zigbee_debug_extended} -- {id: zigbee_debug_print} -- {id: zigbee_device_config} -- {id: zigbee_gp} -- {id: zigbee_mfglib} -- {id: zigbee_ncp_uart_hardware} -- {id: zigbee_pro_stack} -- {id: zigbee_r22_support} -- {id: zigbee_security_link_keys} -- {id: zigbee_source_route} -- {id: zigbee_system_common} -- {id: zigbee_token_interface} -- {id: zigbee_zll} -define: -- {name: SL_ZIGBEE_CUSTOM_MAC_FILTER_TABLE_SIZE, value: '15'} -configuration: -- {name: SL_BOARD_ENABLE_VCOM, value: '1'} -- {name: SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE, value: usartHwFlowControlCtsAndRts} -- {name: SL_CLI_MAX_INPUT_ARGUMENTS, value: '16'} -- {name: SL_ZIGBEE_BINDING_TABLE_SIZE, value: '32'} -- {name: SL_ZIGBEE_MAX_END_DEVICE_CHILDREN, value: '32'} -- {name: SL_ZIGBEE_PACKET_BUFFER_HEAP_SIZE, value: SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP} -- {name: EMBER_AF_PLUGIN_ZIGBEE_PRO_STACK_CHILD_TABLE_SIZE, value: '32'} -- {name: SL_ZIGBEE_KEY_TABLE_SIZE, value: '12'} -- {name: SL_CLI_EXAMPLE_IOSTREAM_HANDLE, value: sl_iostream_vuart_handle} -- condition: [device_series_2] - name: NVM3_DEFAULT_NVM_SIZE - value: '32768' -- {name: SL_PSA_ITS_SUPPORT_V1_DRIVER, value: '0'} -- {name: SL_PSA_ITS_SUPPORT_V2_DRIVER, value: '0'} -- {name: SL_PSA_ITS_SUPPORT_V3_DRIVER, value: '1'} -ui_hints: - highlight: - - {path: readme.html} - diff --git a/src/ncp-uart-hw_MGM240PA32VNN/ncp-uart-hw_MGM240PA32VNN.slps b/src/ncp-uart-hw_MGM240PA32VNN/ncp-uart-hw_MGM240PA32VNN.slps deleted file mode 100644 index 5154650b..00000000 --- a/src/ncp-uart-hw_MGM240PA32VNN/ncp-uart-hw_MGM240PA32VNN.slps +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.c b/src/openthread_rcp/app.c similarity index 96% rename from src/rcp-uart-802154-blehci_MGM210PA32JIA/app.c rename to src/openthread_rcp/app.c index ae65dd71..ca5d42a7 100644 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.c +++ b/src/openthread_rcp/app.c @@ -1,4 +1,4 @@ -/***************************************************************************//** +/******************************************************************************* * @file * @brief Core application logic. ******************************************************************************* @@ -32,12 +32,12 @@ #include #include -#include #include +#include #include -#include "openthread-system.h" #include "app.h" +#include "openthread-system.h" #include "reset_util.h" @@ -66,7 +66,7 @@ extern void otAppNcpInit(otInstance *aInstance); #if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE static uint8_t *sOtInstanceBuffer = NULL; #endif -static otInstance* sInstance = NULL; +static otInstance *sInstance = NULL; otInstance *otGetInstance(void) { @@ -84,7 +84,7 @@ void sl_ot_create_instance(void) } sInstance = sInstances[0]; #elif OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - size_t otInstanceBufferLength = 0; + size_t otInstanceBufferLength = 0; // Call to query the buffer size (void)otInstanceInit(NULL, &otInstanceBufferLength); @@ -110,7 +110,7 @@ void sl_ot_ncp_init(void) #endif } -/**************************************************************************//** +/****************************************************************************** * Application Init. *****************************************************************************/ @@ -119,7 +119,7 @@ void app_init(void) OT_SETUP_RESET_JUMP(argv); } -/**************************************************************************//** +/****************************************************************************** * Application Process Action. *****************************************************************************/ void app_process_action(void) @@ -128,7 +128,7 @@ void app_process_action(void) otSysProcessDrivers(sInstance); } -/**************************************************************************//** +/****************************************************************************** * Application Exit. *****************************************************************************/ void app_exit(void) diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.h b/src/openthread_rcp/app.h similarity index 96% rename from src/rcp-uart-802154-blehci_MGM240PA32VNN/app.h rename to src/openthread_rcp/app.h index 8d52ecfe..ac672d5f 100644 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.h +++ b/src/openthread_rcp/app.h @@ -1,4 +1,4 @@ -/***************************************************************************//** +/******************************************************************************* * @file * @brief Application interface provided to main(). ******************************************************************************* @@ -31,19 +31,19 @@ #ifndef APP_H #define APP_H -/**************************************************************************//** +/****************************************************************************** * Application Init. *****************************************************************************/ void app_init(void); -/**************************************************************************//** +/****************************************************************************** * Application Exit. *****************************************************************************/ void app_exit(void); -/**************************************************************************//** +/****************************************************************************** * Application Process Action. *****************************************************************************/ void app_process_action(void); -#endif \ No newline at end of file +#endif diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/main.c b/src/openthread_rcp/main.c similarity index 69% rename from src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/main.c rename to src/openthread_rcp/main.c index 90610816..81a37f0b 100644 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/main.c +++ b/src/openthread_rcp/main.c @@ -1,4 +1,4 @@ -/***************************************************************************//** +/******************************************************************************* * @file * @brief main() function. ******************************************************************************* @@ -28,9 +28,9 @@ * ******************************************************************************/ +#include "app.h" #include "sl_component_catalog.h" #include "sl_system_init.h" -#include "app.h" #if defined(SL_CATALOG_POWER_MANAGER_PRESENT) #include "sl_power_manager.h" #endif // SL_CATALOG_POWER_MANAGER_PRESENT @@ -42,33 +42,34 @@ int main(void) { - // Initialize Silicon Labs device, system, service(s) and protocol stack(s). - // Note that if the kernel is present, processing task(s) will be created by - // this call. - sl_system_init(); + // Initialize Silicon Labs device, system, service(s) and protocol stack(s). + // Note that if the kernel is present, processing task(s) will be created by + // this call. + sl_system_init(); - // Initialize the application. For example, create periodic timer(s) or - // task(s) if the kernel is present. - app_init(); + // Initialize the application. For example, create periodic timer(s) or + // task(s) if the kernel is present. + app_init(); #if defined(SL_CATALOG_KERNEL_PRESENT) - // Start the kernel. Task(s) created in app_init() will start running. - sl_system_kernel_start(); + // Start the kernel. Task(s) created in app_init() will start running. + sl_system_kernel_start(); #else // SL_CATALOG_KERNEL_PRESENT - while (1) { - // Do not remove this call: Silicon Labs components process action routine - // must be called from the super loop. - sl_system_process_action(); + while (1) + { + // Do not remove this call: Silicon Labs components process action routine + // must be called from the super loop. + sl_system_process_action(); - // Application process. - app_process_action(); + // Application process. + app_process_action(); #if defined(SL_CATALOG_POWER_MANAGER_PRESENT) - // Let the CPU go to sleep if the system allows it. - sl_power_manager_sleep(); + // Let the CPU go to sleep if the system allows it. + sl_power_manager_sleep(); #endif - } - // Clean-up when exiting the application. - app_exit(); + } + // Clean-up when exiting the application. + app_exit(); #endif // SL_CATALOG_KERNEL_PRESENT -} \ No newline at end of file +} diff --git a/src/openthread_rcp/openthread_rcp.slcp b/src/openthread_rcp/openthread_rcp.slcp new file mode 100644 index 00000000..a74faa41 --- /dev/null +++ b/src/openthread_rcp/openthread_rcp.slcp @@ -0,0 +1,56 @@ +project_name: openthread_rcp +label: OpenThread - RCP +package: OpenThread +description: > + This is a simple OpenThread RCP application. This is equivalent to the ot-rcp application in the OpenThread GitHub repo. +category: OpenThread Examples +quality: production + +component: + - id: ot_stack_rcp + - id: ot_crash_handler + - id: uartdrv_usart + instance: + - vcom + - id: rail_util_pti + - id: bootloader_interface + - id: clock_manager + +include: + - path: . + file_list: + - path: app.h + - path: reset_util.h # Originally included from `util/third_party/openthread/src/lib/platform` + +source: + - path: main.c + - path: app.c + +define: + - name: OPENTHREAD_CONFIG_DEFAULT_TRANSMIT_POWER + value: 6 + +configuration: + - name: SL_BOARD_ENABLE_VCOM + value: 1 + - name: OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE + value: 0 + - name: OPENTHREAD_CONFIG_LOG_OUTPUT + value: OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED + condition: [ot_rtt_log] + - name: BUFFER_SIZE_UP + value: 768 + condition: [ot_rtt_log] + - name: BUFFER_SIZE_DOWN + value: 0 + condition: [ot_rtt_log] + - name: CIRCULAR_QUEUE_LEN_MAX + value: 16 + +filter: + - name: "Wireless Technology" + value: ["Thread"] + - name: "Device Type" + value: ["RCP"] + - name: "Project Difficulty" + value: ["Advanced"] diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/reset_util.h b/src/openthread_rcp/reset_util.h similarity index 100% rename from src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/reset_util.h rename to src/openthread_rcp/reset_util.h diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/app.c b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/app.c deleted file mode 100644 index ae65dd71..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/app.c +++ /dev/null @@ -1,141 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Core application logic. - ******************************************************************************* - * # 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. - * - ******************************************************************************/ - -#include -#include -#include - -#include -#include -#include - -#include "openthread-system.h" -#include "app.h" - -#include "reset_util.h" - -#include "sl_component_catalog.h" -#include "sl_memory_manager.h" - -#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE -#if OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE == 0 -#error "Support for multiple OpenThread static instance is disabled." -#endif -otInstance *sInstances[OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM] = {NULL}; -#endif // OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - -/** - * This function initializes the NCP app. - * - * @param[in] aInstance The OpenThread instance structure. - * - */ -#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE -extern void otAppNcpInitMulti(otInstance **aInstances, uint8_t aCount); -#else -extern void otAppNcpInit(otInstance *aInstance); -#endif - -#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE -static uint8_t *sOtInstanceBuffer = NULL; -#endif -static otInstance* sInstance = NULL; - -otInstance *otGetInstance(void) -{ - return sInstance; -} - -void sl_ot_create_instance(void) -{ -#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - for (int i = 0; i < OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM; i++) - { - sInstances[i] = otInstanceInitMultiple(i); - - assert(sInstances[i]); - } - sInstance = sInstances[0]; -#elif OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - size_t otInstanceBufferLength = 0; - - // Call to query the buffer size - (void)otInstanceInit(NULL, &otInstanceBufferLength); - - // Call to allocate the buffer - sOtInstanceBuffer = (uint8_t *)sl_malloc(otInstanceBufferLength); - assert(sOtInstanceBuffer); - - // Initialize OpenThread with the buffer - sInstance = otInstanceInit(sOtInstanceBuffer, &otInstanceBufferLength); -#else - sInstance = otInstanceInitSingle(); -#endif - assert(sInstance); -} - -void sl_ot_ncp_init(void) -{ -#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - otAppNcpInitMulti(sInstances, OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM); -#else - otAppNcpInit(sInstance); -#endif -} - -/**************************************************************************//** - * Application Init. - *****************************************************************************/ - -void app_init(void) -{ - OT_SETUP_RESET_JUMP(argv); -} - -/**************************************************************************//** - * Application Process Action. - *****************************************************************************/ -void app_process_action(void) -{ - otTaskletsProcess(sInstance); - otSysProcessDrivers(sInstance); -} - -/**************************************************************************//** - * Application Exit. - *****************************************************************************/ -void app_exit(void) -{ - otInstanceFinalize(sInstance); -#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - sl_free(sOtInstanceBuffer); -#endif - // TO DO : pseudo reset? -} diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/app.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/app.h deleted file mode 100644 index 8d52ecfe..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/app.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Application interface provided to main(). - ******************************************************************************* - * # 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 APP_H -#define APP_H - -/**************************************************************************//** - * Application Init. - *****************************************************************************/ -void app_init(void); - -/**************************************************************************//** - * Application Exit. - *****************************************************************************/ -void app_exit(void); - -/**************************************************************************//** - * Application Process Action. - *****************************************************************************/ -void app_process_action(void); - -#endif \ No newline at end of file diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/FreeRTOSConfig.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/FreeRTOSConfig.h deleted file mode 100644 index 4659fa6d..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/FreeRTOSConfig.h +++ /dev/null @@ -1,273 +0,0 @@ -/* -------------------------------------------------------------------------- - * Copyright (c) 2013-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * -------------------------------------------------------------------------- - * - * $Revision: V10.2.0 - * - * Project: CMSIS-FreeRTOS - * Title: FreeRTOS configuration definitions - * - * --------------------------------------------------------------------------*/ - -#ifndef FREERTOS_CONFIG_H -#define FREERTOS_CONFIG_H - -/*----------------------------------------------------------- -* Application specific definitions. -* -* These definitions should be adjusted for your particular hardware and -* application requirements. -* -* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE -* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. -* -* See http://www.freertos.org/a00110.html -*----------------------------------------------------------*/ - -#if !defined(__IAR_SYSTEMS_ASM__) -#if (defined(__ARMCC_VERSION) || defined(__GNUC__) || defined(__ICCARM__)) -#include - -#include "RTE_Components.h" -#include CMSIS_device_header -#endif - -#include "em_assert.h" -#include "em_device.h" - -#if defined(SL_COMPONENT_CATALOG_PRESENT) -#include "sl_component_catalog.h" -#endif -#endif - -#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) -#include "SEGGER_SYSVIEW_FreeRTOS.h" -#endif - -#if defined(SL_CATALOG_CODE_CLASSIFICATION_VALIDATOR_PRESENT) -#include "sli_code_classification_validator.h" -#define traceTASK_SWITCHED_IN() sli_ccv_task_switched_in() -#endif - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// Minimal stack size [words] <0-65535> -// Stack for idle task and default task stack in words. -// Default: 160 -#define configMINIMAL_STACK_SIZE 160 - -// Total heap size [bytes] <0-0xFFFFFFFF> -// Heap memory size in bytes. -// Default: 8192 -#define configTOTAL_HEAP_SIZE 8192 - -// Kernel tick frequency [Hz] <0-0xFFFFFFFF> -// Kernel tick rate in Hz. -// Default: 1000 -#define configTICK_RATE_HZ 1000 - -// Timer task stack depth [words] <0-65535> -// Stack for timer task in words. -// Default: 160 -#define configTIMER_TASK_STACK_DEPTH 160 - -// Timer task priority <0-56> -// Timer task priority. -// Default: 40 (High) -#define configTIMER_TASK_PRIORITY 40 - -// Timer queue length <0-1024> -// Timer command queue length. -// Default: 10 -#define configTIMER_QUEUE_LENGTH 10 - -// Preemption interrupt priority -// Maximum priority of interrupts that are safe to call FreeRTOS API. -// Default: 48 -#define configMAX_SYSCALL_INTERRUPT_PRIORITY 48 - -// Use time slicing -// Enable setting to use timeslicing. -// Default: 1 -#define configUSE_TIME_SLICING 1 - -// Idle should yield -// Control Yield behaviour of the idle task. -// Default: 1 -#define configIDLE_SHOULD_YIELD 1 - -// Check for stack overflow -// <0=>Disable <1=>Method one <2=>Method two -// Enable or disable stack overflow checking. -// Callback function vApplicationStackOverflowHook implementation is required when stack checking is enabled. -// Default: 2 -#define configCHECK_FOR_STACK_OVERFLOW 2 - -// Use idle hook -// Enable callback function call on each idle task iteration. -// Callback function vApplicationIdleHook implementation is required when idle hook is enabled. -// Default: 0 -#define configUSE_IDLE_HOOK 0 - -// Use tick hook -// Enable callback function call during each tick interrupt. -// Callback function vApplicationTickHook implementation is required when tick hook is enabled. -// Default: 0 -#define configUSE_TICK_HOOK 0 - -// Use deamon task startup hook -// Enable callback function call when timer service starts. -// Callback function vApplicationDaemonTaskStartupHook implementation is required when deamon task startup hook is enabled. -// Default: 0 -#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 - -// Use malloc failed hook -// Enable callback function call when out of dynamic memory. -// Callback function vApplicationMallocFailedHook implementation is required when malloc failed hook is enabled. -// Default: 0 -#define configUSE_MALLOC_FAILED_HOOK 0 - -// Queue registry size -// Define maximum number of queue objects registered for debug purposes. -// The queue registry is used by kernel aware debuggers to locate queue and semaphore structures and display associated text names. -// Default: 10 -#define configQUEUE_REGISTRY_SIZE 10 - -// Port Specific Features -// Enable and configure port specific features. -// Check FreeRTOS documentation for definitions that apply for the used port. - -// Use Floating Point Unit -// Using Floating Point Unit (FPU) affects context handling. -// Enable FPU when application uses floating point operations. -// Default: 1 -#define configENABLE_FPU 1 - -// Minimal secure stack size [words] <0-65535> -// Stack for idle task Secure side context in words. -// This setting is only relevant when TrustZone extension is enabled. -// Default: 128 -#define configMINIMAL_SECURE_STACK_SIZE 128 -// - -// Thread Local Storage Settings -// Thread local storage pointers -// Thread local storage (or TLS) allows the application writer to store -// values inside a task's control block, making the value specific to -// (local to) the task itself. -// Default: 0 -#define configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS 0 -// - -// Use Threadsafe Errno -// Enable Threadsafe Errno support. -// Default: 0 -#define configUSE_POSIX_ERRNO 0 - -//------------- <<< end of configuration section >>> --------------------------- - -/* MPU feature is not supported in Silicon Labs port */ -#define configENABLE_MPU 0 - -/* Defines needed by FreeRTOS to implement CMSIS RTOS2 API. Do not change! */ -#define configCPU_CLOCK_HZ (SystemCoreClock) -#define configSUPPORT_STATIC_ALLOCATION 1 -#define configSUPPORT_DYNAMIC_ALLOCATION 1 -#define configUSE_PREEMPTION 1 -#define configUSE_TIMERS 1 -#define configUSE_MUTEXES 1 -#define configUSE_RECURSIVE_MUTEXES 1 -#define configUSE_COUNTING_SEMAPHORES 1 -#define configUSE_TASK_NOTIFICATIONS 1 -#define configUSE_TRACE_FACILITY 1 -#define configUSE_16_BIT_TICKS 0 -#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 -#define configMAX_PRIORITIES 56 -#define configKERNEL_INTERRUPT_PRIORITY 255 - -/* Defines that include FreeRTOS functions which implement CMSIS RTOS2 API. Do not change! */ -#define INCLUDE_xEventGroupSetBitsFromISR 1 -#define INCLUDE_xSemaphoreGetMutexHolder 1 -#define INCLUDE_vTaskDelay 1 -#define INCLUDE_vTaskDelayUntil 1 -#define INCLUDE_vTaskDelete 1 -#define INCLUDE_xTaskGetCurrentTaskHandle 1 -#define INCLUDE_xTaskGetSchedulerState 1 -#define INCLUDE_uxTaskGetStackHighWaterMark 1 -#define INCLUDE_uxTaskPriorityGet 1 -#define INCLUDE_vTaskPrioritySet 1 -#define INCLUDE_eTaskGetState 1 -#define INCLUDE_vTaskSuspend 1 -#define INCLUDE_xTimerPendFunctionCall 1 - -/* Map the FreeRTOS port interrupt handlers to their CMSIS standard names. */ -#define xPortPendSVHandler PendSV_Handler -#define vPortSVCHandler SVC_Handler - -/* Ensure Cortex-M port compatibility. */ -#define SysTick_Handler xPortSysTickHandler - -/* Implement FreeRTOS configASSERT as emlib assert. */ -#define configASSERT(x) EFM_ASSERT(x) - -/* Energy saving modes. */ -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) -#define configUSE_TICKLESS_IDLE 1 -#else -#define configUSE_TICKLESS_IDLE 0 -#endif - -/* Definition used by Keil to replace default system clock source. */ -#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 1 - -/* Maximum size of task name. */ -#define configMAX_TASK_NAME_LEN 10 - -/* Use queue sets? */ -#define configUSE_QUEUE_SETS 0 - -/* Generate run-time statistics? */ -#define configGENERATE_RUN_TIME_STATS 0 - -/* Co-routine related definitions. */ -#define configUSE_CO_ROUTINES 0 -#define configMAX_CO_ROUTINE_PRIORITIES 1 - -/* Optional resume from ISR functionality. */ -#define INCLUDE_xResumeFromISR 1 - -/* FreeRTOS Secure Side Only and TrustZone Security Extension */ -#define configRUN_FREERTOS_SECURE_ONLY 1 -#define configENABLE_TRUSTZONE 0 - -/* Thread local storage pointers used by the SDK */ -#ifndef configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS - #define configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS 0 -#endif - -/* PRINT_STRING implementation. iostream_retarget_stdio or third party - printf should be added if this is used */ -#define configPRINT_STRING(X) printf(X) - -#define configNUM_THREAD_LOCAL_STORAGE_POINTERS (configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS \ - + configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS) - -//#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) -//#include "SEGGER_SYSVIEW_FreeRTOS.h" -//#endif -#endif /* FREERTOS_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/app_properties_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/app_properties_config.h deleted file mode 100644 index 6a6b9766..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/app_properties_config.h +++ /dev/null @@ -1,65 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Application Properties Header File - ******************************************************************************* - * # License - * Copyright 2021 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 APP_PROPERTIES_CONFIG_H -#define APP_PROPERTIES_CONFIG_H - -#include "sl_application_type.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// App Properties settings - -// Type of signature this application is signed with -// Default: APPLICATION_SIGNATURE_NONE(0) -#define SL_APPLICATION_SIGNATURE 0 - -// Location of the signature -// Default: 0xFFFFFFFF -#define SL_APPLICATION_SIGNATURE_LOCATION 0xFFFFFFFF - -// Bitfield representing type of application -#define SL_APPLICATION_TYPE APPLICATION_TYPE - -// Version number for this application -// <0-4294967295:1> -// Default: 1 [0-4294967295] -#define SL_APPLICATION_VERSION 1 - -// Capabilities of this application -// Default: 0 -#define SL_APPLICATION_CAPABILITIES 0 - -//Product ID of the device for which the application is built -#define SL_APPLICATION_PRODUCT_ID { 0 } - -// - -#endif // APP_PROPERTIES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/btl_interface_cfg.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/btl_interface_cfg.h deleted file mode 100644 index b1ab0078..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/btl_interface_cfg.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_H -#define BTL_INTERFACE_CFG_H - -#if !defined(BOOTLOADER_APPLOADER) - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_1) -#include "btl_interface_cfg_s2c1.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_2) -#include "btl_interface_cfg_s2c2.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_3) -#include "btl_interface_cfg_s2c3.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_4) -#include "btl_interface_cfg_s2c4.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_5) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_6) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_8) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#endif // !BOOTLOADER_APPLOADER - -#endif // BTL_INTERFACE_CFG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/btl_interface_cfg_s2c1.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/btl_interface_cfg_s2c1.h deleted file mode 100644 index c150e8c7..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/btl_interface_cfg_s2c1.h +++ /dev/null @@ -1,281 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_S2C1_H -#define BTL_INTERFACE_CFG_S2C1_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Bootloader Interface Trust Zone Security State Configuration - -// Disable multi tiered fallback logic -// The fault handling logic as well as the USART auto-detection logic will be disabled. -// The re-configuration of SMU will be handled by querying the running bootloader -// for the peripheral list. Querying the peripheral list is supported from the bootloader -// version 2.0.0. Check for the BOOTLOADER_CAPABILITY_PERIPHERAL_LIST capability to -// see if the running bootloader supports querying the peripheral list. -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 0 - -// Disable peripheral access fault handling -// The fault handling triggered by an erroneous access of peripherals will be disabled. -// -// This should be disabled iff all the peripherals that are in use by the bootloader -// have been properly configured by the "Manually override security state of peripherals" option. -#define BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING 0 - -// Manually override the security state of peripherals in use by the bootloader -// Default: 0. -// Manually override the security state of peripherals. Choose the peripherals touched -// by the customized code to have a valid secure access state before interacting with the bootloader -// In practice, this means that the chosen peripherals will be available at the secure address, -// which is accessible by the bootloader. Once the application is entered back the secure access state -// is changed back to the original state. -// -// The USART auto-detection logic that detects which, if any, USART is in use by the bootloader -// will be disabled. Make sure to choose the correct USART used by the bootloader. -#define BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE 0 -// EMU -// Update secure access state of EMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_EMU 0 - -// CMU -// Update secure access state of CMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_CMU 0 - -// HFXO0 -// Update secure access state of HFXO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFXO0 0 - -// HFRCO0 -// Update secure access state of HFRCO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFRCO0 0 - -// FSRCO -// Update secure access state of FSRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_FSRCO 0 - -// DPLL0 -// Update secure access state of DPLL0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_DPLL0 0 - -// LFXO -// Update secure access state of LFXO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFXO 0 - -// LFRCO -// Update secure access state of LFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFRCO 0 - -// ULFRCO -// Update secure access state of ULFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_ULFRCO 0 - -// MSC -// Update secure access state of MSC before calling into bootloader -#define BOOTLOADER_PPUSATD0_MSC 0 - -// ICACHE0 -// Update secure access state of ICACHE0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_ICACHE0 0 - -// PRS -// Update secure access state of PRS before calling into bootloader -#define BOOTLOADER_PPUSATD0_PRS 0 - -// GPIO -// Update secure access state of GPIO before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPIO 0 - -// LDMA -// Update secure access state of LDMA before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMA 0 - -// LDMAXBAR -// Update secure access state of LDMAXBAR before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMAXBAR 0 - -// TIMER0 -// Update secure access state of TIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER0 0 - -// TIMER1 -// Update secure access state of TIMER1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER1 0 - -// TIMER2 -// Update secure access state of TIMER2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER2 0 - -// TIMER3 -// Update secure access state of TIMER3 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER3 0 - -// USART0 -// Update secure access state of USART0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART0 0 - -// USART1 -// Update secure access state of USART1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART1 0 - -// USART2 -// Update secure access state of USART2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART2 0 - -// BURTC -// Update secure access state of BURTC before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURTC 0 - -// I2C1 -// Update secure access state of I2C1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_I2C1 0 - -// CHIPTESTCTRL -// Update secure access state of CHIPTESTCTRL before calling into bootloader -#define BOOTLOADER_PPUSATD0_CHIPTESTCTRL 0 - -// LVGD -// Update secure access state of LVGD before calling into bootloader -#define BOOTLOADER_PPUSATD0_LVGD 0 - -// SYSCFG -// Update secure access state of SYSCFG before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSCFG 0 - -// BURAM -// Update secure access state of BURAM before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURAM 0 - -// IFADCDEBUG -// Update secure access state of IFADCDEBUG before calling into bootloader -#define BOOTLOADER_PPUSATD0_IFADCDEBUG 0 - -// GPCRC -// Update secure access state of GPCRC before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPCRC 0 - -// RTCC -// Update secure access state of RTCC before calling into bootloader -#define BOOTLOADER_PPUSATD0_RTCC 0 - -// LETIMER0 -// Update secure access state of LETIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_LETIMER0 0 - -// IADC0 -// Update secure access state of IADC0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_IADC0 0 - -// ACMP0 -// Update secure access state of ACMP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP0 0 - -// ACMP1 -// Update secure access state of ACMP1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP1 0 - -// I2C0 -// Update secure access state of I2C0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_I2C0 0 - -// HFRCOEM23 -// Update secure access state of HFRCOEM23 before calling into bootloader -#define BOOTLOADER_PPUSATD1_HFRCOEM23 0 - -// WDOG0 -// Update secure access state of WDOG0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG0 0 - -// WDOG1 -// Update secure access state of WDOG1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG1 0 - -// AMUXCP0 -// Update secure access state of AMUXCP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_AMUXCP0 0 - -// RADIOAES -// Update secure access state of RADIOAES before calling into bootloader -#define BOOTLOADER_PPUSATD1_RADIOAES 0 - -// BUFC -// Update secure access state of BUFC before calling into bootloader -#define BOOTLOADER_PPUSATD1_BUFC 0 - -// SMU -// Update secure access state of SMU before calling into bootloader -#define BOOTLOADER_PPUSATD1_SMU 0 - -// AHBRADIO -// Update secure access state of AHBRADIO before calling into bootloader -#define BOOTLOADER_PPUSATD1_AHBRADIO 0 - -// SEMAILBOX -// Update secure access state of SEMAILBOX before calling into bootloader -#define BOOTLOADER_PPUSATD1_SEMAILBOX 0 -// - -// -// <<< 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)) -#endif // BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE - -#endif // BTL_INTERFACE_CFG_S2C1_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/circular_queue_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/circular_queue_config.h deleted file mode 100644 index 81a7173d..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/circular_queue_config.h +++ /dev/null @@ -1,23 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/dmadrv_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/dmadrv_config.h deleted file mode 100644 index ed105e4f..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/dmadrv_config.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef DMADRV_CONFIG_H -#define DMADRV_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMA interrupt priority <0-15> -// Priority of the DMA interrupt. Smaller number equals higher priority. -// Default: 8 -#define EMDRV_DMADRV_DMA_IRQ_PRIORITY 8 - -// Number of available channels <1-8> -// Number of DMA channels supported by the driver. A lower channel count -// will reduce RAM memory footprint. The default is to support all channels -// on the device. -// Default: 8 -#define EMDRV_DMADRV_DMA_CH_COUNT 8 - -// Number of fixed priority channels -// This will configure channels [0, CH_PRIORITY - 1] as fixed priority, -// and channels [CH_PRIORITY, CH_COUNT] as round-robin. -// Default: 0 -#define EMDRV_DMADRV_DMA_CH_PRIORITY 0 - -// <<< end of configuration section >>> - -#endif // DMADRV_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/emlib_core_debug_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/emlib_core_debug_config.h deleted file mode 100644 index 07ee9b9e..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/emlib_core_debug_config.h +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************//** - * @file - * @brief emlib_core Configuration - ******************************************************************************* - * # License - * Copyright 2019 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 EM_CORE_DEBUG_CONFIG_H -#define EM_CORE_DEBUG_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Core Configuration - -// Enables measuring of interrupt disable time for debugging purposes. -// Default: 0 -#define SL_EMLIB_CORE_ENABLE_INTERRUPT_DISABLED_TIMING 0 - -// - -// <<< end of configuration section >>> -#endif // EM_CORE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/nvm3_default_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/nvm3_default_config.h deleted file mode 100644 index 48eb5896..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/nvm3_default_config.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef NVM3_DEFAULT_CONFIG_H -#define NVM3_DEFAULT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// NVM3 Default Instance Configuration - -#ifndef NVM3_DEFAULT_CACHE_SIZE -// NVM3 Default Instance Cache Size -// Number of NVM3 objects to cache. To reduce access times this number -// should be equal to or higher than the number of NVM3 objects in the -// default NVM3 instance. -// Default: 200 -#define NVM3_DEFAULT_CACHE_SIZE 200 -#endif - -#ifndef NVM3_DEFAULT_MAX_OBJECT_SIZE -// NVM3 Default Instance Max Object Size -// Max NVM3 object size that can be stored. -// Default: 254 -#define NVM3_DEFAULT_MAX_OBJECT_SIZE 254 -#endif - -#ifndef NVM3_DEFAULT_REPACK_HEADROOM -// NVM3 Default Instance User Repack Headroom -// Headroom determining how many bytes below the forced repack limit the user -// repack limit should be placed. The default is 0, which means the user and -// forced repack limits are equal. -// Default: 0 -#define NVM3_DEFAULT_REPACK_HEADROOM 0 -#endif - -#ifndef NVM3_DEFAULT_NVM_SIZE -// NVM3 Default Instance Size -// Size of the NVM3 storage region in flash. This size should be aligned with -// the flash page size of the device. -// Default: 40960 -#define NVM3_DEFAULT_NVM_SIZE 40960 -#endif - -// - -// <<< end of configuration section >>> - -#endif // NVM3_DEFAULT_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/pin_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/pin_config.h deleted file mode 100644 index a8f52cbb..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/pin_config.h +++ /dev/null @@ -1,147 +0,0 @@ -#ifndef PIN_CONFIG_H -#define PIN_CONFIG_H - -// $[CMU] -// [CMU]$ - -// $[LFXO] -// [LFXO]$ - -// $[PRS.ASYNCH0] -// [PRS.ASYNCH0]$ - -// $[PRS.ASYNCH1] -// [PRS.ASYNCH1]$ - -// $[PRS.ASYNCH2] -// [PRS.ASYNCH2]$ - -// $[PRS.ASYNCH3] -// [PRS.ASYNCH3]$ - -// $[PRS.ASYNCH4] -// [PRS.ASYNCH4]$ - -// $[PRS.ASYNCH5] -// [PRS.ASYNCH5]$ - -// $[PRS.ASYNCH6] -// [PRS.ASYNCH6]$ - -// $[PRS.ASYNCH7] -// [PRS.ASYNCH7]$ - -// $[PRS.ASYNCH8] -// [PRS.ASYNCH8]$ - -// $[PRS.ASYNCH9] -// [PRS.ASYNCH9]$ - -// $[PRS.ASYNCH10] -// [PRS.ASYNCH10]$ - -// $[PRS.ASYNCH11] -// [PRS.ASYNCH11]$ - -// $[PRS.SYNCH0] -// [PRS.SYNCH0]$ - -// $[PRS.SYNCH1] -// [PRS.SYNCH1]$ - -// $[PRS.SYNCH2] -// [PRS.SYNCH2]$ - -// $[PRS.SYNCH3] -// [PRS.SYNCH3]$ - -// $[GPIO] -// [GPIO]$ - -// $[TIMER0] -// [TIMER0]$ - -// $[TIMER1] -// [TIMER1]$ - -// $[TIMER2] -// [TIMER2]$ - -// $[TIMER3] -// [TIMER3]$ - -// $[USART0] -#ifndef USART0_CTS_PORT -#define USART0_CTS_PORT 0 -#endif -#ifndef USART0_CTS_PIN -#define USART0_CTS_PIN 0 -#endif - -#ifndef USART0_RTS_PORT -#define USART0_RTS_PORT 0 -#endif -#ifndef USART0_RTS_PIN -#define USART0_RTS_PIN 0 -#endif - -// USART0 RX on PB00 -#ifndef USART0_RX_PORT -#define USART0_RX_PORT gpioPortB -#endif -#ifndef USART0_RX_PIN -#define USART0_RX_PIN 0 -#endif - -// USART0 TX on PB01 -#ifndef USART0_TX_PORT -#define USART0_TX_PORT gpioPortB -#endif -#ifndef USART0_TX_PIN -#define USART0_TX_PIN 1 -#endif - -// [USART0]$ - -// $[USART1] -// [USART1]$ - -// $[USART2] -// [USART2]$ - -// $[I2C1] -// [I2C1]$ - -// $[LETIMER0] -// [LETIMER0]$ - -// $[IADC0] -// [IADC0]$ - -// $[ACMP0] -// [ACMP0]$ - -// $[ACMP1] -// [ACMP1]$ - -// $[I2C0] -// [I2C0]$ - -// $[PTI] -// [PTI]$ - -// $[MODEM] -// [MODEM]$ - -// $[CUSTOM_PIN_NAME] -#ifndef _PORT -#define _PORT gpioPortA -#endif -#ifndef _PIN -#define _PIN 0 -#endif - -// [CUSTOM_PIN_NAME]$ - -#endif // PIN_CONFIG_H - diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/psa_crypto_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/psa_crypto_config.h deleted file mode 100644 index 05af353c..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/psa_crypto_config.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef PSA_CRYPTO_CONFIG_H -#define PSA_CRYPTO_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Key management configuration - -// PSA User Maximum Open Keys Count <0-128> -// Maximum amount of keys that the user application will have open -// simultaneously. In context of PSA Crypto, an open key means any key -// either stored in RAM (lifetime set to PSA_KEY_LIFETIME_VOLATILE), or -// used as part of a cryptographic operation. -// When using a key for a multi-part (setup/update/finish) operation, a key -// is considered to be open from the moment the operation is successfully -// setup, until it finishes or aborts. -// When an application tries to open more keys than this value accounts for, -// the PSA API may return PSA_ERROR_INSUFFICIENT_MEMORY. Keep in mind that -// other software included in the application (e.g. wireless protocol stacks) -// also can have a need to have open keys in PSA Crypto. This could lead to -// a race condition when the application key slot count is set too low for -// the actual usage of the application, as a software stack may not fail -// gracefully in case an application opens more than its declared amount of -// keys, thereby precluding the stack from functioning. -// Default: 4 -#define SL_PSA_KEY_USER_SLOT_COUNT 0 - -// PSA Maximum User Persistent Keys Count <0-1024> -// Maximum amount of keys (or other files) that can be stored persistently -// by the application through the PSA interface, when persistent storage -// support for PSA Crypto is included in the project. -// Due to caching logic, this setting does have an impact on static RAM usage. -// Note that this number is added to the potential requirements from other -// software components in the project, such that the total amount of keys -// which can be stored through the ITS backend can be higher than what is -// configured here. -// -// WARNING: When changing this setting on an application that is already -// deployed, and thus will get the change through an application upgrade, -// care should be taken to ensure that the setting is only ever increased, -// and never decreased. Decreasing this setting might cause previously -// stored keys/files to become inaccessible. -// -// It is not possible to change this setting when using V3 ITS Driver. -// The file-storage indexing is dependent on the maximum number of files, -// and if SL_PSA_ITS_USER_MAX_FILES is changed, ITS should be cleared and -// all files need to be stored again. -// Default: 128 -#define SL_PSA_ITS_USER_MAX_FILES (128) - -// Enable V1 Format Support For ITS Files <0-1> -// Devices that used PSA ITS together with gecko_sdk_3.1.x or earlier -// might have keys (or other files) stored in V1 format. -// If no v1 files are used, its support can be disabled for space -// optimization. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V1_DRIVER 0 - -// Enable V2 ITS Driver Support <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. Enabling this -// config option adds upgrade code which converts V2 (and V1 if -// supported) format ITS keys/files to the latest V3 format. Update is -// fully automatic, needs to be run once and require extra flash space of -// approximately the size of the largest key. -// V1 ITS driver support can be disabled if the device has never used ITS -// driver before in GSDK 4.1.x and earlier, or the keys has been already -// migrated. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V2_DRIVER 0 - -// Enable support for V3 ITS Driver <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. In rare case -// that those devices have full nvm3 and not enough space for the -// upgrade, (that requires an extra space to store largest key in memory -// twice), this config option can disable v3 driver and use v2 one. -// To upgrade the device, make space for the upgrade, and enable v3 driver again. -// -// WARNING: When using V3 driver, it is not possible to increase or decrease -// the value of SL_PSA_ITS_USER_MAX_FILES. If the change of -// SL_PSA_ITS_USER_MAX_FILES is required, ITS should be cleared and -// all files need to be stored again. -// Default: 1 -#define SL_PSA_ITS_SUPPORT_V3_DRIVER 1 - -// Built-in AES Key Mode of Operation -// CTR Mode -// CFB Mode -// OFB Mode -// ECB Mode -// CBC Mode (no padding) -// CBC Mode (PKCS#7 padding) -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// Default: PSA_ALG_CTR -#define SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG (PSA_ALG_CTR) - -#ifndef SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG -// Built-in PUF Key Algorithm -// PBKDF2 (CMAC-AES-128-PRF) -// CMAC -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// It is recommended to only use the PUF key for deriving further key -// material. -// Default: PSA_ALG_PBKDF2_AES_CMAC_PRF_128 -#define SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG (PSA_ALG_PBKDF2_AES_CMAC_PRF_128) -#endif // SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG - -// - -// Power optimization configuration - -// Store already-generated random bytes before putting the device to sleep -// Using the hardware TRNG (for example through psa_generate_random()) will -// consume a non-negligible amount of power. A start-up routine must pass -// and a relatively large minimum amount of random bytes will be generated. -// Use cases where the device is frequently entering EM2/EM3 and thereafter -// consumes a small amount of data from the TRNG may benefit from buffering -// the existing random bytes before putting the device to sleep. These -// buffered bytes are then consumed until exhaustion before the TRNG needs -// to be initialized and used again. -// -// NOTE: this configuration option is only applicable for devices with a -// Virtual Secure Engine (VSE), and requires the 'Power Manager' component -// to be included in the project. -// -// Default: 0 -#define SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP (0) - -// Number of random words to buffer before putting the device to sleep <1-63> -// This option can be used to decrease the amount of random words that -// (if enabled) are buffered before the device enters EM2/EM3. Lowering this -// number will result in less static RAM usage, but also means that the TRNG -// potentially has to be initialized more times--leading to increased power -// consumption. By default this option in configured to buffer as much TRNG -// data as possible (limited by the depth of the TRNG FIFO). -// -// NOTE: this configuration option is only applicable when -// SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP is enabled. -// -// Default: 63 -#define SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP (63) -// - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_psa_config_autogen.h" -#endif - -#if defined(TFM_CONFIG_SL_SECURE_LIBRARY) - #include "sli_psa_tfm_translation.h" -#endif - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_psa_acceleration.h" -#endif - -#include "sli_psa_builtin_config_autogen.h" - -#endif // PSA_CRYPTO_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_bluetooth_advertiser_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_bluetooth_advertiser_config.h deleted file mode 100644 index 9607cb02..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_bluetooth_advertiser_config.h +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Bluetooth Advertiser 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_BT_ADVERTISER_CONFIG_H -#define SL_BT_ADVERTISER_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Max number of advertising sets reserved for user <0-255> -// Default: 1 -// Define the number of advertising sets that the application needs to use concurrently. Note that all types of advertising uses the same pool of advertising sets, but periodic advertising has extra configuration to define the number of advertising sets that are capable of periodic advertising. -// -// Specifically, if the component "bluetooth_feature_periodic_advertiser" is used, its configuration SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS specifies how many of the SL_BT_CONFIG_USER_ADVERTISERS advertising sets are capable of periodic advertising. Similarly, if the component bluetooth_feature_pawr_advertiser is used, its configuration SL_BT_CONFIG_MAX_PAWR_ADVERTISERS specifies how many of the periodic advertising sets are capable of Periodic Advertising with Responses. -// -// The configuration values must satisfy the condition SL_BT_CONFIG_USER_ADVERTISERS >= SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS >= SL_BT_CONFIG_MAX_PAWR_ADVERTISERS. -#define SL_BT_CONFIG_USER_ADVERTISERS 3 -// <<< end of configuration section >>> - -#endif diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_bluetooth_connection_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_bluetooth_connection_config.h deleted file mode 100644 index 73a38250..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_bluetooth_connection_config.h +++ /dev/null @@ -1,48 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Bluetooth Connection 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_BT_CONNECTION_CONFIG_H -#define SL_BT_CONNECTION_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Max number of connections reserved for user <0-32> -// Default: 4 -// Define the number of connections the application needs. -#define SL_BT_CONFIG_MAX_CONNECTIONS (4) - -// Preferred maximum TX payload octets <27-251> -// Default: 251 -// Define the preferred maximum TX payload octets that will be used on connections. -// This value is set to the controller as the default suggested data length when -// Bluetooth stack is started. -#define SL_BT_CONFIG_CONNECTION_DATA_LENGTH (251) - -// <<< end of configuration section >>> -#endif diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_btctrl_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_btctrl_config.h deleted file mode 100644 index ba98b762..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_btctrl_config.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef SL_BTCTRL_CONFIG_H -#define SL_BTCTRL_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Bluetooth Controller Configuration - -// Bluetooth Controller Buffer Memory -// Default: SL_BT_CONTROLLER_BUFFER_MEMORY -// Define the Amount of memory to allocate for tx/rx buffers in Bluetooth Controller -#define SL_BT_CONTROLLER_BUFFER_MEMORY (8192) - -// Bluetooth Controller ACL data packets that can be stored -// Default: SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX -// Define the total number of the maximum sized ACL data packets that can be received from the host -#define SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX (3) - -// Total transmitted packets threshold for all connections to send the Number Of Completed Packets HCI event to the host <1-255> -// Default: 4 -// Define the number of transmitted air interface ACL packets to trigger the Number Of Completed Packets HCI event. -#define SL_BT_CONTROLLER_COMPLETED_PACKETS_THRESHOLD (4) - -// Number of connection events to send the Number Of Completed Packets HCI event to the host <1-255> -// Default: 3 -// Define the maximum number of connection events since the previous Number Of Completed Packets HCI event to trigger reporting of any unreported completed ACL packets. -#define SL_BT_CONTROLLER_COMPLETED_PACKETS_EVENTS_TIMEOUT (3) - -// Maximum number of queued advertisement reports <1-255> -// Default: 10 -// Define the maximum number of queued advertisement reports. Additional advertisement reports are dropped. -#define SL_BT_CONFIG_MAX_QUEUED_ADV_REPORTS (10) - -// Bluetooth Controller Configuration - -// <<< end of configuration section >>> - -#endif // SL_BTCTRL_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_btctrl_rtos_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_btctrl_rtos_config.h deleted file mode 100644 index 945ebcfb..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_btctrl_rtos_config.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef SL_BTCTRL_RTOS_CONFIG_H -#define SL_BTCTRL_RTOS_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Priority Configuration for Bluetooth RTOS Tasks - -// Bluetooth link layer task priority -// Default: 52 (CMSIS-RTOS2 osPriorityRealtime4) -// Define the priority of the Bluetooth link layer task. This must be a valid -// priority value from CMSIS-RTOS2 osPriority_t definition. -#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_PRIORITY (52) - -// Bluetooth link layer task stack size in bytes -// Default: 1000 -// Define the stack size of the Bluetooth link layer task. The value is in bytes -// and will be word aligned when it is applied at the task creation. -#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_STACK_SIZE (1000) - -// End Priority Configuration for Bluetooth RTOS Tasks - -// <<< end of configuration section >>> - -#endif // SL_BT_RTOS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_clock_manager_oscillator_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_clock_manager_oscillator_config.h deleted file mode 100644 index 2a270b01..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_clock_manager_oscillator_config.h +++ /dev/null @@ -1,229 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Oscillators 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_CLOCK_MANAGER_OSCILLATOR_CONFIG_H -#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H - -// Oscillators Settings - -// HFXO Settings (if High Frequency crystal is used) -// Enable to configure HFXO -#ifndef SL_CLOCK_MANAGER_HFXO_EN -#define SL_CLOCK_MANAGER_HFXO_EN 1 -#endif - -// Mode -// -// XTAL -// EXTCLK -// HFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_HFXO_MODE -#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL -#endif - -// Frequency <38000000-40000000> -// 38400000 -#ifndef SL_CLOCK_MANAGER_HFXO_FREQ -#define SL_CLOCK_MANAGER_HFXO_FREQ 38400000 -#endif - -// CTUNE <0-255> -// 140 -#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE -#define SL_CLOCK_MANAGER_HFXO_CTUNE 140 -#endif - -// Precision <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION -#define SL_CLOCK_MANAGER_HFXO_PRECISION 50 -#endif -// - -// LFXO Settings (if Low Frequency crystal is used) -// Enable to configure LFXO -#ifndef SL_CLOCK_MANAGER_LFXO_EN -#define SL_CLOCK_MANAGER_LFXO_EN 1 -#endif - -// Mode -// -// XTAL -// BUFEXTCLK -// DIGEXTCLK -// LFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_LFXO_MODE -#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL -#endif - -// CTUNE <0-127> -// 63 -#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE -#define SL_CLOCK_MANAGER_LFXO_CTUNE 63 -#endif - -// LFXO precision in PPM <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION -#define SL_CLOCK_MANAGER_LFXO_PRECISION 50 -#endif - -// Startup Timeout Delay -// -// CYCLES2 -// CYCLES256 -// CYCLES1K -// CYCLES2K -// CYCLES4K -// CYCLES8K -// CYCLES16K -// CYCLES32K -// LFXO_CFG_TIMEOUT_CYCLES4K -#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT -#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K -#endif -// - -// HFRCO and DPLL Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 7 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 38 MHz -// 48 MHz -// 56 MHz -// 64 MHz -// 80 MHz -// cmuHFRCODPLLFreq_80M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCO_BAND -#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz -#endif - -// Use DPLL -// Enable to use the DPLL with HFRCO -#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN -#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 0 -#endif - -// Target Frequency <1000000-80000000> -// DPLL target frequency -// 80000000 -#ifndef SL_CLOCK_MANAGER_DPLL_FREQ -#define SL_CLOCK_MANAGER_DPLL_FREQ 80000000 -#endif - -// Numerator (N) <300-4095> -// Value of N for output frequency calculation fout = fref * (N+1) / (M+1) -// 3999 -#ifndef SL_CLOCK_MANAGER_DPLL_N -#define SL_CLOCK_MANAGER_DPLL_N 3999 -#endif - -// Denominator (M) <0-4095> -// Value of M for output frequency calculation fout = fref * (N+1) / (M+1) -// 1919 -#ifndef SL_CLOCK_MANAGER_DPLL_M -#define SL_CLOCK_MANAGER_DPLL_M 1919 -#endif - -// Reference Clock -// Reference clock source for DPLL -// DISABLED -// HFXO -// LFXO -// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK -#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#endif - -// Reference Clock Edge Detect -// Edge detection for reference clock -// Falling Edge -// Rising Edge -// cmuDPLLEdgeSel_Fall -#ifndef SL_CLOCK_MANAGER_DPLL_EDGE -#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall -#endif - -// DPLL Lock Mode -// Lock mode -// Frequency-Lock Loop -// Phase-Lock Loop -// cmuDPLLLockMode_Freq -#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE -#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase -#endif - -// Automatic Lock Recovery -// 1 -#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER -#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1 -#endif - -// Enable Dither -// 0 -#ifndef SL_CLOCK_MANAGER_DPLL_DITHER -#define SL_CLOCK_MANAGER_DPLL_DITHER 0 -#endif -// -// - -// HFRCOEM23 Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 40 MHz -// cmuHFRCOEM23Freq_19M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND -#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz -#endif -// - -// - -#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */ - -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_clock_manager_tree_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_clock_manager_tree_config.h deleted file mode 100644 index 924916d1..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_clock_manager_tree_config.h +++ /dev/null @@ -1,217 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Clock Tree 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_CLOCK_MANAGER_TREE_CONFIG_H -#define SL_CLOCK_MANAGER_TREE_CONFIG_H - -// Internal Defines: DO NOT MODIFY -// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE -// selection of each clock branch to the right HW register value. -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA - -// Clock Tree Settings - -// Default Clock Source Selection for HF clock branches -// HFRCODPLL -// HFXO -// FSRCO -// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#endif - -// Default Clock Source Selection for LF clock branches -// LFRCO -// LFXO -// ULFRCO -// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#endif - -// System Clock Branch Settings - -// Clock Source Selection for SYSCLK branch -// DEFAULT_HF -// FSRCO -// HFRCODPLL -// HFXO -// Selection of the Clock source for SYSCLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// HCLK branch divider -// DIV1 -// DIV2 -// DIV4 -// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface. -// CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER -#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#endif - -// PCLK branch divider -// DIV1 -// DIV2 -// PCLK branch is derived from HCLK. This clock drives the APB bus interface. -// CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER -#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#endif - -// - -// Trace Clock Branches Settings -// Clock Source Selection for TRACECLK branch -// HCLK -// HFRCOEM23 -// Selection of the Clock source for TRACECLK -// CMU_TRACECLKCTRL_CLKSEL_HCLK -#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE -#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_HCLK -#endif - -// - -// High Frequency Clock Branches Settings -// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible -// EM01GRPACLK clock the Timer peripherals -// Clock Source Selection for EM01GRPACLK branch -// DEFAULT_HF -// HFRCODPLL -// HFXO -// HFRCOEM23 -// FSRCO -// Selection of the Clock source for EM01GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// Clock Source Selection for IADCCLK branch -// EM01GRPACLK -// HFRCOEM23 -// FSRCO -// Selection of the Clock source for IADCCLK -// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE -#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#endif - -// - -// Low Frequency Clock Branches Settings - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM23GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM4GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM4GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for RTCCCLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_RTCCCLK_SOURCE -#define SL_CLOCK_MANAGER_RTCCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG0CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG0CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG1CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG1CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// - -// Mixed Frequency Clock Branch Settings - -// Clock Source Selection for SYSTICKCLK branch -// <0=> HCLK -// <1=> EM23GRPACLK -// Selection of the Clock source for SYSTICKCLK -// 0 -#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0 -#endif -// -// - -#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */ - -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_core_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_core_config.h deleted file mode 100644 index 27b173d2..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_core_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_config.h deleted file mode 100644 index 514b365d..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_config.h +++ /dev/null @@ -1,83 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_CPC_CONFIG_H -#define SL_CPC_CONFIG_H - -// CPC Configuration - -// Use a lookup table to speedup CRC calculation -// Default: 0 -// Enabling this features speeds up the CRC computation at the cost of using an additional 512 (256 x sizeof uint16_t) bytes or memory for the LUT -#define SL_CPC_USE_PRE_HASHED_CRC_TABLE 0 - -// Max Rx Payload Length<1-4087> -// Default: 256 -// Maximum size of the payload in bytes of each RX buffer -#define SL_CPC_RX_PAYLOAD_MAX_LENGTH (256) - -// Tx Queue Size -// Default: 20 -// The maximum number of outgoing messages capable of being queued for transmission. -#define SL_CPC_TX_QUEUE_ITEM_MAX_COUNT 15 - -// Total Number of Rx Buffers -// Default: 20 -// Total number of CPC RX buffers available across all endpoints -// Multiple RX buffers can be associated with a single endpoint -#define SL_CPC_RX_BUFFER_MAX_COUNT 15 - -// Enable debug core tracing with system view -// Default: 0 -#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_CORE_EVENT 0 - -// Enable debug endpoint tracing with system view -// Default: 0 -#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_ENDPOINT_EVENT 0 - -// Enable debug counters for core events -// Default: 0 -#define SL_CPC_DEBUG_CORE_EVENT_COUNTERS 0 - -// Enable debug counters for endpoint events -// Default: 0 -#define SL_CPC_DEBUG_ENDPOINT_EVENT_COUNTERS 0 - -// Enable debug counters for memory allocation -// Default: 0 -#define SL_CPC_DEBUG_MEMORY_ALLOCATOR_COUNTERS 0 - -// - -// <<< end of configuration section >>> - -#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_drv_uart_usart_vcom_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_drv_uart_usart_vcom_config.h deleted file mode 100644 index 7cbdbe2d..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_drv_uart_usart_vcom_config.h +++ /dev/null @@ -1,101 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC UART driver configuration file. - ******************************************************************************* - * # 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_CPC_DRV_UART_USART_VCOM_CONFIG_H -#define SL_CPC_DRV_UART_USART_VCOM_CONFIG_H - -// CPC - UART Driver Configuration - -// Number of frame that can be queued in the driver receive queue -// Default: 10 -#define SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE 10 - -// Number of frame that can be queued in the driver transmit queue -// Default: 10 -#define SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE 10 - -// UART Baudrate -// Default: 115200 -#define SL_CPC_DRV_UART_VCOM_BAUDRATE 460800 - -// Flow control -// None -// CTS/RTS -// Default: usartHwFlowControlCtsAndRts -#define SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE usartHwFlowControlNone -// - -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_CPC_DRV_UART_VCOM -// $[USART_SL_CPC_DRV_UART_VCOM] -#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL -#define SL_CPC_DRV_UART_VCOM_PERIPHERAL USART0 -#endif -#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO -#define SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO 0 -#endif - -// USART0 TX on PB01 -#ifndef SL_CPC_DRV_UART_VCOM_TX_PORT -#define SL_CPC_DRV_UART_VCOM_TX_PORT gpioPortB -#endif -#ifndef SL_CPC_DRV_UART_VCOM_TX_PIN -#define SL_CPC_DRV_UART_VCOM_TX_PIN 1 -#endif - -// USART0 RX on PB00 -#ifndef SL_CPC_DRV_UART_VCOM_RX_PORT -#define SL_CPC_DRV_UART_VCOM_RX_PORT gpioPortB -#endif -#ifndef SL_CPC_DRV_UART_VCOM_RX_PIN -#define SL_CPC_DRV_UART_VCOM_RX_PIN 0 -#endif - -#ifndef SL_CPC_DRV_UART_VCOM_CTS_PORT -#define SL_CPC_DRV_UART_VCOM_CTS_PORT 0 -#endif -#ifndef SL_CPC_DRV_UART_VCOM_CTS_PIN -#define SL_CPC_DRV_UART_VCOM_CTS_PIN 0 -#endif - -#ifndef SL_CPC_DRV_UART_VCOM_RTS_PORT -#define SL_CPC_DRV_UART_VCOM_RTS_PORT 0 -#endif -#ifndef SL_CPC_DRV_UART_VCOM_RTS_PIN -#define SL_CPC_DRV_UART_VCOM_RTS_PIN 0 -#endif - -// [USART_SL_CPC_DRV_UART_VCOM]$ -// <<< sl:end pin_tool >>> - -#endif /* SL_CPC_DRV_UART_VCOM_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_kernel_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_kernel_config.h deleted file mode 100644 index 7e01e898..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_kernel_config.h +++ /dev/null @@ -1,99 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_CPC_KERNEL_CONFIG_H -#define SL_CPC_KERNEL_CONFIG_H - -// CPC Kernel Configuration - -// CPC task priority -// low + 1 -// low + 2 -// low + 3 -// low + 4 -// low + 5 -// low + 6 -// low + 7 -// below normal -// below normal + 1 -// below normal + 2 -// below normal + 3 -// below normal + 4 -// below normal + 5 -// below normal + 6 -// below normal + 7 -// normal -// normal + 1 -// normal + 2 -// normal + 3 -// normal + 4 -// normal + 5 -// normal + 6 -// normal + 7 -// above normal -// above normal + 1 -// above normal + 2 -// above normal + 3 -// above normal + 4 -// above normal + 5 -// above normal + 6 -// above normal + 7 -// high -// high + 1 -// high + 2 -// high + 3 -// high + 4 -// high + 5 -// high + 6 -// high + 7 -// realtime -// realtime + 1 -// realtime + 2 -// realtime + 3 -// realtime + 4 -// realtime + 5 -// realtime + 6 -// realtime + 7 -// Default: osPriorityAboveNormal3 -// CMSIS Priority of the CPC task -#define SL_CPC_TASK_PRIORITY osPriorityAboveNormal3 - -// CPC task stack size in words -// Default: 1024 -// Stack size for the CPC task in words. -#define SL_CPC_TASK_STACK_SIZE (1024) - -// - -// <<< end of configuration section >>> - -#endif /* SL_CPC_KERNEL_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_security_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_security_config.h deleted file mode 100644 index 50d2f123..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_cpc_security_config.h +++ /dev/null @@ -1,55 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_CPC_SECURITY_CONFIG_H -#define SL_CPC_SECURITY_CONFIG_H - -// CPC Security Configuration - -// Enable encryption using the security endpoint -// Default: 0 -#define SL_CPC_SECURITY_ENABLED 0 - -// Binding key method -// -// The customer provides the key. -// The key is exchanged using the Elliptic-curve Diffie-Hellman algorithm -// The key is plaintext key share. The host sends its encryption key to the secondary -// No binding key is provided -// Default: SL_CPC_SECURITY_BINDING_KEY_ECDH -#define SL_CPC_SECURITY_BINDING_KEY_METHOD SL_CPC_SECURITY_BINDING_KEY_NONE - -// - -// <<< end of configuration section >>> - -#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_device_init_emu_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_device_init_emu_config.h deleted file mode 100644 index 4ac96bac..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_device_init_emu_config.h +++ /dev/null @@ -1,53 +0,0 @@ -/***************************************************************************//** - * @file - * @brief DEVICE_INIT_EMU Config - ******************************************************************************* - * # License - * Copyright 2019 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_DEVICE_INIT_EMU_CONFIG_H -#define SL_DEVICE_INIT_EMU_CONFIG_H - -#include "em_emu.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// Allow debugger to remain connected in EM2 -// Force PD0B to stay on on EM2 entry. This allows the debugger to remain connected in EM2 and EM3. -// Enabling debug connectivity results in an increased power consumption in EM2/EM3. -// Default: 1 -#define SL_DEVICE_INIT_EMU_EM2_DEBUG_ENABLE 1 - -// EM4 pin retention mode -// No Retention: Pads enter reset state when entering EM4. -// Retention through EM4: Pads enter reset state when exiting EM4. -// Retention through EM4 and wakeup. -// Default: emuPinRetentionDisable -#define SL_DEVICE_INIT_EMU_EM4_PIN_RETENTION_MODE emuPinRetentionDisable - -// <<< end of configuration section >>> - -#endif // SL_DEVICE_INIT_EMU_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_gp_interface_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_gp_interface_config.h deleted file mode 100644 index a937b58b..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_gp_interface_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_interrupt_manager_s2_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_interrupt_manager_s2_config.h deleted file mode 100644 index 714893aa..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_interrupt_manager_s2_config.h +++ /dev/null @@ -1,47 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_mbedtls_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_mbedtls_config.h deleted file mode 100644 index 39b51496..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_mbedtls_config.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef SL_MBEDTLS_CONFIG_H -#define SL_MBEDTLS_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// TLS/DTLS configuration - -// Complete list of ciphersuites to use, in order of preference. -// Default: MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 -// Complete list of ciphersuites to use, in order of preference. -// The value of this configuration should be updated for the application needs. -#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 - -// Maximum TLS/DTLS fragment length in bytes (input). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when receiving data. -#define SL_MBEDTLS_SSL_IN_CONTENT_LEN 768 - -// Maximum TLS/DTLS fragment length in bytes (output). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when sending data. -#define SL_MBEDTLS_SSL_OUT_CONTENT_LEN 768 - -// Enable support for RFC 6066 max_fragment_length extension in SSL. -// Default: 1 -// Enable support for RFC 6066 max_fragment_length extension in SSL. -#define SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1 - -// Enable support for exporting key block and master secret. -// Default: 1 -// Enable support for exporting key block and master secret. -// This is required for certain users of TLS, e.g. EAP-TLS. -#define SL_MBEDTLS_SSL_EXPORT_KEYS 1 - -// Enable the PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 0 - -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 0 - -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 0 - -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 0 - -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 0 - -// Enable parsing of the compressed curves. -// Default: 0 -// Enable parsing of the compressed curves. -#define SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING 0 - -// - -// RSA configuration - -// Disable use of the Chinese Remainder Theorem for RSA. -// Default: 0 -// Disable use of the Chinese Remainder Theorem for RSA private key -// computations. -#define SL_MBEDTLS_RSA_NO_CRT 0 - -// - -// Miscellaneous configuration - -// Enable Silicon Labs' Mbed TLS- and PSA Crypto drivers. -// Default: 1 -// Enable drivers for hardware acceleration (Mbed TLS and PSA Crypto) and -// secure key handling (PSA Crypto). -#define SL_MBEDTLS_DRIVERS_ENABLED 1 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_mbedtls_config_autogen.h" -#endif - -#include "sli_mbedtls_omnipresent.h" - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_mbedtls_acceleration.h" -#endif - -#include "sl_mbedtls_device_config.h" - -// Include transformation logic to apply CMSIS-config configuration options to -// the correct Mbed TLS / PSA Crypto options. -#include "sli_mbedtls_config_transform_autogen.h" - -// Included for backward compatibility reasons. -#include "mbedtls/build_info.h" - -#endif // SL_MBEDTLS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_mbedtls_device_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_mbedtls_device_config.h deleted file mode 100644 index 33c34c42..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_mbedtls_device_config.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef SL_MBEDTLS_DEVICE_CONFIG_H -#define SL_MBEDTLS_DEVICE_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Secure Engine (SE) version configuration - -// Support SE firmware versions older than 1.2.2 <0-1> -// Enable software fallback for ECDH and ECC public key validation on xG21 -// devices running SE firmware versions lower than 1.2.2. -// -// Due to other stability concerns, it is strongly recommended to upgrade -// these devices to the latest firmware revision instead of turning on -// software fallback support. -// -// Not having fallback support will make ECDH operations, as well as PSA -// Crypto public key import, return an error code on affected devices. -// -// Default: 0 -#define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 0 - -// Assume an SE firmware version newer than 1.2.2 <0-1> -// For enhanced performance: if it is guaranteed that all devices on which -// this library will run are updated to at least SE FW 1.2.2, then turning -// on this option will remove certain fallback checks, thereby reducing the -// amount of processing required for ECDH and public key verification -// operations. -// Default: 0 -#define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 0 - -// Assume an SE firmware version that is unaffected by Ed25519 errata <0-1> -// For minimal code size and performance savings: if it is guaranteed that -// none of the devices running this library has SE FWs in the range -// [1.2.2, 1.2.8], then enabling this option will disable runtime version -// checks. -// Default: 0 -#define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 0 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Additional SE version related logic (DO NOT MODIFY) - -// SL_SE_ASSUME_FW_AT_LEAST_1_2_10 is no longer in use, however, it is kept here -// for backwards compatibility. */ -#if defined(SL_SE_ASSUME_FW_AT_LEAST_1_2_10) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 - #undef SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA - #define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 1 -#endif - -// SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2) - #undef SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 - #define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 1 -#endif - -// SLI_SE_ASSUME_FW_AT_LEAST_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_ASSUME_FW_AT_LEAST_1_2_2) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 -#endif - -#endif // SL_MBEDTLS_DEVICE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_memory_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_memory_config.h deleted file mode 100644 index 3afe6966..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_memory_config.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef SL_MEMORY_CONFIG_H -#define SL_MEMORY_CONFIG_H - -#include "sl_memory_manager_region_config.h" -#include "sl_common.h" - -#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 - -#endif diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_memory_manager_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_memory_manager_config.h deleted file mode 100644 index 7e4b0567..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_memory_manager_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_memory_manager_region_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_memory_manager_region_config.h deleted file mode 100644 index ee337e99..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_memory_manager_region_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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 2752 -#endif -// - -// <<< end of configuration section >>> - -#endif /* SL_MEMORY_MANAGER_REGION_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_coex_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_coex_config.h deleted file mode 100644 index af4e9328..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_coex_config.h +++ /dev/null @@ -1,41 +0,0 @@ -/***************************************************************************//** - * @file - * @brief OpenThread Coexistence 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 >>> ----------------- -// -// Coexistence Configurations -// Synch MAC to GRANT (MAC holdoff) -#define SL_OPENTHREAD_COEX_MAC_HOLDOFF_ENABLE 0 - -// Counters -#define SL_OPENTHREAD_COEX_COUNTER_ENABLE 1 - -// -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_features_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_features_config.h deleted file mode 100644 index f66c3fe2..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_features_config.h +++ /dev/null @@ -1,410 +0,0 @@ -/***************************************************************************//** - * @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 >>> ----------------- -// -// Default OpenThread Stack Configuration - -// Thread Stack Protocol Version -// -// Thread 1.1 -// Thread 1.2 -// Thread 1.3 -// Thread 1.4 -// Current Default: OT_THREAD_VERSION_1_3 -#ifndef OPENTHREAD_CONFIG_THREAD_VERSION -#define OPENTHREAD_CONFIG_THREAD_VERSION OT_THREAD_VERSION_1_4 -#endif -// - -#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2) -// The following features require at least Thread Stack Protocol Version 1.2 -// Backbone Router -#ifndef OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE -#define OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 0 -#endif -// CSL Auto Synchronization using data polling -#ifndef OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE -#define OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE 0 -#endif -// CSL (Coordinated Sampled Listening) Debug -#ifndef OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE -#define OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE 0 -#endif -// CSL (Coordinated Sampled Listening) Receiver -#ifndef OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE -#define OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE 0 -#endif -// CSL Scheduling Uncertainty (±10 us units) <12..999:1> -#ifndef SL_OPENTHREAD_CSL_TX_UNCERTAINTY -#if OPENTHREAD_RADIO - #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 175 -#elif OPENTHREAD_FTD - #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 20 -#else - #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 12 -#endif -#endif -// DUA (Domain Unicast Address) -#ifndef OPENTHREAD_CONFIG_DUA_ENABLE -#define OPENTHREAD_CONFIG_DUA_ENABLE 1 -#endif -// Link Metrics Initiator -#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 1 -#endif -// Link Metrics Subject -#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1 -#endif -// Multicast Listener Registration -#ifndef OPENTHREAD_CONFIG_MLR_ENABLE -#define OPENTHREAD_CONFIG_MLR_ENABLE 1 -#endif -// -#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 -#ifndef OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE -#define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 0 -#endif -// Service Registration Protocol (SRP) Client -#ifndef OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 -#endif -// 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) -#ifndef OPENTHREAD_CONFIG_TCP_ENABLE -#define OPENTHREAD_CONFIG_TCP_ENABLE 0 -#endif -// 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_3 - -// Border Agent -#ifndef OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE -#define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 0 -#endif -// -// Border Router -#ifndef OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE -#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 0 -#endif -// -// Channel Manager -#ifndef OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE -#define OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 0 -#endif -// -// Channel Monitor -#ifndef OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE -#define OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE 0 -#endif -// - -// Commissioner -#ifndef OPENTHREAD_CONFIG_COMMISSIONER_ENABLE -#define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 0 -#endif - -// Max Joiner Entries -// The maximum number of Joiner entries maintained by the Commissioner. -// 2 -#ifndef OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES -#define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 2 -#endif -// - -// COAP API -#ifndef OPENTHREAD_CONFIG_COAP_API_ENABLE -#define OPENTHREAD_CONFIG_COAP_API_ENABLE 0 -#endif -// -// COAP Observe (RFC7641) API -#ifndef OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE -#define OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE 0 -#endif -// -// COAP Secure API -#ifndef OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE -#define OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 0 -#endif -// -// DHCP6 Client -#ifndef OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE 0 -#endif -// -// DHCP6 Server -#ifndef OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE -#define OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE 0 -#endif -// -// Diagnostic -#ifndef OPENTHREAD_CONFIG_DIAG_ENABLE -#define OPENTHREAD_CONFIG_DIAG_ENABLE 1 -#endif -// -// ECDSA (Elliptic Curve Digital Signature Algorithm) (Required for Matter support) -#ifndef OPENTHREAD_CONFIG_ECDSA_ENABLE -#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 -#endif -// -// External Heap -#ifndef OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE -#define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 0 -#endif -// -// IPv6 Fragmentation -#ifndef OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE -#define OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE 0 -#endif -// -// Maximum number of IPv6 unicast addresses allowed to be externally added -#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS -#define OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 4 -#endif -// -// Maximum number of IPv6 multicast addresses allowed to be externally added -#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS -#define OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 4 -#endif -// -// Jam Detection -#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE -#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 0 -#endif -// -// Joiner -#ifndef OPENTHREAD_CONFIG_JOINER_ENABLE -#define OPENTHREAD_CONFIG_JOINER_ENABLE 0 -#endif -// -// Link Raw Service -#ifndef OPENTHREAD_CONFIG_LINK_RAW_ENABLE -#define OPENTHREAD_CONFIG_LINK_RAW_ENABLE 0 -#endif -// -// MAC Filter -#ifndef OPENTHREAD_CONFIG_MAC_FILTER_ENABLE -#define OPENTHREAD_CONFIG_MAC_FILTER_ENABLE 0 -#endif -// -// MLE Long Routes extension (experimental) -#ifndef OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE -#define OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE 0 -#endif -// -// MultiPAN RCP -#ifndef OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE -#define OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE 1 -#endif -// -// Multiple OpenThread Instances -#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE -#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 1 -#endif -// -// Multiple Static Instance Support -#ifndef OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE -#define OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 1 -#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 -#endif -// -// Ping Sender Module -#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 -#define OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 0 -#endif -// -// Reference Device for Thread Test Harness -#ifndef OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE -#define OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 0 -#endif -// -// Service Entries in Thread Network Data -#ifndef OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE -#define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 0 -#endif -// -// RAM (volatile-only storage) -#ifndef OPENTHREAD_SETTINGS_RAM -#define OPENTHREAD_SETTINGS_RAM 0 -#endif -// -// SLAAC Addresses -#ifndef OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE -#define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 -#endif -// -// SNTP Client -#ifndef OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE 0 -#endif -// -// TMF Network Diagnostic client API -#ifndef OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE 1 -#endif -// -// Time Synchronization Service -#define OPENTHREAD_CONFIG_TIME_SYNC_ENABLE 0 -// -// UDP Forward -#ifndef OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE -#define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 0 -#endif -// -// Enable Mac beacon payload parsing support -#ifndef OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE -#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 -// NONE -// APP -// PLATFORM_DEFINED -// Default: OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED -#ifndef OPENTHREAD_CONFIG_LOG_OUTPUT -#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_NONE -#endif - -// DYNAMIC_LOG_LEVEL -#ifndef OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE -#define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 0 -#endif - -// Enable Logging -#define OPENTHREAD_FULL_LOGS_ENABLE 0 -#if OPENTHREAD_FULL_LOGS_ENABLE - -// Note: Enabling higher log levels, which include logging packet details, can cause delays which may result in join failures. -// LOG_LEVEL -// NONE -// CRIT -// WARN -// NOTE -// INFO -// DEBG -// Default: OT_LOG_LEVEL_DEBG -#ifndef OPENTHREAD_CONFIG_LOG_LEVEL -#define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_DEBG -#endif -// CLI -#ifndef OPENTHREAD_CONFIG_LOG_CLI -#define OPENTHREAD_CONFIG_LOG_CLI 1 -#endif -// PKT_DUMP -#ifndef OPENTHREAD_CONFIG_LOG_PKT_DUMP -#define OPENTHREAD_CONFIG_LOG_PKT_DUMP 1 -#endif -// PLATFORM -#ifndef OPENTHREAD_CONFIG_LOG_PLATFORM -#define OPENTHREAD_CONFIG_LOG_PLATFORM 1 -#endif -// PREPEND_LEVEL -#ifndef OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL -#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 -// - -// -// -// - -// <<< end of configuration section >>> -#endif // _SL_OPENTHREAD_FEATURES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_generic_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_generic_config.h deleted file mode 100644 index 46beb6e4..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_generic_config.h +++ /dev/null @@ -1,175 +0,0 @@ -/***************************************************************************//** - * @file - * @brief OpenThread generic 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. - * - ******************************************************************************/ - -/* Define if building universal (internal helper macro) */ -/* #undef AC_APPLE_UNIVERSAL_BUILD */ - -/* Define to 1 if your C++ compiler doesn't accept -c and -o together. */ -/* #undef CXX_NO_MINUS_C_MINUS_O */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DLFCN_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `edit' library (-ledit). */ -/* #undef HAVE_LIBEDIT */ - -/* Define to 1 if you have the `readline' library (-lreadline). */ -/* #undef HAVE_LIBREADLINE */ - -/* Define to 1 if you have the `memcpy' function. */ -/* #undef HAVE_MEMCPY */ - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if stdbool.h conforms to C99. */ -#define HAVE_STDBOOL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if the system has the type `_Bool'. */ -#define HAVE__BOOL 1 - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#define LT_OBJDIR ".libs/" - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Name of package */ -#define PACKAGE "openthread" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "openthread-devel@googlegroups.com" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "SL-OPENTHREAD" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "SL-OPENTHREAD/2.5.1.0_GitHub-1fceb225b" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "openthread" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "http://github.com/openthread/openthread" - -/* Define to the version of this package. - * Note: When adding the label below with OpenThread version, please make - * sure it is a valid GitHub version. Avoid merge or local commit hashes. - */ -#define PACKAGE_VERSION "2.5.1.0_GitHub-1fceb225b" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "2.5.1.0_GitHub-1fceb225b" - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -/* # undef WORDS_BIGENDIAN */ -# endif -#endif - -/* Define for Solaris 2.5.1 so the uint32_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -/* #undef _UINT32_T */ - -/* Define for Solaris 2.5.1 so the uint64_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -/* #undef _UINT64_T */ - -/* Define for Solaris 2.5.1 so the uint8_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -/* #undef _UINT8_T */ - -/* Define to the type of a signed integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -/* #undef int16_t */ - -/* Define to the type of a signed integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -/* #undef int32_t */ - -/* Define to the type of a signed integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -/* #undef int64_t */ - -/* Define to the type of a signed integer type of width exactly 8 bits if such - a type exists and the standard includes do not define it. */ -/* #undef int8_t */ - -/* Define to the type of an unsigned integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint16_t */ - -/* Define to the type of an unsigned integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint32_t */ - -/* Define to the type of an unsigned integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint64_t */ - -/* Define to the type of an unsigned integer type of width exactly 8 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint8_t */ diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_rtos_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_rtos_config.h deleted file mode 100644 index cc6ebf7d..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_openthread_rtos_config.h +++ /dev/null @@ -1,100 +0,0 @@ -/***************************************************************************//** - * @file - * @brief OpenThread RTOS 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 >>> ----------------- -// -// Priority Configuration for OpenThread RTOS Stack Task -// OpenThread stack task priority -// Default: 24 (CMSIS-RTOS2 osPriorityNormal) -// Defines OpenThread stack task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_STACK_TASK_PRIORITY (24) - -// -// Priority Configuration for OpenThread App Task -// OpenThread task priority -// Default: 23 (CMSIS-RTOS2 osPriorityBelowNormal7) -// Defines OpenThread App task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_APP_TASK_PRIORITY (23) - -// -// Priority Configuration for OpenThread RTOS Stack Task -// OpenThread CLI task prority -// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) -// Defines OpenThread CLI task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) - -// OpenThread stack task stack size in bytes <1000-20000> -// Default: 4608 -// Defines the stack size of the OpenThread RTOS stack task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_STACK_TASK_MEM_SIZE 4608 - -// OpenThread app task stack size in bytes <1000-20000> -// Default: 4096 -// Defines the stack size of the OpenThread RTOS app task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_APP_TASK_MEM_SIZE 4608 - -// OpenThread CLI task stack size in bytes <1000-20000> -// Default: 2048 -// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_CLI_TASK_MEM_SIZE 2048 -// -// Priority Configuration for OpenThread RTOS Stack Task -// OpenThread CLI task prority -// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) -// Defines OpenThread CLI task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) - -// OpenThread CLI task stack size in bytes <1000-20000> -// Default: 2048 -// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_OS_CLI_TASK_SIZE 2048 - -// -// App Task -// Enable default App task -// Default: On -#define SL_OPENTHREAD_ENABLE_APP_TASK (1) - -// -// CLI Task -// Enable CLI task -// Default: On -#define SL_OPENTHREAD_ENABLE_CLI_TASK (1) - -// -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_coex_common_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_coex_common_config.h deleted file mode 100644 index 7cddee03..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_coex_common_config.h +++ /dev/null @@ -1,254 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Common coexistence configuration header file - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_COEX_COMMON_CONFIG_H -#define SL_RAIL_UTIL_COEX_COMMON_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Coexistence Configuration - -// IEEE802.15.4 Only Configuration -// Disable ACKing when GRANT deasserted, RHO asserted, or REQUEST deasserted -// Disable ACKing when GNT deasserted, RHO asserted, or REQ not secured (shared REQ only) -// Default: 1 -#define SL_RAIL_UTIL_COEX_ACKHOLDOFF 1 - -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Default: 0 -#define SL_RAIL_UTIL_COEX_IEEE802154_TX_ABORT 0 -// - -// BLE Only Configuration -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Default: 0 -#define SL_RAIL_UTIL_COEX_BLE_TX_ABORT 0 -// - -// REQUEST -// Enable REQUEST signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_REQ_ENABLED 0 - -// REQUEST assert signal level -// <1=> High -// <0=> Low -// Polarity of REQUEST signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_REQ_ASSERT_LEVEL 1 - -// Enable REQUEST shared mode -// Configure the REQUEST signal for shared mode -// Default: 0 -#define SL_RAIL_UTIL_COEX_REQ_SHARED 0 - -// Max REQUEST backoff mask [0-255] -// <0-255:1> -// Maximum backoff time in microseconds after REQUEST was deasserted -// Default: 15 -#define SL_RAIL_UTIL_COEX_REQ_BACKOFF 15 - -// BLE Only Request Configuration -// Specify the number of microseconds between asserting Request and starting RX/TX -// <0-5000:1> -// Specify the number of microseconds between asserting REQUEST and starting RX/TX (BLE only) -// Default: 500 -#define SL_RAIL_UTIL_COEX_REQ_WINDOW 500 -// - -// IEEE802.15.4 Only Request Configuration -// Enable REQUEST receive retry -// Enable the receive retry -// Default: 0 -#define SL_RAIL_UTIL_COEX_RETRYRX_ENABLE 0 - -// REQUEST receive retry timeout(ms) -// <0-255:1> -// Receive retry REQ timeout in milliseconds -// Default: 16 -#define SL_RAIL_UTIL_COEX_RETRYRX_TIMEOUT 16 - -// REQUEST receive retry assert PRIORITY -// Enable the receive retry high priority -// Default: 0 -#define SL_RAIL_UTIL_COEX_RETRYRX_HIPRI 0 -// -// -// - -// GRANT -// Enable GRANT signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_GNT_ENABLED 0 - -// GRANT assert signal level -// <1=> High -// <0=> Low -// Polarity of grant (GNT) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_GNT_ASSERT_LEVEL 1 -// - -// PRIORITY -// Enable PRIORITY signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRI_ENABLED 0 - -// PRIORITY assert signal level -// <1=> High -// <0=> Low -// Polarity of priority(PRI) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_PRI_ASSERT_LEVEL 1 - -// Enable PRIORITY shared mode -// Configure the PRIORITY signal for shared mode -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRI_SHARED 0 - -// BLE Only Priority Configuration -// Default Enabled/Disabled -// Enable/Disable BLE PRIORITY by default -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRIORITY_DEFAULT 0 -// - -// IEEE802.15.4 Only Priority Configuration -// Assert PRIORITY when transmitting packet -// Assert a high priority when the local device is transmitting a packet -// Default: 0 -#define SL_RAIL_UTIL_COEX_TX_HIPRI 0 - -// Assert PRIORITY when receiving packet -// Assert a high priority when the local device is receiving a packet -// Default: 0 -#define SL_RAIL_UTIL_COEX_RX_HIPRI 0 - -// Include TX PRIORITY escalation -// Compile-time include TX PRIORITY escalation feature -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRIORITY_ESCALATION_ENABLE 0 - -// CCA/GRANT TX PRIORITY escalation threshold -// <0-255:1> -// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) -// Default: 4 -#define SL_RAIL_UTIL_COEX_CCA_THRESHOLD 4 - -// MAC Fail TX PRIORITY escalation threshold -// <0-3:1> -// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) or no RX_ACK received (four consecutive RX_ACK failures is one MAC failure) -// Default: 0 -#define SL_RAIL_UTIL_COEX_MAC_FAIL_THRESHOLD 0 -// -// - -// PWM REQUEST -// Enable PWM REQUEST signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED 0 - -// PWM REQUEST signal level (shared REQUEST only) -// <1=> High -// <0=> Low -// Polarity of PWM request (PWM_REQ) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_PWM_REQ_ASSERT_LEVEL 1 - -// Enable PWM REQUEST at startup -// Enable PWM REQUEST at startup (also run-time controllable) -// Default: 1 -#define SL_RAIL_UTIL_COEX_PWM_DEFAULT_ENABLED 1 - -// PWM Request Period (0.5ms steps) -// <5-109> -// PWM REQUEST Period (5ms to 109ms in 0.5ms steps) -// Default: 78 -#define SL_RAIL_UTIL_COEX_PWM_REQ_PERIOD 78 - -// PWM Request Duty-Cycle (%) -// <1-95:1> -// PWM REQUEST Duty-Cycle (1% to 95% in 1% steps) -// Default: 20 -#define SL_RAIL_UTIL_COEX_PWM_REQ_DUTYCYCLE 20 - -// Assert priority when PWM REQUEST asserted -// Assert a high priority when local device is asserting PWM -// Default: 0 -#define SL_RAIL_UTIL_COEX_PWM_PRIORITY 0 - -// BLE Only PWM Configuration -// Enable PWM only when local device is scanning -// Enable PWM only when local device is scanning -// Default: 0 -#define SL_RAIL_UTIL_COEX_SCANPWM_DEFAULT_ENABLED 0 -// -// - -// Radio Hold-off -// Default: 0 -#define SL_RAIL_UTIL_COEX_RHO_ENABLED 0 -// RHO assert signal level -// <1=> High -// <0=> Low -// Polarity of radio hold-off (RHO) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_RHO_ASSERT_LEVEL 1 -// - -// Directional PRIORITY -// Enable Directional PRIORITY signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_DP_ENABLED 0 -// Directional PRIORITY pulse width -// <0-255:1> -// Microseconds to hold Directional PRIORITY priority pulse -// Default: 20 -#define SL_RAIL_UTIL_COEX_DP_PULSE_WIDTH_US 20 -// - -// RX active -// Enable RX active signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED 0 - -// RX active assert signal level -// <1=> High -// <0=> Low -// Polarity of RX active signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ASSERT_LEVEL 1 -// - -// -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_COEX_COMMON_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_coex_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_coex_config.h deleted file mode 100644 index 099a83fa..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_coex_config.h +++ /dev/null @@ -1,145 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Coexistence configuration header file - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_COEX_CONFIG_H -#define SL_RAIL_UTIL_COEX_CONFIG_H - -#include "sl_rail_util_coex_common_config.h" - -// <<< sl:start pin_tool >>> - -#if SL_RAIL_UTIL_COEX_GNT_ENABLED -// Pin used for grant (GNT) signal -// SL_RAIL_UTIL_COEX_GNT -// $[GPIO_SL_RAIL_UTIL_COEX_GNT] -// #define SL_RAIL_UTIL_COEX_GNT_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_GNT_PIN 9 -// [GPIO_SL_RAIL_UTIL_COEX_GNT]$ -#ifndef SL_RAIL_UTIL_COEX_GNT_PORT -#error "SL_RAIL_UTIL_COEX_GNT undefined" -#endif //SL_RAIL_UTIL_COEX_GNT_PORT -#endif //SL_RAIL_UTIL_COEX_GNT_ENABLED - -#if SL_RAIL_UTIL_COEX_PRI_ENABLED -// Pin used for PRIORITY signal -// SL_RAIL_UTIL_COEX_PRI -// $[GPIO_SL_RAIL_UTIL_COEX_PRI] -// #define SL_RAIL_UTIL_COEX_PRI_PORT gpioPortD -// #define SL_RAIL_UTIL_COEX_PRI_PIN 13 -// [GPIO_SL_RAIL_UTIL_COEX_PRI]$ -#if !defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED -#error "SL_RAIL_UTIL_COEX_PRI undefined" -#endif //!defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED -#endif //SL_RAIL_UTIL_COEX_PRI_ENABLED - -#if SL_RAIL_UTIL_COEX_REQ_ENABLED -// Pin used for Request signal -// SL_RAIL_UTIL_COEX_REQ -// $[GPIO_SL_RAIL_UTIL_COEX_REQ] -// #define SL_RAIL_UTIL_COEX_REQ_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_REQ_PIN 10 -// [GPIO_SL_RAIL_UTIL_COEX_REQ]$ -#ifndef SL_RAIL_UTIL_COEX_REQ_PORT -#error "SL_RAIL_UTIL_COEX_REQ undefined" -#endif //SL_RAIL_UTIL_COEX_REQ_PORT -#endif //SL_RAIL_UTIL_COEX_REQ_ENABLED - -#if SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED -// Pin used for PWM Request signal -// SL_RAIL_UTIL_COEX_PWM_REQ -// $[GPIO_SL_RAIL_UTIL_COEX_PWM_REQ] -// #define SL_RAIL_UTIL_COEX_PWM_REQ_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_PWM_REQ_PIN 11 -// [GPIO_SL_RAIL_UTIL_COEX_PWM_REQ]$ -#ifndef SL_RAIL_UTIL_COEX_PWM_REQ_PORT -#error "SL_RAIL_UTIL_COEX_PWM_REQ undefined" -#endif //SL_RAIL_UTIL_COEX_PWM_REQ_PORT -#endif //SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED - -#if SL_RAIL_UTIL_COEX_RHO_ENABLED -// Pin used for Radio Holdoff signal -// SL_RAIL_UTIL_COEX_RHO -// $[GPIO_SL_RAIL_UTIL_COEX_RHO] -// #define SL_RAIL_UTIL_COEX_RHO_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_RHO_PIN 8 -// [GPIO_SL_RAIL_UTIL_COEX_RHO]$ -#ifndef SL_RAIL_UTIL_COEX_RHO_PORT -#error "SL_RAIL_UTIL_COEX_RHO undefined" -#endif //SL_RAIL_UTIL_COEX_RHO_PORT -#endif //SL_RAIL_UTIL_COEX_RHO_ENABLED - -#if SL_RAIL_UTIL_COEX_DP_ENABLED -// Pin used for Directional Priority signal -// SL_RAIL_UTIL_COEX_DP_OUT -// $[PRS_SL_RAIL_UTIL_COEX_DP_OUT] -// #define SL_RAIL_UTIL_COEX_DP_OUT_CHANNEL 3 - -// PRS CH3 on PD12 -// #define SL_RAIL_UTIL_COEX_DP_OUT_PORT gpioPortD -// #define SL_RAIL_UTIL_COEX_DP_OUT_PIN 12 -// [PRS_SL_RAIL_UTIL_COEX_DP_OUT]$ - -// Directional Priority timer module -// SL_RAIL_UTIL_COEX_DP_TIMER -// $[TIMER_SL_RAIL_UTIL_COEX_DP_TIMER] -// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL TIMER1 -// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL_NO 1 -#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL -#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" -#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL - -// #define SL_RAIL_UTIL_COEX_DP_TIMER_CC0_CHANNEL 1 -// [TIMER_SL_RAIL_UTIL_COEX_DP_TIMER]$ -#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL -#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" -#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL -#endif //SL_RAIL_UTIL_COEX_DP_ENABLED - -#if SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED -// Pin used for RX active signal -// SL_RAIL_UTIL_COEX_RX_ACTIVE -// $[PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE] -// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL 8 - -// PRS CH8 on PD13 -// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT gpioPortD -// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PIN 13 -// [PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE]$ -#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT -#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT undefined" -#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT -#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL -#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL undefined" -#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL -#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED - -// <<< sl:end pin_tool >>> - -#endif // SL_RAIL_UTIL_COEX_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_dma_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_dma_config.h deleted file mode 100644 index dcf7171c..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_dma_config.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************//** - * @file - * @brief - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_DMA_CONFIG_H -#define SL_RAIL_UTIL_DMA_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMA Configuration -// Allocate DMA channel to RAIL (to decrease channel config switching time) -// Default: 1 -#define SL_RAIL_UTIL_DMA_ENABLE 1 -// Use DMA Driver (i.e., auto-select DMA channel) -// Default: 1 -#define SL_RAIL_UTIL_DMA_DMADRV_ENABLE 1 -// Use Specific DMA Channel (if DMA driver not used) -// <0-16:1> -// Default: 0 -#define SL_RAIL_UTIL_DMA_CHANNEL 0 -// -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_DMA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_ieee802154_fast_channel_switching_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_ieee802154_fast_channel_switching_config.h deleted file mode 100644 index a4470069..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_ieee802154_fast_channel_switching_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @file - * @brief IEEE802.15.4 fast channel switching configuration file. - ******************************************************************************* - * # 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_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H -#define SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H - -#include "rail_features.h" - -#if RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING == 0 -#error "IEEE.802.15.4 RX channel switching unsupported on this platform!" -#endif //RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING - -#define sl_rail_util_ieee802154_is_fast_channel_switching_phy_selected() SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED - -// <<< Use Configuration Wizard in Context Menu >>> -// IEEE802.15.4 Fast Channel Switching Configuration -// Enable fast channel switching -// Default: 1 -#define SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED 1 -// -// <<< end of configuration section >>> -#endif //SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_pa_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_pa_config.h deleted file mode 100644 index a300b57e..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_pa_config.h +++ /dev/null @@ -1,81 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Power Amplifier configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PA_CONFIG_H -#define SL_RAIL_UTIL_PA_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// PA Configuration -// Initial PA Power (deci-dBm, 100 = 10.0 dBm) -// Default: 100 -#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100 -// PA Ramp Time (microseconds) -// <0-65535:1> -// Default: 10 -#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10 -// Milli-volts on PA supply pin (PA_VDD) -// <0-65535:1> -// Default: 3300 -#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300 -// 2.4 GHz PA Selection -// Highest Possible -// High Power (chip-specific) -// Medium Power (chip-specific) -// Low Power -// Disable -// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -// Sub-1 GHz PA Selection -// Disable -// Default: RAIL_TX_POWER_MODE_NONE -#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE -// - -// PA Curve Configuration -// Header file containing custom PA curves -// Default: "pa_curves_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h" -// Header file containing PA curve types -// Default: "pa_curve_types_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h" -// - -// PA Calibration Configuration -// Apply PA Calibration Factory Offset -// Default: 1 -#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 1 -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_PA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_pti_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_pti_config.h deleted file mode 100644 index 66cf53e3..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_pti_config.h +++ /dev/null @@ -1,62 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Packet Trace Information configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PTI_CONFIG_H -#define SL_RAIL_UTIL_PTI_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// PTI Configuration - -// PTI mode -// UART -// UART onewire -// SPI -// Disabled -// Default: RAIL_PTI_MODE_UART -#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_DISABLED - -// PTI Baud Rate (Hertz) -// <147800-20000000:1> -// Default: 1600000 -#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 1600000 - -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_RAIL_UTIL_PTI -// $[PTI_SL_RAIL_UTIL_PTI] -// [PTI_SL_RAIL_UTIL_PTI]$ - -// <<< sl:end pin_tool >>> - -#endif // SL_RAIL_UTIL_PTI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_rf_path_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_rf_path_config.h deleted file mode 100644 index ca5be91c..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_rf_path_config.h +++ /dev/null @@ -1,48 +0,0 @@ -/***************************************************************************//** - * @file - * @brief - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RF_PATH_CONFIG_H -#define SL_RAIL_UTIL_RF_PATH_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// Chip-internal RF Path Configuration -// RF Path Mode -// Path 0 -// Path 1 -// Default: RAIL_ANTENNA_1 -#define SL_RAIL_UTIL_RF_PATH_INT_RF_PATH_MODE RAIL_ANTENNA_1 -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_RF_PATH_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_rssi_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_rssi_config.h deleted file mode 100644 index 15a55646..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_rail_util_rssi_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @file - * @brief RSSI configuration header file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RSSI_CONFIG_H -#define SL_RAIL_UTIL_RSSI_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RSSI Offset Configuration - -// Software RSSI offset value -// Default: -11 -#define SL_RAIL_UTIL_RSSI_OFFSET -11 - -// -// <<< end of configuration section >>> -#endif // SL_RAIL_UTIL_RSSI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_sleeptimer_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_sleeptimer_config.h deleted file mode 100644 index 8344ef5f..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/sl_sleeptimer_config.h +++ /dev/null @@ -1,82 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Sleep Timer configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_SLEEPTIMER_CONFIG_H -#define SL_SLEEPTIMER_CONFIG_H - -#define SL_SLEEPTIMER_PERIPHERAL_DEFAULT 0 -#define SL_SLEEPTIMER_PERIPHERAL_RTCC 1 -#define SL_SLEEPTIMER_PERIPHERAL_PRORTC 2 -#define SL_SLEEPTIMER_PERIPHERAL_RTC 3 -#define SL_SLEEPTIMER_PERIPHERAL_SYSRTC 4 -#define SL_SLEEPTIMER_PERIPHERAL_BURTC 5 -#define SL_SLEEPTIMER_PERIPHERAL_WTIMER 6 -#define SL_SLEEPTIMER_PERIPHERAL_TIMER 7 - -// Timer Peripheral Used by Sleeptimer -// Default (auto select) -// RTCC -// Radio internal RTC (PRORTC) -// RTC -// SYSRTC -// Back-Up RTC (BURTC) -// WTIMER -// TIMER -// Selection of the Timer Peripheral Used by the Sleeptimer -#define SL_SLEEPTIMER_PERIPHERAL SL_SLEEPTIMER_PERIPHERAL_DEFAULT - -// TIMER/WTIMER Instance Used by Sleeptimer (not applicable for other peripherals) -// Make sure TIMER instance size is 32bits. Check datasheet for 32bits TIMERs. -// Default: 0 -#define SL_SLEEPTIMER_TIMER_INSTANCE 0 - -// Enable wallclock functionality -// Enable or disable wallclock functionalities (get_time, get_date, etc). -// Default: 0 -#define SL_SLEEPTIMER_WALLCLOCK_CONFIG 0 - -// Timer frequency divider (not applicable for WTIMER/TIMER) -// WTIMER/TIMER peripherals are always prescaled to 1024. -// Default: 1 -#define SL_SLEEPTIMER_FREQ_DIVIDER 1 - -// If Radio internal RTC (PRORTC) HAL is used, determines if it owns the IRQ handler. Enable, if no wireless stack is used. -// Default: 0 -#define SL_SLEEPTIMER_PRORTC_HAL_OWNS_IRQ_HANDLER 0 - -// Enable DEBUGRUN functionality on hardware RTC. -// Default: 0 -#define SL_SLEEPTIMER_DEBUGRUN 0 - -#endif /* SLEEPTIMER_CONFIG_H */ - -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/ustimer_config.h b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/ustimer_config.h deleted file mode 100644 index b50a57f7..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/config/ustimer_config.h +++ /dev/null @@ -1,55 +0,0 @@ -/***************************************************************************//** - * @file - * @brief USTIMER configuration file. - ******************************************************************************* - * # License - * Copyright 2018 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 __SILICON_LABS_USTIMER_CONFIG_H__ -#define __SILICON_LABS_USTIMER_CONFIG_H__ - -/***************************************************************************//** - * @addtogroup ustimer - * @{ - ******************************************************************************/ - -// <<< sl:start pin_tool >>> -// USTIMER -// $[TIMER_USTIMER] -#ifndef USTIMER_PERIPHERAL -#define USTIMER_PERIPHERAL TIMER0 -#endif -#ifndef USTIMER_PERIPHERAL_NO -#define USTIMER_PERIPHERAL_NO 0 -#endif -// [TIMER_USTIMER]$ - -// <<< sl:end pin_tool >>> - -#define USTIMER_TIMER USTIMER_PERIPHERAL_NO - -/** @} (end addtogroup ustimer) */ - -#endif /* __SILICON_LABS_USTIMER_CONFIG_H__ */ diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/linker_options/ot-rtos-wrapper-options b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/linker_options/ot-rtos-wrapper-options deleted file mode 100644 index 547da199..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/linker_options/ot-rtos-wrapper-options +++ /dev/null @@ -1,848 +0,0 @@ --Xlinker --wrap=otBackboneRouterGetPrimary --Xlinker --wrap=otBackboneRouterGetState --Xlinker --wrap=otBackboneRouterGetDomainPrefix --Xlinker --wrap=otBackboneRouterGetNdProxyInfo --Xlinker --wrap=otBackboneRouterMulticastListenerAdd --Xlinker --wrap=otBackboneRouterMulticastListenerGetNext --Xlinker --wrap=otBackboneRouterRegister --Xlinker --wrap=otBackboneRouterSetConfig --Xlinker --wrap=otBackboneRouterGetRegistrationJitter --Xlinker --wrap=otBackboneRouterConfigNextDuaRegistrationResponse --Xlinker --wrap=otBackboneRouterConfigNextMulticastListenerRegistrationResponse --Xlinker --wrap=otBackboneRouterGetConfig --Xlinker --wrap=otBackboneRouterMulticastListenerClear --Xlinker --wrap=otBackboneRouterSetDomainPrefixCallback --Xlinker --wrap=otBackboneRouterSetEnabled --Xlinker --wrap=otBackboneRouterSetMulticastListenerCallback --Xlinker --wrap=otBackboneRouterSetNdProxyCallback --Xlinker --wrap=otBackboneRouterSetRegistrationJitter --Xlinker --wrap=otBleSecureIsCommandClassAuthorized --Xlinker --wrap=otBleSecureIsConnected --Xlinker --wrap=otBleSecureIsConnectionActive --Xlinker --wrap=otBleSecureIsTcatEnabled --Xlinker --wrap=otBleSecureConnect --Xlinker --wrap=otBleSecureFlush --Xlinker --wrap=otBleSecureGetPeerCertificateBase64 --Xlinker --wrap=otBleSecureGetPeerSubjectAttributeByOid --Xlinker --wrap=otBleSecureGetThreadAttributeFromOwnCertificate --Xlinker --wrap=otBleSecureGetThreadAttributeFromPeerCertificate --Xlinker --wrap=otBleSecureSend --Xlinker --wrap=otBleSecureSendApplicationTlv --Xlinker --wrap=otBleSecureSendMessage --Xlinker --wrap=otBleSecureStart --Xlinker --wrap=otBleSecureTcatStart --Xlinker --wrap=otBleSecureDisconnect --Xlinker --wrap=otBleSecureSetCaCertificateChain --Xlinker --wrap=otBleSecureSetCertificate --Xlinker --wrap=otBleSecureSetPsk --Xlinker --wrap=otBleSecureSetSslAuthMode --Xlinker --wrap=otBleSecureStop --Xlinker --wrap=otBorderAgentIsEphemeralKeyActive --Xlinker --wrap=otBorderAgentGetState --Xlinker --wrap=otBorderAgentGetId --Xlinker --wrap=otBorderAgentSetEphemeralKey --Xlinker --wrap=otBorderAgentSetId --Xlinker --wrap=otBorderAgentGetUdpPort --Xlinker --wrap=otBorderAgentClearEphemeralKey --Xlinker --wrap=otBorderAgentSetEphemeralKeyCallback --Xlinker --wrap=otBorderRouterAddOnMeshPrefix --Xlinker --wrap=otBorderRouterAddRoute --Xlinker --wrap=otBorderRouterGetNetData --Xlinker --wrap=otBorderRouterGetNextOnMeshPrefix --Xlinker --wrap=otBorderRouterGetNextRoute --Xlinker --wrap=otBorderRouterRegister --Xlinker --wrap=otBorderRouterRemoveOnMeshPrefix --Xlinker --wrap=otBorderRouterRemoveRoute --Xlinker --wrap=otBorderRouterSetNetDataFullCallback --Xlinker --wrap=otBorderRoutingDhcp6PdGetState --Xlinker --wrap=otBorderRoutingGetState --Xlinker --wrap=otBorderRoutingGetFavoredNat64Prefix --Xlinker --wrap=otBorderRoutingGetFavoredOmrPrefix --Xlinker --wrap=otBorderRoutingGetFavoredOnLinkPrefix --Xlinker --wrap=otBorderRoutingGetNat64Prefix --Xlinker --wrap=otBorderRoutingGetNextPrefixTableEntry --Xlinker --wrap=otBorderRoutingGetNextRouterEntry --Xlinker --wrap=otBorderRoutingGetOmrPrefix --Xlinker --wrap=otBorderRoutingGetOnLinkPrefix --Xlinker --wrap=otBorderRoutingGetPdOmrPrefix --Xlinker --wrap=otBorderRoutingGetPdProcessedRaInfo --Xlinker --wrap=otBorderRoutingInit --Xlinker --wrap=otBorderRoutingSetEnabled --Xlinker --wrap=otBorderRoutingSetExtraRouterAdvertOptions --Xlinker --wrap=otBorderRoutingGetRouteInfoOptionPreference --Xlinker --wrap=otBorderRoutingGetRoutePreference --Xlinker --wrap=otBorderRoutingClearRouteInfoOptionPreference --Xlinker --wrap=otBorderRoutingClearRoutePreference --Xlinker --wrap=otBorderRoutingDhcp6PdSetEnabled --Xlinker --wrap=otBorderRoutingDhcp6PdSetRequestCallback --Xlinker --wrap=otBorderRoutingPrefixTableInitIterator --Xlinker --wrap=otBorderRoutingSetRouteInfoOptionPreference --Xlinker --wrap=otBorderRoutingSetRoutePreference --Xlinker --wrap=otChannelManagerGetAutoChannelSelectionEnabled --Xlinker --wrap=otChannelManagerGetAutoCslChannelSelectionEnabled --Xlinker --wrap=otChannelManagerRequestChannelSelect --Xlinker --wrap=otChannelManagerRequestCslChannelSelect --Xlinker --wrap=otChannelManagerSetAutoChannelSelectionInterval --Xlinker --wrap=otChannelManagerSetDelay --Xlinker --wrap=otChannelManagerGetCcaFailureRateThreshold --Xlinker --wrap=otChannelManagerGetDelay --Xlinker --wrap=otChannelManagerGetAutoChannelSelectionInterval --Xlinker --wrap=otChannelManagerGetFavoredChannels --Xlinker --wrap=otChannelManagerGetSupportedChannels --Xlinker --wrap=otChannelManagerGetRequestedChannel --Xlinker --wrap=otChannelManagerRequestChannelChange --Xlinker --wrap=otChannelManagerSetAutoChannelSelectionEnabled --Xlinker --wrap=otChannelManagerSetAutoCslChannelSelectionEnabled --Xlinker --wrap=otChannelManagerSetCcaFailureRateThreshold --Xlinker --wrap=otChannelManagerSetFavoredChannels --Xlinker --wrap=otChannelManagerSetSupportedChannels --Xlinker --wrap=otChannelMonitorIsEnabled --Xlinker --wrap=otChannelMonitorGetRssiThreshold --Xlinker --wrap=otChannelMonitorSetEnabled --Xlinker --wrap=otChannelMonitorGetChannelOccupancy --Xlinker --wrap=otChannelMonitorGetSampleCount --Xlinker --wrap=otChannelMonitorGetSampleInterval --Xlinker --wrap=otChannelMonitorGetSampleWindow --Xlinker --wrap=otChildSupervisionGetCheckFailureCounter --Xlinker --wrap=otChildSupervisionGetCheckTimeout --Xlinker --wrap=otChildSupervisionGetInterval --Xlinker --wrap=otChildSupervisionResetCheckFailureCounter --Xlinker --wrap=otChildSupervisionSetCheckTimeout --Xlinker --wrap=otChildSupervisionSetInterval --Xlinker --wrap=otCliSetUserCommands --Xlinker --wrap=otCliInit --Xlinker --wrap=otCliInputLine --Xlinker --wrap=CliUartOutput --Xlinker --wrap=otCoapMessageCodeToString --Xlinker --wrap=otCoapOptionIteratorGetFirstOption --Xlinker --wrap=otCoapOptionIteratorGetFirstOptionMatching --Xlinker --wrap=otCoapOptionIteratorGetNextOption --Xlinker --wrap=otCoapOptionIteratorGetNextOptionMatching --Xlinker --wrap=otCoapMessageGetToken --Xlinker --wrap=otCoapMessageGetCode --Xlinker --wrap=otCoapMessageGetType --Xlinker --wrap=otCoapMessageAppendBlock1Option --Xlinker --wrap=otCoapMessageAppendBlock2Option --Xlinker --wrap=otCoapMessageAppendContentFormatOption --Xlinker --wrap=otCoapMessageAppendMaxAgeOption --Xlinker --wrap=otCoapMessageAppendObserveOption --Xlinker --wrap=otCoapMessageAppendOption --Xlinker --wrap=otCoapMessageAppendProxyUriOption --Xlinker --wrap=otCoapMessageAppendUintOption --Xlinker --wrap=otCoapMessageAppendUriPathOptions --Xlinker --wrap=otCoapMessageAppendUriQueryOption --Xlinker --wrap=otCoapMessageInitResponse --Xlinker --wrap=otCoapMessageSetPayloadMarker --Xlinker --wrap=otCoapMessageSetToken --Xlinker --wrap=otCoapOptionIteratorGetOptionUintValue --Xlinker --wrap=otCoapOptionIteratorGetOptionValue --Xlinker --wrap=otCoapOptionIteratorInit --Xlinker --wrap=otCoapSendRequestBlockWiseWithParameters --Xlinker --wrap=otCoapSendRequestWithParameters --Xlinker --wrap=otCoapSendResponseBlockWiseWithParameters --Xlinker --wrap=otCoapSendResponseWithParameters --Xlinker --wrap=otCoapStart --Xlinker --wrap=otCoapStop --Xlinker --wrap=otCoapNewMessage --Xlinker --wrap=otCoapBlockSizeFromExponent --Xlinker --wrap=otCoapMessageGetMessageId --Xlinker --wrap=otCoapMessageGetTokenLength --Xlinker --wrap=otCoapAddBlockWiseResource --Xlinker --wrap=otCoapAddResource --Xlinker --wrap=otCoapMessageGenerateToken --Xlinker --wrap=otCoapMessageInit --Xlinker --wrap=otCoapMessageSetCode --Xlinker --wrap=otCoapRemoveBlockWiseResource --Xlinker --wrap=otCoapRemoveResource --Xlinker --wrap=otCoapSetDefaultHandler --Xlinker --wrap=otCoapSecureIsClosed --Xlinker --wrap=otCoapSecureIsConnected --Xlinker --wrap=otCoapSecureIsConnectionActive --Xlinker --wrap=otCoapSecureConnect --Xlinker --wrap=otCoapSecureGetPeerCertificateBase64 --Xlinker --wrap=otCoapSecureSendRequest --Xlinker --wrap=otCoapSecureSendRequestBlockWise --Xlinker --wrap=otCoapSecureSendResponse --Xlinker --wrap=otCoapSecureSendResponseBlockWise --Xlinker --wrap=otCoapSecureStart --Xlinker --wrap=otCoapSecureStartWithMaxConnAttempts --Xlinker --wrap=otCoapSecureAddBlockWiseResource --Xlinker --wrap=otCoapSecureAddResource --Xlinker --wrap=otCoapSecureDisconnect --Xlinker --wrap=otCoapSecureRemoveBlockWiseResource --Xlinker --wrap=otCoapSecureRemoveResource --Xlinker --wrap=otCoapSecureSetCaCertificateChain --Xlinker --wrap=otCoapSecureSetCertificate --Xlinker --wrap=otCoapSecureSetClientConnectedCallback --Xlinker --wrap=otCoapSecureSetDefaultHandler --Xlinker --wrap=otCoapSecureSetPsk --Xlinker --wrap=otCoapSecureSetSslAuthMode --Xlinker --wrap=otCoapSecureStop --Xlinker --wrap=otCommissionerGetId --Xlinker --wrap=otCommissionerGetProvisioningUrl --Xlinker --wrap=otCommissionerGetState --Xlinker --wrap=otCommissionerAddJoiner --Xlinker --wrap=otCommissionerAddJoinerWithDiscerner --Xlinker --wrap=otCommissionerAnnounceBegin --Xlinker --wrap=otCommissionerEnergyScan --Xlinker --wrap=otCommissionerGetNextJoinerInfo --Xlinker --wrap=otCommissionerPanIdQuery --Xlinker --wrap=otCommissionerRemoveJoiner --Xlinker --wrap=otCommissionerRemoveJoinerWithDiscerner --Xlinker --wrap=otCommissionerSendMgmtGet --Xlinker --wrap=otCommissionerSendMgmtSet --Xlinker --wrap=otCommissionerSetId --Xlinker --wrap=otCommissionerSetProvisioningUrl --Xlinker --wrap=otCommissionerStart --Xlinker --wrap=otCommissionerStop --Xlinker --wrap=otCommissionerGetSessionId --Xlinker --wrap=otCryptoAesCcm --Xlinker --wrap=otCryptoHmacSha256 --Xlinker --wrap=otDatasetIsCommissioned --Xlinker --wrap=otDatasetGeneratePskc --Xlinker --wrap=otDatasetGetActive --Xlinker --wrap=otDatasetGetActiveTlvs --Xlinker --wrap=otDatasetGetPending --Xlinker --wrap=otDatasetGetPendingTlvs --Xlinker --wrap=otDatasetParseTlvs --Xlinker --wrap=otDatasetSendMgmtActiveGet --Xlinker --wrap=otDatasetSendMgmtActiveSet --Xlinker --wrap=otDatasetSendMgmtPendingGet --Xlinker --wrap=otDatasetSendMgmtPendingSet --Xlinker --wrap=otDatasetSetActive --Xlinker --wrap=otDatasetSetActiveTlvs --Xlinker --wrap=otDatasetSetPending --Xlinker --wrap=otDatasetSetPendingTlvs --Xlinker --wrap=otDatasetUpdateTlvs --Xlinker --wrap=otNetworkNameFromString --Xlinker --wrap=otDatasetConvertToTlvs --Xlinker --wrap=otDatasetCreateNewNetwork --Xlinker --wrap=otDatasetSetDelayTimerMinimal --Xlinker --wrap=otDatasetGetDelayTimerMinimal --Xlinker --wrap=otDatasetUpdaterIsUpdateOngoing --Xlinker --wrap=otDatasetUpdaterRequestUpdate --Xlinker --wrap=otDatasetUpdaterCancelUpdate --Xlinker --wrap=otDiagIsEnabled --Xlinker --wrap=otDiagProcessCmd --Xlinker --wrap=otDiagProcessCmdLine --Xlinker --wrap=otDnsIsNameCompressionEnabled --Xlinker --wrap=otDnsEncodeTxtData --Xlinker --wrap=otDnsGetNextTxtEntry --Xlinker --wrap=otDnsInitTxtEntryIterator --Xlinker --wrap=otDnsSetNameCompressionEnabled --Xlinker --wrap=otDnsClientGetDefaultConfig --Xlinker --wrap=otDnsAddressResponseGetAddress --Xlinker --wrap=otDnsAddressResponseGetHostName --Xlinker --wrap=otDnsBrowseResponseGetHostAddress --Xlinker --wrap=otDnsBrowseResponseGetServiceInfo --Xlinker --wrap=otDnsBrowseResponseGetServiceInstance --Xlinker --wrap=otDnsBrowseResponseGetServiceName --Xlinker --wrap=otDnsClientBrowse --Xlinker --wrap=otDnsClientResolveAddress --Xlinker --wrap=otDnsClientResolveIp4Address --Xlinker --wrap=otDnsClientResolveService --Xlinker --wrap=otDnsClientResolveServiceAndHostAddress --Xlinker --wrap=otDnsServiceResponseGetHostAddress --Xlinker --wrap=otDnsServiceResponseGetServiceInfo --Xlinker --wrap=otDnsServiceResponseGetServiceName --Xlinker --wrap=otDnsClientSetDefaultConfig --Xlinker --wrap=otDnssdUpstreamQueryIsEnabled --Xlinker --wrap=otDnssdGetCounters --Xlinker --wrap=otDnssdGetNextQuery --Xlinker --wrap=otDnssdGetQueryTypeAndName --Xlinker --wrap=otDnssdQueryHandleDiscoveredHost --Xlinker --wrap=otDnssdQueryHandleDiscoveredServiceInstance --Xlinker --wrap=otDnssdQuerySetCallbacks --Xlinker --wrap=otDnssdUpstreamQuerySetEnabled --Xlinker --wrap=otThreadErrorToString --Xlinker --wrap=otHeapCAlloc --Xlinker --wrap=otHeapFree --Xlinker --wrap=otHistoryTrackerIterateExternalRouteHistory --Xlinker --wrap=otHistoryTrackerIterateRxHistory --Xlinker --wrap=otHistoryTrackerIterateTxHistory --Xlinker --wrap=otHistoryTrackerIterateMulticastAddressHistory --Xlinker --wrap=otHistoryTrackerIterateNeighborHistory --Xlinker --wrap=otHistoryTrackerIterateNetInfoHistory --Xlinker --wrap=otHistoryTrackerIterateOnMeshPrefixHistory --Xlinker --wrap=otHistoryTrackerIterateRouterHistory --Xlinker --wrap=otHistoryTrackerIterateUnicastAddressHistory --Xlinker --wrap=otHistoryTrackerEntryAgeToString --Xlinker --wrap=otHistoryTrackerInitIterator --Xlinker --wrap=otIcmp6RegisterHandler --Xlinker --wrap=otIcmp6SendEchoRequest --Xlinker --wrap=otIcmp6GetEchoMode --Xlinker --wrap=otIcmp6SetEchoMode --Xlinker --wrap=otInstanceIsInitialized --Xlinker --wrap=otGetRadioVersionString --Xlinker --wrap=otGetVersionString --Xlinker --wrap=otInstanceErasePersistentInfo --Xlinker --wrap=otInstanceResetToBootloader --Xlinker --wrap=otSetStateChangedCallback --Xlinker --wrap=otInstanceInit --Xlinker --wrap=otInstanceInitMultiple --Xlinker --wrap=otInstanceInitSingle --Xlinker --wrap=otInstanceGetId --Xlinker --wrap=otInstanceGetUptime --Xlinker --wrap=otInstanceFactoryReset --Xlinker --wrap=otInstanceFinalize --Xlinker --wrap=otInstanceGetUptimeAsString --Xlinker --wrap=otInstanceReset --Xlinker --wrap=otInstanceResetRadioStack --Xlinker --wrap=otRemoveStateChangeCallback --Xlinker --wrap=otIp6ArePrefixesEqual --Xlinker --wrap=otIp6HasUnicastAddress --Xlinker --wrap=otIp6IsAddressEqual --Xlinker --wrap=otIp6IsAddressUnspecified --Xlinker --wrap=otIp6IsEnabled --Xlinker --wrap=otIp6IsMulticastPromiscuousEnabled --Xlinker --wrap=otIp6IsReceiveFilterEnabled --Xlinker --wrap=otIp6IsSlaacEnabled --Xlinker --wrap=otIp6ProtoToString --Xlinker --wrap=otIp6GetBorderRoutingCounters --Xlinker --wrap=otIp6GetUnicastAddresses --Xlinker --wrap=otIp6GetMulticastAddresses --Xlinker --wrap=otIp6GetUnsecurePorts --Xlinker --wrap=otIp6AddUnicastAddress --Xlinker --wrap=otIp6AddUnsecurePort --Xlinker --wrap=otIp6AddressFromString --Xlinker --wrap=otIp6PrefixFromString --Xlinker --wrap=otIp6RegisterMulticastListeners --Xlinker --wrap=otIp6RemoveUnicastAddress --Xlinker --wrap=otIp6RemoveUnsecurePort --Xlinker --wrap=otIp6SelectSourceAddress --Xlinker --wrap=otIp6Send --Xlinker --wrap=otIp6SetEnabled --Xlinker --wrap=otIp6SetMeshLocalIid --Xlinker --wrap=otIp6SubscribeMulticastAddress --Xlinker --wrap=otIp6UnsubscribeMulticastAddress --Xlinker --wrap=otIp6NewMessage --Xlinker --wrap=otIp6NewMessageFromBuffer --Xlinker --wrap=otIp6PrefixMatch --Xlinker --wrap=otIp6AddressToString --Xlinker --wrap=otIp6GetPrefix --Xlinker --wrap=otIp6PrefixToString --Xlinker --wrap=otIp6RemoveAllUnsecurePorts --Xlinker --wrap=otIp6ResetBorderRoutingCounters --Xlinker --wrap=otIp6SetAddressCallback --Xlinker --wrap=otIp6SetMulticastPromiscuousEnabled --Xlinker --wrap=otIp6SetReceiveCallback --Xlinker --wrap=otIp6SetReceiveFilterEnabled --Xlinker --wrap=otIp6SetSlaacEnabled --Xlinker --wrap=otIp6SetSlaacPrefixFilter --Xlinker --wrap=otIp6SockAddrToString --Xlinker --wrap=otJamDetectionGetState --Xlinker --wrap=otJamDetectionIsEnabled --Xlinker --wrap=otJamDetectionGetRssiThreshold --Xlinker --wrap=otJamDetectionSetBusyPeriod --Xlinker --wrap=otJamDetectionSetRssiThreshold --Xlinker --wrap=otJamDetectionSetWindow --Xlinker --wrap=otJamDetectionStart --Xlinker --wrap=otJamDetectionStop --Xlinker --wrap=otJamDetectionGetHistoryBitmap --Xlinker --wrap=otJamDetectionGetBusyPeriod --Xlinker --wrap=otJamDetectionGetWindow --Xlinker --wrap=otJoinerStateToString --Xlinker --wrap=otJoinerGetId --Xlinker --wrap=otJoinerGetDiscerner --Xlinker --wrap=otJoinerSetDiscerner --Xlinker --wrap=otJoinerStart --Xlinker --wrap=otJoinerGetState --Xlinker --wrap=otJoinerStop --Xlinker --wrap=otLinkIsActiveScanInProgress --Xlinker --wrap=otLinkIsCslEnabled --Xlinker --wrap=otLinkIsCslSupported --Xlinker --wrap=otLinkIsEnabled --Xlinker --wrap=otLinkIsEnergyScanInProgress --Xlinker --wrap=otLinkIsInTransmitState --Xlinker --wrap=otLinkIsPromiscuous --Xlinker --wrap=otLinkIsRadioFilterEnabled --Xlinker --wrap=otLinkGetExtendedAddress --Xlinker --wrap=otLinkGetCounters --Xlinker --wrap=otLinkGetTxDirectRetrySuccessHistogram --Xlinker --wrap=otLinkGetTxIndirectRetrySuccessHistogram --Xlinker --wrap=otLinkConvertLinkQualityToRss --Xlinker --wrap=otLinkActiveScan --Xlinker --wrap=otLinkEnergyScan --Xlinker --wrap=otLinkFilterAddAddress --Xlinker --wrap=otLinkFilterAddRssIn --Xlinker --wrap=otLinkFilterGetNextAddress --Xlinker --wrap=otLinkFilterGetNextRssIn --Xlinker --wrap=otLinkGetRegion --Xlinker --wrap=otLinkSendDataRequest --Xlinker --wrap=otLinkSendEmptyData --Xlinker --wrap=otLinkSetChannel --Xlinker --wrap=otLinkSetCslChannel --Xlinker --wrap=otLinkSetCslPeriod --Xlinker --wrap=otLinkSetCslTimeout --Xlinker --wrap=otLinkSetEnabled --Xlinker --wrap=otLinkSetExtendedAddress --Xlinker --wrap=otLinkSetPanId --Xlinker --wrap=otLinkSetPollPeriod --Xlinker --wrap=otLinkSetPromiscuous --Xlinker --wrap=otLinkSetRegion --Xlinker --wrap=otLinkSetSupportedChannelMask --Xlinker --wrap=otLinkFilterGetAddressMode --Xlinker --wrap=otLinkGetPanId --Xlinker --wrap=otLinkGetShortAddress --Xlinker --wrap=otLinkGetCcaFailureRate --Xlinker --wrap=otLinkGetCslPeriod --Xlinker --wrap=otLinkGetCslTimeout --Xlinker --wrap=otLinkGetPollPeriod --Xlinker --wrap=otLinkGetSupportedChannelMask --Xlinker --wrap=otLinkConvertRssToLinkQuality --Xlinker --wrap=otLinkGetChannel --Xlinker --wrap=otLinkGetCslChannel --Xlinker --wrap=otLinkGetMaxFrameRetriesDirect --Xlinker --wrap=otLinkGetMaxFrameRetriesIndirect --Xlinker --wrap=otLinkFilterClearAddresses --Xlinker --wrap=otLinkFilterClearAllRssIn --Xlinker --wrap=otLinkFilterClearDefaultRssIn --Xlinker --wrap=otLinkFilterRemoveAddress --Xlinker --wrap=otLinkFilterRemoveRssIn --Xlinker --wrap=otLinkFilterSetAddressMode --Xlinker --wrap=otLinkFilterSetDefaultRssIn --Xlinker --wrap=otLinkGetFactoryAssignedIeeeEui64 --Xlinker --wrap=otLinkResetCounters --Xlinker --wrap=otLinkResetTxRetrySuccessHistogram --Xlinker --wrap=otLinkSetMaxFrameRetriesDirect --Xlinker --wrap=otLinkSetMaxFrameRetriesIndirect --Xlinker --wrap=otLinkSetPcapCallback --Xlinker --wrap=otLinkSetRadioFilterEnabled --Xlinker --wrap=otLinkMetricsManagerIsEnabled --Xlinker --wrap=otLinkMetricsConfigEnhAckProbing --Xlinker --wrap=otLinkMetricsConfigForwardTrackingSeries --Xlinker --wrap=otLinkMetricsManagerGetMetricsValueByExtAddr --Xlinker --wrap=otLinkMetricsQuery --Xlinker --wrap=otLinkMetricsSendLinkProbe --Xlinker --wrap=otLinkMetricsManagerSetEnabled --Xlinker --wrap=otLinkRawGetPromiscuous --Xlinker --wrap=otLinkRawIsEnabled --Xlinker --wrap=otLinkRawGetRssi --Xlinker --wrap=otLinkRawEnergyScan --Xlinker --wrap=otLinkRawReceive --Xlinker --wrap=otLinkRawSetMacFrameCounter --Xlinker --wrap=otLinkRawSetMacFrameCounterIfLarger --Xlinker --wrap=otLinkRawSetMacKey --Xlinker --wrap=otLinkRawSetPromiscuous --Xlinker --wrap=otLinkRawSetReceiveDone --Xlinker --wrap=otLinkRawSetShortAddress --Xlinker --wrap=otLinkRawSleep --Xlinker --wrap=otLinkRawSrcMatchAddExtEntry --Xlinker --wrap=otLinkRawSrcMatchAddShortEntry --Xlinker --wrap=otLinkRawSrcMatchClearExtEntries --Xlinker --wrap=otLinkRawSrcMatchClearExtEntry --Xlinker --wrap=otLinkRawSrcMatchClearShortEntries --Xlinker --wrap=otLinkRawSrcMatchClearShortEntry --Xlinker --wrap=otLinkRawSrcMatchEnable --Xlinker --wrap=otLinkRawTransmit --Xlinker --wrap=otLinkRawGetCaps --Xlinker --wrap=otLinkRawGetTransmitBuffer --Xlinker --wrap=otLinkRawGetRadioTime --Xlinker --wrap=otLoggingSetLevel --Xlinker --wrap=otLoggingGetLevel --Xlinker --wrap=otMdnsIsEnabled --Xlinker --wrap=otMdnsIsQuestionUnicastAllowed --Xlinker --wrap=otMdnsGetNextHost --Xlinker --wrap=otMdnsGetNextKey --Xlinker --wrap=otMdnsGetNextService --Xlinker --wrap=otMdnsRegisterHost --Xlinker --wrap=otMdnsRegisterKey --Xlinker --wrap=otMdnsRegisterService --Xlinker --wrap=otMdnsSetEnabled --Xlinker --wrap=otMdnsStartBrowser --Xlinker --wrap=otMdnsStartIp4AddressResolver --Xlinker --wrap=otMdnsStartIp6AddressResolver --Xlinker --wrap=otMdnsStartSrvResolver --Xlinker --wrap=otMdnsStartTxtResolver --Xlinker --wrap=otMdnsStopBrowser --Xlinker --wrap=otMdnsStopIp4AddressResolver --Xlinker --wrap=otMdnsStopIp6AddressResolver --Xlinker --wrap=otMdnsStopSrvResolver --Xlinker --wrap=otMdnsStopTxtResolver --Xlinker --wrap=otMdnsUnregisterHost --Xlinker --wrap=otMdnsUnregisterKey --Xlinker --wrap=otMdnsUnregisterService --Xlinker --wrap=otMdnsAllocateIterator --Xlinker --wrap=otMdnsFreeIterator --Xlinker --wrap=otMdnsSetConflictCallback --Xlinker --wrap=otMdnsSetQuestionUnicastAllowed --Xlinker --wrap=otMeshDiagDiscoverTopology --Xlinker --wrap=otMeshDiagGetNextChildInfo --Xlinker --wrap=otMeshDiagGetNextIp6Address --Xlinker --wrap=otMeshDiagQueryChildTable --Xlinker --wrap=otMeshDiagQueryChildrenIp6Addrs --Xlinker --wrap=otMeshDiagQueryRouterNeighborTable --Xlinker --wrap=otMeshDiagCancel --Xlinker --wrap=otMessageIsLinkSecurityEnabled --Xlinker --wrap=otMessageIsLoopbackToHostAllowed --Xlinker --wrap=otMessageIsMulticastLoopEnabled --Xlinker --wrap=otMessageWrite --Xlinker --wrap=otMessageGetRss --Xlinker --wrap=otMessageAppend --Xlinker --wrap=otMessageGetThreadLinkInfo --Xlinker --wrap=otMessageSetLength --Xlinker --wrap=otMessageQueueGetHead --Xlinker --wrap=otMessageQueueGetNext --Xlinker --wrap=otMessageGetOrigin --Xlinker --wrap=otMessageGetLength --Xlinker --wrap=otMessageGetOffset --Xlinker --wrap=otMessageRead --Xlinker --wrap=otMessageFree --Xlinker --wrap=otMessageGetBufferInfo --Xlinker --wrap=otMessageQueueDequeue --Xlinker --wrap=otMessageQueueEnqueue --Xlinker --wrap=otMessageQueueEnqueueAtHead --Xlinker --wrap=otMessageQueueInit --Xlinker --wrap=otMessageResetBufferInfo --Xlinker --wrap=otMessageSetDirectTransmission --Xlinker --wrap=otMessageSetLoopbackToHostAllowed --Xlinker --wrap=otMessageSetMulticastLoopEnabled --Xlinker --wrap=otMessageSetOffset --Xlinker --wrap=otMessageSetOrigin --Xlinker --wrap=otMultiRadioGetNeighborInfo --Xlinker --wrap=otIp4IsAddressEqual --Xlinker --wrap=otIp4AddressFromString --Xlinker --wrap=otIp4CidrFromString --Xlinker --wrap=otIp4FromIp4MappedIp6Address --Xlinker --wrap=otNat64GetCidr --Xlinker --wrap=otNat64GetNextAddressMapping --Xlinker --wrap=otNat64Send --Xlinker --wrap=otNat64SetIp4Cidr --Xlinker --wrap=otNat64SynthesizeIp6Address --Xlinker --wrap=otIp4NewMessage --Xlinker --wrap=otNat64GetPrefixManagerState --Xlinker --wrap=otNat64GetTranslatorState --Xlinker --wrap=otIp4AddressToString --Xlinker --wrap=otIp4CidrToString --Xlinker --wrap=otIp4ExtractFromIp6Address --Xlinker --wrap=otIp4ToIp4MappedIp6Address --Xlinker --wrap=otNat64GetCounters --Xlinker --wrap=otNat64GetErrorCounters --Xlinker --wrap=otNat64InitAddressMappingIterator --Xlinker --wrap=otNat64SetEnabled --Xlinker --wrap=otNat64SetReceiveIp4Callback --Xlinker --wrap=otNcpStreamWrite --Xlinker --wrap=otNcpHdlcInit --Xlinker --wrap=otNcpHdlcInitMulti --Xlinker --wrap=otNcpHdlcReceive --Xlinker --wrap=otNcpHdlcSendDone --Xlinker --wrap=otNcpPlatLogv --Xlinker --wrap=otNcpRegisterPeekPokeDelegates --Xlinker --wrap=otNcpSpiInit --Xlinker --wrap=otNetDataContainsOmrPrefix --Xlinker --wrap=otNetDataGet --Xlinker --wrap=otNetDataGetNextLowpanContextInfo --Xlinker --wrap=otNetDataGetNextOnMeshPrefix --Xlinker --wrap=otNetDataGetNextRoute --Xlinker --wrap=otNetDataGetNextService --Xlinker --wrap=otNetDataSteeringDataCheckJoiner --Xlinker --wrap=otNetDataSteeringDataCheckJoinerWithDiscerner --Xlinker --wrap=otNetDataGetLength --Xlinker --wrap=otNetDataGetMaxLength --Xlinker --wrap=otNetDataGetStableVersion --Xlinker --wrap=otNetDataGetVersion --Xlinker --wrap=otNetDataGetCommissioningDataset --Xlinker --wrap=otNetDataResetMaxLength --Xlinker --wrap=otNetDataIsDnsSrpServiceAdded --Xlinker --wrap=otNetDataIsPrefixAdded --Xlinker --wrap=otNetDataPublishExternalRoute --Xlinker --wrap=otNetDataPublishOnMeshPrefix --Xlinker --wrap=otNetDataReplacePublishedExternalRoute --Xlinker --wrap=otNetDataUnpublishPrefix --Xlinker --wrap=otNetDataPublishDnsSrpServiceAnycast --Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicast --Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicastMeshLocalEid --Xlinker --wrap=otNetDataSetDnsSrpServicePublisherCallback --Xlinker --wrap=otNetDataSetPrefixPublisherCallback --Xlinker --wrap=otNetDataUnpublishDnsSrpService --Xlinker --wrap=otThreadGetVendorAppUrl --Xlinker --wrap=otThreadGetVendorModel --Xlinker --wrap=otThreadGetVendorName --Xlinker --wrap=otThreadGetVendorSwVersion --Xlinker --wrap=otThreadGetNextDiagnosticTlv --Xlinker --wrap=otThreadSendDiagnosticGet --Xlinker --wrap=otThreadSendDiagnosticReset --Xlinker --wrap=otThreadSetVendorAppUrl --Xlinker --wrap=otThreadSetVendorModel --Xlinker --wrap=otThreadSetVendorName --Xlinker --wrap=otThreadSetVendorSwVersion --Xlinker --wrap=otNetworkTimeSetSyncPeriod --Xlinker --wrap=otNetworkTimeSetXtalThreshold --Xlinker --wrap=otNetworkTimeGet --Xlinker --wrap=otNetworkTimeGetSyncPeriod --Xlinker --wrap=otNetworkTimeGetXtalThreshold --Xlinker --wrap=otNetworkTimeSyncSetCallback --Xlinker --wrap=otPingSenderPing --Xlinker --wrap=otPingSenderStop --Xlinker --wrap=otRadioTimeStatsGet --Xlinker --wrap=otRadioTimeStatsReset --Xlinker --wrap=otRandomCryptoFillBuffer --Xlinker --wrap=otRandomNonCryptoGetUint16 --Xlinker --wrap=otRandomNonCryptoGetUint16InRange --Xlinker --wrap=otRandomNonCryptoAddJitter --Xlinker --wrap=otRandomNonCryptoGetUint32 --Xlinker --wrap=otRandomNonCryptoGetUint32InRange --Xlinker --wrap=otRandomNonCryptoGetUint8 --Xlinker --wrap=otRandomNonCryptoGetUint8InRange --Xlinker --wrap=otRandomNonCryptoFillBuffer --Xlinker --wrap=otServerAddService --Xlinker --wrap=otServerGetNetDataLocal --Xlinker --wrap=otServerGetNextService --Xlinker --wrap=otServerRegister --Xlinker --wrap=otServerRemoveService --Xlinker --wrap=otSntpClientQuery --Xlinker --wrap=otSntpClientSetUnixEra --Xlinker --wrap=otSrpClientIsAutoStartModeEnabled --Xlinker --wrap=otSrpClientIsRunning --Xlinker --wrap=otSrpClientIsServiceKeyRecordEnabled --Xlinker --wrap=otSrpClientGetDomainName --Xlinker --wrap=otSrpClientItemStateToString --Xlinker --wrap=otSrpClientGetServerAddress --Xlinker --wrap=otSrpClientGetHostInfo --Xlinker --wrap=otSrpClientGetServices --Xlinker --wrap=otSrpClientAddService --Xlinker --wrap=otSrpClientClearService --Xlinker --wrap=otSrpClientEnableAutoHostAddress --Xlinker --wrap=otSrpClientRemoveHostAndServices --Xlinker --wrap=otSrpClientRemoveService --Xlinker --wrap=otSrpClientSetDomainName --Xlinker --wrap=otSrpClientSetHostAddresses --Xlinker --wrap=otSrpClientSetHostName --Xlinker --wrap=otSrpClientStart --Xlinker --wrap=otSrpClientGetKeyLeaseInterval --Xlinker --wrap=otSrpClientGetLeaseInterval --Xlinker --wrap=otSrpClientGetTtl --Xlinker --wrap=otSrpClientClearHostAndServices --Xlinker --wrap=otSrpClientDisableAutoStartMode --Xlinker --wrap=otSrpClientEnableAutoStartMode --Xlinker --wrap=otSrpClientSetCallback --Xlinker --wrap=otSrpClientSetKeyLeaseInterval --Xlinker --wrap=otSrpClientSetLeaseInterval --Xlinker --wrap=otSrpClientSetServiceKeyRecordEnabled --Xlinker --wrap=otSrpClientSetTtl --Xlinker --wrap=otSrpClientStop --Xlinker --wrap=otSrpClientBuffersGetHostNameString --Xlinker --wrap=otSrpClientBuffersGetServiceEntryInstanceNameString --Xlinker --wrap=otSrpClientBuffersGetServiceEntryServiceNameString --Xlinker --wrap=otSrpClientBuffersGetSubTypeLabelsArray --Xlinker --wrap=otSrpClientBuffersGetHostAddressesArray --Xlinker --wrap=otSrpClientBuffersAllocateService --Xlinker --wrap=otSrpClientBuffersGetServiceEntryTxtBuffer --Xlinker --wrap=otSrpClientBuffersFreeAllServices --Xlinker --wrap=otSrpClientBuffersFreeService --Xlinker --wrap=otSrpServerHostIsDeleted --Xlinker --wrap=otSrpServerHostMatchesFullName --Xlinker --wrap=otSrpServerIsAutoEnableMode --Xlinker --wrap=otSrpServerServiceHasSubTypeServiceName --Xlinker --wrap=otSrpServerServiceIsDeleted --Xlinker --wrap=otSrpServerServiceMatchesInstanceName --Xlinker --wrap=otSrpServerServiceMatchesServiceName --Xlinker --wrap=otSrpServerGetDomain --Xlinker --wrap=otSrpServerHostGetFullName --Xlinker --wrap=otSrpServerServiceGetInstanceLabel --Xlinker --wrap=otSrpServerServiceGetInstanceName --Xlinker --wrap=otSrpServerServiceGetServiceName --Xlinker --wrap=otSrpServerServiceGetSubTypeServiceNameAt --Xlinker --wrap=otSrpServerHostGetAddresses --Xlinker --wrap=otSrpServerGetNextHost --Xlinker --wrap=otSrpServerServiceGetHost --Xlinker --wrap=otSrpServerGetResponseCounters --Xlinker --wrap=otSrpServerHostGetNextService --Xlinker --wrap=otSrpServerServiceGetTxtData --Xlinker --wrap=otSrpServerParseSubTypeServiceName --Xlinker --wrap=otSrpServerSetAddressMode --Xlinker --wrap=otSrpServerSetAnycastModeSequenceNumber --Xlinker --wrap=otSrpServerSetDomain --Xlinker --wrap=otSrpServerSetLeaseConfig --Xlinker --wrap=otSrpServerSetTtlConfig --Xlinker --wrap=otSrpServerGetAddressMode --Xlinker --wrap=otSrpServerGetState --Xlinker --wrap=otSrpServerGetPort --Xlinker --wrap=otSrpServerServiceGetNumberOfSubTypes --Xlinker --wrap=otSrpServerServiceGetPort --Xlinker --wrap=otSrpServerServiceGetPriority --Xlinker --wrap=otSrpServerServiceGetWeight --Xlinker --wrap=otSrpServerServiceGetTtl --Xlinker --wrap=otSrpServerGetAnycastModeSequenceNumber --Xlinker --wrap=otSrpServerGetLeaseConfig --Xlinker --wrap=otSrpServerGetTtlConfig --Xlinker --wrap=otSrpServerHandleServiceUpdateResult --Xlinker --wrap=otSrpServerHostGetLeaseInfo --Xlinker --wrap=otSrpServerServiceGetLeaseInfo --Xlinker --wrap=otSrpServerSetAutoEnableMode --Xlinker --wrap=otSrpServerSetEnabled --Xlinker --wrap=otSrpServerSetServiceUpdateHandler --Xlinker --wrap=otTaskletsArePending --Xlinker --wrap=otTaskletsProcess --Xlinker --wrap=otTcpGetLocalAddress --Xlinker --wrap=otTcpGetPeerAddress --Xlinker --wrap=otTcpAbort --Xlinker --wrap=otTcpBind --Xlinker --wrap=otTcpCommitReceive --Xlinker --wrap=otTcpConnect --Xlinker --wrap=otTcpEndpointDeinitialize --Xlinker --wrap=otTcpEndpointInitialize --Xlinker --wrap=otTcpListen --Xlinker --wrap=otTcpListenerDeinitialize --Xlinker --wrap=otTcpListenerInitialize --Xlinker --wrap=otTcpReceiveByReference --Xlinker --wrap=otTcpReceiveContiguify --Xlinker --wrap=otTcpSendByExtension --Xlinker --wrap=otTcpSendByReference --Xlinker --wrap=otTcpSendEndOfStream --Xlinker --wrap=otTcpStopListening --Xlinker --wrap=otTcpEndpointGetInstance --Xlinker --wrap=otTcpListenerGetInstance --Xlinker --wrap=otTcpEndpointGetContext --Xlinker --wrap=otTcpListenerGetContext --Xlinker --wrap=otTcpMbedTlsSslRecvCallback --Xlinker --wrap=otTcpMbedTlsSslSendCallback --Xlinker --wrap=otTcpCircularSendBufferDeinitialize --Xlinker --wrap=otTcpCircularSendBufferWrite --Xlinker --wrap=otTcpCircularSendBufferGetFreeSpace --Xlinker --wrap=otTcpCircularSendBufferForceDiscardAll --Xlinker --wrap=otTcpCircularSendBufferHandleForwardProgress --Xlinker --wrap=otTcpCircularSendBufferInitialize --Xlinker --wrap=otThreadIsAnycastLocateInProgress --Xlinker --wrap=otThreadIsDiscoverInProgress --Xlinker --wrap=otThreadIsSingleton --Xlinker --wrap=otThreadDeviceRoleToString --Xlinker --wrap=otThreadGetDomainName --Xlinker --wrap=otThreadGetNetworkName --Xlinker --wrap=otThreadGetExtendedPanId --Xlinker --wrap=otThreadGetLinkLocalAllThreadNodesMulticastAddress --Xlinker --wrap=otThreadGetLinkLocalIp6Address --Xlinker --wrap=otThreadGetMeshLocalEid --Xlinker --wrap=otThreadGetRealmLocalAllThreadNodesMulticastAddress --Xlinker --wrap=otThreadGetRloc --Xlinker --wrap=otThreadGetFixedDuaInterfaceIdentifier --Xlinker --wrap=otThreadGetIp6Counters --Xlinker --wrap=otThreadGetMeshLocalPrefix --Xlinker --wrap=otThreadGetMleCounters --Xlinker --wrap=otThreadGetTimeInQueueHistogram --Xlinker --wrap=otThreadGetDeviceRole --Xlinker --wrap=otThreadBecomeChild --Xlinker --wrap=otThreadBecomeDetached --Xlinker --wrap=otThreadDetachGracefully --Xlinker --wrap=otThreadDiscover --Xlinker --wrap=otThreadGetLeaderData --Xlinker --wrap=otThreadGetLeaderRloc --Xlinker --wrap=otThreadGetNextNeighborInfo --Xlinker --wrap=otThreadGetParentAverageRssi --Xlinker --wrap=otThreadGetParentInfo --Xlinker --wrap=otThreadGetParentLastRssi --Xlinker --wrap=otThreadGetServiceAloc --Xlinker --wrap=otThreadLocateAnycastDestination --Xlinker --wrap=otThreadSearchForBetterParent --Xlinker --wrap=otThreadSendProactiveBackboneNotification --Xlinker --wrap=otThreadSetDomainName --Xlinker --wrap=otThreadSetEnabled --Xlinker --wrap=otThreadSetExtendedPanId --Xlinker --wrap=otThreadSetFixedDuaInterfaceIdentifier --Xlinker --wrap=otThreadSetJoinerAdvertisement --Xlinker --wrap=otThreadSetLinkMode --Xlinker --wrap=otThreadSetMeshLocalPrefix --Xlinker --wrap=otThreadSetNetworkKey --Xlinker --wrap=otThreadSetNetworkKeyRef --Xlinker --wrap=otThreadSetNetworkName --Xlinker --wrap=otThreadGetLinkMode --Xlinker --wrap=otThreadGetNetworkKeyRef --Xlinker --wrap=otThreadGetKeySwitchGuardTime --Xlinker --wrap=otThreadGetRloc16 --Xlinker --wrap=otThreadGetVersion --Xlinker --wrap=otThreadGetChildTimeout --Xlinker --wrap=otThreadGetKeySequenceCounter --Xlinker --wrap=otThreadGetMaxTimeInQueue --Xlinker --wrap=otThreadGetPartitionId --Xlinker --wrap=otThreadGetLeaderRouterId --Xlinker --wrap=otThreadGetLeaderWeight --Xlinker --wrap=otConvertDurationInSecondsToString --Xlinker --wrap=otThreadGetNetworkKey --Xlinker --wrap=otThreadRegisterParentResponseCallback --Xlinker --wrap=otThreadResetIp6Counters --Xlinker --wrap=otThreadResetMleCounters --Xlinker --wrap=otThreadResetTimeInQueueStat --Xlinker --wrap=otThreadSendAddressNotification --Xlinker --wrap=otThreadSetChildTimeout --Xlinker --wrap=otThreadSetDiscoveryRequestCallback --Xlinker --wrap=otThreadSetKeySequenceCounter --Xlinker --wrap=otThreadSetKeySwitchGuardTime --Xlinker --wrap=otThreadIsRouterEligible --Xlinker --wrap=otThreadIsRouterIdAllocated --Xlinker --wrap=otThreadIsTmfOriginFilterEnabled --Xlinker --wrap=otThreadGetDeviceProperties --Xlinker --wrap=otThreadGetParentPriority --Xlinker --wrap=otThreadBecomeLeader --Xlinker --wrap=otThreadBecomeRouter --Xlinker --wrap=otThreadGetChildInfoById --Xlinker --wrap=otThreadGetChildInfoByIndex --Xlinker --wrap=otThreadGetChildNextIp6Address --Xlinker --wrap=otThreadGetNextCacheEntry --Xlinker --wrap=otThreadGetRouterInfo --Xlinker --wrap=otThreadReleaseRouterId --Xlinker --wrap=otThreadSetChildRouterLinks --Xlinker --wrap=otThreadSetJoinerUdpPort --Xlinker --wrap=otThreadSetMaxAllowedChildren --Xlinker --wrap=otThreadSetMaxChildIpAddresses --Xlinker --wrap=otThreadSetParentPriority --Xlinker --wrap=otThreadSetPreferredRouterId --Xlinker --wrap=otThreadSetPskc --Xlinker --wrap=otThreadSetPskcRef --Xlinker --wrap=otThreadSetRouterEligible --Xlinker --wrap=otThreadSetRouterIdRange --Xlinker --wrap=otThreadGetPskcRef --Xlinker --wrap=otThreadGetJoinerUdpPort --Xlinker --wrap=otThreadGetMaxAllowedChildren --Xlinker --wrap=otThreadGetAdvertisementTrickleIntervalMax --Xlinker --wrap=otThreadGetContextIdReuseDelay --Xlinker --wrap=otThreadGetPreferredLeaderPartitionId --Xlinker --wrap=otThreadGetChildRouterLinks --Xlinker --wrap=otThreadGetLocalLeaderWeight --Xlinker --wrap=otThreadGetMaxChildIpAddresses --Xlinker --wrap=otThreadGetMaxRouterId --Xlinker --wrap=otThreadGetNetworkIdTimeout --Xlinker --wrap=otThreadGetRouterDowngradeThreshold --Xlinker --wrap=otThreadGetRouterIdSequence --Xlinker --wrap=otThreadGetRouterSelectionJitter --Xlinker --wrap=otThreadGetRouterUpgradeThreshold --Xlinker --wrap=otThreadGetNextHopAndPathCost --Xlinker --wrap=otThreadGetPskc --Xlinker --wrap=otThreadGetRouterIdRange --Xlinker --wrap=otThreadRegisterNeighborTableCallback --Xlinker --wrap=otThreadSetCcmEnabled --Xlinker --wrap=otThreadSetContextIdReuseDelay --Xlinker --wrap=otThreadSetDeviceProperties --Xlinker --wrap=otThreadSetLocalLeaderWeight --Xlinker --wrap=otThreadSetNetworkIdTimeout --Xlinker --wrap=otThreadSetPreferredLeaderPartitionId --Xlinker --wrap=otThreadSetRouterDowngradeThreshold --Xlinker --wrap=otThreadSetRouterSelectionJitter --Xlinker --wrap=otThreadSetRouterUpgradeThreshold --Xlinker --wrap=otThreadSetSteeringData --Xlinker --wrap=otThreadSetThreadVersionCheckEnabled --Xlinker --wrap=otThreadSetTmfOriginFilterEnabled --Xlinker --wrap=otTrelIsEnabled --Xlinker --wrap=otTrelIsFilterEnabled --Xlinker --wrap=otTrelGetCounters --Xlinker --wrap=otTrelGetNextPeer --Xlinker --wrap=otTrelGetNumberOfPeers --Xlinker --wrap=otTrelInitPeerIterator --Xlinker --wrap=otTrelResetCounters --Xlinker --wrap=otTrelSetEnabled --Xlinker --wrap=otTrelSetFilterEnabled --Xlinker --wrap=otUdpIsOpen --Xlinker --wrap=otUdpIsPortInUse --Xlinker --wrap=otUdpAddReceiver --Xlinker --wrap=otUdpBind --Xlinker --wrap=otUdpClose --Xlinker --wrap=otUdpConnect --Xlinker --wrap=otUdpOpen --Xlinker --wrap=otUdpRemoveReceiver --Xlinker --wrap=otUdpSend --Xlinker --wrap=otUdpSendDatagram --Xlinker --wrap=otUdpNewMessage --Xlinker --wrap=otUdpGetSockets --Xlinker --wrap=otUdpForwardReceive --Xlinker --wrap=otUdpForwardSetForwarder --Xlinker --wrap=otVerhoeffChecksumCalculate --Xlinker --wrap=otVerhoeffChecksumValidate diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/rcp-uart-802154-blehci_EFR32MG21A020F768IM32.slcp b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/rcp-uart-802154-blehci_EFR32MG21A020F768IM32.slcp deleted file mode 100644 index b9f0c62a..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/rcp-uart-802154-blehci_EFR32MG21A020F768IM32.slcp +++ /dev/null @@ -1,86 +0,0 @@ -# Silicon Labs Project Configuration Tools: slcp, v0, Component selection file. -project_name: rcp-uart-802154-blehci_EFR32MG21A020F768IM32 -label: rcp-uart-802154-blehci_EFR32MG21A020F768IM32 -description: | - This multiprotocol radio co-processor (RCP) application supports running OpenThread, Zigbee, and Bluetooth stacks simultaneously on a host processor. It uses concurrent multiprotocol (CMP) / multi-PAN functionality to run the 802.15.4 networks simultaneously on the same channel, and dynamic multiprotocol (DMP) to run the Bluetooth Link Layer simultaneously. The host stacks and the RCP communicate using the Co-Processor Communication protocol (CPC), which acts as a protocol multiplexer and serial transport layer. The host applications connect to the CPC daemon, which in turn connects to the EFR via a UART link. Refer to *AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol Co-processor* for more information on running the multiprotocol RCP with different host applications. -category: OpenThread Examples -filter: -- name: Capability - value: [Multiprotocol] -- name: Device Type - value: [RCP] -- name: Project Difficulty - value: [Advanced] -- name: Wireless Technology - value: [Bluetooth, Thread, Zigbee] -package: OpenThread -quality: production -readme: -- {path: README-MP-DMP-RCP.md} -- {path: README-MP-DMP-RCP.md} -source: -- {path: main.c} -- {path: app.c} -tag: [prebuilt_demo] -include: -- path: . - file_list: - - {path: app.h} - - {path: reset_util.h} -sdk: {id: simplicity_sdk, version: 2024.6.2} -toolchain_settings: [] -component: -- {id: EFR32MG21A020F768IM32} -- {id: bluetooth_controller} -- {id: bluetooth_feature_advertiser} -- {id: bluetooth_feature_connection} -- {id: bluetooth_feature_connection_phy_update} -- {id: bluetooth_feature_extended_advertiser} -- {id: bluetooth_feature_extended_scanner} -- {id: bluetooth_feature_legacy_scanner} -- {id: bluetooth_hci_cpc} -- {id: bootloader_interface} -- {id: clock_manager} -- instance: [vcom] - id: cpc_secondary_driver_uart_usart -- {id: freertos} -- {id: freertos_heap_3} -- {id: ot_crash_handler} -- {id: ot_ncp_cpc} -- {id: ot_stack_rcp} -- {id: rail_lib_multiprotocol} -- {id: rail_util_pti} -template_contribution: -- {name: component_catalog, priority: 0, value: bluetooth_ncp} -configuration: -- {name: SL_BT_CONFIG_USER_ADVERTISERS, value: '3'} -- {name: SL_STACK_SIZE, value: '2752'} -- {name: SL_HEAP_SIZE, value: '15700'} -- condition: [device_sdid_200] - name: SL_DEVICE_INIT_LFXO_TIMEOUT - value: cmuLfxoStartupDelay_4KCycles -- condition: [device_sdid_205] - name: SL_DEVICE_INIT_LFXO_TIMEOUT - value: cmuLfxoStartupDelay_4KCycles -- condition: [psa_crypto] - name: SL_PSA_KEY_USER_SLOT_COUNT - value: '0' -- {name: SL_BOARD_ENABLE_VCOM, value: '1'} -- {name: SL_CPC_DRV_UART_VCOM_BAUDRATE, value: '115200'} -- {name: SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE, value: usartHwFlowControlCtsAndRts} -- {name: OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE, value: '0'} -- {name: OPENTHREAD_CONFIG_LOG_OUTPUT, value: OPENTHREAD_CONFIG_LOG_OUTPUT_NONE} -- {name: OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_DIAG_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE, value: '0'} -- {name: OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE, value: '0'} -- {name: OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE, value: '0'} -- {name: SL_CPC_RX_BUFFER_MAX_COUNT, value: '15'} -- {name: SL_CPC_TX_QUEUE_ITEM_MAX_COUNT, value: '15'} -- {name: CIRCULAR_QUEUE_LEN_MAX, value: '16'} -ui_hints: - highlight: - - {path: ./README-MP-DMP-RCP.md, focus: true} - diff --git a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/rcp-uart-802154-blehci_EFR32MG21A020F768IM32.slps b/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/rcp-uart-802154-blehci_EFR32MG21A020F768IM32.slps deleted file mode 100644 index 3fd1cc2a..00000000 --- a/src/rcp-uart-802154-blehci_EFR32MG21A020F768IM32/rcp-uart-802154-blehci_EFR32MG21A020F768IM32.slps +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.h deleted file mode 100644 index 8d52ecfe..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/app.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Application interface provided to main(). - ******************************************************************************* - * # 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 APP_H -#define APP_H - -/**************************************************************************//** - * Application Init. - *****************************************************************************/ -void app_init(void); - -/**************************************************************************//** - * Application Exit. - *****************************************************************************/ -void app_exit(void); - -/**************************************************************************//** - * Application Process Action. - *****************************************************************************/ -void app_process_action(void); - -#endif \ No newline at end of file diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/FreeRTOSConfig.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/FreeRTOSConfig.h deleted file mode 100644 index 4659fa6d..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/FreeRTOSConfig.h +++ /dev/null @@ -1,273 +0,0 @@ -/* -------------------------------------------------------------------------- - * Copyright (c) 2013-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * -------------------------------------------------------------------------- - * - * $Revision: V10.2.0 - * - * Project: CMSIS-FreeRTOS - * Title: FreeRTOS configuration definitions - * - * --------------------------------------------------------------------------*/ - -#ifndef FREERTOS_CONFIG_H -#define FREERTOS_CONFIG_H - -/*----------------------------------------------------------- -* Application specific definitions. -* -* These definitions should be adjusted for your particular hardware and -* application requirements. -* -* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE -* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. -* -* See http://www.freertos.org/a00110.html -*----------------------------------------------------------*/ - -#if !defined(__IAR_SYSTEMS_ASM__) -#if (defined(__ARMCC_VERSION) || defined(__GNUC__) || defined(__ICCARM__)) -#include - -#include "RTE_Components.h" -#include CMSIS_device_header -#endif - -#include "em_assert.h" -#include "em_device.h" - -#if defined(SL_COMPONENT_CATALOG_PRESENT) -#include "sl_component_catalog.h" -#endif -#endif - -#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) -#include "SEGGER_SYSVIEW_FreeRTOS.h" -#endif - -#if defined(SL_CATALOG_CODE_CLASSIFICATION_VALIDATOR_PRESENT) -#include "sli_code_classification_validator.h" -#define traceTASK_SWITCHED_IN() sli_ccv_task_switched_in() -#endif - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// Minimal stack size [words] <0-65535> -// Stack for idle task and default task stack in words. -// Default: 160 -#define configMINIMAL_STACK_SIZE 160 - -// Total heap size [bytes] <0-0xFFFFFFFF> -// Heap memory size in bytes. -// Default: 8192 -#define configTOTAL_HEAP_SIZE 8192 - -// Kernel tick frequency [Hz] <0-0xFFFFFFFF> -// Kernel tick rate in Hz. -// Default: 1000 -#define configTICK_RATE_HZ 1000 - -// Timer task stack depth [words] <0-65535> -// Stack for timer task in words. -// Default: 160 -#define configTIMER_TASK_STACK_DEPTH 160 - -// Timer task priority <0-56> -// Timer task priority. -// Default: 40 (High) -#define configTIMER_TASK_PRIORITY 40 - -// Timer queue length <0-1024> -// Timer command queue length. -// Default: 10 -#define configTIMER_QUEUE_LENGTH 10 - -// Preemption interrupt priority -// Maximum priority of interrupts that are safe to call FreeRTOS API. -// Default: 48 -#define configMAX_SYSCALL_INTERRUPT_PRIORITY 48 - -// Use time slicing -// Enable setting to use timeslicing. -// Default: 1 -#define configUSE_TIME_SLICING 1 - -// Idle should yield -// Control Yield behaviour of the idle task. -// Default: 1 -#define configIDLE_SHOULD_YIELD 1 - -// Check for stack overflow -// <0=>Disable <1=>Method one <2=>Method two -// Enable or disable stack overflow checking. -// Callback function vApplicationStackOverflowHook implementation is required when stack checking is enabled. -// Default: 2 -#define configCHECK_FOR_STACK_OVERFLOW 2 - -// Use idle hook -// Enable callback function call on each idle task iteration. -// Callback function vApplicationIdleHook implementation is required when idle hook is enabled. -// Default: 0 -#define configUSE_IDLE_HOOK 0 - -// Use tick hook -// Enable callback function call during each tick interrupt. -// Callback function vApplicationTickHook implementation is required when tick hook is enabled. -// Default: 0 -#define configUSE_TICK_HOOK 0 - -// Use deamon task startup hook -// Enable callback function call when timer service starts. -// Callback function vApplicationDaemonTaskStartupHook implementation is required when deamon task startup hook is enabled. -// Default: 0 -#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 - -// Use malloc failed hook -// Enable callback function call when out of dynamic memory. -// Callback function vApplicationMallocFailedHook implementation is required when malloc failed hook is enabled. -// Default: 0 -#define configUSE_MALLOC_FAILED_HOOK 0 - -// Queue registry size -// Define maximum number of queue objects registered for debug purposes. -// The queue registry is used by kernel aware debuggers to locate queue and semaphore structures and display associated text names. -// Default: 10 -#define configQUEUE_REGISTRY_SIZE 10 - -// Port Specific Features -// Enable and configure port specific features. -// Check FreeRTOS documentation for definitions that apply for the used port. - -// Use Floating Point Unit -// Using Floating Point Unit (FPU) affects context handling. -// Enable FPU when application uses floating point operations. -// Default: 1 -#define configENABLE_FPU 1 - -// Minimal secure stack size [words] <0-65535> -// Stack for idle task Secure side context in words. -// This setting is only relevant when TrustZone extension is enabled. -// Default: 128 -#define configMINIMAL_SECURE_STACK_SIZE 128 -// - -// Thread Local Storage Settings -// Thread local storage pointers -// Thread local storage (or TLS) allows the application writer to store -// values inside a task's control block, making the value specific to -// (local to) the task itself. -// Default: 0 -#define configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS 0 -// - -// Use Threadsafe Errno -// Enable Threadsafe Errno support. -// Default: 0 -#define configUSE_POSIX_ERRNO 0 - -//------------- <<< end of configuration section >>> --------------------------- - -/* MPU feature is not supported in Silicon Labs port */ -#define configENABLE_MPU 0 - -/* Defines needed by FreeRTOS to implement CMSIS RTOS2 API. Do not change! */ -#define configCPU_CLOCK_HZ (SystemCoreClock) -#define configSUPPORT_STATIC_ALLOCATION 1 -#define configSUPPORT_DYNAMIC_ALLOCATION 1 -#define configUSE_PREEMPTION 1 -#define configUSE_TIMERS 1 -#define configUSE_MUTEXES 1 -#define configUSE_RECURSIVE_MUTEXES 1 -#define configUSE_COUNTING_SEMAPHORES 1 -#define configUSE_TASK_NOTIFICATIONS 1 -#define configUSE_TRACE_FACILITY 1 -#define configUSE_16_BIT_TICKS 0 -#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 -#define configMAX_PRIORITIES 56 -#define configKERNEL_INTERRUPT_PRIORITY 255 - -/* Defines that include FreeRTOS functions which implement CMSIS RTOS2 API. Do not change! */ -#define INCLUDE_xEventGroupSetBitsFromISR 1 -#define INCLUDE_xSemaphoreGetMutexHolder 1 -#define INCLUDE_vTaskDelay 1 -#define INCLUDE_vTaskDelayUntil 1 -#define INCLUDE_vTaskDelete 1 -#define INCLUDE_xTaskGetCurrentTaskHandle 1 -#define INCLUDE_xTaskGetSchedulerState 1 -#define INCLUDE_uxTaskGetStackHighWaterMark 1 -#define INCLUDE_uxTaskPriorityGet 1 -#define INCLUDE_vTaskPrioritySet 1 -#define INCLUDE_eTaskGetState 1 -#define INCLUDE_vTaskSuspend 1 -#define INCLUDE_xTimerPendFunctionCall 1 - -/* Map the FreeRTOS port interrupt handlers to their CMSIS standard names. */ -#define xPortPendSVHandler PendSV_Handler -#define vPortSVCHandler SVC_Handler - -/* Ensure Cortex-M port compatibility. */ -#define SysTick_Handler xPortSysTickHandler - -/* Implement FreeRTOS configASSERT as emlib assert. */ -#define configASSERT(x) EFM_ASSERT(x) - -/* Energy saving modes. */ -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) -#define configUSE_TICKLESS_IDLE 1 -#else -#define configUSE_TICKLESS_IDLE 0 -#endif - -/* Definition used by Keil to replace default system clock source. */ -#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 1 - -/* Maximum size of task name. */ -#define configMAX_TASK_NAME_LEN 10 - -/* Use queue sets? */ -#define configUSE_QUEUE_SETS 0 - -/* Generate run-time statistics? */ -#define configGENERATE_RUN_TIME_STATS 0 - -/* Co-routine related definitions. */ -#define configUSE_CO_ROUTINES 0 -#define configMAX_CO_ROUTINE_PRIORITIES 1 - -/* Optional resume from ISR functionality. */ -#define INCLUDE_xResumeFromISR 1 - -/* FreeRTOS Secure Side Only and TrustZone Security Extension */ -#define configRUN_FREERTOS_SECURE_ONLY 1 -#define configENABLE_TRUSTZONE 0 - -/* Thread local storage pointers used by the SDK */ -#ifndef configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS - #define configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS 0 -#endif - -/* PRINT_STRING implementation. iostream_retarget_stdio or third party - printf should be added if this is used */ -#define configPRINT_STRING(X) printf(X) - -#define configNUM_THREAD_LOCAL_STORAGE_POINTERS (configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS \ - + configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS) - -//#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) -//#include "SEGGER_SYSVIEW_FreeRTOS.h" -//#endif -#endif /* FREERTOS_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/app_properties_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/app_properties_config.h deleted file mode 100644 index 6a6b9766..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/app_properties_config.h +++ /dev/null @@ -1,65 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Application Properties Header File - ******************************************************************************* - * # License - * Copyright 2021 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 APP_PROPERTIES_CONFIG_H -#define APP_PROPERTIES_CONFIG_H - -#include "sl_application_type.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// App Properties settings - -// Type of signature this application is signed with -// Default: APPLICATION_SIGNATURE_NONE(0) -#define SL_APPLICATION_SIGNATURE 0 - -// Location of the signature -// Default: 0xFFFFFFFF -#define SL_APPLICATION_SIGNATURE_LOCATION 0xFFFFFFFF - -// Bitfield representing type of application -#define SL_APPLICATION_TYPE APPLICATION_TYPE - -// Version number for this application -// <0-4294967295:1> -// Default: 1 [0-4294967295] -#define SL_APPLICATION_VERSION 1 - -// Capabilities of this application -// Default: 0 -#define SL_APPLICATION_CAPABILITIES 0 - -//Product ID of the device for which the application is built -#define SL_APPLICATION_PRODUCT_ID { 0 } - -// - -#endif // APP_PROPERTIES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg.h deleted file mode 100644 index b1ab0078..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_H -#define BTL_INTERFACE_CFG_H - -#if !defined(BOOTLOADER_APPLOADER) - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_1) -#include "btl_interface_cfg_s2c1.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_2) -#include "btl_interface_cfg_s2c2.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_3) -#include "btl_interface_cfg_s2c3.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_4) -#include "btl_interface_cfg_s2c4.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_5) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_6) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_8) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#endif // !BOOTLOADER_APPLOADER - -#endif // BTL_INTERFACE_CFG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h deleted file mode 100644 index c150e8c7..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/btl_interface_cfg_s2c1.h +++ /dev/null @@ -1,281 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_S2C1_H -#define BTL_INTERFACE_CFG_S2C1_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Bootloader Interface Trust Zone Security State Configuration - -// Disable multi tiered fallback logic -// The fault handling logic as well as the USART auto-detection logic will be disabled. -// The re-configuration of SMU will be handled by querying the running bootloader -// for the peripheral list. Querying the peripheral list is supported from the bootloader -// version 2.0.0. Check for the BOOTLOADER_CAPABILITY_PERIPHERAL_LIST capability to -// see if the running bootloader supports querying the peripheral list. -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 0 - -// Disable peripheral access fault handling -// The fault handling triggered by an erroneous access of peripherals will be disabled. -// -// This should be disabled iff all the peripherals that are in use by the bootloader -// have been properly configured by the "Manually override security state of peripherals" option. -#define BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING 0 - -// Manually override the security state of peripherals in use by the bootloader -// Default: 0. -// Manually override the security state of peripherals. Choose the peripherals touched -// by the customized code to have a valid secure access state before interacting with the bootloader -// In practice, this means that the chosen peripherals will be available at the secure address, -// which is accessible by the bootloader. Once the application is entered back the secure access state -// is changed back to the original state. -// -// The USART auto-detection logic that detects which, if any, USART is in use by the bootloader -// will be disabled. Make sure to choose the correct USART used by the bootloader. -#define BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE 0 -// EMU -// Update secure access state of EMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_EMU 0 - -// CMU -// Update secure access state of CMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_CMU 0 - -// HFXO0 -// Update secure access state of HFXO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFXO0 0 - -// HFRCO0 -// Update secure access state of HFRCO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFRCO0 0 - -// FSRCO -// Update secure access state of FSRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_FSRCO 0 - -// DPLL0 -// Update secure access state of DPLL0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_DPLL0 0 - -// LFXO -// Update secure access state of LFXO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFXO 0 - -// LFRCO -// Update secure access state of LFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFRCO 0 - -// ULFRCO -// Update secure access state of ULFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_ULFRCO 0 - -// MSC -// Update secure access state of MSC before calling into bootloader -#define BOOTLOADER_PPUSATD0_MSC 0 - -// ICACHE0 -// Update secure access state of ICACHE0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_ICACHE0 0 - -// PRS -// Update secure access state of PRS before calling into bootloader -#define BOOTLOADER_PPUSATD0_PRS 0 - -// GPIO -// Update secure access state of GPIO before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPIO 0 - -// LDMA -// Update secure access state of LDMA before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMA 0 - -// LDMAXBAR -// Update secure access state of LDMAXBAR before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMAXBAR 0 - -// TIMER0 -// Update secure access state of TIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER0 0 - -// TIMER1 -// Update secure access state of TIMER1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER1 0 - -// TIMER2 -// Update secure access state of TIMER2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER2 0 - -// TIMER3 -// Update secure access state of TIMER3 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER3 0 - -// USART0 -// Update secure access state of USART0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART0 0 - -// USART1 -// Update secure access state of USART1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART1 0 - -// USART2 -// Update secure access state of USART2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART2 0 - -// BURTC -// Update secure access state of BURTC before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURTC 0 - -// I2C1 -// Update secure access state of I2C1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_I2C1 0 - -// CHIPTESTCTRL -// Update secure access state of CHIPTESTCTRL before calling into bootloader -#define BOOTLOADER_PPUSATD0_CHIPTESTCTRL 0 - -// LVGD -// Update secure access state of LVGD before calling into bootloader -#define BOOTLOADER_PPUSATD0_LVGD 0 - -// SYSCFG -// Update secure access state of SYSCFG before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSCFG 0 - -// BURAM -// Update secure access state of BURAM before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURAM 0 - -// IFADCDEBUG -// Update secure access state of IFADCDEBUG before calling into bootloader -#define BOOTLOADER_PPUSATD0_IFADCDEBUG 0 - -// GPCRC -// Update secure access state of GPCRC before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPCRC 0 - -// RTCC -// Update secure access state of RTCC before calling into bootloader -#define BOOTLOADER_PPUSATD0_RTCC 0 - -// LETIMER0 -// Update secure access state of LETIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_LETIMER0 0 - -// IADC0 -// Update secure access state of IADC0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_IADC0 0 - -// ACMP0 -// Update secure access state of ACMP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP0 0 - -// ACMP1 -// Update secure access state of ACMP1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP1 0 - -// I2C0 -// Update secure access state of I2C0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_I2C0 0 - -// HFRCOEM23 -// Update secure access state of HFRCOEM23 before calling into bootloader -#define BOOTLOADER_PPUSATD1_HFRCOEM23 0 - -// WDOG0 -// Update secure access state of WDOG0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG0 0 - -// WDOG1 -// Update secure access state of WDOG1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG1 0 - -// AMUXCP0 -// Update secure access state of AMUXCP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_AMUXCP0 0 - -// RADIOAES -// Update secure access state of RADIOAES before calling into bootloader -#define BOOTLOADER_PPUSATD1_RADIOAES 0 - -// BUFC -// Update secure access state of BUFC before calling into bootloader -#define BOOTLOADER_PPUSATD1_BUFC 0 - -// SMU -// Update secure access state of SMU before calling into bootloader -#define BOOTLOADER_PPUSATD1_SMU 0 - -// AHBRADIO -// Update secure access state of AHBRADIO before calling into bootloader -#define BOOTLOADER_PPUSATD1_AHBRADIO 0 - -// SEMAILBOX -// Update secure access state of SEMAILBOX before calling into bootloader -#define BOOTLOADER_PPUSATD1_SEMAILBOX 0 -// - -// -// <<< 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)) -#endif // BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE - -#endif // BTL_INTERFACE_CFG_S2C1_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/circular_queue_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/circular_queue_config.h deleted file mode 100644 index 81a7173d..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/circular_queue_config.h +++ /dev/null @@ -1,23 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM210PA32JIA/config/dmadrv_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/dmadrv_config.h deleted file mode 100644 index ed105e4f..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/dmadrv_config.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef DMADRV_CONFIG_H -#define DMADRV_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMA interrupt priority <0-15> -// Priority of the DMA interrupt. Smaller number equals higher priority. -// Default: 8 -#define EMDRV_DMADRV_DMA_IRQ_PRIORITY 8 - -// Number of available channels <1-8> -// Number of DMA channels supported by the driver. A lower channel count -// will reduce RAM memory footprint. The default is to support all channels -// on the device. -// Default: 8 -#define EMDRV_DMADRV_DMA_CH_COUNT 8 - -// Number of fixed priority channels -// This will configure channels [0, CH_PRIORITY - 1] as fixed priority, -// and channels [CH_PRIORITY, CH_COUNT] as round-robin. -// Default: 0 -#define EMDRV_DMADRV_DMA_CH_PRIORITY 0 - -// <<< end of configuration section >>> - -#endif // DMADRV_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/emlib_core_debug_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/emlib_core_debug_config.h deleted file mode 100644 index 07ee9b9e..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/emlib_core_debug_config.h +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************//** - * @file - * @brief emlib_core Configuration - ******************************************************************************* - * # License - * Copyright 2019 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 EM_CORE_DEBUG_CONFIG_H -#define EM_CORE_DEBUG_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Core Configuration - -// Enables measuring of interrupt disable time for debugging purposes. -// Default: 0 -#define SL_EMLIB_CORE_ENABLE_INTERRUPT_DISABLED_TIMING 0 - -// - -// <<< end of configuration section >>> -#endif // EM_CORE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/nvm3_default_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/nvm3_default_config.h deleted file mode 100644 index 48eb5896..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/nvm3_default_config.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef NVM3_DEFAULT_CONFIG_H -#define NVM3_DEFAULT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// NVM3 Default Instance Configuration - -#ifndef NVM3_DEFAULT_CACHE_SIZE -// NVM3 Default Instance Cache Size -// Number of NVM3 objects to cache. To reduce access times this number -// should be equal to or higher than the number of NVM3 objects in the -// default NVM3 instance. -// Default: 200 -#define NVM3_DEFAULT_CACHE_SIZE 200 -#endif - -#ifndef NVM3_DEFAULT_MAX_OBJECT_SIZE -// NVM3 Default Instance Max Object Size -// Max NVM3 object size that can be stored. -// Default: 254 -#define NVM3_DEFAULT_MAX_OBJECT_SIZE 254 -#endif - -#ifndef NVM3_DEFAULT_REPACK_HEADROOM -// NVM3 Default Instance User Repack Headroom -// Headroom determining how many bytes below the forced repack limit the user -// repack limit should be placed. The default is 0, which means the user and -// forced repack limits are equal. -// Default: 0 -#define NVM3_DEFAULT_REPACK_HEADROOM 0 -#endif - -#ifndef NVM3_DEFAULT_NVM_SIZE -// NVM3 Default Instance Size -// Size of the NVM3 storage region in flash. This size should be aligned with -// the flash page size of the device. -// Default: 40960 -#define NVM3_DEFAULT_NVM_SIZE 40960 -#endif - -// - -// <<< end of configuration section >>> - -#endif // NVM3_DEFAULT_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/pin_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/pin_config.h deleted file mode 100644 index c607935f..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/pin_config.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef PIN_CONFIG_H -#define PIN_CONFIG_H - -// $[CMU] -// [CMU]$ - -// $[LFXO] -// [LFXO]$ - -// $[PRS.ASYNCH0] -// [PRS.ASYNCH0]$ - -// $[PRS.ASYNCH1] -// [PRS.ASYNCH1]$ - -// $[PRS.ASYNCH2] -// [PRS.ASYNCH2]$ - -// $[PRS.ASYNCH3] -// [PRS.ASYNCH3]$ - -// $[PRS.ASYNCH4] -// [PRS.ASYNCH4]$ - -// $[PRS.ASYNCH5] -// [PRS.ASYNCH5]$ - -// $[PRS.ASYNCH6] -// [PRS.ASYNCH6]$ - -// $[PRS.ASYNCH7] -// [PRS.ASYNCH7]$ - -// $[PRS.ASYNCH8] -// [PRS.ASYNCH8]$ - -// $[PRS.ASYNCH9] -// [PRS.ASYNCH9]$ - -// $[PRS.ASYNCH10] -// [PRS.ASYNCH10]$ - -// $[PRS.ASYNCH11] -// [PRS.ASYNCH11]$ - -// $[PRS.SYNCH0] -// [PRS.SYNCH0]$ - -// $[PRS.SYNCH1] -// [PRS.SYNCH1]$ - -// $[PRS.SYNCH2] -// [PRS.SYNCH2]$ - -// $[PRS.SYNCH3] -// [PRS.SYNCH3]$ - -// $[GPIO] -// [GPIO]$ - -// $[TIMER0] -// [TIMER0]$ - -// $[TIMER1] -// [TIMER1]$ - -// $[TIMER2] -// [TIMER2]$ - -// $[TIMER3] -// [TIMER3]$ - -// $[USART0] -// USART0 CTS on PD02 -#ifndef USART0_CTS_PORT -#define USART0_CTS_PORT gpioPortD -#endif -#ifndef USART0_CTS_PIN -#define USART0_CTS_PIN 2 -#endif - -// USART0 RTS on PC01 -#ifndef USART0_RTS_PORT -#define USART0_RTS_PORT gpioPortC -#endif -#ifndef USART0_RTS_PIN -#define USART0_RTS_PIN 1 -#endif - -// USART0 RX on PA06 -#ifndef USART0_RX_PORT -#define USART0_RX_PORT gpioPortA -#endif -#ifndef USART0_RX_PIN -#define USART0_RX_PIN 6 -#endif - -// USART0 TX on PA05 -#ifndef USART0_TX_PORT -#define USART0_TX_PORT gpioPortA -#endif -#ifndef USART0_TX_PIN -#define USART0_TX_PIN 5 -#endif - -// [USART0]$ - -// $[USART1] -// [USART1]$ - -// $[USART2] -// [USART2]$ - -// $[I2C1] -// [I2C1]$ - -// $[LETIMER0] -// [LETIMER0]$ - -// $[IADC0] -// [IADC0]$ - -// $[ACMP0] -// [ACMP0]$ - -// $[ACMP1] -// [ACMP1]$ - -// $[I2C0] -// [I2C0]$ - -// $[PTI] -// [PTI]$ - -// $[MODEM] -// [MODEM]$ - -// $[CUSTOM_PIN_NAME] -#ifndef _PORT -#define _PORT gpioPortA -#endif -#ifndef _PIN -#define _PIN 0 -#endif - -// [CUSTOM_PIN_NAME]$ - -#endif // PIN_CONFIG_H - diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/psa_crypto_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/psa_crypto_config.h deleted file mode 100644 index 05af353c..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/psa_crypto_config.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef PSA_CRYPTO_CONFIG_H -#define PSA_CRYPTO_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Key management configuration - -// PSA User Maximum Open Keys Count <0-128> -// Maximum amount of keys that the user application will have open -// simultaneously. In context of PSA Crypto, an open key means any key -// either stored in RAM (lifetime set to PSA_KEY_LIFETIME_VOLATILE), or -// used as part of a cryptographic operation. -// When using a key for a multi-part (setup/update/finish) operation, a key -// is considered to be open from the moment the operation is successfully -// setup, until it finishes or aborts. -// When an application tries to open more keys than this value accounts for, -// the PSA API may return PSA_ERROR_INSUFFICIENT_MEMORY. Keep in mind that -// other software included in the application (e.g. wireless protocol stacks) -// also can have a need to have open keys in PSA Crypto. This could lead to -// a race condition when the application key slot count is set too low for -// the actual usage of the application, as a software stack may not fail -// gracefully in case an application opens more than its declared amount of -// keys, thereby precluding the stack from functioning. -// Default: 4 -#define SL_PSA_KEY_USER_SLOT_COUNT 0 - -// PSA Maximum User Persistent Keys Count <0-1024> -// Maximum amount of keys (or other files) that can be stored persistently -// by the application through the PSA interface, when persistent storage -// support for PSA Crypto is included in the project. -// Due to caching logic, this setting does have an impact on static RAM usage. -// Note that this number is added to the potential requirements from other -// software components in the project, such that the total amount of keys -// which can be stored through the ITS backend can be higher than what is -// configured here. -// -// WARNING: When changing this setting on an application that is already -// deployed, and thus will get the change through an application upgrade, -// care should be taken to ensure that the setting is only ever increased, -// and never decreased. Decreasing this setting might cause previously -// stored keys/files to become inaccessible. -// -// It is not possible to change this setting when using V3 ITS Driver. -// The file-storage indexing is dependent on the maximum number of files, -// and if SL_PSA_ITS_USER_MAX_FILES is changed, ITS should be cleared and -// all files need to be stored again. -// Default: 128 -#define SL_PSA_ITS_USER_MAX_FILES (128) - -// Enable V1 Format Support For ITS Files <0-1> -// Devices that used PSA ITS together with gecko_sdk_3.1.x or earlier -// might have keys (or other files) stored in V1 format. -// If no v1 files are used, its support can be disabled for space -// optimization. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V1_DRIVER 0 - -// Enable V2 ITS Driver Support <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. Enabling this -// config option adds upgrade code which converts V2 (and V1 if -// supported) format ITS keys/files to the latest V3 format. Update is -// fully automatic, needs to be run once and require extra flash space of -// approximately the size of the largest key. -// V1 ITS driver support can be disabled if the device has never used ITS -// driver before in GSDK 4.1.x and earlier, or the keys has been already -// migrated. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V2_DRIVER 0 - -// Enable support for V3 ITS Driver <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. In rare case -// that those devices have full nvm3 and not enough space for the -// upgrade, (that requires an extra space to store largest key in memory -// twice), this config option can disable v3 driver and use v2 one. -// To upgrade the device, make space for the upgrade, and enable v3 driver again. -// -// WARNING: When using V3 driver, it is not possible to increase or decrease -// the value of SL_PSA_ITS_USER_MAX_FILES. If the change of -// SL_PSA_ITS_USER_MAX_FILES is required, ITS should be cleared and -// all files need to be stored again. -// Default: 1 -#define SL_PSA_ITS_SUPPORT_V3_DRIVER 1 - -// Built-in AES Key Mode of Operation -// CTR Mode -// CFB Mode -// OFB Mode -// ECB Mode -// CBC Mode (no padding) -// CBC Mode (PKCS#7 padding) -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// Default: PSA_ALG_CTR -#define SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG (PSA_ALG_CTR) - -#ifndef SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG -// Built-in PUF Key Algorithm -// PBKDF2 (CMAC-AES-128-PRF) -// CMAC -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// It is recommended to only use the PUF key for deriving further key -// material. -// Default: PSA_ALG_PBKDF2_AES_CMAC_PRF_128 -#define SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG (PSA_ALG_PBKDF2_AES_CMAC_PRF_128) -#endif // SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG - -// - -// Power optimization configuration - -// Store already-generated random bytes before putting the device to sleep -// Using the hardware TRNG (for example through psa_generate_random()) will -// consume a non-negligible amount of power. A start-up routine must pass -// and a relatively large minimum amount of random bytes will be generated. -// Use cases where the device is frequently entering EM2/EM3 and thereafter -// consumes a small amount of data from the TRNG may benefit from buffering -// the existing random bytes before putting the device to sleep. These -// buffered bytes are then consumed until exhaustion before the TRNG needs -// to be initialized and used again. -// -// NOTE: this configuration option is only applicable for devices with a -// Virtual Secure Engine (VSE), and requires the 'Power Manager' component -// to be included in the project. -// -// Default: 0 -#define SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP (0) - -// Number of random words to buffer before putting the device to sleep <1-63> -// This option can be used to decrease the amount of random words that -// (if enabled) are buffered before the device enters EM2/EM3. Lowering this -// number will result in less static RAM usage, but also means that the TRNG -// potentially has to be initialized more times--leading to increased power -// consumption. By default this option in configured to buffer as much TRNG -// data as possible (limited by the depth of the TRNG FIFO). -// -// NOTE: this configuration option is only applicable when -// SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP is enabled. -// -// Default: 63 -#define SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP (63) -// - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_psa_config_autogen.h" -#endif - -#if defined(TFM_CONFIG_SL_SECURE_LIBRARY) - #include "sli_psa_tfm_translation.h" -#endif - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_psa_acceleration.h" -#endif - -#include "sli_psa_builtin_config_autogen.h" - -#endif // PSA_CRYPTO_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_advertiser_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_advertiser_config.h deleted file mode 100644 index 9607cb02..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_advertiser_config.h +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Bluetooth Advertiser 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_BT_ADVERTISER_CONFIG_H -#define SL_BT_ADVERTISER_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Max number of advertising sets reserved for user <0-255> -// Default: 1 -// Define the number of advertising sets that the application needs to use concurrently. Note that all types of advertising uses the same pool of advertising sets, but periodic advertising has extra configuration to define the number of advertising sets that are capable of periodic advertising. -// -// Specifically, if the component "bluetooth_feature_periodic_advertiser" is used, its configuration SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS specifies how many of the SL_BT_CONFIG_USER_ADVERTISERS advertising sets are capable of periodic advertising. Similarly, if the component bluetooth_feature_pawr_advertiser is used, its configuration SL_BT_CONFIG_MAX_PAWR_ADVERTISERS specifies how many of the periodic advertising sets are capable of Periodic Advertising with Responses. -// -// The configuration values must satisfy the condition SL_BT_CONFIG_USER_ADVERTISERS >= SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS >= SL_BT_CONFIG_MAX_PAWR_ADVERTISERS. -#define SL_BT_CONFIG_USER_ADVERTISERS 3 -// <<< end of configuration section >>> - -#endif diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_connection_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_connection_config.h deleted file mode 100644 index 73a38250..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_bluetooth_connection_config.h +++ /dev/null @@ -1,48 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Bluetooth Connection 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_BT_CONNECTION_CONFIG_H -#define SL_BT_CONNECTION_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Max number of connections reserved for user <0-32> -// Default: 4 -// Define the number of connections the application needs. -#define SL_BT_CONFIG_MAX_CONNECTIONS (4) - -// Preferred maximum TX payload octets <27-251> -// Default: 251 -// Define the preferred maximum TX payload octets that will be used on connections. -// This value is set to the controller as the default suggested data length when -// Bluetooth stack is started. -#define SL_BT_CONFIG_CONNECTION_DATA_LENGTH (251) - -// <<< end of configuration section >>> -#endif diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_config.h deleted file mode 100644 index ba98b762..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_config.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef SL_BTCTRL_CONFIG_H -#define SL_BTCTRL_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Bluetooth Controller Configuration - -// Bluetooth Controller Buffer Memory -// Default: SL_BT_CONTROLLER_BUFFER_MEMORY -// Define the Amount of memory to allocate for tx/rx buffers in Bluetooth Controller -#define SL_BT_CONTROLLER_BUFFER_MEMORY (8192) - -// Bluetooth Controller ACL data packets that can be stored -// Default: SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX -// Define the total number of the maximum sized ACL data packets that can be received from the host -#define SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX (3) - -// Total transmitted packets threshold for all connections to send the Number Of Completed Packets HCI event to the host <1-255> -// Default: 4 -// Define the number of transmitted air interface ACL packets to trigger the Number Of Completed Packets HCI event. -#define SL_BT_CONTROLLER_COMPLETED_PACKETS_THRESHOLD (4) - -// Number of connection events to send the Number Of Completed Packets HCI event to the host <1-255> -// Default: 3 -// Define the maximum number of connection events since the previous Number Of Completed Packets HCI event to trigger reporting of any unreported completed ACL packets. -#define SL_BT_CONTROLLER_COMPLETED_PACKETS_EVENTS_TIMEOUT (3) - -// Maximum number of queued advertisement reports <1-255> -// Default: 10 -// Define the maximum number of queued advertisement reports. Additional advertisement reports are dropped. -#define SL_BT_CONFIG_MAX_QUEUED_ADV_REPORTS (10) - -// Bluetooth Controller Configuration - -// <<< end of configuration section >>> - -#endif // SL_BTCTRL_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_rtos_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_rtos_config.h deleted file mode 100644 index 945ebcfb..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_btctrl_rtos_config.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef SL_BTCTRL_RTOS_CONFIG_H -#define SL_BTCTRL_RTOS_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Priority Configuration for Bluetooth RTOS Tasks - -// Bluetooth link layer task priority -// Default: 52 (CMSIS-RTOS2 osPriorityRealtime4) -// Define the priority of the Bluetooth link layer task. This must be a valid -// priority value from CMSIS-RTOS2 osPriority_t definition. -#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_PRIORITY (52) - -// Bluetooth link layer task stack size in bytes -// Default: 1000 -// Define the stack size of the Bluetooth link layer task. The value is in bytes -// and will be word aligned when it is applied at the task creation. -#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_STACK_SIZE (1000) - -// End Priority Configuration for Bluetooth RTOS Tasks - -// <<< end of configuration section >>> - -#endif // SL_BT_RTOS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h deleted file mode 100644 index 2a270b01..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_oscillator_config.h +++ /dev/null @@ -1,229 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Oscillators 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_CLOCK_MANAGER_OSCILLATOR_CONFIG_H -#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H - -// Oscillators Settings - -// HFXO Settings (if High Frequency crystal is used) -// Enable to configure HFXO -#ifndef SL_CLOCK_MANAGER_HFXO_EN -#define SL_CLOCK_MANAGER_HFXO_EN 1 -#endif - -// Mode -// -// XTAL -// EXTCLK -// HFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_HFXO_MODE -#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL -#endif - -// Frequency <38000000-40000000> -// 38400000 -#ifndef SL_CLOCK_MANAGER_HFXO_FREQ -#define SL_CLOCK_MANAGER_HFXO_FREQ 38400000 -#endif - -// CTUNE <0-255> -// 140 -#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE -#define SL_CLOCK_MANAGER_HFXO_CTUNE 140 -#endif - -// Precision <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION -#define SL_CLOCK_MANAGER_HFXO_PRECISION 50 -#endif -// - -// LFXO Settings (if Low Frequency crystal is used) -// Enable to configure LFXO -#ifndef SL_CLOCK_MANAGER_LFXO_EN -#define SL_CLOCK_MANAGER_LFXO_EN 1 -#endif - -// Mode -// -// XTAL -// BUFEXTCLK -// DIGEXTCLK -// LFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_LFXO_MODE -#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL -#endif - -// CTUNE <0-127> -// 63 -#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE -#define SL_CLOCK_MANAGER_LFXO_CTUNE 63 -#endif - -// LFXO precision in PPM <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION -#define SL_CLOCK_MANAGER_LFXO_PRECISION 50 -#endif - -// Startup Timeout Delay -// -// CYCLES2 -// CYCLES256 -// CYCLES1K -// CYCLES2K -// CYCLES4K -// CYCLES8K -// CYCLES16K -// CYCLES32K -// LFXO_CFG_TIMEOUT_CYCLES4K -#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT -#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K -#endif -// - -// HFRCO and DPLL Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 7 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 38 MHz -// 48 MHz -// 56 MHz -// 64 MHz -// 80 MHz -// cmuHFRCODPLLFreq_80M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCO_BAND -#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz -#endif - -// Use DPLL -// Enable to use the DPLL with HFRCO -#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN -#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 0 -#endif - -// Target Frequency <1000000-80000000> -// DPLL target frequency -// 80000000 -#ifndef SL_CLOCK_MANAGER_DPLL_FREQ -#define SL_CLOCK_MANAGER_DPLL_FREQ 80000000 -#endif - -// Numerator (N) <300-4095> -// Value of N for output frequency calculation fout = fref * (N+1) / (M+1) -// 3999 -#ifndef SL_CLOCK_MANAGER_DPLL_N -#define SL_CLOCK_MANAGER_DPLL_N 3999 -#endif - -// Denominator (M) <0-4095> -// Value of M for output frequency calculation fout = fref * (N+1) / (M+1) -// 1919 -#ifndef SL_CLOCK_MANAGER_DPLL_M -#define SL_CLOCK_MANAGER_DPLL_M 1919 -#endif - -// Reference Clock -// Reference clock source for DPLL -// DISABLED -// HFXO -// LFXO -// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK -#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#endif - -// Reference Clock Edge Detect -// Edge detection for reference clock -// Falling Edge -// Rising Edge -// cmuDPLLEdgeSel_Fall -#ifndef SL_CLOCK_MANAGER_DPLL_EDGE -#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall -#endif - -// DPLL Lock Mode -// Lock mode -// Frequency-Lock Loop -// Phase-Lock Loop -// cmuDPLLLockMode_Freq -#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE -#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase -#endif - -// Automatic Lock Recovery -// 1 -#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER -#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1 -#endif - -// Enable Dither -// 0 -#ifndef SL_CLOCK_MANAGER_DPLL_DITHER -#define SL_CLOCK_MANAGER_DPLL_DITHER 0 -#endif -// -// - -// HFRCOEM23 Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 40 MHz -// cmuHFRCOEM23Freq_19M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND -#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz -#endif -// - -// - -#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */ - -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_tree_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_tree_config.h deleted file mode 100644 index 924916d1..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_clock_manager_tree_config.h +++ /dev/null @@ -1,217 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Clock Tree 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_CLOCK_MANAGER_TREE_CONFIG_H -#define SL_CLOCK_MANAGER_TREE_CONFIG_H - -// Internal Defines: DO NOT MODIFY -// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE -// selection of each clock branch to the right HW register value. -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA - -// Clock Tree Settings - -// Default Clock Source Selection for HF clock branches -// HFRCODPLL -// HFXO -// FSRCO -// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#endif - -// Default Clock Source Selection for LF clock branches -// LFRCO -// LFXO -// ULFRCO -// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#endif - -// System Clock Branch Settings - -// Clock Source Selection for SYSCLK branch -// DEFAULT_HF -// FSRCO -// HFRCODPLL -// HFXO -// Selection of the Clock source for SYSCLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// HCLK branch divider -// DIV1 -// DIV2 -// DIV4 -// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface. -// CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER -#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#endif - -// PCLK branch divider -// DIV1 -// DIV2 -// PCLK branch is derived from HCLK. This clock drives the APB bus interface. -// CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER -#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#endif - -// - -// Trace Clock Branches Settings -// Clock Source Selection for TRACECLK branch -// HCLK -// HFRCOEM23 -// Selection of the Clock source for TRACECLK -// CMU_TRACECLKCTRL_CLKSEL_HCLK -#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE -#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_HCLK -#endif - -// - -// High Frequency Clock Branches Settings -// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible -// EM01GRPACLK clock the Timer peripherals -// Clock Source Selection for EM01GRPACLK branch -// DEFAULT_HF -// HFRCODPLL -// HFXO -// HFRCOEM23 -// FSRCO -// Selection of the Clock source for EM01GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// Clock Source Selection for IADCCLK branch -// EM01GRPACLK -// HFRCOEM23 -// FSRCO -// Selection of the Clock source for IADCCLK -// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE -#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#endif - -// - -// Low Frequency Clock Branches Settings - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM23GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM4GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM4GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for RTCCCLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_RTCCCLK_SOURCE -#define SL_CLOCK_MANAGER_RTCCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG0CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG0CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG1CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG1CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// - -// Mixed Frequency Clock Branch Settings - -// Clock Source Selection for SYSTICKCLK branch -// <0=> HCLK -// <1=> EM23GRPACLK -// Selection of the Clock source for SYSTICKCLK -// 0 -#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0 -#endif -// -// - -#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */ - -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_core_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_core_config.h deleted file mode 100644 index 27b173d2..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_core_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_config.h deleted file mode 100644 index 514b365d..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_config.h +++ /dev/null @@ -1,83 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_CPC_CONFIG_H -#define SL_CPC_CONFIG_H - -// CPC Configuration - -// Use a lookup table to speedup CRC calculation -// Default: 0 -// Enabling this features speeds up the CRC computation at the cost of using an additional 512 (256 x sizeof uint16_t) bytes or memory for the LUT -#define SL_CPC_USE_PRE_HASHED_CRC_TABLE 0 - -// Max Rx Payload Length<1-4087> -// Default: 256 -// Maximum size of the payload in bytes of each RX buffer -#define SL_CPC_RX_PAYLOAD_MAX_LENGTH (256) - -// Tx Queue Size -// Default: 20 -// The maximum number of outgoing messages capable of being queued for transmission. -#define SL_CPC_TX_QUEUE_ITEM_MAX_COUNT 15 - -// Total Number of Rx Buffers -// Default: 20 -// Total number of CPC RX buffers available across all endpoints -// Multiple RX buffers can be associated with a single endpoint -#define SL_CPC_RX_BUFFER_MAX_COUNT 15 - -// Enable debug core tracing with system view -// Default: 0 -#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_CORE_EVENT 0 - -// Enable debug endpoint tracing with system view -// Default: 0 -#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_ENDPOINT_EVENT 0 - -// Enable debug counters for core events -// Default: 0 -#define SL_CPC_DEBUG_CORE_EVENT_COUNTERS 0 - -// Enable debug counters for endpoint events -// Default: 0 -#define SL_CPC_DEBUG_ENDPOINT_EVENT_COUNTERS 0 - -// Enable debug counters for memory allocation -// Default: 0 -#define SL_CPC_DEBUG_MEMORY_ALLOCATOR_COUNTERS 0 - -// - -// <<< end of configuration section >>> - -#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_drv_uart_usart_vcom_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_drv_uart_usart_vcom_config.h deleted file mode 100644 index 38d90e4c..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_drv_uart_usart_vcom_config.h +++ /dev/null @@ -1,102 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC UART driver configuration file. - ******************************************************************************* - * # 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_CPC_DRV_UART_USART_VCOM_CONFIG_H -#define SL_CPC_DRV_UART_USART_VCOM_CONFIG_H - -// CPC - UART Driver Configuration - -// Number of frame that can be queued in the driver receive queue -// Default: 10 -#define SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE 10 - -// Number of frame that can be queued in the driver transmit queue -// Default: 10 -#define SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE 10 - -// UART Baudrate -// Default: 115200 -#define SL_CPC_DRV_UART_VCOM_BAUDRATE 460800 - -// Flow control -// None -// CTS/RTS -// Default: usartHwFlowControlCtsAndRts -#define SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE usartHwFlowControlCtsAndRts -// - -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_CPC_DRV_UART_VCOM -// $[USART_SL_CPC_DRV_UART_VCOM] -#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL -#define SL_CPC_DRV_UART_VCOM_PERIPHERAL USART0 -#endif -#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO -#define SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO 0 -#endif - -// USART0 TX on PA05 -#ifndef SL_CPC_DRV_UART_VCOM_TX_PORT -#define SL_CPC_DRV_UART_VCOM_TX_PORT gpioPortA -#endif -#ifndef SL_CPC_DRV_UART_VCOM_TX_PIN -#define SL_CPC_DRV_UART_VCOM_TX_PIN 5 -#endif - -// USART0 RX on PA06 -#ifndef SL_CPC_DRV_UART_VCOM_RX_PORT -#define SL_CPC_DRV_UART_VCOM_RX_PORT gpioPortA -#endif -#ifndef SL_CPC_DRV_UART_VCOM_RX_PIN -#define SL_CPC_DRV_UART_VCOM_RX_PIN 6 -#endif - -// USART0 CTS on PD02 -#ifndef SL_CPC_DRV_UART_VCOM_CTS_PORT -#define SL_CPC_DRV_UART_VCOM_CTS_PORT gpioPortD -#endif -#ifndef SL_CPC_DRV_UART_VCOM_CTS_PIN -#define SL_CPC_DRV_UART_VCOM_CTS_PIN 2 -#endif - -// USART0 RTS on PC01 -#ifndef SL_CPC_DRV_UART_VCOM_RTS_PORT -#define SL_CPC_DRV_UART_VCOM_RTS_PORT gpioPortC -#endif -#ifndef SL_CPC_DRV_UART_VCOM_RTS_PIN -#define SL_CPC_DRV_UART_VCOM_RTS_PIN 1 -#endif -// [USART_SL_CPC_DRV_UART_VCOM]$ -// <<< sl:end pin_tool >>> - -#endif /* SL_CPC_DRV_UART_VCOM_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_kernel_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_kernel_config.h deleted file mode 100644 index 7e01e898..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_kernel_config.h +++ /dev/null @@ -1,99 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_CPC_KERNEL_CONFIG_H -#define SL_CPC_KERNEL_CONFIG_H - -// CPC Kernel Configuration - -// CPC task priority -// low + 1 -// low + 2 -// low + 3 -// low + 4 -// low + 5 -// low + 6 -// low + 7 -// below normal -// below normal + 1 -// below normal + 2 -// below normal + 3 -// below normal + 4 -// below normal + 5 -// below normal + 6 -// below normal + 7 -// normal -// normal + 1 -// normal + 2 -// normal + 3 -// normal + 4 -// normal + 5 -// normal + 6 -// normal + 7 -// above normal -// above normal + 1 -// above normal + 2 -// above normal + 3 -// above normal + 4 -// above normal + 5 -// above normal + 6 -// above normal + 7 -// high -// high + 1 -// high + 2 -// high + 3 -// high + 4 -// high + 5 -// high + 6 -// high + 7 -// realtime -// realtime + 1 -// realtime + 2 -// realtime + 3 -// realtime + 4 -// realtime + 5 -// realtime + 6 -// realtime + 7 -// Default: osPriorityAboveNormal3 -// CMSIS Priority of the CPC task -#define SL_CPC_TASK_PRIORITY osPriorityAboveNormal3 - -// CPC task stack size in words -// Default: 1024 -// Stack size for the CPC task in words. -#define SL_CPC_TASK_STACK_SIZE (1024) - -// - -// <<< end of configuration section >>> - -#endif /* SL_CPC_KERNEL_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_security_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_security_config.h deleted file mode 100644 index 50d2f123..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_cpc_security_config.h +++ /dev/null @@ -1,55 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_CPC_SECURITY_CONFIG_H -#define SL_CPC_SECURITY_CONFIG_H - -// CPC Security Configuration - -// Enable encryption using the security endpoint -// Default: 0 -#define SL_CPC_SECURITY_ENABLED 0 - -// Binding key method -// -// The customer provides the key. -// The key is exchanged using the Elliptic-curve Diffie-Hellman algorithm -// The key is plaintext key share. The host sends its encryption key to the secondary -// No binding key is provided -// Default: SL_CPC_SECURITY_BINDING_KEY_ECDH -#define SL_CPC_SECURITY_BINDING_KEY_METHOD SL_CPC_SECURITY_BINDING_KEY_NONE - -// - -// <<< end of configuration section >>> - -#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_device_init_emu_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_device_init_emu_config.h deleted file mode 100644 index 4ac96bac..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_device_init_emu_config.h +++ /dev/null @@ -1,53 +0,0 @@ -/***************************************************************************//** - * @file - * @brief DEVICE_INIT_EMU Config - ******************************************************************************* - * # License - * Copyright 2019 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_DEVICE_INIT_EMU_CONFIG_H -#define SL_DEVICE_INIT_EMU_CONFIG_H - -#include "em_emu.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// Allow debugger to remain connected in EM2 -// Force PD0B to stay on on EM2 entry. This allows the debugger to remain connected in EM2 and EM3. -// Enabling debug connectivity results in an increased power consumption in EM2/EM3. -// Default: 1 -#define SL_DEVICE_INIT_EMU_EM2_DEBUG_ENABLE 1 - -// EM4 pin retention mode -// No Retention: Pads enter reset state when entering EM4. -// Retention through EM4: Pads enter reset state when exiting EM4. -// Retention through EM4 and wakeup. -// Default: emuPinRetentionDisable -#define SL_DEVICE_INIT_EMU_EM4_PIN_RETENTION_MODE emuPinRetentionDisable - -// <<< end of configuration section >>> - -#endif // SL_DEVICE_INIT_EMU_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_fem_util_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_fem_util_config.h deleted file mode 100644 index b48e32ab..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_fem_util_config.h +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Front End Module configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_FEM_UTIL_CONFIG_H -#define SL_FEM_UTIL_CONFIG_H - -#include "em_gpio.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// FEM Configuration -// Enable RX Mode -// Default: 0 -#define SL_FEM_UTIL_RX_ENABLE 0 -// Enable TX Mode -// Default: 0 -#define SL_FEM_UTIL_TX_ENABLE 0 -// Enable Bypass Mode -// Default: 0 -#define SL_FEM_UTIL_BYPASS_ENABLE 0 -// Enable TX High Power Mode -// Default: 0 -#define SL_FEM_UTIL_TX_HIGH_POWER_ENABLE 0 -// - -// Automatic external FEM LNA bypass Configuration -// Enable automatic LNA bypass -// Default: 0 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_ENABLE 0 -// LNA bypass threshold -// <1-31:1> -// Default: 12 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_THRESHOLD 12 -// LNA bypass delta RSSI (dBm) -// <1-255:1> -// Default: 15 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_DELTA_RSSI_DBM 15 -// LNA bypass GPIO polarity -// <0-1:1> -// Default: 1 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_POLARITY 1 -// LNA bypass timeout (Us) -// <1-65535:1> -// Default: 4000 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_TIMEOUT_US 4000 -// -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_FEM_UTIL_RX -// $[PRS_SL_FEM_UTIL_RX] -//#define SL_FEM_UTIL_RX_CHANNEL 5 - -// PRS CH5 on PD10 -//#define SL_FEM_UTIL_RX_PORT gpioPortD -//#define SL_FEM_UTIL_RX_PIN 10 -//#define SL_FEM_UTIL_RX_LOC 0 - -// [PRS_SL_FEM_UTIL_RX]$ - -// SL_FEM_UTIL_TX -// $[PRS_SL_FEM_UTIL_TX] - -// [PRS_SL_FEM_UTIL_TX]$ - -// SL_FEM_UTIL_SLEEP -// $[PRS_SL_FEM_UTIL_SLEEP] -//#define SL_FEM_UTIL_SLEEP_CHANNEL 6 - -// PRS CH6 on PD11 -//#define SL_FEM_UTIL_SLEEP_PORT gpioPortD -//#define SL_FEM_UTIL_SLEEP_PIN 11 -//#define SL_FEM_UTIL_SLEEP_LOC 13 - -// [PRS_SL_FEM_UTIL_SLEEP]$ - -// SL_FEM_UTIL_BYPASS -// $[GPIO_SL_FEM_UTIL_BYPASS] - -// [GPIO_SL_FEM_UTIL_BYPASS]$ - -// SL_FEM_UTIL_TX_HIGH_POWER -// $[GPIO_SL_FEM_UTIL_TX_HIGH_POWER] - -// [GPIO_SL_FEM_UTIL_TX_HIGH_POWER]$ -// <<< sl:end pin_tool >>> - -#define SL_FEM_UTIL_OPTIMIZED_PHY_ENABLE 0 -#define SL_FEM_UTIL_RUNTIME_PHY_SELECT 0 - -#endif // SL_FEM_UTIL_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_gp_interface_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_gp_interface_config.h deleted file mode 100644 index a937b58b..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_gp_interface_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h deleted file mode 100644 index 714893aa..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_interrupt_manager_s2_config.h +++ /dev/null @@ -1,47 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_config.h deleted file mode 100644 index 39b51496..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_config.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef SL_MBEDTLS_CONFIG_H -#define SL_MBEDTLS_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// TLS/DTLS configuration - -// Complete list of ciphersuites to use, in order of preference. -// Default: MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 -// Complete list of ciphersuites to use, in order of preference. -// The value of this configuration should be updated for the application needs. -#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 - -// Maximum TLS/DTLS fragment length in bytes (input). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when receiving data. -#define SL_MBEDTLS_SSL_IN_CONTENT_LEN 768 - -// Maximum TLS/DTLS fragment length in bytes (output). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when sending data. -#define SL_MBEDTLS_SSL_OUT_CONTENT_LEN 768 - -// Enable support for RFC 6066 max_fragment_length extension in SSL. -// Default: 1 -// Enable support for RFC 6066 max_fragment_length extension in SSL. -#define SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1 - -// Enable support for exporting key block and master secret. -// Default: 1 -// Enable support for exporting key block and master secret. -// This is required for certain users of TLS, e.g. EAP-TLS. -#define SL_MBEDTLS_SSL_EXPORT_KEYS 1 - -// Enable the PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 0 - -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 0 - -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 0 - -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 0 - -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 0 - -// Enable parsing of the compressed curves. -// Default: 0 -// Enable parsing of the compressed curves. -#define SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING 0 - -// - -// RSA configuration - -// Disable use of the Chinese Remainder Theorem for RSA. -// Default: 0 -// Disable use of the Chinese Remainder Theorem for RSA private key -// computations. -#define SL_MBEDTLS_RSA_NO_CRT 0 - -// - -// Miscellaneous configuration - -// Enable Silicon Labs' Mbed TLS- and PSA Crypto drivers. -// Default: 1 -// Enable drivers for hardware acceleration (Mbed TLS and PSA Crypto) and -// secure key handling (PSA Crypto). -#define SL_MBEDTLS_DRIVERS_ENABLED 1 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_mbedtls_config_autogen.h" -#endif - -#include "sli_mbedtls_omnipresent.h" - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_mbedtls_acceleration.h" -#endif - -#include "sl_mbedtls_device_config.h" - -// Include transformation logic to apply CMSIS-config configuration options to -// the correct Mbed TLS / PSA Crypto options. -#include "sli_mbedtls_config_transform_autogen.h" - -// Included for backward compatibility reasons. -#include "mbedtls/build_info.h" - -#endif // SL_MBEDTLS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_device_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_device_config.h deleted file mode 100644 index 33c34c42..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_mbedtls_device_config.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef SL_MBEDTLS_DEVICE_CONFIG_H -#define SL_MBEDTLS_DEVICE_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Secure Engine (SE) version configuration - -// Support SE firmware versions older than 1.2.2 <0-1> -// Enable software fallback for ECDH and ECC public key validation on xG21 -// devices running SE firmware versions lower than 1.2.2. -// -// Due to other stability concerns, it is strongly recommended to upgrade -// these devices to the latest firmware revision instead of turning on -// software fallback support. -// -// Not having fallback support will make ECDH operations, as well as PSA -// Crypto public key import, return an error code on affected devices. -// -// Default: 0 -#define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 0 - -// Assume an SE firmware version newer than 1.2.2 <0-1> -// For enhanced performance: if it is guaranteed that all devices on which -// this library will run are updated to at least SE FW 1.2.2, then turning -// on this option will remove certain fallback checks, thereby reducing the -// amount of processing required for ECDH and public key verification -// operations. -// Default: 0 -#define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 0 - -// Assume an SE firmware version that is unaffected by Ed25519 errata <0-1> -// For minimal code size and performance savings: if it is guaranteed that -// none of the devices running this library has SE FWs in the range -// [1.2.2, 1.2.8], then enabling this option will disable runtime version -// checks. -// Default: 0 -#define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 0 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Additional SE version related logic (DO NOT MODIFY) - -// SL_SE_ASSUME_FW_AT_LEAST_1_2_10 is no longer in use, however, it is kept here -// for backwards compatibility. */ -#if defined(SL_SE_ASSUME_FW_AT_LEAST_1_2_10) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 - #undef SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA - #define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 1 -#endif - -// SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2) - #undef SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 - #define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 1 -#endif - -// SLI_SE_ASSUME_FW_AT_LEAST_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_ASSUME_FW_AT_LEAST_1_2_2) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 -#endif - -#endif // SL_MBEDTLS_DEVICE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_config.h deleted file mode 100644 index 3afe6966..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_config.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef SL_MEMORY_CONFIG_H -#define SL_MEMORY_CONFIG_H - -#include "sl_memory_manager_region_config.h" -#include "sl_common.h" - -#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 - -#endif diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_config.h deleted file mode 100644 index 7e4b0567..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_region_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_region_config.h deleted file mode 100644 index ee337e99..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_memory_manager_region_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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 2752 -#endif -// - -// <<< end of configuration section >>> - -#endif /* SL_MEMORY_MANAGER_REGION_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_coex_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_coex_config.h deleted file mode 100644 index af4e9328..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_coex_config.h +++ /dev/null @@ -1,41 +0,0 @@ -/***************************************************************************//** - * @file - * @brief OpenThread Coexistence 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 >>> ----------------- -// -// Coexistence Configurations -// Synch MAC to GRANT (MAC holdoff) -#define SL_OPENTHREAD_COEX_MAC_HOLDOFF_ENABLE 0 - -// Counters -#define SL_OPENTHREAD_COEX_COUNTER_ENABLE 1 - -// -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_features_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_features_config.h deleted file mode 100644 index f66c3fe2..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_features_config.h +++ /dev/null @@ -1,410 +0,0 @@ -/***************************************************************************//** - * @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 >>> ----------------- -// -// Default OpenThread Stack Configuration - -// Thread Stack Protocol Version -// -// Thread 1.1 -// Thread 1.2 -// Thread 1.3 -// Thread 1.4 -// Current Default: OT_THREAD_VERSION_1_3 -#ifndef OPENTHREAD_CONFIG_THREAD_VERSION -#define OPENTHREAD_CONFIG_THREAD_VERSION OT_THREAD_VERSION_1_4 -#endif -// - -#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2) -// The following features require at least Thread Stack Protocol Version 1.2 -// Backbone Router -#ifndef OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE -#define OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 0 -#endif -// CSL Auto Synchronization using data polling -#ifndef OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE -#define OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE 0 -#endif -// CSL (Coordinated Sampled Listening) Debug -#ifndef OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE -#define OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE 0 -#endif -// CSL (Coordinated Sampled Listening) Receiver -#ifndef OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE -#define OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE 0 -#endif -// CSL Scheduling Uncertainty (±10 us units) <12..999:1> -#ifndef SL_OPENTHREAD_CSL_TX_UNCERTAINTY -#if OPENTHREAD_RADIO - #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 175 -#elif OPENTHREAD_FTD - #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 20 -#else - #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 12 -#endif -#endif -// DUA (Domain Unicast Address) -#ifndef OPENTHREAD_CONFIG_DUA_ENABLE -#define OPENTHREAD_CONFIG_DUA_ENABLE 1 -#endif -// Link Metrics Initiator -#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 1 -#endif -// Link Metrics Subject -#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1 -#endif -// Multicast Listener Registration -#ifndef OPENTHREAD_CONFIG_MLR_ENABLE -#define OPENTHREAD_CONFIG_MLR_ENABLE 1 -#endif -// -#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 -#ifndef OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE -#define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 0 -#endif -// Service Registration Protocol (SRP) Client -#ifndef OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 -#endif -// 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) -#ifndef OPENTHREAD_CONFIG_TCP_ENABLE -#define OPENTHREAD_CONFIG_TCP_ENABLE 0 -#endif -// 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_3 - -// Border Agent -#ifndef OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE -#define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 0 -#endif -// -// Border Router -#ifndef OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE -#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 0 -#endif -// -// Channel Manager -#ifndef OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE -#define OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 0 -#endif -// -// Channel Monitor -#ifndef OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE -#define OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE 0 -#endif -// - -// Commissioner -#ifndef OPENTHREAD_CONFIG_COMMISSIONER_ENABLE -#define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 0 -#endif - -// Max Joiner Entries -// The maximum number of Joiner entries maintained by the Commissioner. -// 2 -#ifndef OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES -#define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 2 -#endif -// - -// COAP API -#ifndef OPENTHREAD_CONFIG_COAP_API_ENABLE -#define OPENTHREAD_CONFIG_COAP_API_ENABLE 0 -#endif -// -// COAP Observe (RFC7641) API -#ifndef OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE -#define OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE 0 -#endif -// -// COAP Secure API -#ifndef OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE -#define OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 0 -#endif -// -// DHCP6 Client -#ifndef OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE 0 -#endif -// -// DHCP6 Server -#ifndef OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE -#define OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE 0 -#endif -// -// Diagnostic -#ifndef OPENTHREAD_CONFIG_DIAG_ENABLE -#define OPENTHREAD_CONFIG_DIAG_ENABLE 1 -#endif -// -// ECDSA (Elliptic Curve Digital Signature Algorithm) (Required for Matter support) -#ifndef OPENTHREAD_CONFIG_ECDSA_ENABLE -#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 -#endif -// -// External Heap -#ifndef OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE -#define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 0 -#endif -// -// IPv6 Fragmentation -#ifndef OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE -#define OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE 0 -#endif -// -// Maximum number of IPv6 unicast addresses allowed to be externally added -#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS -#define OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 4 -#endif -// -// Maximum number of IPv6 multicast addresses allowed to be externally added -#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS -#define OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 4 -#endif -// -// Jam Detection -#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE -#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 0 -#endif -// -// Joiner -#ifndef OPENTHREAD_CONFIG_JOINER_ENABLE -#define OPENTHREAD_CONFIG_JOINER_ENABLE 0 -#endif -// -// Link Raw Service -#ifndef OPENTHREAD_CONFIG_LINK_RAW_ENABLE -#define OPENTHREAD_CONFIG_LINK_RAW_ENABLE 0 -#endif -// -// MAC Filter -#ifndef OPENTHREAD_CONFIG_MAC_FILTER_ENABLE -#define OPENTHREAD_CONFIG_MAC_FILTER_ENABLE 0 -#endif -// -// MLE Long Routes extension (experimental) -#ifndef OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE -#define OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE 0 -#endif -// -// MultiPAN RCP -#ifndef OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE -#define OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE 1 -#endif -// -// Multiple OpenThread Instances -#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE -#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 1 -#endif -// -// Multiple Static Instance Support -#ifndef OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE -#define OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 1 -#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 -#endif -// -// Ping Sender Module -#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 -#define OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 0 -#endif -// -// Reference Device for Thread Test Harness -#ifndef OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE -#define OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 0 -#endif -// -// Service Entries in Thread Network Data -#ifndef OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE -#define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 0 -#endif -// -// RAM (volatile-only storage) -#ifndef OPENTHREAD_SETTINGS_RAM -#define OPENTHREAD_SETTINGS_RAM 0 -#endif -// -// SLAAC Addresses -#ifndef OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE -#define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 -#endif -// -// SNTP Client -#ifndef OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE 0 -#endif -// -// TMF Network Diagnostic client API -#ifndef OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE 1 -#endif -// -// Time Synchronization Service -#define OPENTHREAD_CONFIG_TIME_SYNC_ENABLE 0 -// -// UDP Forward -#ifndef OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE -#define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 0 -#endif -// -// Enable Mac beacon payload parsing support -#ifndef OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE -#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 -// NONE -// APP -// PLATFORM_DEFINED -// Default: OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED -#ifndef OPENTHREAD_CONFIG_LOG_OUTPUT -#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_NONE -#endif - -// DYNAMIC_LOG_LEVEL -#ifndef OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE -#define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 0 -#endif - -// Enable Logging -#define OPENTHREAD_FULL_LOGS_ENABLE 0 -#if OPENTHREAD_FULL_LOGS_ENABLE - -// Note: Enabling higher log levels, which include logging packet details, can cause delays which may result in join failures. -// LOG_LEVEL -// NONE -// CRIT -// WARN -// NOTE -// INFO -// DEBG -// Default: OT_LOG_LEVEL_DEBG -#ifndef OPENTHREAD_CONFIG_LOG_LEVEL -#define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_DEBG -#endif -// CLI -#ifndef OPENTHREAD_CONFIG_LOG_CLI -#define OPENTHREAD_CONFIG_LOG_CLI 1 -#endif -// PKT_DUMP -#ifndef OPENTHREAD_CONFIG_LOG_PKT_DUMP -#define OPENTHREAD_CONFIG_LOG_PKT_DUMP 1 -#endif -// PLATFORM -#ifndef OPENTHREAD_CONFIG_LOG_PLATFORM -#define OPENTHREAD_CONFIG_LOG_PLATFORM 1 -#endif -// PREPEND_LEVEL -#ifndef OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL -#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 -// - -// -// -// - -// <<< end of configuration section >>> -#endif // _SL_OPENTHREAD_FEATURES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_generic_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_generic_config.h deleted file mode 100644 index 46beb6e4..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_generic_config.h +++ /dev/null @@ -1,175 +0,0 @@ -/***************************************************************************//** - * @file - * @brief OpenThread generic 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. - * - ******************************************************************************/ - -/* Define if building universal (internal helper macro) */ -/* #undef AC_APPLE_UNIVERSAL_BUILD */ - -/* Define to 1 if your C++ compiler doesn't accept -c and -o together. */ -/* #undef CXX_NO_MINUS_C_MINUS_O */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DLFCN_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `edit' library (-ledit). */ -/* #undef HAVE_LIBEDIT */ - -/* Define to 1 if you have the `readline' library (-lreadline). */ -/* #undef HAVE_LIBREADLINE */ - -/* Define to 1 if you have the `memcpy' function. */ -/* #undef HAVE_MEMCPY */ - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if stdbool.h conforms to C99. */ -#define HAVE_STDBOOL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if the system has the type `_Bool'. */ -#define HAVE__BOOL 1 - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#define LT_OBJDIR ".libs/" - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Name of package */ -#define PACKAGE "openthread" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "openthread-devel@googlegroups.com" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "SL-OPENTHREAD" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "SL-OPENTHREAD/2.5.1.0_GitHub-1fceb225b" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "openthread" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "http://github.com/openthread/openthread" - -/* Define to the version of this package. - * Note: When adding the label below with OpenThread version, please make - * sure it is a valid GitHub version. Avoid merge or local commit hashes. - */ -#define PACKAGE_VERSION "2.5.1.0_GitHub-1fceb225b" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "2.5.1.0_GitHub-1fceb225b" - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -/* # undef WORDS_BIGENDIAN */ -# endif -#endif - -/* Define for Solaris 2.5.1 so the uint32_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -/* #undef _UINT32_T */ - -/* Define for Solaris 2.5.1 so the uint64_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -/* #undef _UINT64_T */ - -/* Define for Solaris 2.5.1 so the uint8_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -/* #undef _UINT8_T */ - -/* Define to the type of a signed integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -/* #undef int16_t */ - -/* Define to the type of a signed integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -/* #undef int32_t */ - -/* Define to the type of a signed integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -/* #undef int64_t */ - -/* Define to the type of a signed integer type of width exactly 8 bits if such - a type exists and the standard includes do not define it. */ -/* #undef int8_t */ - -/* Define to the type of an unsigned integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint16_t */ - -/* Define to the type of an unsigned integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint32_t */ - -/* Define to the type of an unsigned integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint64_t */ - -/* Define to the type of an unsigned integer type of width exactly 8 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint8_t */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_rtos_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_rtos_config.h deleted file mode 100644 index cc6ebf7d..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_openthread_rtos_config.h +++ /dev/null @@ -1,100 +0,0 @@ -/***************************************************************************//** - * @file - * @brief OpenThread RTOS 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 >>> ----------------- -// -// Priority Configuration for OpenThread RTOS Stack Task -// OpenThread stack task priority -// Default: 24 (CMSIS-RTOS2 osPriorityNormal) -// Defines OpenThread stack task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_STACK_TASK_PRIORITY (24) - -// -// Priority Configuration for OpenThread App Task -// OpenThread task priority -// Default: 23 (CMSIS-RTOS2 osPriorityBelowNormal7) -// Defines OpenThread App task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_APP_TASK_PRIORITY (23) - -// -// Priority Configuration for OpenThread RTOS Stack Task -// OpenThread CLI task prority -// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) -// Defines OpenThread CLI task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) - -// OpenThread stack task stack size in bytes <1000-20000> -// Default: 4608 -// Defines the stack size of the OpenThread RTOS stack task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_STACK_TASK_MEM_SIZE 4608 - -// OpenThread app task stack size in bytes <1000-20000> -// Default: 4096 -// Defines the stack size of the OpenThread RTOS app task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_APP_TASK_MEM_SIZE 4608 - -// OpenThread CLI task stack size in bytes <1000-20000> -// Default: 2048 -// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_CLI_TASK_MEM_SIZE 2048 -// -// Priority Configuration for OpenThread RTOS Stack Task -// OpenThread CLI task prority -// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) -// Defines OpenThread CLI task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) - -// OpenThread CLI task stack size in bytes <1000-20000> -// Default: 2048 -// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_OS_CLI_TASK_SIZE 2048 - -// -// App Task -// Enable default App task -// Default: On -#define SL_OPENTHREAD_ENABLE_APP_TASK (1) - -// -// CLI Task -// Enable CLI task -// Default: On -#define SL_OPENTHREAD_ENABLE_CLI_TASK (1) - -// -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_common_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_common_config.h deleted file mode 100644 index 7cddee03..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_common_config.h +++ /dev/null @@ -1,254 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Common coexistence configuration header file - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_COEX_COMMON_CONFIG_H -#define SL_RAIL_UTIL_COEX_COMMON_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Coexistence Configuration - -// IEEE802.15.4 Only Configuration -// Disable ACKing when GRANT deasserted, RHO asserted, or REQUEST deasserted -// Disable ACKing when GNT deasserted, RHO asserted, or REQ not secured (shared REQ only) -// Default: 1 -#define SL_RAIL_UTIL_COEX_ACKHOLDOFF 1 - -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Default: 0 -#define SL_RAIL_UTIL_COEX_IEEE802154_TX_ABORT 0 -// - -// BLE Only Configuration -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Default: 0 -#define SL_RAIL_UTIL_COEX_BLE_TX_ABORT 0 -// - -// REQUEST -// Enable REQUEST signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_REQ_ENABLED 0 - -// REQUEST assert signal level -// <1=> High -// <0=> Low -// Polarity of REQUEST signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_REQ_ASSERT_LEVEL 1 - -// Enable REQUEST shared mode -// Configure the REQUEST signal for shared mode -// Default: 0 -#define SL_RAIL_UTIL_COEX_REQ_SHARED 0 - -// Max REQUEST backoff mask [0-255] -// <0-255:1> -// Maximum backoff time in microseconds after REQUEST was deasserted -// Default: 15 -#define SL_RAIL_UTIL_COEX_REQ_BACKOFF 15 - -// BLE Only Request Configuration -// Specify the number of microseconds between asserting Request and starting RX/TX -// <0-5000:1> -// Specify the number of microseconds between asserting REQUEST and starting RX/TX (BLE only) -// Default: 500 -#define SL_RAIL_UTIL_COEX_REQ_WINDOW 500 -// - -// IEEE802.15.4 Only Request Configuration -// Enable REQUEST receive retry -// Enable the receive retry -// Default: 0 -#define SL_RAIL_UTIL_COEX_RETRYRX_ENABLE 0 - -// REQUEST receive retry timeout(ms) -// <0-255:1> -// Receive retry REQ timeout in milliseconds -// Default: 16 -#define SL_RAIL_UTIL_COEX_RETRYRX_TIMEOUT 16 - -// REQUEST receive retry assert PRIORITY -// Enable the receive retry high priority -// Default: 0 -#define SL_RAIL_UTIL_COEX_RETRYRX_HIPRI 0 -// -// -// - -// GRANT -// Enable GRANT signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_GNT_ENABLED 0 - -// GRANT assert signal level -// <1=> High -// <0=> Low -// Polarity of grant (GNT) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_GNT_ASSERT_LEVEL 1 -// - -// PRIORITY -// Enable PRIORITY signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRI_ENABLED 0 - -// PRIORITY assert signal level -// <1=> High -// <0=> Low -// Polarity of priority(PRI) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_PRI_ASSERT_LEVEL 1 - -// Enable PRIORITY shared mode -// Configure the PRIORITY signal for shared mode -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRI_SHARED 0 - -// BLE Only Priority Configuration -// Default Enabled/Disabled -// Enable/Disable BLE PRIORITY by default -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRIORITY_DEFAULT 0 -// - -// IEEE802.15.4 Only Priority Configuration -// Assert PRIORITY when transmitting packet -// Assert a high priority when the local device is transmitting a packet -// Default: 0 -#define SL_RAIL_UTIL_COEX_TX_HIPRI 0 - -// Assert PRIORITY when receiving packet -// Assert a high priority when the local device is receiving a packet -// Default: 0 -#define SL_RAIL_UTIL_COEX_RX_HIPRI 0 - -// Include TX PRIORITY escalation -// Compile-time include TX PRIORITY escalation feature -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRIORITY_ESCALATION_ENABLE 0 - -// CCA/GRANT TX PRIORITY escalation threshold -// <0-255:1> -// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) -// Default: 4 -#define SL_RAIL_UTIL_COEX_CCA_THRESHOLD 4 - -// MAC Fail TX PRIORITY escalation threshold -// <0-3:1> -// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) or no RX_ACK received (four consecutive RX_ACK failures is one MAC failure) -// Default: 0 -#define SL_RAIL_UTIL_COEX_MAC_FAIL_THRESHOLD 0 -// -// - -// PWM REQUEST -// Enable PWM REQUEST signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED 0 - -// PWM REQUEST signal level (shared REQUEST only) -// <1=> High -// <0=> Low -// Polarity of PWM request (PWM_REQ) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_PWM_REQ_ASSERT_LEVEL 1 - -// Enable PWM REQUEST at startup -// Enable PWM REQUEST at startup (also run-time controllable) -// Default: 1 -#define SL_RAIL_UTIL_COEX_PWM_DEFAULT_ENABLED 1 - -// PWM Request Period (0.5ms steps) -// <5-109> -// PWM REQUEST Period (5ms to 109ms in 0.5ms steps) -// Default: 78 -#define SL_RAIL_UTIL_COEX_PWM_REQ_PERIOD 78 - -// PWM Request Duty-Cycle (%) -// <1-95:1> -// PWM REQUEST Duty-Cycle (1% to 95% in 1% steps) -// Default: 20 -#define SL_RAIL_UTIL_COEX_PWM_REQ_DUTYCYCLE 20 - -// Assert priority when PWM REQUEST asserted -// Assert a high priority when local device is asserting PWM -// Default: 0 -#define SL_RAIL_UTIL_COEX_PWM_PRIORITY 0 - -// BLE Only PWM Configuration -// Enable PWM only when local device is scanning -// Enable PWM only when local device is scanning -// Default: 0 -#define SL_RAIL_UTIL_COEX_SCANPWM_DEFAULT_ENABLED 0 -// -// - -// Radio Hold-off -// Default: 0 -#define SL_RAIL_UTIL_COEX_RHO_ENABLED 0 -// RHO assert signal level -// <1=> High -// <0=> Low -// Polarity of radio hold-off (RHO) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_RHO_ASSERT_LEVEL 1 -// - -// Directional PRIORITY -// Enable Directional PRIORITY signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_DP_ENABLED 0 -// Directional PRIORITY pulse width -// <0-255:1> -// Microseconds to hold Directional PRIORITY priority pulse -// Default: 20 -#define SL_RAIL_UTIL_COEX_DP_PULSE_WIDTH_US 20 -// - -// RX active -// Enable RX active signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED 0 - -// RX active assert signal level -// <1=> High -// <0=> Low -// Polarity of RX active signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ASSERT_LEVEL 1 -// - -// -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_COEX_COMMON_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_config.h deleted file mode 100644 index 099a83fa..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_coex_config.h +++ /dev/null @@ -1,145 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Coexistence configuration header file - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_COEX_CONFIG_H -#define SL_RAIL_UTIL_COEX_CONFIG_H - -#include "sl_rail_util_coex_common_config.h" - -// <<< sl:start pin_tool >>> - -#if SL_RAIL_UTIL_COEX_GNT_ENABLED -// Pin used for grant (GNT) signal -// SL_RAIL_UTIL_COEX_GNT -// $[GPIO_SL_RAIL_UTIL_COEX_GNT] -// #define SL_RAIL_UTIL_COEX_GNT_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_GNT_PIN 9 -// [GPIO_SL_RAIL_UTIL_COEX_GNT]$ -#ifndef SL_RAIL_UTIL_COEX_GNT_PORT -#error "SL_RAIL_UTIL_COEX_GNT undefined" -#endif //SL_RAIL_UTIL_COEX_GNT_PORT -#endif //SL_RAIL_UTIL_COEX_GNT_ENABLED - -#if SL_RAIL_UTIL_COEX_PRI_ENABLED -// Pin used for PRIORITY signal -// SL_RAIL_UTIL_COEX_PRI -// $[GPIO_SL_RAIL_UTIL_COEX_PRI] -// #define SL_RAIL_UTIL_COEX_PRI_PORT gpioPortD -// #define SL_RAIL_UTIL_COEX_PRI_PIN 13 -// [GPIO_SL_RAIL_UTIL_COEX_PRI]$ -#if !defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED -#error "SL_RAIL_UTIL_COEX_PRI undefined" -#endif //!defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED -#endif //SL_RAIL_UTIL_COEX_PRI_ENABLED - -#if SL_RAIL_UTIL_COEX_REQ_ENABLED -// Pin used for Request signal -// SL_RAIL_UTIL_COEX_REQ -// $[GPIO_SL_RAIL_UTIL_COEX_REQ] -// #define SL_RAIL_UTIL_COEX_REQ_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_REQ_PIN 10 -// [GPIO_SL_RAIL_UTIL_COEX_REQ]$ -#ifndef SL_RAIL_UTIL_COEX_REQ_PORT -#error "SL_RAIL_UTIL_COEX_REQ undefined" -#endif //SL_RAIL_UTIL_COEX_REQ_PORT -#endif //SL_RAIL_UTIL_COEX_REQ_ENABLED - -#if SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED -// Pin used for PWM Request signal -// SL_RAIL_UTIL_COEX_PWM_REQ -// $[GPIO_SL_RAIL_UTIL_COEX_PWM_REQ] -// #define SL_RAIL_UTIL_COEX_PWM_REQ_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_PWM_REQ_PIN 11 -// [GPIO_SL_RAIL_UTIL_COEX_PWM_REQ]$ -#ifndef SL_RAIL_UTIL_COEX_PWM_REQ_PORT -#error "SL_RAIL_UTIL_COEX_PWM_REQ undefined" -#endif //SL_RAIL_UTIL_COEX_PWM_REQ_PORT -#endif //SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED - -#if SL_RAIL_UTIL_COEX_RHO_ENABLED -// Pin used for Radio Holdoff signal -// SL_RAIL_UTIL_COEX_RHO -// $[GPIO_SL_RAIL_UTIL_COEX_RHO] -// #define SL_RAIL_UTIL_COEX_RHO_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_RHO_PIN 8 -// [GPIO_SL_RAIL_UTIL_COEX_RHO]$ -#ifndef SL_RAIL_UTIL_COEX_RHO_PORT -#error "SL_RAIL_UTIL_COEX_RHO undefined" -#endif //SL_RAIL_UTIL_COEX_RHO_PORT -#endif //SL_RAIL_UTIL_COEX_RHO_ENABLED - -#if SL_RAIL_UTIL_COEX_DP_ENABLED -// Pin used for Directional Priority signal -// SL_RAIL_UTIL_COEX_DP_OUT -// $[PRS_SL_RAIL_UTIL_COEX_DP_OUT] -// #define SL_RAIL_UTIL_COEX_DP_OUT_CHANNEL 3 - -// PRS CH3 on PD12 -// #define SL_RAIL_UTIL_COEX_DP_OUT_PORT gpioPortD -// #define SL_RAIL_UTIL_COEX_DP_OUT_PIN 12 -// [PRS_SL_RAIL_UTIL_COEX_DP_OUT]$ - -// Directional Priority timer module -// SL_RAIL_UTIL_COEX_DP_TIMER -// $[TIMER_SL_RAIL_UTIL_COEX_DP_TIMER] -// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL TIMER1 -// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL_NO 1 -#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL -#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" -#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL - -// #define SL_RAIL_UTIL_COEX_DP_TIMER_CC0_CHANNEL 1 -// [TIMER_SL_RAIL_UTIL_COEX_DP_TIMER]$ -#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL -#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" -#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL -#endif //SL_RAIL_UTIL_COEX_DP_ENABLED - -#if SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED -// Pin used for RX active signal -// SL_RAIL_UTIL_COEX_RX_ACTIVE -// $[PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE] -// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL 8 - -// PRS CH8 on PD13 -// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT gpioPortD -// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PIN 13 -// [PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE]$ -#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT -#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT undefined" -#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT -#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL -#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL undefined" -#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL -#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED - -// <<< sl:end pin_tool >>> - -#endif // SL_RAIL_UTIL_COEX_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_dma_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_dma_config.h deleted file mode 100644 index dcf7171c..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_dma_config.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************//** - * @file - * @brief - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_DMA_CONFIG_H -#define SL_RAIL_UTIL_DMA_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMA Configuration -// Allocate DMA channel to RAIL (to decrease channel config switching time) -// Default: 1 -#define SL_RAIL_UTIL_DMA_ENABLE 1 -// Use DMA Driver (i.e., auto-select DMA channel) -// Default: 1 -#define SL_RAIL_UTIL_DMA_DMADRV_ENABLE 1 -// Use Specific DMA Channel (if DMA driver not used) -// <0-16:1> -// Default: 0 -#define SL_RAIL_UTIL_DMA_CHANNEL 0 -// -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_DMA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_ieee802154_fast_channel_switching_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_ieee802154_fast_channel_switching_config.h deleted file mode 100644 index a4470069..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_ieee802154_fast_channel_switching_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @file - * @brief IEEE802.15.4 fast channel switching configuration file. - ******************************************************************************* - * # 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_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H -#define SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H - -#include "rail_features.h" - -#if RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING == 0 -#error "IEEE.802.15.4 RX channel switching unsupported on this platform!" -#endif //RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING - -#define sl_rail_util_ieee802154_is_fast_channel_switching_phy_selected() SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED - -// <<< Use Configuration Wizard in Context Menu >>> -// IEEE802.15.4 Fast Channel Switching Configuration -// Enable fast channel switching -// Default: 1 -#define SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED 1 -// -// <<< end of configuration section >>> -#endif //SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pa_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pa_config.h deleted file mode 100644 index a300b57e..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pa_config.h +++ /dev/null @@ -1,81 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Power Amplifier configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PA_CONFIG_H -#define SL_RAIL_UTIL_PA_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// PA Configuration -// Initial PA Power (deci-dBm, 100 = 10.0 dBm) -// Default: 100 -#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100 -// PA Ramp Time (microseconds) -// <0-65535:1> -// Default: 10 -#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10 -// Milli-volts on PA supply pin (PA_VDD) -// <0-65535:1> -// Default: 3300 -#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300 -// 2.4 GHz PA Selection -// Highest Possible -// High Power (chip-specific) -// Medium Power (chip-specific) -// Low Power -// Disable -// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -// Sub-1 GHz PA Selection -// Disable -// Default: RAIL_TX_POWER_MODE_NONE -#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE -// - -// PA Curve Configuration -// Header file containing custom PA curves -// Default: "pa_curves_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h" -// Header file containing PA curve types -// Default: "pa_curve_types_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h" -// - -// PA Calibration Configuration -// Apply PA Calibration Factory Offset -// Default: 1 -#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 1 -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_PA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pti_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pti_config.h deleted file mode 100644 index 66cf53e3..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_pti_config.h +++ /dev/null @@ -1,62 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Packet Trace Information configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PTI_CONFIG_H -#define SL_RAIL_UTIL_PTI_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// PTI Configuration - -// PTI mode -// UART -// UART onewire -// SPI -// Disabled -// Default: RAIL_PTI_MODE_UART -#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_DISABLED - -// PTI Baud Rate (Hertz) -// <147800-20000000:1> -// Default: 1600000 -#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 1600000 - -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_RAIL_UTIL_PTI -// $[PTI_SL_RAIL_UTIL_PTI] -// [PTI_SL_RAIL_UTIL_PTI]$ - -// <<< sl:end pin_tool >>> - -#endif // SL_RAIL_UTIL_PTI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h deleted file mode 100644 index f3ea8351..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rf_path_config.h +++ /dev/null @@ -1,48 +0,0 @@ -/***************************************************************************//** - * @file - * @brief - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RF_PATH_CONFIG_H -#define SL_RAIL_UTIL_RF_PATH_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// Chip-internal RF Path Configuration -// RF Path Mode -// Path 0 -// Path 1 -// Default: RAIL_ANTENNA_1 -#define SL_RAIL_UTIL_RF_PATH_INT_RF_PATH_MODE RAIL_ANTENNA_0 -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_RF_PATH_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rssi_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rssi_config.h deleted file mode 100644 index 15a55646..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_rail_util_rssi_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @file - * @brief RSSI configuration header file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RSSI_CONFIG_H -#define SL_RAIL_UTIL_RSSI_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RSSI Offset Configuration - -// Software RSSI offset value -// Default: -11 -#define SL_RAIL_UTIL_RSSI_OFFSET -11 - -// -// <<< end of configuration section >>> -#endif // SL_RAIL_UTIL_RSSI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_sleeptimer_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_sleeptimer_config.h deleted file mode 100644 index 8344ef5f..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/sl_sleeptimer_config.h +++ /dev/null @@ -1,82 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Sleep Timer configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_SLEEPTIMER_CONFIG_H -#define SL_SLEEPTIMER_CONFIG_H - -#define SL_SLEEPTIMER_PERIPHERAL_DEFAULT 0 -#define SL_SLEEPTIMER_PERIPHERAL_RTCC 1 -#define SL_SLEEPTIMER_PERIPHERAL_PRORTC 2 -#define SL_SLEEPTIMER_PERIPHERAL_RTC 3 -#define SL_SLEEPTIMER_PERIPHERAL_SYSRTC 4 -#define SL_SLEEPTIMER_PERIPHERAL_BURTC 5 -#define SL_SLEEPTIMER_PERIPHERAL_WTIMER 6 -#define SL_SLEEPTIMER_PERIPHERAL_TIMER 7 - -// Timer Peripheral Used by Sleeptimer -// Default (auto select) -// RTCC -// Radio internal RTC (PRORTC) -// RTC -// SYSRTC -// Back-Up RTC (BURTC) -// WTIMER -// TIMER -// Selection of the Timer Peripheral Used by the Sleeptimer -#define SL_SLEEPTIMER_PERIPHERAL SL_SLEEPTIMER_PERIPHERAL_DEFAULT - -// TIMER/WTIMER Instance Used by Sleeptimer (not applicable for other peripherals) -// Make sure TIMER instance size is 32bits. Check datasheet for 32bits TIMERs. -// Default: 0 -#define SL_SLEEPTIMER_TIMER_INSTANCE 0 - -// Enable wallclock functionality -// Enable or disable wallclock functionalities (get_time, get_date, etc). -// Default: 0 -#define SL_SLEEPTIMER_WALLCLOCK_CONFIG 0 - -// Timer frequency divider (not applicable for WTIMER/TIMER) -// WTIMER/TIMER peripherals are always prescaled to 1024. -// Default: 1 -#define SL_SLEEPTIMER_FREQ_DIVIDER 1 - -// If Radio internal RTC (PRORTC) HAL is used, determines if it owns the IRQ handler. Enable, if no wireless stack is used. -// Default: 0 -#define SL_SLEEPTIMER_PRORTC_HAL_OWNS_IRQ_HANDLER 0 - -// Enable DEBUGRUN functionality on hardware RTC. -// Default: 0 -#define SL_SLEEPTIMER_DEBUGRUN 0 - -#endif /* SLEEPTIMER_CONFIG_H */ - -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/ustimer_config.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/ustimer_config.h deleted file mode 100644 index b50a57f7..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/config/ustimer_config.h +++ /dev/null @@ -1,55 +0,0 @@ -/***************************************************************************//** - * @file - * @brief USTIMER configuration file. - ******************************************************************************* - * # License - * Copyright 2018 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 __SILICON_LABS_USTIMER_CONFIG_H__ -#define __SILICON_LABS_USTIMER_CONFIG_H__ - -/***************************************************************************//** - * @addtogroup ustimer - * @{ - ******************************************************************************/ - -// <<< sl:start pin_tool >>> -// USTIMER -// $[TIMER_USTIMER] -#ifndef USTIMER_PERIPHERAL -#define USTIMER_PERIPHERAL TIMER0 -#endif -#ifndef USTIMER_PERIPHERAL_NO -#define USTIMER_PERIPHERAL_NO 0 -#endif -// [TIMER_USTIMER]$ - -// <<< sl:end pin_tool >>> - -#define USTIMER_TIMER USTIMER_PERIPHERAL_NO - -/** @} (end addtogroup ustimer) */ - -#endif /* __SILICON_LABS_USTIMER_CONFIG_H__ */ diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/linker_options/ot-rtos-wrapper-options b/src/rcp-uart-802154-blehci_MGM210PA32JIA/linker_options/ot-rtos-wrapper-options deleted file mode 100644 index 547da199..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/linker_options/ot-rtos-wrapper-options +++ /dev/null @@ -1,848 +0,0 @@ --Xlinker --wrap=otBackboneRouterGetPrimary --Xlinker --wrap=otBackboneRouterGetState --Xlinker --wrap=otBackboneRouterGetDomainPrefix --Xlinker --wrap=otBackboneRouterGetNdProxyInfo --Xlinker --wrap=otBackboneRouterMulticastListenerAdd --Xlinker --wrap=otBackboneRouterMulticastListenerGetNext --Xlinker --wrap=otBackboneRouterRegister --Xlinker --wrap=otBackboneRouterSetConfig --Xlinker --wrap=otBackboneRouterGetRegistrationJitter --Xlinker --wrap=otBackboneRouterConfigNextDuaRegistrationResponse --Xlinker --wrap=otBackboneRouterConfigNextMulticastListenerRegistrationResponse --Xlinker --wrap=otBackboneRouterGetConfig --Xlinker --wrap=otBackboneRouterMulticastListenerClear --Xlinker --wrap=otBackboneRouterSetDomainPrefixCallback --Xlinker --wrap=otBackboneRouterSetEnabled --Xlinker --wrap=otBackboneRouterSetMulticastListenerCallback --Xlinker --wrap=otBackboneRouterSetNdProxyCallback --Xlinker --wrap=otBackboneRouterSetRegistrationJitter --Xlinker --wrap=otBleSecureIsCommandClassAuthorized --Xlinker --wrap=otBleSecureIsConnected --Xlinker --wrap=otBleSecureIsConnectionActive --Xlinker --wrap=otBleSecureIsTcatEnabled --Xlinker --wrap=otBleSecureConnect --Xlinker --wrap=otBleSecureFlush --Xlinker --wrap=otBleSecureGetPeerCertificateBase64 --Xlinker --wrap=otBleSecureGetPeerSubjectAttributeByOid --Xlinker --wrap=otBleSecureGetThreadAttributeFromOwnCertificate --Xlinker --wrap=otBleSecureGetThreadAttributeFromPeerCertificate --Xlinker --wrap=otBleSecureSend --Xlinker --wrap=otBleSecureSendApplicationTlv --Xlinker --wrap=otBleSecureSendMessage --Xlinker --wrap=otBleSecureStart --Xlinker --wrap=otBleSecureTcatStart --Xlinker --wrap=otBleSecureDisconnect --Xlinker --wrap=otBleSecureSetCaCertificateChain --Xlinker --wrap=otBleSecureSetCertificate --Xlinker --wrap=otBleSecureSetPsk --Xlinker --wrap=otBleSecureSetSslAuthMode --Xlinker --wrap=otBleSecureStop --Xlinker --wrap=otBorderAgentIsEphemeralKeyActive --Xlinker --wrap=otBorderAgentGetState --Xlinker --wrap=otBorderAgentGetId --Xlinker --wrap=otBorderAgentSetEphemeralKey --Xlinker --wrap=otBorderAgentSetId --Xlinker --wrap=otBorderAgentGetUdpPort --Xlinker --wrap=otBorderAgentClearEphemeralKey --Xlinker --wrap=otBorderAgentSetEphemeralKeyCallback --Xlinker --wrap=otBorderRouterAddOnMeshPrefix --Xlinker --wrap=otBorderRouterAddRoute --Xlinker --wrap=otBorderRouterGetNetData --Xlinker --wrap=otBorderRouterGetNextOnMeshPrefix --Xlinker --wrap=otBorderRouterGetNextRoute --Xlinker --wrap=otBorderRouterRegister --Xlinker --wrap=otBorderRouterRemoveOnMeshPrefix --Xlinker --wrap=otBorderRouterRemoveRoute --Xlinker --wrap=otBorderRouterSetNetDataFullCallback --Xlinker --wrap=otBorderRoutingDhcp6PdGetState --Xlinker --wrap=otBorderRoutingGetState --Xlinker --wrap=otBorderRoutingGetFavoredNat64Prefix --Xlinker --wrap=otBorderRoutingGetFavoredOmrPrefix --Xlinker --wrap=otBorderRoutingGetFavoredOnLinkPrefix --Xlinker --wrap=otBorderRoutingGetNat64Prefix --Xlinker --wrap=otBorderRoutingGetNextPrefixTableEntry --Xlinker --wrap=otBorderRoutingGetNextRouterEntry --Xlinker --wrap=otBorderRoutingGetOmrPrefix --Xlinker --wrap=otBorderRoutingGetOnLinkPrefix --Xlinker --wrap=otBorderRoutingGetPdOmrPrefix --Xlinker --wrap=otBorderRoutingGetPdProcessedRaInfo --Xlinker --wrap=otBorderRoutingInit --Xlinker --wrap=otBorderRoutingSetEnabled --Xlinker --wrap=otBorderRoutingSetExtraRouterAdvertOptions --Xlinker --wrap=otBorderRoutingGetRouteInfoOptionPreference --Xlinker --wrap=otBorderRoutingGetRoutePreference --Xlinker --wrap=otBorderRoutingClearRouteInfoOptionPreference --Xlinker --wrap=otBorderRoutingClearRoutePreference --Xlinker --wrap=otBorderRoutingDhcp6PdSetEnabled --Xlinker --wrap=otBorderRoutingDhcp6PdSetRequestCallback --Xlinker --wrap=otBorderRoutingPrefixTableInitIterator --Xlinker --wrap=otBorderRoutingSetRouteInfoOptionPreference --Xlinker --wrap=otBorderRoutingSetRoutePreference --Xlinker --wrap=otChannelManagerGetAutoChannelSelectionEnabled --Xlinker --wrap=otChannelManagerGetAutoCslChannelSelectionEnabled --Xlinker --wrap=otChannelManagerRequestChannelSelect --Xlinker --wrap=otChannelManagerRequestCslChannelSelect --Xlinker --wrap=otChannelManagerSetAutoChannelSelectionInterval --Xlinker --wrap=otChannelManagerSetDelay --Xlinker --wrap=otChannelManagerGetCcaFailureRateThreshold --Xlinker --wrap=otChannelManagerGetDelay --Xlinker --wrap=otChannelManagerGetAutoChannelSelectionInterval --Xlinker --wrap=otChannelManagerGetFavoredChannels --Xlinker --wrap=otChannelManagerGetSupportedChannels --Xlinker --wrap=otChannelManagerGetRequestedChannel --Xlinker --wrap=otChannelManagerRequestChannelChange --Xlinker --wrap=otChannelManagerSetAutoChannelSelectionEnabled --Xlinker --wrap=otChannelManagerSetAutoCslChannelSelectionEnabled --Xlinker --wrap=otChannelManagerSetCcaFailureRateThreshold --Xlinker --wrap=otChannelManagerSetFavoredChannels --Xlinker --wrap=otChannelManagerSetSupportedChannels --Xlinker --wrap=otChannelMonitorIsEnabled --Xlinker --wrap=otChannelMonitorGetRssiThreshold --Xlinker --wrap=otChannelMonitorSetEnabled --Xlinker --wrap=otChannelMonitorGetChannelOccupancy --Xlinker --wrap=otChannelMonitorGetSampleCount --Xlinker --wrap=otChannelMonitorGetSampleInterval --Xlinker --wrap=otChannelMonitorGetSampleWindow --Xlinker --wrap=otChildSupervisionGetCheckFailureCounter --Xlinker --wrap=otChildSupervisionGetCheckTimeout --Xlinker --wrap=otChildSupervisionGetInterval --Xlinker --wrap=otChildSupervisionResetCheckFailureCounter --Xlinker --wrap=otChildSupervisionSetCheckTimeout --Xlinker --wrap=otChildSupervisionSetInterval --Xlinker --wrap=otCliSetUserCommands --Xlinker --wrap=otCliInit --Xlinker --wrap=otCliInputLine --Xlinker --wrap=CliUartOutput --Xlinker --wrap=otCoapMessageCodeToString --Xlinker --wrap=otCoapOptionIteratorGetFirstOption --Xlinker --wrap=otCoapOptionIteratorGetFirstOptionMatching --Xlinker --wrap=otCoapOptionIteratorGetNextOption --Xlinker --wrap=otCoapOptionIteratorGetNextOptionMatching --Xlinker --wrap=otCoapMessageGetToken --Xlinker --wrap=otCoapMessageGetCode --Xlinker --wrap=otCoapMessageGetType --Xlinker --wrap=otCoapMessageAppendBlock1Option --Xlinker --wrap=otCoapMessageAppendBlock2Option --Xlinker --wrap=otCoapMessageAppendContentFormatOption --Xlinker --wrap=otCoapMessageAppendMaxAgeOption --Xlinker --wrap=otCoapMessageAppendObserveOption --Xlinker --wrap=otCoapMessageAppendOption --Xlinker --wrap=otCoapMessageAppendProxyUriOption --Xlinker --wrap=otCoapMessageAppendUintOption --Xlinker --wrap=otCoapMessageAppendUriPathOptions --Xlinker --wrap=otCoapMessageAppendUriQueryOption --Xlinker --wrap=otCoapMessageInitResponse --Xlinker --wrap=otCoapMessageSetPayloadMarker --Xlinker --wrap=otCoapMessageSetToken --Xlinker --wrap=otCoapOptionIteratorGetOptionUintValue --Xlinker --wrap=otCoapOptionIteratorGetOptionValue --Xlinker --wrap=otCoapOptionIteratorInit --Xlinker --wrap=otCoapSendRequestBlockWiseWithParameters --Xlinker --wrap=otCoapSendRequestWithParameters --Xlinker --wrap=otCoapSendResponseBlockWiseWithParameters --Xlinker --wrap=otCoapSendResponseWithParameters --Xlinker --wrap=otCoapStart --Xlinker --wrap=otCoapStop --Xlinker --wrap=otCoapNewMessage --Xlinker --wrap=otCoapBlockSizeFromExponent --Xlinker --wrap=otCoapMessageGetMessageId --Xlinker --wrap=otCoapMessageGetTokenLength --Xlinker --wrap=otCoapAddBlockWiseResource --Xlinker --wrap=otCoapAddResource --Xlinker --wrap=otCoapMessageGenerateToken --Xlinker --wrap=otCoapMessageInit --Xlinker --wrap=otCoapMessageSetCode --Xlinker --wrap=otCoapRemoveBlockWiseResource --Xlinker --wrap=otCoapRemoveResource --Xlinker --wrap=otCoapSetDefaultHandler --Xlinker --wrap=otCoapSecureIsClosed --Xlinker --wrap=otCoapSecureIsConnected --Xlinker --wrap=otCoapSecureIsConnectionActive --Xlinker --wrap=otCoapSecureConnect --Xlinker --wrap=otCoapSecureGetPeerCertificateBase64 --Xlinker --wrap=otCoapSecureSendRequest --Xlinker --wrap=otCoapSecureSendRequestBlockWise --Xlinker --wrap=otCoapSecureSendResponse --Xlinker --wrap=otCoapSecureSendResponseBlockWise --Xlinker --wrap=otCoapSecureStart --Xlinker --wrap=otCoapSecureStartWithMaxConnAttempts --Xlinker --wrap=otCoapSecureAddBlockWiseResource --Xlinker --wrap=otCoapSecureAddResource --Xlinker --wrap=otCoapSecureDisconnect --Xlinker --wrap=otCoapSecureRemoveBlockWiseResource --Xlinker --wrap=otCoapSecureRemoveResource --Xlinker --wrap=otCoapSecureSetCaCertificateChain --Xlinker --wrap=otCoapSecureSetCertificate --Xlinker --wrap=otCoapSecureSetClientConnectedCallback --Xlinker --wrap=otCoapSecureSetDefaultHandler --Xlinker --wrap=otCoapSecureSetPsk --Xlinker --wrap=otCoapSecureSetSslAuthMode --Xlinker --wrap=otCoapSecureStop --Xlinker --wrap=otCommissionerGetId --Xlinker --wrap=otCommissionerGetProvisioningUrl --Xlinker --wrap=otCommissionerGetState --Xlinker --wrap=otCommissionerAddJoiner --Xlinker --wrap=otCommissionerAddJoinerWithDiscerner --Xlinker --wrap=otCommissionerAnnounceBegin --Xlinker --wrap=otCommissionerEnergyScan --Xlinker --wrap=otCommissionerGetNextJoinerInfo --Xlinker --wrap=otCommissionerPanIdQuery --Xlinker --wrap=otCommissionerRemoveJoiner --Xlinker --wrap=otCommissionerRemoveJoinerWithDiscerner --Xlinker --wrap=otCommissionerSendMgmtGet --Xlinker --wrap=otCommissionerSendMgmtSet --Xlinker --wrap=otCommissionerSetId --Xlinker --wrap=otCommissionerSetProvisioningUrl --Xlinker --wrap=otCommissionerStart --Xlinker --wrap=otCommissionerStop --Xlinker --wrap=otCommissionerGetSessionId --Xlinker --wrap=otCryptoAesCcm --Xlinker --wrap=otCryptoHmacSha256 --Xlinker --wrap=otDatasetIsCommissioned --Xlinker --wrap=otDatasetGeneratePskc --Xlinker --wrap=otDatasetGetActive --Xlinker --wrap=otDatasetGetActiveTlvs --Xlinker --wrap=otDatasetGetPending --Xlinker --wrap=otDatasetGetPendingTlvs --Xlinker --wrap=otDatasetParseTlvs --Xlinker --wrap=otDatasetSendMgmtActiveGet --Xlinker --wrap=otDatasetSendMgmtActiveSet --Xlinker --wrap=otDatasetSendMgmtPendingGet --Xlinker --wrap=otDatasetSendMgmtPendingSet --Xlinker --wrap=otDatasetSetActive --Xlinker --wrap=otDatasetSetActiveTlvs --Xlinker --wrap=otDatasetSetPending --Xlinker --wrap=otDatasetSetPendingTlvs --Xlinker --wrap=otDatasetUpdateTlvs --Xlinker --wrap=otNetworkNameFromString --Xlinker --wrap=otDatasetConvertToTlvs --Xlinker --wrap=otDatasetCreateNewNetwork --Xlinker --wrap=otDatasetSetDelayTimerMinimal --Xlinker --wrap=otDatasetGetDelayTimerMinimal --Xlinker --wrap=otDatasetUpdaterIsUpdateOngoing --Xlinker --wrap=otDatasetUpdaterRequestUpdate --Xlinker --wrap=otDatasetUpdaterCancelUpdate --Xlinker --wrap=otDiagIsEnabled --Xlinker --wrap=otDiagProcessCmd --Xlinker --wrap=otDiagProcessCmdLine --Xlinker --wrap=otDnsIsNameCompressionEnabled --Xlinker --wrap=otDnsEncodeTxtData --Xlinker --wrap=otDnsGetNextTxtEntry --Xlinker --wrap=otDnsInitTxtEntryIterator --Xlinker --wrap=otDnsSetNameCompressionEnabled --Xlinker --wrap=otDnsClientGetDefaultConfig --Xlinker --wrap=otDnsAddressResponseGetAddress --Xlinker --wrap=otDnsAddressResponseGetHostName --Xlinker --wrap=otDnsBrowseResponseGetHostAddress --Xlinker --wrap=otDnsBrowseResponseGetServiceInfo --Xlinker --wrap=otDnsBrowseResponseGetServiceInstance --Xlinker --wrap=otDnsBrowseResponseGetServiceName --Xlinker --wrap=otDnsClientBrowse --Xlinker --wrap=otDnsClientResolveAddress --Xlinker --wrap=otDnsClientResolveIp4Address --Xlinker --wrap=otDnsClientResolveService --Xlinker --wrap=otDnsClientResolveServiceAndHostAddress --Xlinker --wrap=otDnsServiceResponseGetHostAddress --Xlinker --wrap=otDnsServiceResponseGetServiceInfo --Xlinker --wrap=otDnsServiceResponseGetServiceName --Xlinker --wrap=otDnsClientSetDefaultConfig --Xlinker --wrap=otDnssdUpstreamQueryIsEnabled --Xlinker --wrap=otDnssdGetCounters --Xlinker --wrap=otDnssdGetNextQuery --Xlinker --wrap=otDnssdGetQueryTypeAndName --Xlinker --wrap=otDnssdQueryHandleDiscoveredHost --Xlinker --wrap=otDnssdQueryHandleDiscoveredServiceInstance --Xlinker --wrap=otDnssdQuerySetCallbacks --Xlinker --wrap=otDnssdUpstreamQuerySetEnabled --Xlinker --wrap=otThreadErrorToString --Xlinker --wrap=otHeapCAlloc --Xlinker --wrap=otHeapFree --Xlinker --wrap=otHistoryTrackerIterateExternalRouteHistory --Xlinker --wrap=otHistoryTrackerIterateRxHistory --Xlinker --wrap=otHistoryTrackerIterateTxHistory --Xlinker --wrap=otHistoryTrackerIterateMulticastAddressHistory --Xlinker --wrap=otHistoryTrackerIterateNeighborHistory --Xlinker --wrap=otHistoryTrackerIterateNetInfoHistory --Xlinker --wrap=otHistoryTrackerIterateOnMeshPrefixHistory --Xlinker --wrap=otHistoryTrackerIterateRouterHistory --Xlinker --wrap=otHistoryTrackerIterateUnicastAddressHistory --Xlinker --wrap=otHistoryTrackerEntryAgeToString --Xlinker --wrap=otHistoryTrackerInitIterator --Xlinker --wrap=otIcmp6RegisterHandler --Xlinker --wrap=otIcmp6SendEchoRequest --Xlinker --wrap=otIcmp6GetEchoMode --Xlinker --wrap=otIcmp6SetEchoMode --Xlinker --wrap=otInstanceIsInitialized --Xlinker --wrap=otGetRadioVersionString --Xlinker --wrap=otGetVersionString --Xlinker --wrap=otInstanceErasePersistentInfo --Xlinker --wrap=otInstanceResetToBootloader --Xlinker --wrap=otSetStateChangedCallback --Xlinker --wrap=otInstanceInit --Xlinker --wrap=otInstanceInitMultiple --Xlinker --wrap=otInstanceInitSingle --Xlinker --wrap=otInstanceGetId --Xlinker --wrap=otInstanceGetUptime --Xlinker --wrap=otInstanceFactoryReset --Xlinker --wrap=otInstanceFinalize --Xlinker --wrap=otInstanceGetUptimeAsString --Xlinker --wrap=otInstanceReset --Xlinker --wrap=otInstanceResetRadioStack --Xlinker --wrap=otRemoveStateChangeCallback --Xlinker --wrap=otIp6ArePrefixesEqual --Xlinker --wrap=otIp6HasUnicastAddress --Xlinker --wrap=otIp6IsAddressEqual --Xlinker --wrap=otIp6IsAddressUnspecified --Xlinker --wrap=otIp6IsEnabled --Xlinker --wrap=otIp6IsMulticastPromiscuousEnabled --Xlinker --wrap=otIp6IsReceiveFilterEnabled --Xlinker --wrap=otIp6IsSlaacEnabled --Xlinker --wrap=otIp6ProtoToString --Xlinker --wrap=otIp6GetBorderRoutingCounters --Xlinker --wrap=otIp6GetUnicastAddresses --Xlinker --wrap=otIp6GetMulticastAddresses --Xlinker --wrap=otIp6GetUnsecurePorts --Xlinker --wrap=otIp6AddUnicastAddress --Xlinker --wrap=otIp6AddUnsecurePort --Xlinker --wrap=otIp6AddressFromString --Xlinker --wrap=otIp6PrefixFromString --Xlinker --wrap=otIp6RegisterMulticastListeners --Xlinker --wrap=otIp6RemoveUnicastAddress --Xlinker --wrap=otIp6RemoveUnsecurePort --Xlinker --wrap=otIp6SelectSourceAddress --Xlinker --wrap=otIp6Send --Xlinker --wrap=otIp6SetEnabled --Xlinker --wrap=otIp6SetMeshLocalIid --Xlinker --wrap=otIp6SubscribeMulticastAddress --Xlinker --wrap=otIp6UnsubscribeMulticastAddress --Xlinker --wrap=otIp6NewMessage --Xlinker --wrap=otIp6NewMessageFromBuffer --Xlinker --wrap=otIp6PrefixMatch --Xlinker --wrap=otIp6AddressToString --Xlinker --wrap=otIp6GetPrefix --Xlinker --wrap=otIp6PrefixToString --Xlinker --wrap=otIp6RemoveAllUnsecurePorts --Xlinker --wrap=otIp6ResetBorderRoutingCounters --Xlinker --wrap=otIp6SetAddressCallback --Xlinker --wrap=otIp6SetMulticastPromiscuousEnabled --Xlinker --wrap=otIp6SetReceiveCallback --Xlinker --wrap=otIp6SetReceiveFilterEnabled --Xlinker --wrap=otIp6SetSlaacEnabled --Xlinker --wrap=otIp6SetSlaacPrefixFilter --Xlinker --wrap=otIp6SockAddrToString --Xlinker --wrap=otJamDetectionGetState --Xlinker --wrap=otJamDetectionIsEnabled --Xlinker --wrap=otJamDetectionGetRssiThreshold --Xlinker --wrap=otJamDetectionSetBusyPeriod --Xlinker --wrap=otJamDetectionSetRssiThreshold --Xlinker --wrap=otJamDetectionSetWindow --Xlinker --wrap=otJamDetectionStart --Xlinker --wrap=otJamDetectionStop --Xlinker --wrap=otJamDetectionGetHistoryBitmap --Xlinker --wrap=otJamDetectionGetBusyPeriod --Xlinker --wrap=otJamDetectionGetWindow --Xlinker --wrap=otJoinerStateToString --Xlinker --wrap=otJoinerGetId --Xlinker --wrap=otJoinerGetDiscerner --Xlinker --wrap=otJoinerSetDiscerner --Xlinker --wrap=otJoinerStart --Xlinker --wrap=otJoinerGetState --Xlinker --wrap=otJoinerStop --Xlinker --wrap=otLinkIsActiveScanInProgress --Xlinker --wrap=otLinkIsCslEnabled --Xlinker --wrap=otLinkIsCslSupported --Xlinker --wrap=otLinkIsEnabled --Xlinker --wrap=otLinkIsEnergyScanInProgress --Xlinker --wrap=otLinkIsInTransmitState --Xlinker --wrap=otLinkIsPromiscuous --Xlinker --wrap=otLinkIsRadioFilterEnabled --Xlinker --wrap=otLinkGetExtendedAddress --Xlinker --wrap=otLinkGetCounters --Xlinker --wrap=otLinkGetTxDirectRetrySuccessHistogram --Xlinker --wrap=otLinkGetTxIndirectRetrySuccessHistogram --Xlinker --wrap=otLinkConvertLinkQualityToRss --Xlinker --wrap=otLinkActiveScan --Xlinker --wrap=otLinkEnergyScan --Xlinker --wrap=otLinkFilterAddAddress --Xlinker --wrap=otLinkFilterAddRssIn --Xlinker --wrap=otLinkFilterGetNextAddress --Xlinker --wrap=otLinkFilterGetNextRssIn --Xlinker --wrap=otLinkGetRegion --Xlinker --wrap=otLinkSendDataRequest --Xlinker --wrap=otLinkSendEmptyData --Xlinker --wrap=otLinkSetChannel --Xlinker --wrap=otLinkSetCslChannel --Xlinker --wrap=otLinkSetCslPeriod --Xlinker --wrap=otLinkSetCslTimeout --Xlinker --wrap=otLinkSetEnabled --Xlinker --wrap=otLinkSetExtendedAddress --Xlinker --wrap=otLinkSetPanId --Xlinker --wrap=otLinkSetPollPeriod --Xlinker --wrap=otLinkSetPromiscuous --Xlinker --wrap=otLinkSetRegion --Xlinker --wrap=otLinkSetSupportedChannelMask --Xlinker --wrap=otLinkFilterGetAddressMode --Xlinker --wrap=otLinkGetPanId --Xlinker --wrap=otLinkGetShortAddress --Xlinker --wrap=otLinkGetCcaFailureRate --Xlinker --wrap=otLinkGetCslPeriod --Xlinker --wrap=otLinkGetCslTimeout --Xlinker --wrap=otLinkGetPollPeriod --Xlinker --wrap=otLinkGetSupportedChannelMask --Xlinker --wrap=otLinkConvertRssToLinkQuality --Xlinker --wrap=otLinkGetChannel --Xlinker --wrap=otLinkGetCslChannel --Xlinker --wrap=otLinkGetMaxFrameRetriesDirect --Xlinker --wrap=otLinkGetMaxFrameRetriesIndirect --Xlinker --wrap=otLinkFilterClearAddresses --Xlinker --wrap=otLinkFilterClearAllRssIn --Xlinker --wrap=otLinkFilterClearDefaultRssIn --Xlinker --wrap=otLinkFilterRemoveAddress --Xlinker --wrap=otLinkFilterRemoveRssIn --Xlinker --wrap=otLinkFilterSetAddressMode --Xlinker --wrap=otLinkFilterSetDefaultRssIn --Xlinker --wrap=otLinkGetFactoryAssignedIeeeEui64 --Xlinker --wrap=otLinkResetCounters --Xlinker --wrap=otLinkResetTxRetrySuccessHistogram --Xlinker --wrap=otLinkSetMaxFrameRetriesDirect --Xlinker --wrap=otLinkSetMaxFrameRetriesIndirect --Xlinker --wrap=otLinkSetPcapCallback --Xlinker --wrap=otLinkSetRadioFilterEnabled --Xlinker --wrap=otLinkMetricsManagerIsEnabled --Xlinker --wrap=otLinkMetricsConfigEnhAckProbing --Xlinker --wrap=otLinkMetricsConfigForwardTrackingSeries --Xlinker --wrap=otLinkMetricsManagerGetMetricsValueByExtAddr --Xlinker --wrap=otLinkMetricsQuery --Xlinker --wrap=otLinkMetricsSendLinkProbe --Xlinker --wrap=otLinkMetricsManagerSetEnabled --Xlinker --wrap=otLinkRawGetPromiscuous --Xlinker --wrap=otLinkRawIsEnabled --Xlinker --wrap=otLinkRawGetRssi --Xlinker --wrap=otLinkRawEnergyScan --Xlinker --wrap=otLinkRawReceive --Xlinker --wrap=otLinkRawSetMacFrameCounter --Xlinker --wrap=otLinkRawSetMacFrameCounterIfLarger --Xlinker --wrap=otLinkRawSetMacKey --Xlinker --wrap=otLinkRawSetPromiscuous --Xlinker --wrap=otLinkRawSetReceiveDone --Xlinker --wrap=otLinkRawSetShortAddress --Xlinker --wrap=otLinkRawSleep --Xlinker --wrap=otLinkRawSrcMatchAddExtEntry --Xlinker --wrap=otLinkRawSrcMatchAddShortEntry --Xlinker --wrap=otLinkRawSrcMatchClearExtEntries --Xlinker --wrap=otLinkRawSrcMatchClearExtEntry --Xlinker --wrap=otLinkRawSrcMatchClearShortEntries --Xlinker --wrap=otLinkRawSrcMatchClearShortEntry --Xlinker --wrap=otLinkRawSrcMatchEnable --Xlinker --wrap=otLinkRawTransmit --Xlinker --wrap=otLinkRawGetCaps --Xlinker --wrap=otLinkRawGetTransmitBuffer --Xlinker --wrap=otLinkRawGetRadioTime --Xlinker --wrap=otLoggingSetLevel --Xlinker --wrap=otLoggingGetLevel --Xlinker --wrap=otMdnsIsEnabled --Xlinker --wrap=otMdnsIsQuestionUnicastAllowed --Xlinker --wrap=otMdnsGetNextHost --Xlinker --wrap=otMdnsGetNextKey --Xlinker --wrap=otMdnsGetNextService --Xlinker --wrap=otMdnsRegisterHost --Xlinker --wrap=otMdnsRegisterKey --Xlinker --wrap=otMdnsRegisterService --Xlinker --wrap=otMdnsSetEnabled --Xlinker --wrap=otMdnsStartBrowser --Xlinker --wrap=otMdnsStartIp4AddressResolver --Xlinker --wrap=otMdnsStartIp6AddressResolver --Xlinker --wrap=otMdnsStartSrvResolver --Xlinker --wrap=otMdnsStartTxtResolver --Xlinker --wrap=otMdnsStopBrowser --Xlinker --wrap=otMdnsStopIp4AddressResolver --Xlinker --wrap=otMdnsStopIp6AddressResolver --Xlinker --wrap=otMdnsStopSrvResolver --Xlinker --wrap=otMdnsStopTxtResolver --Xlinker --wrap=otMdnsUnregisterHost --Xlinker --wrap=otMdnsUnregisterKey --Xlinker --wrap=otMdnsUnregisterService --Xlinker --wrap=otMdnsAllocateIterator --Xlinker --wrap=otMdnsFreeIterator --Xlinker --wrap=otMdnsSetConflictCallback --Xlinker --wrap=otMdnsSetQuestionUnicastAllowed --Xlinker --wrap=otMeshDiagDiscoverTopology --Xlinker --wrap=otMeshDiagGetNextChildInfo --Xlinker --wrap=otMeshDiagGetNextIp6Address --Xlinker --wrap=otMeshDiagQueryChildTable --Xlinker --wrap=otMeshDiagQueryChildrenIp6Addrs --Xlinker --wrap=otMeshDiagQueryRouterNeighborTable --Xlinker --wrap=otMeshDiagCancel --Xlinker --wrap=otMessageIsLinkSecurityEnabled --Xlinker --wrap=otMessageIsLoopbackToHostAllowed --Xlinker --wrap=otMessageIsMulticastLoopEnabled --Xlinker --wrap=otMessageWrite --Xlinker --wrap=otMessageGetRss --Xlinker --wrap=otMessageAppend --Xlinker --wrap=otMessageGetThreadLinkInfo --Xlinker --wrap=otMessageSetLength --Xlinker --wrap=otMessageQueueGetHead --Xlinker --wrap=otMessageQueueGetNext --Xlinker --wrap=otMessageGetOrigin --Xlinker --wrap=otMessageGetLength --Xlinker --wrap=otMessageGetOffset --Xlinker --wrap=otMessageRead --Xlinker --wrap=otMessageFree --Xlinker --wrap=otMessageGetBufferInfo --Xlinker --wrap=otMessageQueueDequeue --Xlinker --wrap=otMessageQueueEnqueue --Xlinker --wrap=otMessageQueueEnqueueAtHead --Xlinker --wrap=otMessageQueueInit --Xlinker --wrap=otMessageResetBufferInfo --Xlinker --wrap=otMessageSetDirectTransmission --Xlinker --wrap=otMessageSetLoopbackToHostAllowed --Xlinker --wrap=otMessageSetMulticastLoopEnabled --Xlinker --wrap=otMessageSetOffset --Xlinker --wrap=otMessageSetOrigin --Xlinker --wrap=otMultiRadioGetNeighborInfo --Xlinker --wrap=otIp4IsAddressEqual --Xlinker --wrap=otIp4AddressFromString --Xlinker --wrap=otIp4CidrFromString --Xlinker --wrap=otIp4FromIp4MappedIp6Address --Xlinker --wrap=otNat64GetCidr --Xlinker --wrap=otNat64GetNextAddressMapping --Xlinker --wrap=otNat64Send --Xlinker --wrap=otNat64SetIp4Cidr --Xlinker --wrap=otNat64SynthesizeIp6Address --Xlinker --wrap=otIp4NewMessage --Xlinker --wrap=otNat64GetPrefixManagerState --Xlinker --wrap=otNat64GetTranslatorState --Xlinker --wrap=otIp4AddressToString --Xlinker --wrap=otIp4CidrToString --Xlinker --wrap=otIp4ExtractFromIp6Address --Xlinker --wrap=otIp4ToIp4MappedIp6Address --Xlinker --wrap=otNat64GetCounters --Xlinker --wrap=otNat64GetErrorCounters --Xlinker --wrap=otNat64InitAddressMappingIterator --Xlinker --wrap=otNat64SetEnabled --Xlinker --wrap=otNat64SetReceiveIp4Callback --Xlinker --wrap=otNcpStreamWrite --Xlinker --wrap=otNcpHdlcInit --Xlinker --wrap=otNcpHdlcInitMulti --Xlinker --wrap=otNcpHdlcReceive --Xlinker --wrap=otNcpHdlcSendDone --Xlinker --wrap=otNcpPlatLogv --Xlinker --wrap=otNcpRegisterPeekPokeDelegates --Xlinker --wrap=otNcpSpiInit --Xlinker --wrap=otNetDataContainsOmrPrefix --Xlinker --wrap=otNetDataGet --Xlinker --wrap=otNetDataGetNextLowpanContextInfo --Xlinker --wrap=otNetDataGetNextOnMeshPrefix --Xlinker --wrap=otNetDataGetNextRoute --Xlinker --wrap=otNetDataGetNextService --Xlinker --wrap=otNetDataSteeringDataCheckJoiner --Xlinker --wrap=otNetDataSteeringDataCheckJoinerWithDiscerner --Xlinker --wrap=otNetDataGetLength --Xlinker --wrap=otNetDataGetMaxLength --Xlinker --wrap=otNetDataGetStableVersion --Xlinker --wrap=otNetDataGetVersion --Xlinker --wrap=otNetDataGetCommissioningDataset --Xlinker --wrap=otNetDataResetMaxLength --Xlinker --wrap=otNetDataIsDnsSrpServiceAdded --Xlinker --wrap=otNetDataIsPrefixAdded --Xlinker --wrap=otNetDataPublishExternalRoute --Xlinker --wrap=otNetDataPublishOnMeshPrefix --Xlinker --wrap=otNetDataReplacePublishedExternalRoute --Xlinker --wrap=otNetDataUnpublishPrefix --Xlinker --wrap=otNetDataPublishDnsSrpServiceAnycast --Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicast --Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicastMeshLocalEid --Xlinker --wrap=otNetDataSetDnsSrpServicePublisherCallback --Xlinker --wrap=otNetDataSetPrefixPublisherCallback --Xlinker --wrap=otNetDataUnpublishDnsSrpService --Xlinker --wrap=otThreadGetVendorAppUrl --Xlinker --wrap=otThreadGetVendorModel --Xlinker --wrap=otThreadGetVendorName --Xlinker --wrap=otThreadGetVendorSwVersion --Xlinker --wrap=otThreadGetNextDiagnosticTlv --Xlinker --wrap=otThreadSendDiagnosticGet --Xlinker --wrap=otThreadSendDiagnosticReset --Xlinker --wrap=otThreadSetVendorAppUrl --Xlinker --wrap=otThreadSetVendorModel --Xlinker --wrap=otThreadSetVendorName --Xlinker --wrap=otThreadSetVendorSwVersion --Xlinker --wrap=otNetworkTimeSetSyncPeriod --Xlinker --wrap=otNetworkTimeSetXtalThreshold --Xlinker --wrap=otNetworkTimeGet --Xlinker --wrap=otNetworkTimeGetSyncPeriod --Xlinker --wrap=otNetworkTimeGetXtalThreshold --Xlinker --wrap=otNetworkTimeSyncSetCallback --Xlinker --wrap=otPingSenderPing --Xlinker --wrap=otPingSenderStop --Xlinker --wrap=otRadioTimeStatsGet --Xlinker --wrap=otRadioTimeStatsReset --Xlinker --wrap=otRandomCryptoFillBuffer --Xlinker --wrap=otRandomNonCryptoGetUint16 --Xlinker --wrap=otRandomNonCryptoGetUint16InRange --Xlinker --wrap=otRandomNonCryptoAddJitter --Xlinker --wrap=otRandomNonCryptoGetUint32 --Xlinker --wrap=otRandomNonCryptoGetUint32InRange --Xlinker --wrap=otRandomNonCryptoGetUint8 --Xlinker --wrap=otRandomNonCryptoGetUint8InRange --Xlinker --wrap=otRandomNonCryptoFillBuffer --Xlinker --wrap=otServerAddService --Xlinker --wrap=otServerGetNetDataLocal --Xlinker --wrap=otServerGetNextService --Xlinker --wrap=otServerRegister --Xlinker --wrap=otServerRemoveService --Xlinker --wrap=otSntpClientQuery --Xlinker --wrap=otSntpClientSetUnixEra --Xlinker --wrap=otSrpClientIsAutoStartModeEnabled --Xlinker --wrap=otSrpClientIsRunning --Xlinker --wrap=otSrpClientIsServiceKeyRecordEnabled --Xlinker --wrap=otSrpClientGetDomainName --Xlinker --wrap=otSrpClientItemStateToString --Xlinker --wrap=otSrpClientGetServerAddress --Xlinker --wrap=otSrpClientGetHostInfo --Xlinker --wrap=otSrpClientGetServices --Xlinker --wrap=otSrpClientAddService --Xlinker --wrap=otSrpClientClearService --Xlinker --wrap=otSrpClientEnableAutoHostAddress --Xlinker --wrap=otSrpClientRemoveHostAndServices --Xlinker --wrap=otSrpClientRemoveService --Xlinker --wrap=otSrpClientSetDomainName --Xlinker --wrap=otSrpClientSetHostAddresses --Xlinker --wrap=otSrpClientSetHostName --Xlinker --wrap=otSrpClientStart --Xlinker --wrap=otSrpClientGetKeyLeaseInterval --Xlinker --wrap=otSrpClientGetLeaseInterval --Xlinker --wrap=otSrpClientGetTtl --Xlinker --wrap=otSrpClientClearHostAndServices --Xlinker --wrap=otSrpClientDisableAutoStartMode --Xlinker --wrap=otSrpClientEnableAutoStartMode --Xlinker --wrap=otSrpClientSetCallback --Xlinker --wrap=otSrpClientSetKeyLeaseInterval --Xlinker --wrap=otSrpClientSetLeaseInterval --Xlinker --wrap=otSrpClientSetServiceKeyRecordEnabled --Xlinker --wrap=otSrpClientSetTtl --Xlinker --wrap=otSrpClientStop --Xlinker --wrap=otSrpClientBuffersGetHostNameString --Xlinker --wrap=otSrpClientBuffersGetServiceEntryInstanceNameString --Xlinker --wrap=otSrpClientBuffersGetServiceEntryServiceNameString --Xlinker --wrap=otSrpClientBuffersGetSubTypeLabelsArray --Xlinker --wrap=otSrpClientBuffersGetHostAddressesArray --Xlinker --wrap=otSrpClientBuffersAllocateService --Xlinker --wrap=otSrpClientBuffersGetServiceEntryTxtBuffer --Xlinker --wrap=otSrpClientBuffersFreeAllServices --Xlinker --wrap=otSrpClientBuffersFreeService --Xlinker --wrap=otSrpServerHostIsDeleted --Xlinker --wrap=otSrpServerHostMatchesFullName --Xlinker --wrap=otSrpServerIsAutoEnableMode --Xlinker --wrap=otSrpServerServiceHasSubTypeServiceName --Xlinker --wrap=otSrpServerServiceIsDeleted --Xlinker --wrap=otSrpServerServiceMatchesInstanceName --Xlinker --wrap=otSrpServerServiceMatchesServiceName --Xlinker --wrap=otSrpServerGetDomain --Xlinker --wrap=otSrpServerHostGetFullName --Xlinker --wrap=otSrpServerServiceGetInstanceLabel --Xlinker --wrap=otSrpServerServiceGetInstanceName --Xlinker --wrap=otSrpServerServiceGetServiceName --Xlinker --wrap=otSrpServerServiceGetSubTypeServiceNameAt --Xlinker --wrap=otSrpServerHostGetAddresses --Xlinker --wrap=otSrpServerGetNextHost --Xlinker --wrap=otSrpServerServiceGetHost --Xlinker --wrap=otSrpServerGetResponseCounters --Xlinker --wrap=otSrpServerHostGetNextService --Xlinker --wrap=otSrpServerServiceGetTxtData --Xlinker --wrap=otSrpServerParseSubTypeServiceName --Xlinker --wrap=otSrpServerSetAddressMode --Xlinker --wrap=otSrpServerSetAnycastModeSequenceNumber --Xlinker --wrap=otSrpServerSetDomain --Xlinker --wrap=otSrpServerSetLeaseConfig --Xlinker --wrap=otSrpServerSetTtlConfig --Xlinker --wrap=otSrpServerGetAddressMode --Xlinker --wrap=otSrpServerGetState --Xlinker --wrap=otSrpServerGetPort --Xlinker --wrap=otSrpServerServiceGetNumberOfSubTypes --Xlinker --wrap=otSrpServerServiceGetPort --Xlinker --wrap=otSrpServerServiceGetPriority --Xlinker --wrap=otSrpServerServiceGetWeight --Xlinker --wrap=otSrpServerServiceGetTtl --Xlinker --wrap=otSrpServerGetAnycastModeSequenceNumber --Xlinker --wrap=otSrpServerGetLeaseConfig --Xlinker --wrap=otSrpServerGetTtlConfig --Xlinker --wrap=otSrpServerHandleServiceUpdateResult --Xlinker --wrap=otSrpServerHostGetLeaseInfo --Xlinker --wrap=otSrpServerServiceGetLeaseInfo --Xlinker --wrap=otSrpServerSetAutoEnableMode --Xlinker --wrap=otSrpServerSetEnabled --Xlinker --wrap=otSrpServerSetServiceUpdateHandler --Xlinker --wrap=otTaskletsArePending --Xlinker --wrap=otTaskletsProcess --Xlinker --wrap=otTcpGetLocalAddress --Xlinker --wrap=otTcpGetPeerAddress --Xlinker --wrap=otTcpAbort --Xlinker --wrap=otTcpBind --Xlinker --wrap=otTcpCommitReceive --Xlinker --wrap=otTcpConnect --Xlinker --wrap=otTcpEndpointDeinitialize --Xlinker --wrap=otTcpEndpointInitialize --Xlinker --wrap=otTcpListen --Xlinker --wrap=otTcpListenerDeinitialize --Xlinker --wrap=otTcpListenerInitialize --Xlinker --wrap=otTcpReceiveByReference --Xlinker --wrap=otTcpReceiveContiguify --Xlinker --wrap=otTcpSendByExtension --Xlinker --wrap=otTcpSendByReference --Xlinker --wrap=otTcpSendEndOfStream --Xlinker --wrap=otTcpStopListening --Xlinker --wrap=otTcpEndpointGetInstance --Xlinker --wrap=otTcpListenerGetInstance --Xlinker --wrap=otTcpEndpointGetContext --Xlinker --wrap=otTcpListenerGetContext --Xlinker --wrap=otTcpMbedTlsSslRecvCallback --Xlinker --wrap=otTcpMbedTlsSslSendCallback --Xlinker --wrap=otTcpCircularSendBufferDeinitialize --Xlinker --wrap=otTcpCircularSendBufferWrite --Xlinker --wrap=otTcpCircularSendBufferGetFreeSpace --Xlinker --wrap=otTcpCircularSendBufferForceDiscardAll --Xlinker --wrap=otTcpCircularSendBufferHandleForwardProgress --Xlinker --wrap=otTcpCircularSendBufferInitialize --Xlinker --wrap=otThreadIsAnycastLocateInProgress --Xlinker --wrap=otThreadIsDiscoverInProgress --Xlinker --wrap=otThreadIsSingleton --Xlinker --wrap=otThreadDeviceRoleToString --Xlinker --wrap=otThreadGetDomainName --Xlinker --wrap=otThreadGetNetworkName --Xlinker --wrap=otThreadGetExtendedPanId --Xlinker --wrap=otThreadGetLinkLocalAllThreadNodesMulticastAddress --Xlinker --wrap=otThreadGetLinkLocalIp6Address --Xlinker --wrap=otThreadGetMeshLocalEid --Xlinker --wrap=otThreadGetRealmLocalAllThreadNodesMulticastAddress --Xlinker --wrap=otThreadGetRloc --Xlinker --wrap=otThreadGetFixedDuaInterfaceIdentifier --Xlinker --wrap=otThreadGetIp6Counters --Xlinker --wrap=otThreadGetMeshLocalPrefix --Xlinker --wrap=otThreadGetMleCounters --Xlinker --wrap=otThreadGetTimeInQueueHistogram --Xlinker --wrap=otThreadGetDeviceRole --Xlinker --wrap=otThreadBecomeChild --Xlinker --wrap=otThreadBecomeDetached --Xlinker --wrap=otThreadDetachGracefully --Xlinker --wrap=otThreadDiscover --Xlinker --wrap=otThreadGetLeaderData --Xlinker --wrap=otThreadGetLeaderRloc --Xlinker --wrap=otThreadGetNextNeighborInfo --Xlinker --wrap=otThreadGetParentAverageRssi --Xlinker --wrap=otThreadGetParentInfo --Xlinker --wrap=otThreadGetParentLastRssi --Xlinker --wrap=otThreadGetServiceAloc --Xlinker --wrap=otThreadLocateAnycastDestination --Xlinker --wrap=otThreadSearchForBetterParent --Xlinker --wrap=otThreadSendProactiveBackboneNotification --Xlinker --wrap=otThreadSetDomainName --Xlinker --wrap=otThreadSetEnabled --Xlinker --wrap=otThreadSetExtendedPanId --Xlinker --wrap=otThreadSetFixedDuaInterfaceIdentifier --Xlinker --wrap=otThreadSetJoinerAdvertisement --Xlinker --wrap=otThreadSetLinkMode --Xlinker --wrap=otThreadSetMeshLocalPrefix --Xlinker --wrap=otThreadSetNetworkKey --Xlinker --wrap=otThreadSetNetworkKeyRef --Xlinker --wrap=otThreadSetNetworkName --Xlinker --wrap=otThreadGetLinkMode --Xlinker --wrap=otThreadGetNetworkKeyRef --Xlinker --wrap=otThreadGetKeySwitchGuardTime --Xlinker --wrap=otThreadGetRloc16 --Xlinker --wrap=otThreadGetVersion --Xlinker --wrap=otThreadGetChildTimeout --Xlinker --wrap=otThreadGetKeySequenceCounter --Xlinker --wrap=otThreadGetMaxTimeInQueue --Xlinker --wrap=otThreadGetPartitionId --Xlinker --wrap=otThreadGetLeaderRouterId --Xlinker --wrap=otThreadGetLeaderWeight --Xlinker --wrap=otConvertDurationInSecondsToString --Xlinker --wrap=otThreadGetNetworkKey --Xlinker --wrap=otThreadRegisterParentResponseCallback --Xlinker --wrap=otThreadResetIp6Counters --Xlinker --wrap=otThreadResetMleCounters --Xlinker --wrap=otThreadResetTimeInQueueStat --Xlinker --wrap=otThreadSendAddressNotification --Xlinker --wrap=otThreadSetChildTimeout --Xlinker --wrap=otThreadSetDiscoveryRequestCallback --Xlinker --wrap=otThreadSetKeySequenceCounter --Xlinker --wrap=otThreadSetKeySwitchGuardTime --Xlinker --wrap=otThreadIsRouterEligible --Xlinker --wrap=otThreadIsRouterIdAllocated --Xlinker --wrap=otThreadIsTmfOriginFilterEnabled --Xlinker --wrap=otThreadGetDeviceProperties --Xlinker --wrap=otThreadGetParentPriority --Xlinker --wrap=otThreadBecomeLeader --Xlinker --wrap=otThreadBecomeRouter --Xlinker --wrap=otThreadGetChildInfoById --Xlinker --wrap=otThreadGetChildInfoByIndex --Xlinker --wrap=otThreadGetChildNextIp6Address --Xlinker --wrap=otThreadGetNextCacheEntry --Xlinker --wrap=otThreadGetRouterInfo --Xlinker --wrap=otThreadReleaseRouterId --Xlinker --wrap=otThreadSetChildRouterLinks --Xlinker --wrap=otThreadSetJoinerUdpPort --Xlinker --wrap=otThreadSetMaxAllowedChildren --Xlinker --wrap=otThreadSetMaxChildIpAddresses --Xlinker --wrap=otThreadSetParentPriority --Xlinker --wrap=otThreadSetPreferredRouterId --Xlinker --wrap=otThreadSetPskc --Xlinker --wrap=otThreadSetPskcRef --Xlinker --wrap=otThreadSetRouterEligible --Xlinker --wrap=otThreadSetRouterIdRange --Xlinker --wrap=otThreadGetPskcRef --Xlinker --wrap=otThreadGetJoinerUdpPort --Xlinker --wrap=otThreadGetMaxAllowedChildren --Xlinker --wrap=otThreadGetAdvertisementTrickleIntervalMax --Xlinker --wrap=otThreadGetContextIdReuseDelay --Xlinker --wrap=otThreadGetPreferredLeaderPartitionId --Xlinker --wrap=otThreadGetChildRouterLinks --Xlinker --wrap=otThreadGetLocalLeaderWeight --Xlinker --wrap=otThreadGetMaxChildIpAddresses --Xlinker --wrap=otThreadGetMaxRouterId --Xlinker --wrap=otThreadGetNetworkIdTimeout --Xlinker --wrap=otThreadGetRouterDowngradeThreshold --Xlinker --wrap=otThreadGetRouterIdSequence --Xlinker --wrap=otThreadGetRouterSelectionJitter --Xlinker --wrap=otThreadGetRouterUpgradeThreshold --Xlinker --wrap=otThreadGetNextHopAndPathCost --Xlinker --wrap=otThreadGetPskc --Xlinker --wrap=otThreadGetRouterIdRange --Xlinker --wrap=otThreadRegisterNeighborTableCallback --Xlinker --wrap=otThreadSetCcmEnabled --Xlinker --wrap=otThreadSetContextIdReuseDelay --Xlinker --wrap=otThreadSetDeviceProperties --Xlinker --wrap=otThreadSetLocalLeaderWeight --Xlinker --wrap=otThreadSetNetworkIdTimeout --Xlinker --wrap=otThreadSetPreferredLeaderPartitionId --Xlinker --wrap=otThreadSetRouterDowngradeThreshold --Xlinker --wrap=otThreadSetRouterSelectionJitter --Xlinker --wrap=otThreadSetRouterUpgradeThreshold --Xlinker --wrap=otThreadSetSteeringData --Xlinker --wrap=otThreadSetThreadVersionCheckEnabled --Xlinker --wrap=otThreadSetTmfOriginFilterEnabled --Xlinker --wrap=otTrelIsEnabled --Xlinker --wrap=otTrelIsFilterEnabled --Xlinker --wrap=otTrelGetCounters --Xlinker --wrap=otTrelGetNextPeer --Xlinker --wrap=otTrelGetNumberOfPeers --Xlinker --wrap=otTrelInitPeerIterator --Xlinker --wrap=otTrelResetCounters --Xlinker --wrap=otTrelSetEnabled --Xlinker --wrap=otTrelSetFilterEnabled --Xlinker --wrap=otUdpIsOpen --Xlinker --wrap=otUdpIsPortInUse --Xlinker --wrap=otUdpAddReceiver --Xlinker --wrap=otUdpBind --Xlinker --wrap=otUdpClose --Xlinker --wrap=otUdpConnect --Xlinker --wrap=otUdpOpen --Xlinker --wrap=otUdpRemoveReceiver --Xlinker --wrap=otUdpSend --Xlinker --wrap=otUdpSendDatagram --Xlinker --wrap=otUdpNewMessage --Xlinker --wrap=otUdpGetSockets --Xlinker --wrap=otUdpForwardReceive --Xlinker --wrap=otUdpForwardSetForwarder --Xlinker --wrap=otVerhoeffChecksumCalculate --Xlinker --wrap=otVerhoeffChecksumValidate diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/main.c b/src/rcp-uart-802154-blehci_MGM210PA32JIA/main.c deleted file mode 100644 index 90610816..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/main.c +++ /dev/null @@ -1,74 +0,0 @@ -/***************************************************************************//** - * @file - * @brief main() function. - ******************************************************************************* - * # 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. - * - ******************************************************************************/ - -#include "sl_component_catalog.h" -#include "sl_system_init.h" -#include "app.h" -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) -#include "sl_power_manager.h" -#endif // SL_CATALOG_POWER_MANAGER_PRESENT -#if defined(SL_CATALOG_KERNEL_PRESENT) -#include "sl_system_kernel.h" -#else // !SL_CATALOG_KERNEL_PRESENT -#include "sl_system_process_action.h" -#endif // SL_CATALOG_KERNEL_PRESENT - -int main(void) -{ - // Initialize Silicon Labs device, system, service(s) and protocol stack(s). - // Note that if the kernel is present, processing task(s) will be created by - // this call. - sl_system_init(); - - // Initialize the application. For example, create periodic timer(s) or - // task(s) if the kernel is present. - app_init(); - -#if defined(SL_CATALOG_KERNEL_PRESENT) - // Start the kernel. Task(s) created in app_init() will start running. - sl_system_kernel_start(); -#else // SL_CATALOG_KERNEL_PRESENT - while (1) { - // Do not remove this call: Silicon Labs components process action routine - // must be called from the super loop. - sl_system_process_action(); - - // Application process. - app_process_action(); - -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) - // Let the CPU go to sleep if the system allows it. - sl_power_manager_sleep(); -#endif - } - // Clean-up when exiting the application. - app_exit(); -#endif // SL_CATALOG_KERNEL_PRESENT -} \ No newline at end of file diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slcp b/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slcp deleted file mode 100644 index 6881ae65..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slcp +++ /dev/null @@ -1,86 +0,0 @@ -# Silicon Labs Project Configuration Tools: slcp, v0, Component selection file. -project_name: rcp-uart-802154-blehci_MGM210PA32JIA -label: rcp-uart-802154-blehci_MGM210PA32JIA -description: | - This multiprotocol radio co-processor (RCP) application supports running OpenThread, Zigbee, and Bluetooth stacks simultaneously on a host processor. It uses concurrent multiprotocol (CMP) / multi-PAN functionality to run the 802.15.4 networks simultaneously on the same channel, and dynamic multiprotocol (DMP) to run the Bluetooth Link Layer simultaneously. The host stacks and the RCP communicate using the Co-Processor Communication protocol (CPC), which acts as a protocol multiplexer and serial transport layer. The host applications connect to the CPC daemon, which in turn connects to the EFR via a UART link. Refer to *AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol Co-processor* for more information on running the multiprotocol RCP with different host applications. -category: OpenThread Examples -filter: -- name: Capability - value: [Multiprotocol] -- name: Device Type - value: [RCP] -- name: Project Difficulty - value: [Advanced] -- name: Wireless Technology - value: [Bluetooth, Thread, Zigbee] -package: OpenThread -quality: production -readme: -- {path: README-MP-DMP-RCP.md} -- {path: README-MP-DMP-RCP.md} -source: -- {path: main.c} -- {path: app.c} -tag: [prebuilt_demo] -include: -- path: . - file_list: - - {path: app.h} - - {path: reset_util.h} -sdk: {id: simplicity_sdk, version: 2024.6.2} -toolchain_settings: [] -component: -- {id: MGM210PA32JIA} -- {id: bluetooth_controller} -- {id: bluetooth_feature_advertiser} -- {id: bluetooth_feature_connection} -- {id: bluetooth_feature_connection_phy_update} -- {id: bluetooth_feature_extended_advertiser} -- {id: bluetooth_feature_extended_scanner} -- {id: bluetooth_feature_legacy_scanner} -- {id: bluetooth_hci_cpc} -- {id: bootloader_interface} -- {id: clock_manager} -- instance: [vcom] - id: cpc_secondary_driver_uart_usart -- {id: freertos} -- {id: freertos_heap_3} -- {id: ot_crash_handler} -- {id: ot_ncp_cpc} -- {id: ot_stack_rcp} -- {id: rail_lib_multiprotocol} -- {id: rail_util_pti} -template_contribution: -- {name: component_catalog, priority: 0, value: bluetooth_ncp} -configuration: -- {name: SL_BT_CONFIG_USER_ADVERTISERS, value: '3'} -- {name: SL_STACK_SIZE, value: '2752'} -- {name: SL_HEAP_SIZE, value: '15700'} -- condition: [device_sdid_200] - name: SL_DEVICE_INIT_LFXO_TIMEOUT - value: cmuLfxoStartupDelay_4KCycles -- condition: [device_sdid_205] - name: SL_DEVICE_INIT_LFXO_TIMEOUT - value: cmuLfxoStartupDelay_4KCycles -- condition: [psa_crypto] - name: SL_PSA_KEY_USER_SLOT_COUNT - value: '0' -- {name: SL_BOARD_ENABLE_VCOM, value: '1'} -- {name: SL_CPC_DRV_UART_VCOM_BAUDRATE, value: '115200'} -- {name: SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE, value: usartHwFlowControlCtsAndRts} -- {name: OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE, value: '0'} -- {name: OPENTHREAD_CONFIG_LOG_OUTPUT, value: OPENTHREAD_CONFIG_LOG_OUTPUT_NONE} -- {name: OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_DIAG_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE, value: '0'} -- {name: OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE, value: '0'} -- {name: OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE, value: '0'} -- {name: SL_CPC_RX_BUFFER_MAX_COUNT, value: '15'} -- {name: SL_CPC_TX_QUEUE_ITEM_MAX_COUNT, value: '15'} -- {name: CIRCULAR_QUEUE_LEN_MAX, value: '16'} -ui_hints: - highlight: - - {path: ./README-MP-DMP-RCP.md, focus: true} - diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slps b/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slps deleted file mode 100644 index 716becd1..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/rcp-uart-802154-blehci_MGM210PA32JIA.slps +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/rcp-uart-802154-blehci_MGM210PA32JIA/reset_util.h b/src/rcp-uart-802154-blehci_MGM210PA32JIA/reset_util.h deleted file mode 100644 index 56e75da9..00000000 --- a/src/rcp-uart-802154-blehci_MGM210PA32JIA/reset_util.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2022, 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 OT_LIB_PLATFORM_RESET_UTIL_H_ -#define OT_LIB_PLATFORM_RESET_UTIL_H_ - -#if defined(OPENTHREAD_ENABLE_COVERAGE) && OPENTHREAD_ENABLE_COVERAGE && defined(__GNUC__) -#if __GNUC__ >= 11 || (defined(__clang__) && (defined(__APPLE__) && (__clang_major__ >= 13)) || \ - (!defined(__APPLE__) && (__clang_major__ >= 12))) -void __gcov_dump(void); -void __gcov_reset(void); - -static void flush_gcov(void) -{ - __gcov_dump(); - __gcov_reset(); -} -#else -void __gcov_flush(void); -#define flush_gcov __gcov_flush -#endif /* __GNUC__ >= 11 || (defined(__clang__) && (defined(__APPLE__) && (__clang_major__ >= 13)) || \ - (!defined(__APPLE__) && (__clang_major__ >= 12))) */ -#else -#define flush_gcov() -#endif // defined(OPENTHREAD_ENABLE_COVERAGE) && OPENTHREAD_ENABLE_COVERAGE && defined(__GNUC__) - -#if defined(__linux__) || defined(__APPLE__) -#include -#include -jmp_buf gResetJump; - -#define OT_SETUP_RESET_JUMP(kArgv) \ - if (setjmp(gResetJump)) \ - { \ - alarm(0); \ - flush_gcov(); \ - execvp(kArgv[0], kArgv); \ - } - -#else -#define OT_SETUP_RESET_JUMP(ARGV) -#endif // defined(__linux__) || defined(__APPLE__) - -#endif // OT_LIB_PLATFORM_RESET_UTIL_H_ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.c b/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.c deleted file mode 100644 index ae65dd71..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/app.c +++ /dev/null @@ -1,141 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Core application logic. - ******************************************************************************* - * # 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. - * - ******************************************************************************/ - -#include -#include -#include - -#include -#include -#include - -#include "openthread-system.h" -#include "app.h" - -#include "reset_util.h" - -#include "sl_component_catalog.h" -#include "sl_memory_manager.h" - -#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE -#if OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE == 0 -#error "Support for multiple OpenThread static instance is disabled." -#endif -otInstance *sInstances[OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM] = {NULL}; -#endif // OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - -/** - * This function initializes the NCP app. - * - * @param[in] aInstance The OpenThread instance structure. - * - */ -#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE -extern void otAppNcpInitMulti(otInstance **aInstances, uint8_t aCount); -#else -extern void otAppNcpInit(otInstance *aInstance); -#endif - -#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE -static uint8_t *sOtInstanceBuffer = NULL; -#endif -static otInstance* sInstance = NULL; - -otInstance *otGetInstance(void) -{ - return sInstance; -} - -void sl_ot_create_instance(void) -{ -#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - for (int i = 0; i < OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM; i++) - { - sInstances[i] = otInstanceInitMultiple(i); - - assert(sInstances[i]); - } - sInstance = sInstances[0]; -#elif OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - size_t otInstanceBufferLength = 0; - - // Call to query the buffer size - (void)otInstanceInit(NULL, &otInstanceBufferLength); - - // Call to allocate the buffer - sOtInstanceBuffer = (uint8_t *)sl_malloc(otInstanceBufferLength); - assert(sOtInstanceBuffer); - - // Initialize OpenThread with the buffer - sInstance = otInstanceInit(sOtInstanceBuffer, &otInstanceBufferLength); -#else - sInstance = otInstanceInitSingle(); -#endif - assert(sInstance); -} - -void sl_ot_ncp_init(void) -{ -#if OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - otAppNcpInitMulti(sInstances, OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM); -#else - otAppNcpInit(sInstance); -#endif -} - -/**************************************************************************//** - * Application Init. - *****************************************************************************/ - -void app_init(void) -{ - OT_SETUP_RESET_JUMP(argv); -} - -/**************************************************************************//** - * Application Process Action. - *****************************************************************************/ -void app_process_action(void) -{ - otTaskletsProcess(sInstance); - otSysProcessDrivers(sInstance); -} - -/**************************************************************************//** - * Application Exit. - *****************************************************************************/ -void app_exit(void) -{ - otInstanceFinalize(sInstance); -#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE && !OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE - sl_free(sOtInstanceBuffer); -#endif - // TO DO : pseudo reset? -} diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/FreeRTOSConfig.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/FreeRTOSConfig.h deleted file mode 100644 index 4659fa6d..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/FreeRTOSConfig.h +++ /dev/null @@ -1,273 +0,0 @@ -/* -------------------------------------------------------------------------- - * Copyright (c) 2013-2019 Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed under the Apache License, Version 2.0 (the License); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * -------------------------------------------------------------------------- - * - * $Revision: V10.2.0 - * - * Project: CMSIS-FreeRTOS - * Title: FreeRTOS configuration definitions - * - * --------------------------------------------------------------------------*/ - -#ifndef FREERTOS_CONFIG_H -#define FREERTOS_CONFIG_H - -/*----------------------------------------------------------- -* Application specific definitions. -* -* These definitions should be adjusted for your particular hardware and -* application requirements. -* -* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE -* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. -* -* See http://www.freertos.org/a00110.html -*----------------------------------------------------------*/ - -#if !defined(__IAR_SYSTEMS_ASM__) -#if (defined(__ARMCC_VERSION) || defined(__GNUC__) || defined(__ICCARM__)) -#include - -#include "RTE_Components.h" -#include CMSIS_device_header -#endif - -#include "em_assert.h" -#include "em_device.h" - -#if defined(SL_COMPONENT_CATALOG_PRESENT) -#include "sl_component_catalog.h" -#endif -#endif - -#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) -#include "SEGGER_SYSVIEW_FreeRTOS.h" -#endif - -#if defined(SL_CATALOG_CODE_CLASSIFICATION_VALIDATOR_PRESENT) -#include "sli_code_classification_validator.h" -#define traceTASK_SWITCHED_IN() sli_ccv_task_switched_in() -#endif - -//-------- <<< Use Configuration Wizard in Context Menu >>> -------------------- - -// Minimal stack size [words] <0-65535> -// Stack for idle task and default task stack in words. -// Default: 160 -#define configMINIMAL_STACK_SIZE 160 - -// Total heap size [bytes] <0-0xFFFFFFFF> -// Heap memory size in bytes. -// Default: 8192 -#define configTOTAL_HEAP_SIZE 8192 - -// Kernel tick frequency [Hz] <0-0xFFFFFFFF> -// Kernel tick rate in Hz. -// Default: 1000 -#define configTICK_RATE_HZ 1000 - -// Timer task stack depth [words] <0-65535> -// Stack for timer task in words. -// Default: 160 -#define configTIMER_TASK_STACK_DEPTH 160 - -// Timer task priority <0-56> -// Timer task priority. -// Default: 40 (High) -#define configTIMER_TASK_PRIORITY 40 - -// Timer queue length <0-1024> -// Timer command queue length. -// Default: 10 -#define configTIMER_QUEUE_LENGTH 10 - -// Preemption interrupt priority -// Maximum priority of interrupts that are safe to call FreeRTOS API. -// Default: 48 -#define configMAX_SYSCALL_INTERRUPT_PRIORITY 48 - -// Use time slicing -// Enable setting to use timeslicing. -// Default: 1 -#define configUSE_TIME_SLICING 1 - -// Idle should yield -// Control Yield behaviour of the idle task. -// Default: 1 -#define configIDLE_SHOULD_YIELD 1 - -// Check for stack overflow -// <0=>Disable <1=>Method one <2=>Method two -// Enable or disable stack overflow checking. -// Callback function vApplicationStackOverflowHook implementation is required when stack checking is enabled. -// Default: 2 -#define configCHECK_FOR_STACK_OVERFLOW 2 - -// Use idle hook -// Enable callback function call on each idle task iteration. -// Callback function vApplicationIdleHook implementation is required when idle hook is enabled. -// Default: 0 -#define configUSE_IDLE_HOOK 0 - -// Use tick hook -// Enable callback function call during each tick interrupt. -// Callback function vApplicationTickHook implementation is required when tick hook is enabled. -// Default: 0 -#define configUSE_TICK_HOOK 0 - -// Use deamon task startup hook -// Enable callback function call when timer service starts. -// Callback function vApplicationDaemonTaskStartupHook implementation is required when deamon task startup hook is enabled. -// Default: 0 -#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 - -// Use malloc failed hook -// Enable callback function call when out of dynamic memory. -// Callback function vApplicationMallocFailedHook implementation is required when malloc failed hook is enabled. -// Default: 0 -#define configUSE_MALLOC_FAILED_HOOK 0 - -// Queue registry size -// Define maximum number of queue objects registered for debug purposes. -// The queue registry is used by kernel aware debuggers to locate queue and semaphore structures and display associated text names. -// Default: 10 -#define configQUEUE_REGISTRY_SIZE 10 - -// Port Specific Features -// Enable and configure port specific features. -// Check FreeRTOS documentation for definitions that apply for the used port. - -// Use Floating Point Unit -// Using Floating Point Unit (FPU) affects context handling. -// Enable FPU when application uses floating point operations. -// Default: 1 -#define configENABLE_FPU 1 - -// Minimal secure stack size [words] <0-65535> -// Stack for idle task Secure side context in words. -// This setting is only relevant when TrustZone extension is enabled. -// Default: 128 -#define configMINIMAL_SECURE_STACK_SIZE 128 -// - -// Thread Local Storage Settings -// Thread local storage pointers -// Thread local storage (or TLS) allows the application writer to store -// values inside a task's control block, making the value specific to -// (local to) the task itself. -// Default: 0 -#define configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS 0 -// - -// Use Threadsafe Errno -// Enable Threadsafe Errno support. -// Default: 0 -#define configUSE_POSIX_ERRNO 0 - -//------------- <<< end of configuration section >>> --------------------------- - -/* MPU feature is not supported in Silicon Labs port */ -#define configENABLE_MPU 0 - -/* Defines needed by FreeRTOS to implement CMSIS RTOS2 API. Do not change! */ -#define configCPU_CLOCK_HZ (SystemCoreClock) -#define configSUPPORT_STATIC_ALLOCATION 1 -#define configSUPPORT_DYNAMIC_ALLOCATION 1 -#define configUSE_PREEMPTION 1 -#define configUSE_TIMERS 1 -#define configUSE_MUTEXES 1 -#define configUSE_RECURSIVE_MUTEXES 1 -#define configUSE_COUNTING_SEMAPHORES 1 -#define configUSE_TASK_NOTIFICATIONS 1 -#define configUSE_TRACE_FACILITY 1 -#define configUSE_16_BIT_TICKS 0 -#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0 -#define configMAX_PRIORITIES 56 -#define configKERNEL_INTERRUPT_PRIORITY 255 - -/* Defines that include FreeRTOS functions which implement CMSIS RTOS2 API. Do not change! */ -#define INCLUDE_xEventGroupSetBitsFromISR 1 -#define INCLUDE_xSemaphoreGetMutexHolder 1 -#define INCLUDE_vTaskDelay 1 -#define INCLUDE_vTaskDelayUntil 1 -#define INCLUDE_vTaskDelete 1 -#define INCLUDE_xTaskGetCurrentTaskHandle 1 -#define INCLUDE_xTaskGetSchedulerState 1 -#define INCLUDE_uxTaskGetStackHighWaterMark 1 -#define INCLUDE_uxTaskPriorityGet 1 -#define INCLUDE_vTaskPrioritySet 1 -#define INCLUDE_eTaskGetState 1 -#define INCLUDE_vTaskSuspend 1 -#define INCLUDE_xTimerPendFunctionCall 1 - -/* Map the FreeRTOS port interrupt handlers to their CMSIS standard names. */ -#define xPortPendSVHandler PendSV_Handler -#define vPortSVCHandler SVC_Handler - -/* Ensure Cortex-M port compatibility. */ -#define SysTick_Handler xPortSysTickHandler - -/* Implement FreeRTOS configASSERT as emlib assert. */ -#define configASSERT(x) EFM_ASSERT(x) - -/* Energy saving modes. */ -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) -#define configUSE_TICKLESS_IDLE 1 -#else -#define configUSE_TICKLESS_IDLE 0 -#endif - -/* Definition used by Keil to replace default system clock source. */ -#define configOVERRIDE_DEFAULT_TICK_CONFIGURATION 1 - -/* Maximum size of task name. */ -#define configMAX_TASK_NAME_LEN 10 - -/* Use queue sets? */ -#define configUSE_QUEUE_SETS 0 - -/* Generate run-time statistics? */ -#define configGENERATE_RUN_TIME_STATS 0 - -/* Co-routine related definitions. */ -#define configUSE_CO_ROUTINES 0 -#define configMAX_CO_ROUTINE_PRIORITIES 1 - -/* Optional resume from ISR functionality. */ -#define INCLUDE_xResumeFromISR 1 - -/* FreeRTOS Secure Side Only and TrustZone Security Extension */ -#define configRUN_FREERTOS_SECURE_ONLY 1 -#define configENABLE_TRUSTZONE 0 - -/* Thread local storage pointers used by the SDK */ -#ifndef configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS - #define configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS 0 -#endif - -/* PRINT_STRING implementation. iostream_retarget_stdio or third party - printf should be added if this is used */ -#define configPRINT_STRING(X) printf(X) - -#define configNUM_THREAD_LOCAL_STORAGE_POINTERS (configNUM_USER_THREAD_LOCAL_STORAGE_POINTERS \ - + configNUM_SDK_THREAD_LOCAL_STORAGE_POINTERS) - -//#if defined(SL_CATALOG_SYSTEMVIEW_TRACE_PRESENT) -//#include "SEGGER_SYSVIEW_FreeRTOS.h" -//#endif -#endif /* FREERTOS_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/app_properties_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/app_properties_config.h deleted file mode 100644 index 6a6b9766..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/app_properties_config.h +++ /dev/null @@ -1,65 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Application Properties Header File - ******************************************************************************* - * # License - * Copyright 2021 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 APP_PROPERTIES_CONFIG_H -#define APP_PROPERTIES_CONFIG_H - -#include "sl_application_type.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// App Properties settings - -// Type of signature this application is signed with -// Default: APPLICATION_SIGNATURE_NONE(0) -#define SL_APPLICATION_SIGNATURE 0 - -// Location of the signature -// Default: 0xFFFFFFFF -#define SL_APPLICATION_SIGNATURE_LOCATION 0xFFFFFFFF - -// Bitfield representing type of application -#define SL_APPLICATION_TYPE APPLICATION_TYPE - -// Version number for this application -// <0-4294967295:1> -// Default: 1 [0-4294967295] -#define SL_APPLICATION_VERSION 1 - -// Capabilities of this application -// Default: 0 -#define SL_APPLICATION_CAPABILITIES 0 - -//Product ID of the device for which the application is built -#define SL_APPLICATION_PRODUCT_ID { 0 } - -// - -#endif // APP_PROPERTIES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg.h deleted file mode 100644 index b1ab0078..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_H -#define BTL_INTERFACE_CFG_H - -#if !defined(BOOTLOADER_APPLOADER) - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_1) -#include "btl_interface_cfg_s2c1.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_2) -#include "btl_interface_cfg_s2c2.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_3) -#include "btl_interface_cfg_s2c3.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_4) -#include "btl_interface_cfg_s2c4.h" -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_5) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_6) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_8) -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1 -#endif - -#endif // !BOOTLOADER_APPLOADER - -#endif // BTL_INTERFACE_CFG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h deleted file mode 100644 index dc8bec20..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/btl_interface_cfg_s2c4.h +++ /dev/null @@ -1,321 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Configuration header of Bootloader Interface - ******************************************************************************* - * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com - ******************************************************************************* - * - * The licensor of this software is Silicon Laboratories Inc. Your use of this - * software is governed by the terms of Silicon Labs Master Software License - * Agreement (MSLA) available at - * www.silabs.com/about-us/legal/master-software-license-agreement. This - * software is distributed to you in Source Code format and is governed by the - * sections of the MSLA applicable to Source Code. - * - ******************************************************************************/ -#ifndef BTL_INTERFACE_CFG_S2C4_H -#define BTL_INTERFACE_CFG_S2C4_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Bootloader Interface Trust Zone Security State Configuration - -// Disable multi tiered fallback logic -// The fault handling logic as well as the USART auto-detection logic will be disabled. -// The re-configuration of SMU will be handled by querying the running bootloader -// for the peripheral list. Querying the peripheral list is supported from the bootloader -// version 2.0.0. Check for the BOOTLOADER_CAPABILITY_PERIPHERAL_LIST capability to -// see if the running bootloader supports querying the peripheral list. -#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 0 - -// Disable peripheral access fault handling -// The fault handling triggered by an erroneous access of peripherals will be disabled. -// -// This should be disabled iff all the peripherals that are in use by the bootloader -// have been properly configured by the "Manually override security state of peripherals" option. -#define BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING 0 - -// Manually override the security state of peripherals in use by the bootloader -// Default: 0. -// Manually override the security state of peripherals. Choose the peripherals touched -// by the customized code to have a valid secure access state before interacting with the bootloader -// In practice, this means that the chosen peripherals will be available at the secure address, -// which is accessible by the bootloader. Once the application is entered back the secure access state -// is changed back to the original state. -// -// The USART auto-detection logic that detects which, if any, USART is in use by the bootloader -// will be disabled. Make sure to choose the correct USART used by the bootloader. -#define BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE 0 -// EMU -// Update secure access state of EMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_EMU 0 - -// CMU -// Update secure access state of CMU before calling into bootloader -#define BOOTLOADER_PPUSATD0_CMU 0 - -// HFRCO0 -// Update secure access state of HFRCO0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_HFRCO0 0 - -// FSRCO -// Update secure access state of FSRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_FSRCO 0 - -// DPLL0 -// Update secure access state of DPLL0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_DPLL0 0 - -// LFXO -// Update secure access state of LFXO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFXO 0 - -// LFRCO -// Update secure access state of LFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_LFRCO 0 - -// ULFRCO -// Update secure access state of ULFRCO before calling into bootloader -#define BOOTLOADER_PPUSATD0_ULFRCO 0 - -// MSC -// Update secure access state of MSC before calling into bootloader -#define BOOTLOADER_PPUSATD0_MSC 0 - -// ICACHE0 -// Update secure access state of ICACHE0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_ICACHE0 0 - -// PRS -// Update secure access state of PRS before calling into bootloader -#define BOOTLOADER_PPUSATD0_PRS 0 - -// GPIO -// Update secure access state of GPIO before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPIO 0 - -// LDMA -// Update secure access state of LDMA before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMA 0 - -// LDMAXBAR -// Update secure access state of LDMAXBAR before calling into bootloader -#define BOOTLOADER_PPUSATD0_LDMAXBAR 0 - -// TIMER0 -// Update secure access state of TIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER0 0 - -// TIMER1 -// Update secure access state of TIMER1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER1 0 - -// TIMER2 -// Update secure access state of TIMER2 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER2 0 - -// TIMER3 -// Update secure access state of TIMER3 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER3 0 - -// TIMER4 -// Update secure access state of TIMER4 before calling into bootloader -#define BOOTLOADER_PPUSATD0_TIMER4 0 - -// USART0 -// Update secure access state of USART0 before calling into bootloader -#define BOOTLOADER_PPUSATD0_USART0 0 - -// BURTC -// Update secure access state of BURTC before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURTC 0 - -// I2C1 -// Update secure access state of I2C1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_I2C1 0 - -// CHIPTESTCTRL -// Update secure access state of CHIPTESTCTRL before calling into bootloader -#define BOOTLOADER_PPUSATD0_CHIPTESTCTRL 0 - -// SYSCFGCFGNS -// Update secure access state of SYSCFGCFGNS before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSCFGCFGNS 0 - -// SYSCFG -// Update secure access state of SYSCFG before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSCFG 0 - -// BURAM -// Update secure access state of BURAM before calling into bootloader -#define BOOTLOADER_PPUSATD0_BURAM 0 - -// GPCRC -// Update secure access state of GPCRC before calling into bootloader -#define BOOTLOADER_PPUSATD0_GPCRC 0 - -// DCDC -// Update secure access state of DCDC before calling into bootloader -#define BOOTLOADER_PPUSATD0_DCDC 0 - -// HOSTMAILBOX -// Update secure access state of HOSTMAILBOX before calling into bootloader -#define BOOTLOADER_PPUSATD0_HOSTMAILBOX 0 - -// EUSART1 -// Update secure access state of EUSART1 before calling into bootloader -#define BOOTLOADER_PPUSATD0_EUSART1 0 - -// SYSRTC -// Update secure access state of SYSRTC before calling into bootloader -#define BOOTLOADER_PPUSATD0_SYSRTC 0 - -// KEYSCAN -// Update secure access state of KEYSCAN before calling into bootloader -#define BOOTLOADER_PPUSATD1_KEYSCAN 0 - -// DMEM -// Update secure access state of DMEM before calling into bootloader -#define BOOTLOADER_PPUSATD1_DMEM 0 - -// RADIOAES -// Update secure access state of RADIOAES before calling into bootloader -#define BOOTLOADER_PPUSATD1_RADIOAES 0 - -// SMU -// Update secure access state of SMU before calling into bootloader -#define BOOTLOADER_PPUSATD1_SMU 0 - -// SMUCFGNS -// Update secure access state of SMUCFGNS before calling into bootloader -#define BOOTLOADER_PPUSATD1_SMUCFGNS 0 - -// LETIMER0 -// Update secure access state of LETIMER0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_LETIMER0 0 - -// IADC0 -// Update secure access state of IADC0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_IADC0 0 - -// ACMP0 -// Update secure access state of ACMP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP0 0 - -// ACMP1 -// Update secure access state of ACMP1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_ACMP1 0 - -// AMUXCP0 -// Update secure access state of AMUXCP0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_AMUXCP0 0 - -// VDAC0 -// Update secure access state of VDAC0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_VDAC0 0 - -// VDAC1 -// Update secure access state of VDAC1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_VDAC1 0 - -// PCNT -// Update secure access state of PCNT before calling into bootloader -#define BOOTLOADER_PPUSATD1_PCNT 0 - -// HFRCO1 -// Update secure access state of HFRCO1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_HFRCO1 0 - -// HFXO0 -// Update secure access state of HFXO0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_HFXO0 0 - -// I2C0 -// Update secure access state of I2C0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_I2C0 0 - -// WDOG0 -// Update secure access state of WDOG0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG0 0 - -// WDOG1 -// Update secure access state of WDOG1 before calling into bootloader -#define BOOTLOADER_PPUSATD1_WDOG1 0 - -// EUSART0 -// Update secure access state of EUSART0 before calling into bootloader -#define BOOTLOADER_PPUSATD1_EUSART0 0 - -// SEMAILBOX -// Update secure access state of SEMAILBOX before calling into bootloader -#define BOOTLOADER_PPUSATD1_SEMAILBOX 0 - -// MVP -// Update secure access state of MVP before calling into bootloader -#define BOOTLOADER_PPUSATD1_MVP 0 - -// AHBRADIO -// Update secure access state of AHBRADIO before calling into bootloader -#define BOOTLOADER_PPUSATD1_AHBRADIO 0 -// - -// -// <<< 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_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_TIMER4 << _SMU_PPUSATD0_TIMER4_SHIFT) \ - | (BOOTLOADER_PPUSATD0_USART0 << _SMU_PPUSATD0_USART0_SHIFT) \ - | (BOOTLOADER_PPUSATD0_BURTC << _SMU_PPUSATD0_BURTC_SHIFT) \ - | (BOOTLOADER_PPUSATD0_I2C1 << _SMU_PPUSATD0_I2C1_SHIFT) \ - | (BOOTLOADER_PPUSATD0_CHIPTESTCTRL << _SMU_PPUSATD0_CHIPTESTCTRL_SHIFT) \ - | (BOOTLOADER_PPUSATD0_SYSCFGCFGNS << _SMU_PPUSATD0_SYSCFGCFGNS_SHIFT) \ - | (BOOTLOADER_PPUSATD0_SYSCFG << _SMU_PPUSATD0_SYSCFG_SHIFT) \ - | (BOOTLOADER_PPUSATD0_BURAM << _SMU_PPUSATD0_BURAM_SHIFT) \ - | (BOOTLOADER_PPUSATD0_GPCRC << _SMU_PPUSATD0_GPCRC_SHIFT) \ - | (BOOTLOADER_PPUSATD0_DCDC << _SMU_PPUSATD0_DCDC_SHIFT) \ - | (BOOTLOADER_PPUSATD0_HOSTMAILBOX << _SMU_PPUSATD0_HOSTMAILBOX_SHIFT) \ - | (BOOTLOADER_PPUSATD0_EUSART1 << _SMU_PPUSATD0_EUSART1_SHIFT) \ - | (BOOTLOADER_PPUSATD0_SYSRTC << _SMU_PPUSATD0_SYSRTC_SHIFT)) -#define BOOTLOADER_PPUSATD1_MASK ((BOOTLOADER_PPUSATD1_KEYSCAN << _SMU_PPUSATD1_KEYSCAN_SHIFT) \ - | (BOOTLOADER_PPUSATD1_DMEM << _SMU_PPUSATD1_DMEM_SHIFT) \ - | (BOOTLOADER_PPUSATD1_RADIOAES << _SMU_PPUSATD1_RADIOAES_SHIFT) \ - | (BOOTLOADER_PPUSATD1_SMU << _SMU_PPUSATD1_SMU_SHIFT) \ - | (BOOTLOADER_PPUSATD1_SMUCFGNS << _SMU_PPUSATD1_SMUCFGNS_SHIFT) \ - | (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_AMUXCP0 << _SMU_PPUSATD1_AMUXCP0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_VDAC0 << _SMU_PPUSATD1_VDAC0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_VDAC1 << _SMU_PPUSATD1_VDAC1_SHIFT) \ - | (BOOTLOADER_PPUSATD1_PCNT << _SMU_PPUSATD1_PCNT_SHIFT) \ - | (BOOTLOADER_PPUSATD1_HFRCO1 << _SMU_PPUSATD1_HFRCO1_SHIFT) \ - | (BOOTLOADER_PPUSATD1_HFXO0 << _SMU_PPUSATD1_HFXO0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_I2C0 << _SMU_PPUSATD1_I2C0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_WDOG0 << _SMU_PPUSATD1_WDOG0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_WDOG1 << _SMU_PPUSATD1_WDOG1_SHIFT) \ - | (BOOTLOADER_PPUSATD1_EUSART0 << _SMU_PPUSATD1_EUSART0_SHIFT) \ - | (BOOTLOADER_PPUSATD1_SEMAILBOX << _SMU_PPUSATD1_SEMAILBOX_SHIFT) \ - | (BOOTLOADER_PPUSATD1_MVP << _SMU_PPUSATD1_MVP_SHIFT) \ - | (BOOTLOADER_PPUSATD1_AHBRADIO << _SMU_PPUSATD1_AHBRADIO_SHIFT)) -#endif // BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE - -#endif // BTL_INTERFACE_CFG_S2C4_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/circular_queue_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/circular_queue_config.h deleted file mode 100644 index 81a7173d..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/circular_queue_config.h +++ /dev/null @@ -1,23 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM240PA32VNN/config/dmadrv_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/dmadrv_config.h deleted file mode 100644 index ed105e4f..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/dmadrv_config.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef DMADRV_CONFIG_H -#define DMADRV_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMA interrupt priority <0-15> -// Priority of the DMA interrupt. Smaller number equals higher priority. -// Default: 8 -#define EMDRV_DMADRV_DMA_IRQ_PRIORITY 8 - -// Number of available channels <1-8> -// Number of DMA channels supported by the driver. A lower channel count -// will reduce RAM memory footprint. The default is to support all channels -// on the device. -// Default: 8 -#define EMDRV_DMADRV_DMA_CH_COUNT 8 - -// Number of fixed priority channels -// This will configure channels [0, CH_PRIORITY - 1] as fixed priority, -// and channels [CH_PRIORITY, CH_COUNT] as round-robin. -// Default: 0 -#define EMDRV_DMADRV_DMA_CH_PRIORITY 0 - -// <<< end of configuration section >>> - -#endif // DMADRV_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/emlib_core_debug_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/emlib_core_debug_config.h deleted file mode 100644 index 07ee9b9e..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/emlib_core_debug_config.h +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************//** - * @file - * @brief emlib_core Configuration - ******************************************************************************* - * # License - * Copyright 2019 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 EM_CORE_DEBUG_CONFIG_H -#define EM_CORE_DEBUG_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Core Configuration - -// Enables measuring of interrupt disable time for debugging purposes. -// Default: 0 -#define SL_EMLIB_CORE_ENABLE_INTERRUPT_DISABLED_TIMING 0 - -// - -// <<< end of configuration section >>> -#endif // EM_CORE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/nvm3_default_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/nvm3_default_config.h deleted file mode 100644 index 48eb5896..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/nvm3_default_config.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef NVM3_DEFAULT_CONFIG_H -#define NVM3_DEFAULT_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// NVM3 Default Instance Configuration - -#ifndef NVM3_DEFAULT_CACHE_SIZE -// NVM3 Default Instance Cache Size -// Number of NVM3 objects to cache. To reduce access times this number -// should be equal to or higher than the number of NVM3 objects in the -// default NVM3 instance. -// Default: 200 -#define NVM3_DEFAULT_CACHE_SIZE 200 -#endif - -#ifndef NVM3_DEFAULT_MAX_OBJECT_SIZE -// NVM3 Default Instance Max Object Size -// Max NVM3 object size that can be stored. -// Default: 254 -#define NVM3_DEFAULT_MAX_OBJECT_SIZE 254 -#endif - -#ifndef NVM3_DEFAULT_REPACK_HEADROOM -// NVM3 Default Instance User Repack Headroom -// Headroom determining how many bytes below the forced repack limit the user -// repack limit should be placed. The default is 0, which means the user and -// forced repack limits are equal. -// Default: 0 -#define NVM3_DEFAULT_REPACK_HEADROOM 0 -#endif - -#ifndef NVM3_DEFAULT_NVM_SIZE -// NVM3 Default Instance Size -// Size of the NVM3 storage region in flash. This size should be aligned with -// the flash page size of the device. -// Default: 40960 -#define NVM3_DEFAULT_NVM_SIZE 40960 -#endif - -// - -// <<< end of configuration section >>> - -#endif // NVM3_DEFAULT_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/pin_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/pin_config.h deleted file mode 100644 index f3f32908..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/pin_config.h +++ /dev/null @@ -1,186 +0,0 @@ -#ifndef PIN_CONFIG_H -#define PIN_CONFIG_H - -// $[CMU] -// [CMU]$ - -// $[LFXO] -// [LFXO]$ - -// $[PRS.ASYNCH0] -// [PRS.ASYNCH0]$ - -// $[PRS.ASYNCH1] -// [PRS.ASYNCH1]$ - -// $[PRS.ASYNCH2] -// [PRS.ASYNCH2]$ - -// $[PRS.ASYNCH3] -// [PRS.ASYNCH3]$ - -// $[PRS.ASYNCH4] -// [PRS.ASYNCH4]$ - -// $[PRS.ASYNCH5] -// [PRS.ASYNCH5]$ - -// $[PRS.ASYNCH6] -// [PRS.ASYNCH6]$ - -// $[PRS.ASYNCH7] -// [PRS.ASYNCH7]$ - -// $[PRS.ASYNCH8] -// [PRS.ASYNCH8]$ - -// $[PRS.ASYNCH9] -// [PRS.ASYNCH9]$ - -// $[PRS.ASYNCH10] -// [PRS.ASYNCH10]$ - -// $[PRS.ASYNCH11] -// [PRS.ASYNCH11]$ - -// $[PRS.ASYNCH12] -// [PRS.ASYNCH12]$ - -// $[PRS.ASYNCH13] -// [PRS.ASYNCH13]$ - -// $[PRS.ASYNCH14] -// [PRS.ASYNCH14]$ - -// $[PRS.ASYNCH15] -// [PRS.ASYNCH15]$ - -// $[PRS.SYNCH0] -// [PRS.SYNCH0]$ - -// $[PRS.SYNCH1] -// [PRS.SYNCH1]$ - -// $[PRS.SYNCH2] -// [PRS.SYNCH2]$ - -// $[PRS.SYNCH3] -// [PRS.SYNCH3]$ - -// $[GPIO] -// GPIO SWV on PA03 -#ifndef GPIO_SWV_PORT -#define GPIO_SWV_PORT gpioPortA -#endif -#ifndef GPIO_SWV_PIN -#define GPIO_SWV_PIN 3 -#endif -// [GPIO]$ - -// $[TIMER0] -// [TIMER0]$ - -// $[TIMER1] -// [TIMER1]$ - -// $[TIMER2] -// [TIMER2]$ - -// $[TIMER3] -// [TIMER3]$ - -// $[TIMER4] -// [TIMER4]$ - -// $[USART0] -// USART0 CTS on PA07 -#ifndef USART0_CTS_PORT -#define USART0_CTS_PORT gpioPortA -#endif -#ifndef USART0_CTS_PIN -#define USART0_CTS_PIN 7 -#endif - -// USART0 RTS on PA08 -#ifndef USART0_RTS_PORT -#define USART0_RTS_PORT gpioPortA -#endif -#ifndef USART0_RTS_PIN -#define USART0_RTS_PIN 8 -#endif - -// USART0 RX on PA05 -#ifndef USART0_RX_PORT -#define USART0_RX_PORT gpioPortA -#endif -#ifndef USART0_RX_PIN -#define USART0_RX_PIN 5 -#endif - -// USART0 TX on PA06 -#ifndef USART0_TX_PORT -#define USART0_TX_PORT gpioPortA -#endif -#ifndef USART0_TX_PIN -#define USART0_TX_PIN 6 -#endif - -// [USART0]$ - -// $[I2C1] -// [I2C1]$ - -// $[EUSART1] -// [EUSART1]$ - -// $[KEYSCAN] -// [KEYSCAN]$ - -// $[LETIMER0] -// [LETIMER0]$ - -// $[IADC0] -// [IADC0]$ - -// $[ACMP0] -// [ACMP0]$ - -// $[ACMP1] -// [ACMP1]$ - -// $[VDAC0] -// [VDAC0]$ - -// $[VDAC1] -// [VDAC1]$ - -// $[PCNT0] -// [PCNT0]$ - -// $[HFXO0] -// [HFXO0]$ - -// $[I2C0] -// [I2C0]$ - -// $[EUSART0] -// [EUSART0]$ - -// $[PTI] -// [PTI]$ - -// $[MODEM] -// [MODEM]$ - -// $[CUSTOM_PIN_NAME] -#ifndef _PORT -#define _PORT gpioPortA -#endif -#ifndef _PIN -#define _PIN 0 -#endif - -// [CUSTOM_PIN_NAME]$ - -#endif // PIN_CONFIG_H - diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/psa_crypto_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/psa_crypto_config.h deleted file mode 100644 index 05af353c..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/psa_crypto_config.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef PSA_CRYPTO_CONFIG_H -#define PSA_CRYPTO_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Key management configuration - -// PSA User Maximum Open Keys Count <0-128> -// Maximum amount of keys that the user application will have open -// simultaneously. In context of PSA Crypto, an open key means any key -// either stored in RAM (lifetime set to PSA_KEY_LIFETIME_VOLATILE), or -// used as part of a cryptographic operation. -// When using a key for a multi-part (setup/update/finish) operation, a key -// is considered to be open from the moment the operation is successfully -// setup, until it finishes or aborts. -// When an application tries to open more keys than this value accounts for, -// the PSA API may return PSA_ERROR_INSUFFICIENT_MEMORY. Keep in mind that -// other software included in the application (e.g. wireless protocol stacks) -// also can have a need to have open keys in PSA Crypto. This could lead to -// a race condition when the application key slot count is set too low for -// the actual usage of the application, as a software stack may not fail -// gracefully in case an application opens more than its declared amount of -// keys, thereby precluding the stack from functioning. -// Default: 4 -#define SL_PSA_KEY_USER_SLOT_COUNT 0 - -// PSA Maximum User Persistent Keys Count <0-1024> -// Maximum amount of keys (or other files) that can be stored persistently -// by the application through the PSA interface, when persistent storage -// support for PSA Crypto is included in the project. -// Due to caching logic, this setting does have an impact on static RAM usage. -// Note that this number is added to the potential requirements from other -// software components in the project, such that the total amount of keys -// which can be stored through the ITS backend can be higher than what is -// configured here. -// -// WARNING: When changing this setting on an application that is already -// deployed, and thus will get the change through an application upgrade, -// care should be taken to ensure that the setting is only ever increased, -// and never decreased. Decreasing this setting might cause previously -// stored keys/files to become inaccessible. -// -// It is not possible to change this setting when using V3 ITS Driver. -// The file-storage indexing is dependent on the maximum number of files, -// and if SL_PSA_ITS_USER_MAX_FILES is changed, ITS should be cleared and -// all files need to be stored again. -// Default: 128 -#define SL_PSA_ITS_USER_MAX_FILES (128) - -// Enable V1 Format Support For ITS Files <0-1> -// Devices that used PSA ITS together with gecko_sdk_3.1.x or earlier -// might have keys (or other files) stored in V1 format. -// If no v1 files are used, its support can be disabled for space -// optimization. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V1_DRIVER 0 - -// Enable V2 ITS Driver Support <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. Enabling this -// config option adds upgrade code which converts V2 (and V1 if -// supported) format ITS keys/files to the latest V3 format. Update is -// fully automatic, needs to be run once and require extra flash space of -// approximately the size of the largest key. -// V1 ITS driver support can be disabled if the device has never used ITS -// driver before in GSDK 4.1.x and earlier, or the keys has been already -// migrated. -// Default: 0 -#define SL_PSA_ITS_SUPPORT_V2_DRIVER 0 - -// Enable support for V3 ITS Driver <0-1> -// Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys -// (or other files) stored using different address range. In rare case -// that those devices have full nvm3 and not enough space for the -// upgrade, (that requires an extra space to store largest key in memory -// twice), this config option can disable v3 driver and use v2 one. -// To upgrade the device, make space for the upgrade, and enable v3 driver again. -// -// WARNING: When using V3 driver, it is not possible to increase or decrease -// the value of SL_PSA_ITS_USER_MAX_FILES. If the change of -// SL_PSA_ITS_USER_MAX_FILES is required, ITS should be cleared and -// all files need to be stored again. -// Default: 1 -#define SL_PSA_ITS_SUPPORT_V3_DRIVER 1 - -// Built-in AES Key Mode of Operation -// CTR Mode -// CFB Mode -// OFB Mode -// ECB Mode -// CBC Mode (no padding) -// CBC Mode (PKCS#7 padding) -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// Default: PSA_ALG_CTR -#define SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG (PSA_ALG_CTR) - -#ifndef SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG -// Built-in PUF Key Algorithm -// PBKDF2 (CMAC-AES-128-PRF) -// CMAC -// PSA Crypto only allows one specific usage algorithm per built-in key ID. -// It is recommended to only use the PUF key for deriving further key -// material. -// Default: PSA_ALG_PBKDF2_AES_CMAC_PRF_128 -#define SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG (PSA_ALG_PBKDF2_AES_CMAC_PRF_128) -#endif // SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG - -// - -// Power optimization configuration - -// Store already-generated random bytes before putting the device to sleep -// Using the hardware TRNG (for example through psa_generate_random()) will -// consume a non-negligible amount of power. A start-up routine must pass -// and a relatively large minimum amount of random bytes will be generated. -// Use cases where the device is frequently entering EM2/EM3 and thereafter -// consumes a small amount of data from the TRNG may benefit from buffering -// the existing random bytes before putting the device to sleep. These -// buffered bytes are then consumed until exhaustion before the TRNG needs -// to be initialized and used again. -// -// NOTE: this configuration option is only applicable for devices with a -// Virtual Secure Engine (VSE), and requires the 'Power Manager' component -// to be included in the project. -// -// Default: 0 -#define SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP (0) - -// Number of random words to buffer before putting the device to sleep <1-63> -// This option can be used to decrease the amount of random words that -// (if enabled) are buffered before the device enters EM2/EM3. Lowering this -// number will result in less static RAM usage, but also means that the TRNG -// potentially has to be initialized more times--leading to increased power -// consumption. By default this option in configured to buffer as much TRNG -// data as possible (limited by the depth of the TRNG FIFO). -// -// NOTE: this configuration option is only applicable when -// SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP is enabled. -// -// Default: 63 -#define SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP (63) -// - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_PSA_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_psa_config_autogen.h" -#endif - -#if defined(TFM_CONFIG_SL_SECURE_LIBRARY) - #include "sli_psa_tfm_translation.h" -#endif - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_psa_acceleration.h" -#endif - -#include "sli_psa_builtin_config_autogen.h" - -#endif // PSA_CRYPTO_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_advertiser_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_advertiser_config.h deleted file mode 100644 index 9607cb02..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_advertiser_config.h +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Bluetooth Advertiser 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_BT_ADVERTISER_CONFIG_H -#define SL_BT_ADVERTISER_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Max number of advertising sets reserved for user <0-255> -// Default: 1 -// Define the number of advertising sets that the application needs to use concurrently. Note that all types of advertising uses the same pool of advertising sets, but periodic advertising has extra configuration to define the number of advertising sets that are capable of periodic advertising. -// -// Specifically, if the component "bluetooth_feature_periodic_advertiser" is used, its configuration SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS specifies how many of the SL_BT_CONFIG_USER_ADVERTISERS advertising sets are capable of periodic advertising. Similarly, if the component bluetooth_feature_pawr_advertiser is used, its configuration SL_BT_CONFIG_MAX_PAWR_ADVERTISERS specifies how many of the periodic advertising sets are capable of Periodic Advertising with Responses. -// -// The configuration values must satisfy the condition SL_BT_CONFIG_USER_ADVERTISERS >= SL_BT_CONFIG_MAX_PERIODIC_ADVERTISERS >= SL_BT_CONFIG_MAX_PAWR_ADVERTISERS. -#define SL_BT_CONFIG_USER_ADVERTISERS 3 -// <<< end of configuration section >>> - -#endif diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_connection_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_connection_config.h deleted file mode 100644 index 73a38250..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_bluetooth_connection_config.h +++ /dev/null @@ -1,48 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Bluetooth Connection 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_BT_CONNECTION_CONFIG_H -#define SL_BT_CONNECTION_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Max number of connections reserved for user <0-32> -// Default: 4 -// Define the number of connections the application needs. -#define SL_BT_CONFIG_MAX_CONNECTIONS (4) - -// Preferred maximum TX payload octets <27-251> -// Default: 251 -// Define the preferred maximum TX payload octets that will be used on connections. -// This value is set to the controller as the default suggested data length when -// Bluetooth stack is started. -#define SL_BT_CONFIG_CONNECTION_DATA_LENGTH (251) - -// <<< end of configuration section >>> -#endif diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_config.h deleted file mode 100644 index ba98b762..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_config.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef SL_BTCTRL_CONFIG_H -#define SL_BTCTRL_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Bluetooth Controller Configuration - -// Bluetooth Controller Buffer Memory -// Default: SL_BT_CONTROLLER_BUFFER_MEMORY -// Define the Amount of memory to allocate for tx/rx buffers in Bluetooth Controller -#define SL_BT_CONTROLLER_BUFFER_MEMORY (8192) - -// Bluetooth Controller ACL data packets that can be stored -// Default: SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX -// Define the total number of the maximum sized ACL data packets that can be received from the host -#define SL_BT_CONTROLLER_LE_BUFFER_SIZE_MAX (3) - -// Total transmitted packets threshold for all connections to send the Number Of Completed Packets HCI event to the host <1-255> -// Default: 4 -// Define the number of transmitted air interface ACL packets to trigger the Number Of Completed Packets HCI event. -#define SL_BT_CONTROLLER_COMPLETED_PACKETS_THRESHOLD (4) - -// Number of connection events to send the Number Of Completed Packets HCI event to the host <1-255> -// Default: 3 -// Define the maximum number of connection events since the previous Number Of Completed Packets HCI event to trigger reporting of any unreported completed ACL packets. -#define SL_BT_CONTROLLER_COMPLETED_PACKETS_EVENTS_TIMEOUT (3) - -// Maximum number of queued advertisement reports <1-255> -// Default: 10 -// Define the maximum number of queued advertisement reports. Additional advertisement reports are dropped. -#define SL_BT_CONFIG_MAX_QUEUED_ADV_REPORTS (10) - -// Bluetooth Controller Configuration - -// <<< end of configuration section >>> - -#endif // SL_BTCTRL_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_rtos_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_rtos_config.h deleted file mode 100644 index 945ebcfb..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_btctrl_rtos_config.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef SL_BTCTRL_RTOS_CONFIG_H -#define SL_BTCTRL_RTOS_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Priority Configuration for Bluetooth RTOS Tasks - -// Bluetooth link layer task priority -// Default: 52 (CMSIS-RTOS2 osPriorityRealtime4) -// Define the priority of the Bluetooth link layer task. This must be a valid -// priority value from CMSIS-RTOS2 osPriority_t definition. -#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_PRIORITY (52) - -// Bluetooth link layer task stack size in bytes -// Default: 1000 -// Define the stack size of the Bluetooth link layer task. The value is in bytes -// and will be word aligned when it is applied at the task creation. -#define SL_BTCTRL_RTOS_LINK_LAYER_TASK_STACK_SIZE (1000) - -// End Priority Configuration for Bluetooth RTOS Tasks - -// <<< end of configuration section >>> - -#endif // SL_BT_RTOS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h deleted file mode 100644 index d43f5e6d..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_oscillator_config.h +++ /dev/null @@ -1,321 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Oscillators 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_CLOCK_MANAGER_OSCILLATOR_CONFIG_H -#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H - -// Oscillators Settings - -// HFXO Settings (if High Frequency crystal is used) -// Enable to configure HFXO -#ifndef SL_CLOCK_MANAGER_HFXO_EN -#define SL_CLOCK_MANAGER_HFXO_EN 1 -#endif - -// Mode -// -// XTAL -// EXTCLK -// EXTCLKPKDET -// HFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_HFXO_MODE -#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL -#endif - -// Frequency <38000000-40000000> -// 39000000 -#ifndef SL_CLOCK_MANAGER_HFXO_FREQ -#define SL_CLOCK_MANAGER_HFXO_FREQ 39000000 -#endif - -// CTUNE <0-255> -// 140 -#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE -#define SL_CLOCK_MANAGER_HFXO_CTUNE 140 -#endif - -// Precision <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION -#define SL_CLOCK_MANAGER_HFXO_PRECISION 50 -#endif - -// HFXO crystal sharing feature -// Enable to configure HFXO crystal sharing leader or follower -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN 0 -#endif - -// Crystal sharing leader -// Enable to configure HFXO crystal sharing leader -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN 0 -#endif - -// Crystal sharing leader minimum startup delay -// If enabled, BUFOUT does not start until timeout set in -// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP expires. -// This prevents waste of power if BUFOUT is ready too early. -// 1 -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN 1 -#endif - -// Wait duration of oscillator startup sequence -// -// T42US -// T83US -// T108US -// T133US -// T158US -// T183US -// T208US -// T233US -// T258US -// T283US -// T333US -// T375US -// T417US -// T458US -// T500US -// T667US -// HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US -#endif -// -// - -// Crystal sharing follower -// Enable to configure HFXO crystal sharing follower -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN 0 -#endif -// - -// GPIO Port -// Bufout request GPIO port. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN -// is enabled, this port will be used to receive the BUFOUT request. If -// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this port -// will be used to request BUFOUT from the crystal sharing leader. -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT 0 -#endif - -// GPIO Pin -// Bufout request GPIO pin. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN -// is enabled, this pin will be used to receive the BUFOUT request. If -// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this pin -// will be used to request BUFOUT from the crystal sharing leader. -#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN -#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN 10 -#endif -// -// - -// LFXO Settings (if Low Frequency crystal is used) -// Enable to configure LFXO -#ifndef SL_CLOCK_MANAGER_LFXO_EN -#define SL_CLOCK_MANAGER_LFXO_EN 1 -#endif - -// Mode -// -// XTAL -// BUFEXTCLK -// DIGEXTCLK -// LFXO_CFG_MODE_XTAL -#ifndef SL_CLOCK_MANAGER_LFXO_MODE -#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL -#endif - -// CTUNE <0-127> -// 63 -#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE -#define SL_CLOCK_MANAGER_LFXO_CTUNE 63 -#endif - -// LFXO precision in PPM <0-65535> -// 50 -#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION -#define SL_CLOCK_MANAGER_LFXO_PRECISION 50 -#endif - -// Startup Timeout Delay -// -// CYCLES2 -// CYCLES256 -// CYCLES1K -// CYCLES2K -// CYCLES4K -// CYCLES8K -// CYCLES16K -// CYCLES32K -// LFXO_CFG_TIMEOUT_CYCLES4K -#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT -#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K -#endif -// - -// HFRCO and DPLL Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 7 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 38 MHz -// 48 MHz -// 56 MHz -// 64 MHz -// 80 MHz -// cmuHFRCODPLLFreq_80M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCO_BAND -#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz -#endif - -// Use DPLL -// Enable to use the DPLL with HFRCO -#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN -#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 0 -#endif - -// Target Frequency <1000000-80000000> -// DPLL target frequency -// 78000000 -#ifndef SL_CLOCK_MANAGER_DPLL_FREQ -#define SL_CLOCK_MANAGER_DPLL_FREQ 78000000 -#endif - -// Numerator (N) <300-4095> -// Value of N for output frequency calculation fout = fref * (N+1) / (M+1) -// 3839 -#ifndef SL_CLOCK_MANAGER_DPLL_N -#define SL_CLOCK_MANAGER_DPLL_N 3839 -#endif - -// Denominator (M) <0-4095> -// Value of M for output frequency calculation fout = fref * (N+1) / (M+1) -// 1919 -#ifndef SL_CLOCK_MANAGER_DPLL_M -#define SL_CLOCK_MANAGER_DPLL_M 1919 -#endif - -// Reference Clock -// Reference clock source for DPLL -// DISABLED -// HFXO -// LFXO -// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK -#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO -#endif - -// Reference Clock Edge Detect -// Edge detection for reference clock -// Falling Edge -// Rising Edge -// cmuDPLLEdgeSel_Fall -#ifndef SL_CLOCK_MANAGER_DPLL_EDGE -#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall -#endif - -// DPLL Lock Mode -// Lock mode -// Frequency-Lock Loop -// Phase-Lock Loop -// cmuDPLLLockMode_Freq -#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE -#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase -#endif - -// Automatic Lock Recovery -// 1 -#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER -#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1 -#endif - -// Enable Dither -// 0 -#ifndef SL_CLOCK_MANAGER_DPLL_DITHER -#define SL_CLOCK_MANAGER_DPLL_DITHER 0 -#endif -// -// - -// HFRCOEM23 Settings -// Frequency Band -// RC Oscillator Frequency Band -// 1 MHz -// 2 MHz -// 4 MHz -// 13 MHz -// 16 MHz -// 19 MHz -// 26 MHz -// 32 MHz -// 40 MHz -// cmuHFRCOEM23Freq_19M0Hz -#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND -#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz -#endif -// - -// LFRCO Settings -// Precision Mode -// Precision mode uses hardware to automatically re-calibrate the LFRCO -// against a crystal driven by the HFXO. Hardware detects temperature -// changes and initiates a re-calibration of the LFRCO as needed when -// operating in EM0, EM1, or EM2. If a re-calibration is necessary and the -// HFXO is not active, the precision mode hardware will automatically -// enable HFXO for a short time to perform the calibration. EM4 operation is -// not allowed while precision mode is enabled. -// If high precision is selected on devices that do not support it, default -// precision will be used. -// Default precision -// High precision -// cmuPrecisionDefault -#ifndef SL_CLOCK_MANAGER_LFRCO_PRECISION -#define SL_CLOCK_MANAGER_LFRCO_PRECISION cmuPrecisionDefault -#endif -// - -// - -#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */ - -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_tree_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_tree_config.h deleted file mode 100644 index ef8ba96e..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_clock_manager_tree_config.h +++ /dev/null @@ -1,282 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Clock Manager - Clock Tree 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_CLOCK_MANAGER_TREE_CONFIG_H -#define SL_CLOCK_MANAGER_TREE_CONFIG_H - -// Internal Defines: DO NOT MODIFY -// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE -// selection of each clock branch to the right HW register value. -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA - -// Clock Tree Settings - -// Default Clock Source Selection for HF clock branches -// HFRCODPLL -// HFXO -// FSRCO -// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL -#endif - -// Default Clock Source Selection for LF clock branches -// LFRCO -// LFXO -// ULFRCO -// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value. -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO -#endif - -// System Clock Branch Settings - -// Clock Source Selection for SYSCLK branch -// DEFAULT_HF -// FSRCO -// HFRCODPLL -// HFXO -// Selection of the Clock source for SYSCLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// HCLK branch divider -// DIV1 -// DIV2 -// DIV4 -// DIV8 -// DIV16 -// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface. -// CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER -#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1 -#endif - -// PCLK branch divider -// DIV1 -// DIV2 -// PCLK branch is derived from HCLK. This clock drives the APB bus interface. -// CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER -#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2 -#endif - -// - -// Trace Clock Branches Settings -// Clock Source Selection for TRACECLK branch -// DISABLE -// SYSCLK -// HFRCOEM23 -// HFRCODPLLRT -// Selection of the Clock source for TRACECLK -// CMU_TRACECLKCTRL_CLKSEL_SYSCLK -#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE -#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_SYSCLK -#endif - -// TRACECLK branch Divider -// DIV1 -// DIV2 -// DIV3 -// DIV4 -// Selection of the divider value for TRACECLK branch -// CMU_TRACECLKCTRL_PRESC_DIV1 -#ifndef SL_CLOCK_MANAGER_TRACECLK_DIVIDER -#define SL_CLOCK_MANAGER_TRACECLK_DIVIDER CMU_TRACECLKCTRL_PRESC_DIV1 -#endif - -// - -// High Frequency Clock Branches Settings -// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible -// EM01GRPACLK clock the Timer peripherals -// Clock Source Selection for EM01GRPACLK branch -// DEFAULT_HF -// HFRCODPLL -// HFXO -// FSRCO -// HFRCOEM23 -// HFRCODPLLRT -// HFXORT -// Selection of the Clock source for EM01GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM01GRPCCLK branch -// DEFAULT_HF -// HFRCODPLL -// HFXO -// FSRCO -// HFRCOEM23 -// HFRCODPLLRT -// HFXORT -// Selection of the Clock source for EM01GRPCCLK -// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE -#define SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE -#endif - -// Clock Source Selection for IADCCLK branch -// EM01GRPACLK -// FSRCO -// HFRCOEM23 -// Selection of the Clock source for IADCCLK -// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE -#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK -#endif - -// - -// Low Frequency Clock Branches Settings - -// Clock Source Selection for EM23GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM23GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for EM4GRPACLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for EM4GRPACLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE -#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for SYSRTCCLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// Selection of the Clock source for SYSRTCCLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG0CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG0CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for WDOG1CLK branch -// DEFAULT_LF -// LFRCO -// LFXO -// ULFRCO -// HCLKDIV1024 -// Selection of the Clock source for WDOG1CLK -// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE -#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE -#endif - -// Clock Source Selection for PCNT0CLK branch -// DISABLED -// EM23GRPACLK -// PCNTS0 -// Selection of the Clock source for PCNT0CLK -// CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK -#ifndef SL_CLOCK_MANAGER_PCNT0CLK_SOURCE -#define SL_CLOCK_MANAGER_PCNT0CLK_SOURCE CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK -#endif - -// - -// Mixed Frequency Clock Branch Settings -// Clock Source Selection for EUSART0CLK branch -// DISABLED -// EM01GRPCCLK -// HFRCOEM23 -// LFRCO -// LFXO -// Selection of the Clock source for EUSART0CLK -// CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK -#ifndef SL_CLOCK_MANAGER_EUSART0CLK_SOURCE -#define SL_CLOCK_MANAGER_EUSART0CLK_SOURCE CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK -#endif - -// Clock Source Selection for SYSTICKCLK branch -// <0=> HCLK -// <1=> EM23GRPACLK -// Selection of the Clock source for SYSTICKCLK -// 0 -#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE -#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0 -#endif - -// Clock Source Selection for VDAC0CLK branch -// DISABLED -// EM01GRPACLK -// EM23GRPACLK -// FSRCO -// HFRCOEM23 -// Selection of the Clock source for VDAC0CLK -// CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK -#ifndef SL_CLOCK_MANAGER_VDAC0CLK_SOURCE -#define SL_CLOCK_MANAGER_VDAC0CLK_SOURCE CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK -#endif - -// -// - -#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */ - -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_core_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_core_config.h deleted file mode 100644 index 27b173d2..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_core_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_config.h deleted file mode 100644 index 514b365d..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_config.h +++ /dev/null @@ -1,83 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_CPC_CONFIG_H -#define SL_CPC_CONFIG_H - -// CPC Configuration - -// Use a lookup table to speedup CRC calculation -// Default: 0 -// Enabling this features speeds up the CRC computation at the cost of using an additional 512 (256 x sizeof uint16_t) bytes or memory for the LUT -#define SL_CPC_USE_PRE_HASHED_CRC_TABLE 0 - -// Max Rx Payload Length<1-4087> -// Default: 256 -// Maximum size of the payload in bytes of each RX buffer -#define SL_CPC_RX_PAYLOAD_MAX_LENGTH (256) - -// Tx Queue Size -// Default: 20 -// The maximum number of outgoing messages capable of being queued for transmission. -#define SL_CPC_TX_QUEUE_ITEM_MAX_COUNT 15 - -// Total Number of Rx Buffers -// Default: 20 -// Total number of CPC RX buffers available across all endpoints -// Multiple RX buffers can be associated with a single endpoint -#define SL_CPC_RX_BUFFER_MAX_COUNT 15 - -// Enable debug core tracing with system view -// Default: 0 -#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_CORE_EVENT 0 - -// Enable debug endpoint tracing with system view -// Default: 0 -#define SL_CPC_DEBUG_SYSTEM_VIEW_LOG_ENDPOINT_EVENT 0 - -// Enable debug counters for core events -// Default: 0 -#define SL_CPC_DEBUG_CORE_EVENT_COUNTERS 0 - -// Enable debug counters for endpoint events -// Default: 0 -#define SL_CPC_DEBUG_ENDPOINT_EVENT_COUNTERS 0 - -// Enable debug counters for memory allocation -// Default: 0 -#define SL_CPC_DEBUG_MEMORY_ALLOCATOR_COUNTERS 0 - -// - -// <<< end of configuration section >>> - -#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_drv_uart_usart_vcom_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_drv_uart_usart_vcom_config.h deleted file mode 100644 index 92364ece..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_drv_uart_usart_vcom_config.h +++ /dev/null @@ -1,102 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC UART driver configuration file. - ******************************************************************************* - * # 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_CPC_DRV_UART_USART_VCOM_CONFIG_H -#define SL_CPC_DRV_UART_USART_VCOM_CONFIG_H - -// CPC - UART Driver Configuration - -// Number of frame that can be queued in the driver receive queue -// Default: 10 -#define SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE 10 - -// Number of frame that can be queued in the driver transmit queue -// Default: 10 -#define SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE 10 - -// UART Baudrate -// Default: 115200 -#define SL_CPC_DRV_UART_VCOM_BAUDRATE 460800 - -// Flow control -// None -// CTS/RTS -// Default: usartHwFlowControlCtsAndRts -#define SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE usartHwFlowControlCtsAndRts -// - -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_CPC_DRV_UART_VCOM -// $[USART_SL_CPC_DRV_UART_VCOM] -#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL -#define SL_CPC_DRV_UART_VCOM_PERIPHERAL USART0 -#endif -#ifndef SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO -#define SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO 0 -#endif - -// USART0 TX on PA06 -#ifndef SL_CPC_DRV_UART_VCOM_TX_PORT -#define SL_CPC_DRV_UART_VCOM_TX_PORT gpioPortA -#endif -#ifndef SL_CPC_DRV_UART_VCOM_TX_PIN -#define SL_CPC_DRV_UART_VCOM_TX_PIN 6 -#endif - -// USART0 RX on PA05 -#ifndef SL_CPC_DRV_UART_VCOM_RX_PORT -#define SL_CPC_DRV_UART_VCOM_RX_PORT gpioPortA -#endif -#ifndef SL_CPC_DRV_UART_VCOM_RX_PIN -#define SL_CPC_DRV_UART_VCOM_RX_PIN 5 -#endif - -// USART0 CTS on PA07 -#ifndef SL_CPC_DRV_UART_VCOM_CTS_PORT -#define SL_CPC_DRV_UART_VCOM_CTS_PORT gpioPortA -#endif -#ifndef SL_CPC_DRV_UART_VCOM_CTS_PIN -#define SL_CPC_DRV_UART_VCOM_CTS_PIN 7 -#endif - -// USART0 RTS on PA08 -#ifndef SL_CPC_DRV_UART_VCOM_RTS_PORT -#define SL_CPC_DRV_UART_VCOM_RTS_PORT gpioPortA -#endif -#ifndef SL_CPC_DRV_UART_VCOM_RTS_PIN -#define SL_CPC_DRV_UART_VCOM_RTS_PIN 8 -#endif -// [USART_SL_CPC_DRV_UART_VCOM]$ -// <<< sl:end pin_tool >>> - -#endif /* SL_CPC_DRV_UART_VCOM_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_kernel_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_kernel_config.h deleted file mode 100644 index 7e01e898..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_kernel_config.h +++ /dev/null @@ -1,99 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_CPC_KERNEL_CONFIG_H -#define SL_CPC_KERNEL_CONFIG_H - -// CPC Kernel Configuration - -// CPC task priority -// low + 1 -// low + 2 -// low + 3 -// low + 4 -// low + 5 -// low + 6 -// low + 7 -// below normal -// below normal + 1 -// below normal + 2 -// below normal + 3 -// below normal + 4 -// below normal + 5 -// below normal + 6 -// below normal + 7 -// normal -// normal + 1 -// normal + 2 -// normal + 3 -// normal + 4 -// normal + 5 -// normal + 6 -// normal + 7 -// above normal -// above normal + 1 -// above normal + 2 -// above normal + 3 -// above normal + 4 -// above normal + 5 -// above normal + 6 -// above normal + 7 -// high -// high + 1 -// high + 2 -// high + 3 -// high + 4 -// high + 5 -// high + 6 -// high + 7 -// realtime -// realtime + 1 -// realtime + 2 -// realtime + 3 -// realtime + 4 -// realtime + 5 -// realtime + 6 -// realtime + 7 -// Default: osPriorityAboveNormal3 -// CMSIS Priority of the CPC task -#define SL_CPC_TASK_PRIORITY osPriorityAboveNormal3 - -// CPC task stack size in words -// Default: 1024 -// Stack size for the CPC task in words. -#define SL_CPC_TASK_STACK_SIZE (1024) - -// - -// <<< end of configuration section >>> - -#endif /* SL_CPC_KERNEL_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_security_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_security_config.h deleted file mode 100644 index 50d2f123..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_cpc_security_config.h +++ /dev/null @@ -1,55 +0,0 @@ -/***************************************************************************//** - * @file - * @brief CPC configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_CPC_SECURITY_CONFIG_H -#define SL_CPC_SECURITY_CONFIG_H - -// CPC Security Configuration - -// Enable encryption using the security endpoint -// Default: 0 -#define SL_CPC_SECURITY_ENABLED 0 - -// Binding key method -// -// The customer provides the key. -// The key is exchanged using the Elliptic-curve Diffie-Hellman algorithm -// The key is plaintext key share. The host sends its encryption key to the secondary -// No binding key is provided -// Default: SL_CPC_SECURITY_BINDING_KEY_ECDH -#define SL_CPC_SECURITY_BINDING_KEY_METHOD SL_CPC_SECURITY_BINDING_KEY_NONE - -// - -// <<< end of configuration section >>> - -#endif /* SL_CPC_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_dcdc_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_dcdc_config.h deleted file mode 100644 index 8904e24d..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_dcdc_config.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef SL_DEVICE_INIT_DCDC_CONFIG_H -#define SL_DEVICE_INIT_DCDC_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// Enable DC/DC Converter -// -// Default: 1 -#define SL_DEVICE_INIT_DCDC_ENABLE 1 - -// Set DC/DC Converter in Bypass Mode -// -// Default: 0 -#define SL_DEVICE_INIT_DCDC_BYPASS 0 - -// Override for DCDC PFMX Mode Peak Current Setting -// -// Default: 0 -#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL_OVERRIDE 1 - -// DCDC PFMX Mode Peak Current Setting <0-15> -// -// Default: DCDC_PFMXCTRL_IPKVAL_DEFAULT -#define SL_DEVICE_INIT_DCDC_PFMX_IPKVAL 3 - -// <<< end of configuration section >>> - -#endif // SL_DEVICE_INIT_DCDC_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_emu_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_emu_config.h deleted file mode 100644 index 4ac96bac..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_device_init_emu_config.h +++ /dev/null @@ -1,53 +0,0 @@ -/***************************************************************************//** - * @file - * @brief DEVICE_INIT_EMU Config - ******************************************************************************* - * # License - * Copyright 2019 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_DEVICE_INIT_EMU_CONFIG_H -#define SL_DEVICE_INIT_EMU_CONFIG_H - -#include "em_emu.h" - -// <<< Use Configuration Wizard in Context Menu >>> - -// Allow debugger to remain connected in EM2 -// Force PD0B to stay on on EM2 entry. This allows the debugger to remain connected in EM2 and EM3. -// Enabling debug connectivity results in an increased power consumption in EM2/EM3. -// Default: 1 -#define SL_DEVICE_INIT_EMU_EM2_DEBUG_ENABLE 1 - -// EM4 pin retention mode -// No Retention: Pads enter reset state when entering EM4. -// Retention through EM4: Pads enter reset state when exiting EM4. -// Retention through EM4 and wakeup. -// Default: emuPinRetentionDisable -#define SL_DEVICE_INIT_EMU_EM4_PIN_RETENTION_MODE emuPinRetentionDisable - -// <<< end of configuration section >>> - -#endif // SL_DEVICE_INIT_EMU_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_fem_util_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_fem_util_config.h deleted file mode 100644 index b48e32ab..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_fem_util_config.h +++ /dev/null @@ -1,118 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Front End Module configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_FEM_UTIL_CONFIG_H -#define SL_FEM_UTIL_CONFIG_H - -#include "em_gpio.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// FEM Configuration -// Enable RX Mode -// Default: 0 -#define SL_FEM_UTIL_RX_ENABLE 0 -// Enable TX Mode -// Default: 0 -#define SL_FEM_UTIL_TX_ENABLE 0 -// Enable Bypass Mode -// Default: 0 -#define SL_FEM_UTIL_BYPASS_ENABLE 0 -// Enable TX High Power Mode -// Default: 0 -#define SL_FEM_UTIL_TX_HIGH_POWER_ENABLE 0 -// - -// Automatic external FEM LNA bypass Configuration -// Enable automatic LNA bypass -// Default: 0 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_ENABLE 0 -// LNA bypass threshold -// <1-31:1> -// Default: 12 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_THRESHOLD 12 -// LNA bypass delta RSSI (dBm) -// <1-255:1> -// Default: 15 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_DELTA_RSSI_DBM 15 -// LNA bypass GPIO polarity -// <0-1:1> -// Default: 1 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_POLARITY 1 -// LNA bypass timeout (Us) -// <1-65535:1> -// Default: 4000 -#define SL_FEM_UTIL_AUTO_LNA_BYPASS_TIMEOUT_US 4000 -// -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_FEM_UTIL_RX -// $[PRS_SL_FEM_UTIL_RX] -//#define SL_FEM_UTIL_RX_CHANNEL 5 - -// PRS CH5 on PD10 -//#define SL_FEM_UTIL_RX_PORT gpioPortD -//#define SL_FEM_UTIL_RX_PIN 10 -//#define SL_FEM_UTIL_RX_LOC 0 - -// [PRS_SL_FEM_UTIL_RX]$ - -// SL_FEM_UTIL_TX -// $[PRS_SL_FEM_UTIL_TX] - -// [PRS_SL_FEM_UTIL_TX]$ - -// SL_FEM_UTIL_SLEEP -// $[PRS_SL_FEM_UTIL_SLEEP] -//#define SL_FEM_UTIL_SLEEP_CHANNEL 6 - -// PRS CH6 on PD11 -//#define SL_FEM_UTIL_SLEEP_PORT gpioPortD -//#define SL_FEM_UTIL_SLEEP_PIN 11 -//#define SL_FEM_UTIL_SLEEP_LOC 13 - -// [PRS_SL_FEM_UTIL_SLEEP]$ - -// SL_FEM_UTIL_BYPASS -// $[GPIO_SL_FEM_UTIL_BYPASS] - -// [GPIO_SL_FEM_UTIL_BYPASS]$ - -// SL_FEM_UTIL_TX_HIGH_POWER -// $[GPIO_SL_FEM_UTIL_TX_HIGH_POWER] - -// [GPIO_SL_FEM_UTIL_TX_HIGH_POWER]$ -// <<< sl:end pin_tool >>> - -#define SL_FEM_UTIL_OPTIMIZED_PHY_ENABLE 0 -#define SL_FEM_UTIL_RUNTIME_PHY_SELECT 0 - -#endif // SL_FEM_UTIL_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_gp_interface_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_gp_interface_config.h deleted file mode 100644 index a937b58b..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_gp_interface_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h deleted file mode 100644 index 714893aa..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_interrupt_manager_s2_config.h +++ /dev/null @@ -1,47 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_config.h deleted file mode 100644 index 39b51496..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_config.h +++ /dev/null @@ -1,118 +0,0 @@ -#ifndef SL_MBEDTLS_CONFIG_H -#define SL_MBEDTLS_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// TLS/DTLS configuration - -// Complete list of ciphersuites to use, in order of preference. -// Default: MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 -// Complete list of ciphersuites to use, in order of preference. -// The value of this configuration should be updated for the application needs. -#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8 - -// Maximum TLS/DTLS fragment length in bytes (input). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when receiving data. -#define SL_MBEDTLS_SSL_IN_CONTENT_LEN 768 - -// Maximum TLS/DTLS fragment length in bytes (output). -// Default: 768 -// The size configured here determines the size of the internal I/O -// buffer used in mbedTLS when sending data. -#define SL_MBEDTLS_SSL_OUT_CONTENT_LEN 768 - -// Enable support for RFC 6066 max_fragment_length extension in SSL. -// Default: 1 -// Enable support for RFC 6066 max_fragment_length extension in SSL. -#define SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1 - -// Enable support for exporting key block and master secret. -// Default: 1 -// Enable support for exporting key block and master secret. -// This is required for certain users of TLS, e.g. EAP-TLS. -#define SL_MBEDTLS_SSL_EXPORT_KEYS 1 - -// Enable the PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 0 - -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 0 - -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 0 - -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 0 - -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -// Default: 0 -// Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. -#define SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 0 - -// Enable parsing of the compressed curves. -// Default: 0 -// Enable parsing of the compressed curves. -#define SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING 0 - -// - -// RSA configuration - -// Disable use of the Chinese Remainder Theorem for RSA. -// Default: 0 -// Disable use of the Chinese Remainder Theorem for RSA private key -// computations. -#define SL_MBEDTLS_RSA_NO_CRT 0 - -// - -// Miscellaneous configuration - -// Enable Silicon Labs' Mbed TLS- and PSA Crypto drivers. -// Default: 1 -// Enable drivers for hardware acceleration (Mbed TLS and PSA Crypto) and -// secure key handling (PSA Crypto). -#define SL_MBEDTLS_DRIVERS_ENABLED 1 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Sub-files - -#if defined(SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE) - #include SLI_MBEDTLS_CONFIG_AUTOGEN_OVERRIDE_FILE -#else - #include "sli_mbedtls_config_autogen.h" -#endif - -#include "sli_mbedtls_omnipresent.h" - -#if SL_MBEDTLS_DRIVERS_ENABLED - #include "sli_mbedtls_acceleration.h" -#endif - -#include "sl_mbedtls_device_config.h" - -// Include transformation logic to apply CMSIS-config configuration options to -// the correct Mbed TLS / PSA Crypto options. -#include "sli_mbedtls_config_transform_autogen.h" - -// Included for backward compatibility reasons. -#include "mbedtls/build_info.h" - -#endif // SL_MBEDTLS_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_device_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_device_config.h deleted file mode 100644 index 33c34c42..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_mbedtls_device_config.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef SL_MBEDTLS_DEVICE_CONFIG_H -#define SL_MBEDTLS_DEVICE_CONFIG_H - -// ----------------------------------------------------------------------------- -// User exposed config options - -// <<< Use Configuration Wizard in Context Menu >>> - -// Secure Engine (SE) version configuration - -// Support SE firmware versions older than 1.2.2 <0-1> -// Enable software fallback for ECDH and ECC public key validation on xG21 -// devices running SE firmware versions lower than 1.2.2. -// -// Due to other stability concerns, it is strongly recommended to upgrade -// these devices to the latest firmware revision instead of turning on -// software fallback support. -// -// Not having fallback support will make ECDH operations, as well as PSA -// Crypto public key import, return an error code on affected devices. -// -// Default: 0 -#define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 0 - -// Assume an SE firmware version newer than 1.2.2 <0-1> -// For enhanced performance: if it is guaranteed that all devices on which -// this library will run are updated to at least SE FW 1.2.2, then turning -// on this option will remove certain fallback checks, thereby reducing the -// amount of processing required for ECDH and public key verification -// operations. -// Default: 0 -#define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 0 - -// Assume an SE firmware version that is unaffected by Ed25519 errata <0-1> -// For minimal code size and performance savings: if it is guaranteed that -// none of the devices running this library has SE FWs in the range -// [1.2.2, 1.2.8], then enabling this option will disable runtime version -// checks. -// Default: 0 -#define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 0 - -// - -// <<< end of configuration section >>> - -// ----------------------------------------------------------------------------- -// Additional SE version related logic (DO NOT MODIFY) - -// SL_SE_ASSUME_FW_AT_LEAST_1_2_10 is no longer in use, however, it is kept here -// for backwards compatibility. */ -#if defined(SL_SE_ASSUME_FW_AT_LEAST_1_2_10) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 - #undef SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA - #define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 1 -#endif - -// SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_SUPPORT_FW_PRIOR_TO_1_2_2) - #undef SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 - #define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 1 -#endif - -// SLI_SE_ASSUME_FW_AT_LEAST_1_2_2 is no longer in use, however, it is kept -// here for backwards compatibility. */ -#if defined(SLI_SE_ASSUME_FW_AT_LEAST_1_2_2) - #undef SL_SE_ASSUME_FW_AT_LEAST_1_2_2 - #define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 1 -#endif - -#endif // SL_MBEDTLS_DEVICE_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_config.h deleted file mode 100644 index 3afe6966..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_config.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef SL_MEMORY_CONFIG_H -#define SL_MEMORY_CONFIG_H - -#include "sl_memory_manager_region_config.h" -#include "sl_common.h" - -#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 - -#endif diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_config.h deleted file mode 100644 index 7e4b0567..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_region_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_region_config.h deleted file mode 100644 index ee337e99..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_memory_manager_region_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @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 2752 -#endif -// - -// <<< end of configuration section >>> - -#endif /* SL_MEMORY_MANAGER_REGION_CONFIG_H */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_coex_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_coex_config.h deleted file mode 100644 index af4e9328..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_coex_config.h +++ /dev/null @@ -1,41 +0,0 @@ -/***************************************************************************//** - * @file - * @brief OpenThread Coexistence 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 >>> ----------------- -// -// Coexistence Configurations -// Synch MAC to GRANT (MAC holdoff) -#define SL_OPENTHREAD_COEX_MAC_HOLDOFF_ENABLE 0 - -// Counters -#define SL_OPENTHREAD_COEX_COUNTER_ENABLE 1 - -// -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_features_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_features_config.h deleted file mode 100644 index f66c3fe2..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_features_config.h +++ /dev/null @@ -1,410 +0,0 @@ -/***************************************************************************//** - * @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 >>> ----------------- -// -// Default OpenThread Stack Configuration - -// Thread Stack Protocol Version -// -// Thread 1.1 -// Thread 1.2 -// Thread 1.3 -// Thread 1.4 -// Current Default: OT_THREAD_VERSION_1_3 -#ifndef OPENTHREAD_CONFIG_THREAD_VERSION -#define OPENTHREAD_CONFIG_THREAD_VERSION OT_THREAD_VERSION_1_4 -#endif -// - -#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2) -// The following features require at least Thread Stack Protocol Version 1.2 -// Backbone Router -#ifndef OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE -#define OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 0 -#endif -// CSL Auto Synchronization using data polling -#ifndef OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE -#define OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE 0 -#endif -// CSL (Coordinated Sampled Listening) Debug -#ifndef OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE -#define OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE 0 -#endif -// CSL (Coordinated Sampled Listening) Receiver -#ifndef OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE -#define OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE 0 -#endif -// CSL Scheduling Uncertainty (±10 us units) <12..999:1> -#ifndef SL_OPENTHREAD_CSL_TX_UNCERTAINTY -#if OPENTHREAD_RADIO - #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 175 -#elif OPENTHREAD_FTD - #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 20 -#else - #define SL_OPENTHREAD_CSL_TX_UNCERTAINTY 12 -#endif -#endif -// DUA (Domain Unicast Address) -#ifndef OPENTHREAD_CONFIG_DUA_ENABLE -#define OPENTHREAD_CONFIG_DUA_ENABLE 1 -#endif -// Link Metrics Initiator -#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 1 -#endif -// Link Metrics Subject -#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE -#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1 -#endif -// Multicast Listener Registration -#ifndef OPENTHREAD_CONFIG_MLR_ENABLE -#define OPENTHREAD_CONFIG_MLR_ENABLE 1 -#endif -// -#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 -#ifndef OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE -#define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 0 -#endif -// Service Registration Protocol (SRP) Client -#ifndef OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1 -#endif -// 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) -#ifndef OPENTHREAD_CONFIG_TCP_ENABLE -#define OPENTHREAD_CONFIG_TCP_ENABLE 0 -#endif -// 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_3 - -// Border Agent -#ifndef OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE -#define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 0 -#endif -// -// Border Router -#ifndef OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE -#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 0 -#endif -// -// Channel Manager -#ifndef OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE -#define OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 0 -#endif -// -// Channel Monitor -#ifndef OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE -#define OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE 0 -#endif -// - -// Commissioner -#ifndef OPENTHREAD_CONFIG_COMMISSIONER_ENABLE -#define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 0 -#endif - -// Max Joiner Entries -// The maximum number of Joiner entries maintained by the Commissioner. -// 2 -#ifndef OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES -#define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 2 -#endif -// - -// COAP API -#ifndef OPENTHREAD_CONFIG_COAP_API_ENABLE -#define OPENTHREAD_CONFIG_COAP_API_ENABLE 0 -#endif -// -// COAP Observe (RFC7641) API -#ifndef OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE -#define OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE 0 -#endif -// -// COAP Secure API -#ifndef OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE -#define OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 0 -#endif -// -// DHCP6 Client -#ifndef OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE 0 -#endif -// -// DHCP6 Server -#ifndef OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE -#define OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE 0 -#endif -// -// Diagnostic -#ifndef OPENTHREAD_CONFIG_DIAG_ENABLE -#define OPENTHREAD_CONFIG_DIAG_ENABLE 1 -#endif -// -// ECDSA (Elliptic Curve Digital Signature Algorithm) (Required for Matter support) -#ifndef OPENTHREAD_CONFIG_ECDSA_ENABLE -#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1 -#endif -// -// External Heap -#ifndef OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE -#define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 0 -#endif -// -// IPv6 Fragmentation -#ifndef OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE -#define OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE 0 -#endif -// -// Maximum number of IPv6 unicast addresses allowed to be externally added -#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS -#define OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS 4 -#endif -// -// Maximum number of IPv6 multicast addresses allowed to be externally added -#ifndef OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS -#define OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS 4 -#endif -// -// Jam Detection -#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE -#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 0 -#endif -// -// Joiner -#ifndef OPENTHREAD_CONFIG_JOINER_ENABLE -#define OPENTHREAD_CONFIG_JOINER_ENABLE 0 -#endif -// -// Link Raw Service -#ifndef OPENTHREAD_CONFIG_LINK_RAW_ENABLE -#define OPENTHREAD_CONFIG_LINK_RAW_ENABLE 0 -#endif -// -// MAC Filter -#ifndef OPENTHREAD_CONFIG_MAC_FILTER_ENABLE -#define OPENTHREAD_CONFIG_MAC_FILTER_ENABLE 0 -#endif -// -// MLE Long Routes extension (experimental) -#ifndef OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE -#define OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE 0 -#endif -// -// MultiPAN RCP -#ifndef OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE -#define OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE 1 -#endif -// -// Multiple OpenThread Instances -#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE -#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 1 -#endif -// -// Multiple Static Instance Support -#ifndef OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE -#define OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 1 -#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 -#endif -// -// Ping Sender Module -#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 -#define OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 0 -#endif -// -// Reference Device for Thread Test Harness -#ifndef OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE -#define OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 0 -#endif -// -// Service Entries in Thread Network Data -#ifndef OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE -#define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 0 -#endif -// -// RAM (volatile-only storage) -#ifndef OPENTHREAD_SETTINGS_RAM -#define OPENTHREAD_SETTINGS_RAM 0 -#endif -// -// SLAAC Addresses -#ifndef OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE -#define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 -#endif -// -// SNTP Client -#ifndef OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE 0 -#endif -// -// TMF Network Diagnostic client API -#ifndef OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE -#define OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE 1 -#endif -// -// Time Synchronization Service -#define OPENTHREAD_CONFIG_TIME_SYNC_ENABLE 0 -// -// UDP Forward -#ifndef OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE -#define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 0 -#endif -// -// Enable Mac beacon payload parsing support -#ifndef OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE -#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 -// NONE -// APP -// PLATFORM_DEFINED -// Default: OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED -#ifndef OPENTHREAD_CONFIG_LOG_OUTPUT -#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_NONE -#endif - -// DYNAMIC_LOG_LEVEL -#ifndef OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE -#define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 0 -#endif - -// Enable Logging -#define OPENTHREAD_FULL_LOGS_ENABLE 0 -#if OPENTHREAD_FULL_LOGS_ENABLE - -// Note: Enabling higher log levels, which include logging packet details, can cause delays which may result in join failures. -// LOG_LEVEL -// NONE -// CRIT -// WARN -// NOTE -// INFO -// DEBG -// Default: OT_LOG_LEVEL_DEBG -#ifndef OPENTHREAD_CONFIG_LOG_LEVEL -#define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_DEBG -#endif -// CLI -#ifndef OPENTHREAD_CONFIG_LOG_CLI -#define OPENTHREAD_CONFIG_LOG_CLI 1 -#endif -// PKT_DUMP -#ifndef OPENTHREAD_CONFIG_LOG_PKT_DUMP -#define OPENTHREAD_CONFIG_LOG_PKT_DUMP 1 -#endif -// PLATFORM -#ifndef OPENTHREAD_CONFIG_LOG_PLATFORM -#define OPENTHREAD_CONFIG_LOG_PLATFORM 1 -#endif -// PREPEND_LEVEL -#ifndef OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL -#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 -// - -// -// -// - -// <<< end of configuration section >>> -#endif // _SL_OPENTHREAD_FEATURES_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_generic_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_generic_config.h deleted file mode 100644 index 46beb6e4..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_generic_config.h +++ /dev/null @@ -1,175 +0,0 @@ -/***************************************************************************//** - * @file - * @brief OpenThread generic 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. - * - ******************************************************************************/ - -/* Define if building universal (internal helper macro) */ -/* #undef AC_APPLE_UNIVERSAL_BUILD */ - -/* Define to 1 if your C++ compiler doesn't accept -c and -o together. */ -/* #undef CXX_NO_MINUS_C_MINUS_O */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DLFCN_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `edit' library (-ledit). */ -/* #undef HAVE_LIBEDIT */ - -/* Define to 1 if you have the `readline' library (-lreadline). */ -/* #undef HAVE_LIBREADLINE */ - -/* Define to 1 if you have the `memcpy' function. */ -/* #undef HAVE_MEMCPY */ - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if stdbool.h conforms to C99. */ -#define HAVE_STDBOOL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if the system has the type `_Bool'. */ -#define HAVE__BOOL 1 - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#define LT_OBJDIR ".libs/" - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Name of package */ -#define PACKAGE "openthread" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "openthread-devel@googlegroups.com" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "SL-OPENTHREAD" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "SL-OPENTHREAD/2.5.1.0_GitHub-1fceb225b" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "openthread" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "http://github.com/openthread/openthread" - -/* Define to the version of this package. - * Note: When adding the label below with OpenThread version, please make - * sure it is a valid GitHub version. Avoid merge or local commit hashes. - */ -#define PACKAGE_VERSION "2.5.1.0_GitHub-1fceb225b" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "2.5.1.0_GitHub-1fceb225b" - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -/* # undef WORDS_BIGENDIAN */ -# endif -#endif - -/* Define for Solaris 2.5.1 so the uint32_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -/* #undef _UINT32_T */ - -/* Define for Solaris 2.5.1 so the uint64_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -/* #undef _UINT64_T */ - -/* Define for Solaris 2.5.1 so the uint8_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -/* #undef _UINT8_T */ - -/* Define to the type of a signed integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -/* #undef int16_t */ - -/* Define to the type of a signed integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -/* #undef int32_t */ - -/* Define to the type of a signed integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -/* #undef int64_t */ - -/* Define to the type of a signed integer type of width exactly 8 bits if such - a type exists and the standard includes do not define it. */ -/* #undef int8_t */ - -/* Define to the type of an unsigned integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint16_t */ - -/* Define to the type of an unsigned integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint32_t */ - -/* Define to the type of an unsigned integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint64_t */ - -/* Define to the type of an unsigned integer type of width exactly 8 bits if - such a type exists and the standard includes do not define it. */ -/* #undef uint8_t */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_rtos_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_rtos_config.h deleted file mode 100644 index cc6ebf7d..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_openthread_rtos_config.h +++ /dev/null @@ -1,100 +0,0 @@ -/***************************************************************************//** - * @file - * @brief OpenThread RTOS 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 >>> ----------------- -// -// Priority Configuration for OpenThread RTOS Stack Task -// OpenThread stack task priority -// Default: 24 (CMSIS-RTOS2 osPriorityNormal) -// Defines OpenThread stack task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_STACK_TASK_PRIORITY (24) - -// -// Priority Configuration for OpenThread App Task -// OpenThread task priority -// Default: 23 (CMSIS-RTOS2 osPriorityBelowNormal7) -// Defines OpenThread App task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_APP_TASK_PRIORITY (23) - -// -// Priority Configuration for OpenThread RTOS Stack Task -// OpenThread CLI task prority -// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) -// Defines OpenThread CLI task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) - -// OpenThread stack task stack size in bytes <1000-20000> -// Default: 4608 -// Defines the stack size of the OpenThread RTOS stack task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_STACK_TASK_MEM_SIZE 4608 - -// OpenThread app task stack size in bytes <1000-20000> -// Default: 4096 -// Defines the stack size of the OpenThread RTOS app task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_APP_TASK_MEM_SIZE 4608 - -// OpenThread CLI task stack size in bytes <1000-20000> -// Default: 2048 -// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_CLI_TASK_MEM_SIZE 2048 -// -// Priority Configuration for OpenThread RTOS Stack Task -// OpenThread CLI task prority -// Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal) -// Defines OpenThread CLI task priority. This must be a valid priority value -// from CMSIS-RTOS2 osPriority_t definition. -#define SL_OPENTHREAD_RTOS_CLI_TASK_PRIORITY (16) - -// OpenThread CLI task stack size in bytes <1000-20000> -// Default: 2048 -// Defines the stack size of the OpenThread RTOS CLI task. The value is in bytes and -// and will be word aligned when it is applied at the task creation. -#define SL_OPENTHREAD_OS_CLI_TASK_SIZE 2048 - -// -// App Task -// Enable default App task -// Default: On -#define SL_OPENTHREAD_ENABLE_APP_TASK (1) - -// -// CLI Task -// Enable CLI task -// Default: On -#define SL_OPENTHREAD_ENABLE_CLI_TASK (1) - -// -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_common_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_common_config.h deleted file mode 100644 index 7cddee03..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_common_config.h +++ /dev/null @@ -1,254 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Common coexistence configuration header file - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_COEX_COMMON_CONFIG_H -#define SL_RAIL_UTIL_COEX_COMMON_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> -// Coexistence Configuration - -// IEEE802.15.4 Only Configuration -// Disable ACKing when GRANT deasserted, RHO asserted, or REQUEST deasserted -// Disable ACKing when GNT deasserted, RHO asserted, or REQ not secured (shared REQ only) -// Default: 1 -#define SL_RAIL_UTIL_COEX_ACKHOLDOFF 1 - -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Default: 0 -#define SL_RAIL_UTIL_COEX_IEEE802154_TX_ABORT 0 -// - -// BLE Only Configuration -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Abort transmission mid-packet if Grant when GRANT deasserted, RHO asserted, or REQUEST not secured (shared REQUEST only) -// Default: 0 -#define SL_RAIL_UTIL_COEX_BLE_TX_ABORT 0 -// - -// REQUEST -// Enable REQUEST signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_REQ_ENABLED 0 - -// REQUEST assert signal level -// <1=> High -// <0=> Low -// Polarity of REQUEST signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_REQ_ASSERT_LEVEL 1 - -// Enable REQUEST shared mode -// Configure the REQUEST signal for shared mode -// Default: 0 -#define SL_RAIL_UTIL_COEX_REQ_SHARED 0 - -// Max REQUEST backoff mask [0-255] -// <0-255:1> -// Maximum backoff time in microseconds after REQUEST was deasserted -// Default: 15 -#define SL_RAIL_UTIL_COEX_REQ_BACKOFF 15 - -// BLE Only Request Configuration -// Specify the number of microseconds between asserting Request and starting RX/TX -// <0-5000:1> -// Specify the number of microseconds between asserting REQUEST and starting RX/TX (BLE only) -// Default: 500 -#define SL_RAIL_UTIL_COEX_REQ_WINDOW 500 -// - -// IEEE802.15.4 Only Request Configuration -// Enable REQUEST receive retry -// Enable the receive retry -// Default: 0 -#define SL_RAIL_UTIL_COEX_RETRYRX_ENABLE 0 - -// REQUEST receive retry timeout(ms) -// <0-255:1> -// Receive retry REQ timeout in milliseconds -// Default: 16 -#define SL_RAIL_UTIL_COEX_RETRYRX_TIMEOUT 16 - -// REQUEST receive retry assert PRIORITY -// Enable the receive retry high priority -// Default: 0 -#define SL_RAIL_UTIL_COEX_RETRYRX_HIPRI 0 -// -// -// - -// GRANT -// Enable GRANT signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_GNT_ENABLED 0 - -// GRANT assert signal level -// <1=> High -// <0=> Low -// Polarity of grant (GNT) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_GNT_ASSERT_LEVEL 1 -// - -// PRIORITY -// Enable PRIORITY signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRI_ENABLED 0 - -// PRIORITY assert signal level -// <1=> High -// <0=> Low -// Polarity of priority(PRI) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_PRI_ASSERT_LEVEL 1 - -// Enable PRIORITY shared mode -// Configure the PRIORITY signal for shared mode -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRI_SHARED 0 - -// BLE Only Priority Configuration -// Default Enabled/Disabled -// Enable/Disable BLE PRIORITY by default -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRIORITY_DEFAULT 0 -// - -// IEEE802.15.4 Only Priority Configuration -// Assert PRIORITY when transmitting packet -// Assert a high priority when the local device is transmitting a packet -// Default: 0 -#define SL_RAIL_UTIL_COEX_TX_HIPRI 0 - -// Assert PRIORITY when receiving packet -// Assert a high priority when the local device is receiving a packet -// Default: 0 -#define SL_RAIL_UTIL_COEX_RX_HIPRI 0 - -// Include TX PRIORITY escalation -// Compile-time include TX PRIORITY escalation feature -// Default: 0 -#define SL_RAIL_UTIL_COEX_PRIORITY_ESCALATION_ENABLE 0 - -// CCA/GRANT TX PRIORITY escalation threshold -// <0-255:1> -// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) -// Default: 4 -#define SL_RAIL_UTIL_COEX_CCA_THRESHOLD 4 - -// MAC Fail TX PRIORITY escalation threshold -// <0-3:1> -// Sets the threshold for escalating TX PRIORITY to high priority due to MAC failures from CCA/GRANT denials (five consecutive CCA/GRANT denials is one MAC failure) or no RX_ACK received (four consecutive RX_ACK failures is one MAC failure) -// Default: 0 -#define SL_RAIL_UTIL_COEX_MAC_FAIL_THRESHOLD 0 -// -// - -// PWM REQUEST -// Enable PWM REQUEST signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED 0 - -// PWM REQUEST signal level (shared REQUEST only) -// <1=> High -// <0=> Low -// Polarity of PWM request (PWM_REQ) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_PWM_REQ_ASSERT_LEVEL 1 - -// Enable PWM REQUEST at startup -// Enable PWM REQUEST at startup (also run-time controllable) -// Default: 1 -#define SL_RAIL_UTIL_COEX_PWM_DEFAULT_ENABLED 1 - -// PWM Request Period (0.5ms steps) -// <5-109> -// PWM REQUEST Period (5ms to 109ms in 0.5ms steps) -// Default: 78 -#define SL_RAIL_UTIL_COEX_PWM_REQ_PERIOD 78 - -// PWM Request Duty-Cycle (%) -// <1-95:1> -// PWM REQUEST Duty-Cycle (1% to 95% in 1% steps) -// Default: 20 -#define SL_RAIL_UTIL_COEX_PWM_REQ_DUTYCYCLE 20 - -// Assert priority when PWM REQUEST asserted -// Assert a high priority when local device is asserting PWM -// Default: 0 -#define SL_RAIL_UTIL_COEX_PWM_PRIORITY 0 - -// BLE Only PWM Configuration -// Enable PWM only when local device is scanning -// Enable PWM only when local device is scanning -// Default: 0 -#define SL_RAIL_UTIL_COEX_SCANPWM_DEFAULT_ENABLED 0 -// -// - -// Radio Hold-off -// Default: 0 -#define SL_RAIL_UTIL_COEX_RHO_ENABLED 0 -// RHO assert signal level -// <1=> High -// <0=> Low -// Polarity of radio hold-off (RHO) signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_RHO_ASSERT_LEVEL 1 -// - -// Directional PRIORITY -// Enable Directional PRIORITY signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_DP_ENABLED 0 -// Directional PRIORITY pulse width -// <0-255:1> -// Microseconds to hold Directional PRIORITY priority pulse -// Default: 20 -#define SL_RAIL_UTIL_COEX_DP_PULSE_WIDTH_US 20 -// - -// RX active -// Enable RX active signal -// Default: 0 -#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED 0 - -// RX active assert signal level -// <1=> High -// <0=> Low -// Polarity of RX active signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_RX_ACTIVE_ASSERT_LEVEL 1 -// - -// -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_COEX_COMMON_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_config.h deleted file mode 100644 index 368ddb3a..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_coex_config.h +++ /dev/null @@ -1,190 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Coexistence configuration header file - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_COEX_CONFIG_H -#define SL_RAIL_UTIL_COEX_CONFIG_H - -#include "sl_rail_util_coex_common_config.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// Coexistence signal identifier configuration -// IEEE802.15.4 only configuration -// Enable coexistence IEEE802.15.4 signal identifier -// Default: 0 -#define SL_RAIL_UTIL_COEX_IEEE802154_SIGNAL_IDENTIFIER_ENABLED 0 -// -// BLE only Configuration -// Enable coexistence BLE signal identifier -// Default: 0 -#define SL_RAIL_UTIL_COEX_BLE_SIGNAL_IDENTIFIER_ENABLED 0 -// BLE signal identifier mode -// <1=> BLE 1Mbps -// <2=> BLE 2Mbps -// 1: Signal identifier detects BLE 1Mbps signals 2: Signal identifier detects BLE 2Mbps signals -// Default: 1 -#define SL_RAIL_UTIL_COEX_BLE_SIGNAL_IDENTIFIER_MODE 1 -// Minimum number of microseconds that should be available in the scanning window for hopping to next channel when signal identifier is enabled -// <300-2000:1> -// Default: 300 -#define SL_RAIL_UTIL_COEX_BLE_MIN_TIME_FOR_HOPPING 300 -// -// Polarity of Wifi Tx signal -// <1=> High -// <0=> Low -// Polarity of WiFi Tx signal -// Default: 1 -#define SL_RAIL_UTIL_COEX_WIFI_TX_ASSERT_LEVEL 1 -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> - -#if SL_RAIL_UTIL_COEX_GNT_ENABLED -// Pin used for grant (GNT) signal -// SL_RAIL_UTIL_COEX_GNT -// $[GPIO_SL_RAIL_UTIL_COEX_GNT] -// #define SL_RAIL_UTIL_COEX_GNT_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_GNT_PIN 9 -// [GPIO_SL_RAIL_UTIL_COEX_GNT]$ -#ifndef SL_RAIL_UTIL_COEX_GNT_PORT -#error "SL_RAIL_UTIL_COEX_GNT undefined" -#endif //SL_RAIL_UTIL_COEX_GNT_PORT -#endif //SL_RAIL_UTIL_COEX_GNT_ENABLED - -#if SL_RAIL_UTIL_COEX_PRI_ENABLED -// Pin used for PRIORITY signal -// SL_RAIL_UTIL_COEX_PRI -// $[GPIO_SL_RAIL_UTIL_COEX_PRI] -// #define SL_RAIL_UTIL_COEX_PRI_PORT gpioPortD -// #define SL_RAIL_UTIL_COEX_PRI_PIN 13 -// [GPIO_SL_RAIL_UTIL_COEX_PRI]$ -#if !defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED -#error "SL_RAIL_UTIL_COEX_PRI undefined" -#endif //!defined(SL_RAIL_UTIL_COEX_PRI_PORT) && !SL_RAIL_UTIL_COEX_DP_ENABLED -#endif //SL_RAIL_UTIL_COEX_PRI_ENABLED - -#if SL_RAIL_UTIL_COEX_REQ_ENABLED -// Pin used for Request signal -// SL_RAIL_UTIL_COEX_REQ -// $[GPIO_SL_RAIL_UTIL_COEX_REQ] -// #define SL_RAIL_UTIL_COEX_REQ_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_REQ_PIN 10 -// [GPIO_SL_RAIL_UTIL_COEX_REQ]$ -#ifndef SL_RAIL_UTIL_COEX_REQ_PORT -#error "SL_RAIL_UTIL_COEX_REQ undefined" -#endif //SL_RAIL_UTIL_COEX_REQ_PORT -#endif //SL_RAIL_UTIL_COEX_REQ_ENABLED - -#if SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED -// Pin used for PWM Request signal -// SL_RAIL_UTIL_COEX_PWM_REQ -// $[GPIO_SL_RAIL_UTIL_COEX_PWM_REQ] -// #define SL_RAIL_UTIL_COEX_PWM_REQ_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_PWM_REQ_PIN 11 -// [GPIO_SL_RAIL_UTIL_COEX_PWM_REQ]$ -#ifndef SL_RAIL_UTIL_COEX_PWM_REQ_PORT -#error "SL_RAIL_UTIL_COEX_PWM_REQ undefined" -#endif //SL_RAIL_UTIL_COEX_PWM_REQ_PORT -#endif //SL_RAIL_UTIL_COEX_PWM_REQ_ENABLED && SL_RAIL_UTIL_COEX_REQ_SHARED - -#if SL_RAIL_UTIL_COEX_RHO_ENABLED -// Pin used for Radio Holdoff signal -// SL_RAIL_UTIL_COEX_RHO -// $[GPIO_SL_RAIL_UTIL_COEX_RHO] -// #define SL_RAIL_UTIL_COEX_RHO_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_RHO_PIN 8 -// [GPIO_SL_RAIL_UTIL_COEX_RHO]$ -#ifndef SL_RAIL_UTIL_COEX_RHO_PORT -#error "SL_RAIL_UTIL_COEX_RHO undefined" -#endif //SL_RAIL_UTIL_COEX_RHO_PORT -#endif //SL_RAIL_UTIL_COEX_RHO_ENABLED - -#if SL_RAIL_UTIL_COEX_DP_ENABLED -// Pin used for Directional Priority signal -// SL_RAIL_UTIL_COEX_DP_OUT -// $[PRS_SL_RAIL_UTIL_COEX_DP_OUT] -// #define SL_RAIL_UTIL_COEX_DP_OUT_CHANNEL 3 - -// PRS CH3 on PD12 -// #define SL_RAIL_UTIL_COEX_DP_OUT_PORT gpioPortD -// #define SL_RAIL_UTIL_COEX_DP_OUT_PIN 12 -// [PRS_SL_RAIL_UTIL_COEX_DP_OUT]$ - -// Directional Priority timer module -// SL_RAIL_UTIL_COEX_DP_TIMER -// $[TIMER_SL_RAIL_UTIL_COEX_DP_TIMER] -// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL TIMER1 -// #define SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL_NO 1 -#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL -#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" -#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL - -// #define SL_RAIL_UTIL_COEX_DP_TIMER_CC0_CHANNEL 1 -// [TIMER_SL_RAIL_UTIL_COEX_DP_TIMER]$ -#ifndef SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL -#error "SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL undefined" -#endif //SL_RAIL_UTIL_COEX_DP_TIMER_PERIPHERAL -#endif //SL_RAIL_UTIL_COEX_DP_ENABLED - -#if SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED -// Pin used for RX active signal -// SL_RAIL_UTIL_COEX_RX_ACTIVE -// $[PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE] -// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL 8 - -// PRS CH8 on PD13 -// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT gpioPortD -// #define SL_RAIL_UTIL_COEX_RX_ACTIVE_PIN 13 -// [PRS_SL_RAIL_UTIL_COEX_RX_ACTIVE]$ -#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT -#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT undefined" -#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_PORT -#ifndef SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL -#error "SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL undefined" -#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_CHANNEL -#endif //SL_RAIL_UTIL_COEX_RX_ACTIVE_ENABLED - -#if (SL_RAIL_UTIL_COEX_IEEE802154_SIGNAL_IDENTIFIER_ENABLED || SL_RAIL_UTIL_COEX_BLE_SIGNAL_IDENTIFIER_ENABLED) -// Pin used for WiFi Tx -// SL_RAIL_UTIL_COEX_WIFI_TX -// $[PRS_SL_RAIL_UTIL_COEX_WIFI_TX] -// #define SL_RAIL_UTIL_COEX_WIFI_TX_CHANNEL 4 - -// #define SL_RAIL_UTIL_COEX_WIFI_TX_PORT gpioPortC -// #define SL_RAIL_UTIL_COEX_WIFI_TX_PIN 9 -// [PRS_SL_RAIL_UTIL_COEX_WIFI_TX]$ -#ifndef SL_RAIL_UTIL_COEX_WIFI_TX_PORT -#error "SL_RAIL_UTIL_COEX_WIFI_TX_PORT undefined" -#endif // SL_RAIL_UTIL_COEX_WIFI_TX_PORT -#endif // SL_RAIL_UTIL_COEX_IEEE802154_SIGNAL_IDENTIFIER_ENABLED || SL_RAIL_UTIL_COEX_BLE_SIGNAL_IDENTIFIER_ENABLED - -// <<< sl:end pin_tool >>> - -#endif // SL_RAIL_UTIL_COEX_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_dma_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_dma_config.h deleted file mode 100644 index dcf7171c..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_dma_config.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************//** - * @file - * @brief - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_DMA_CONFIG_H -#define SL_RAIL_UTIL_DMA_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// DMA Configuration -// Allocate DMA channel to RAIL (to decrease channel config switching time) -// Default: 1 -#define SL_RAIL_UTIL_DMA_ENABLE 1 -// Use DMA Driver (i.e., auto-select DMA channel) -// Default: 1 -#define SL_RAIL_UTIL_DMA_DMADRV_ENABLE 1 -// Use Specific DMA Channel (if DMA driver not used) -// <0-16:1> -// Default: 0 -#define SL_RAIL_UTIL_DMA_CHANNEL 0 -// -// - -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_DMA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_ieee802154_fast_channel_switching_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_ieee802154_fast_channel_switching_config.h deleted file mode 100644 index a4470069..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_ieee802154_fast_channel_switching_config.h +++ /dev/null @@ -1,49 +0,0 @@ -/***************************************************************************//** - * @file - * @brief IEEE802.15.4 fast channel switching configuration file. - ******************************************************************************* - * # 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_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H -#define SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H - -#include "rail_features.h" - -#if RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING == 0 -#error "IEEE.802.15.4 RX channel switching unsupported on this platform!" -#endif //RAIL_IEEE802154_SUPPORTS_RX_CHANNEL_SWITCHING - -#define sl_rail_util_ieee802154_is_fast_channel_switching_phy_selected() SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED - -// <<< Use Configuration Wizard in Context Menu >>> -// IEEE802.15.4 Fast Channel Switching Configuration -// Enable fast channel switching -// Default: 1 -#define SL_RAIL_UTIL_IEEE802154_FAST_CHANNEL_SWITCHING_ENABLED 1 -// -// <<< end of configuration section >>> -#endif //SL_RAIL_UITL_IEEE802154_FAST_CHANNEL_SWITCHING_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pa_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pa_config.h deleted file mode 100644 index 65b767f9..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pa_config.h +++ /dev/null @@ -1,81 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Power Amplifier configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PA_CONFIG_H -#define SL_RAIL_UTIL_PA_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// PA configuration - -// Initial PA Power (deci-dBm, 100 = 10.0 dBm) -// Default: 100 -#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100 - -// PA Ramp Time (microseconds) -// <10-10:1> -// Default: 10 -#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10 - -// Milli-volts on PA supply pin (PA_VDD) -// <0-65535:1> -// Default: 3300 -#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300 - -// 2.4 GHz PA Selection -// Highest Possible -// High Power (chip-specific) -// Low Power -// Disable -// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST -#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST - -// Sub-1 GHz PA Selection -// Disable -// Default: RAIL_TX_POWER_MODE_NONE -#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE - -// Header file containing custom PA curves -// Default: "pa_curves_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h" - -// Header file containing PA curve types -// Default: "pa_curve_types_efr32.h" -#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h" - -// Enable PA Calibration -// Default: 0 -#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 0 - -// -// <<< end of configuration section >>> - -#endif // SL_RAIL_UTIL_PA_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pti_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pti_config.h deleted file mode 100644 index 66cf53e3..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_pti_config.h +++ /dev/null @@ -1,62 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Packet Trace Information configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_PTI_CONFIG_H -#define SL_RAIL_UTIL_PTI_CONFIG_H - -#include "rail_types.h" - -// <<< Use Configuration Wizard in Context Menu >>> -// PTI Configuration - -// PTI mode -// UART -// UART onewire -// SPI -// Disabled -// Default: RAIL_PTI_MODE_UART -#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_DISABLED - -// PTI Baud Rate (Hertz) -// <147800-20000000:1> -// Default: 1600000 -#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 1600000 - -// -// <<< end of configuration section >>> - -// <<< sl:start pin_tool >>> -// SL_RAIL_UTIL_PTI -// $[PTI_SL_RAIL_UTIL_PTI] -// [PTI_SL_RAIL_UTIL_PTI]$ - -// <<< sl:end pin_tool >>> - -#endif // SL_RAIL_UTIL_PTI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_rssi_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_rssi_config.h deleted file mode 100644 index 3357199a..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_rssi_config.h +++ /dev/null @@ -1,44 +0,0 @@ -/***************************************************************************//** - * @file - * @brief RSSI configuration header file. - ******************************************************************************* - * # License - * Copyright 2020 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_RAIL_UTIL_RSSI_CONFIG_H -#define SL_RAIL_UTIL_RSSI_CONFIG_H - -// <<< Use Configuration Wizard in Context Menu >>> - -// RSSI Offset Configuration - -// Software RSSI offset value -// Default: 0 -#define SL_RAIL_UTIL_RSSI_OFFSET 0 - -// -// <<< end of configuration section >>> -#endif // SL_RAIL_UTIL_RSSI_CONFIG_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h deleted file mode 100644 index 8bf6f367..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_rail_util_sequencer_config.h +++ /dev/null @@ -1,48 +0,0 @@ -/***************************************************************************//** - * @file - * @brief - ******************************************************************************* - * # 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_RAIL_UTIL_SEQUENCER_H -#define SL_RAIL_UTIL_SEQUENCER_H - -#include "rail.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define SL_RAIL_UTIL_SEQUENCER_RUNTIME_IMAGE_SELECTION 0 - -#define SL_RAIL_UTIL_SEQUENCER_IMAGE RAIL_SEQ_IMAGE_PA_20_DBM - -#ifdef __cplusplus -} -#endif - -#endif // SL_RAIL_UTIL_SEQUENCER_H diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_sleeptimer_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_sleeptimer_config.h deleted file mode 100644 index 8344ef5f..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/sl_sleeptimer_config.h +++ /dev/null @@ -1,82 +0,0 @@ -/***************************************************************************//** - * @file - * @brief Sleep Timer configuration file. - ******************************************************************************* - * # License - * Copyright 2020 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_SLEEPTIMER_CONFIG_H -#define SL_SLEEPTIMER_CONFIG_H - -#define SL_SLEEPTIMER_PERIPHERAL_DEFAULT 0 -#define SL_SLEEPTIMER_PERIPHERAL_RTCC 1 -#define SL_SLEEPTIMER_PERIPHERAL_PRORTC 2 -#define SL_SLEEPTIMER_PERIPHERAL_RTC 3 -#define SL_SLEEPTIMER_PERIPHERAL_SYSRTC 4 -#define SL_SLEEPTIMER_PERIPHERAL_BURTC 5 -#define SL_SLEEPTIMER_PERIPHERAL_WTIMER 6 -#define SL_SLEEPTIMER_PERIPHERAL_TIMER 7 - -// Timer Peripheral Used by Sleeptimer -// Default (auto select) -// RTCC -// Radio internal RTC (PRORTC) -// RTC -// SYSRTC -// Back-Up RTC (BURTC) -// WTIMER -// TIMER -// Selection of the Timer Peripheral Used by the Sleeptimer -#define SL_SLEEPTIMER_PERIPHERAL SL_SLEEPTIMER_PERIPHERAL_DEFAULT - -// TIMER/WTIMER Instance Used by Sleeptimer (not applicable for other peripherals) -// Make sure TIMER instance size is 32bits. Check datasheet for 32bits TIMERs. -// Default: 0 -#define SL_SLEEPTIMER_TIMER_INSTANCE 0 - -// Enable wallclock functionality -// Enable or disable wallclock functionalities (get_time, get_date, etc). -// Default: 0 -#define SL_SLEEPTIMER_WALLCLOCK_CONFIG 0 - -// Timer frequency divider (not applicable for WTIMER/TIMER) -// WTIMER/TIMER peripherals are always prescaled to 1024. -// Default: 1 -#define SL_SLEEPTIMER_FREQ_DIVIDER 1 - -// If Radio internal RTC (PRORTC) HAL is used, determines if it owns the IRQ handler. Enable, if no wireless stack is used. -// Default: 0 -#define SL_SLEEPTIMER_PRORTC_HAL_OWNS_IRQ_HANDLER 0 - -// Enable DEBUGRUN functionality on hardware RTC. -// Default: 0 -#define SL_SLEEPTIMER_DEBUGRUN 0 - -#endif /* SLEEPTIMER_CONFIG_H */ - -// <<< end of configuration section >>> diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/ustimer_config.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/ustimer_config.h deleted file mode 100644 index b50a57f7..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/config/ustimer_config.h +++ /dev/null @@ -1,55 +0,0 @@ -/***************************************************************************//** - * @file - * @brief USTIMER configuration file. - ******************************************************************************* - * # License - * Copyright 2018 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 __SILICON_LABS_USTIMER_CONFIG_H__ -#define __SILICON_LABS_USTIMER_CONFIG_H__ - -/***************************************************************************//** - * @addtogroup ustimer - * @{ - ******************************************************************************/ - -// <<< sl:start pin_tool >>> -// USTIMER -// $[TIMER_USTIMER] -#ifndef USTIMER_PERIPHERAL -#define USTIMER_PERIPHERAL TIMER0 -#endif -#ifndef USTIMER_PERIPHERAL_NO -#define USTIMER_PERIPHERAL_NO 0 -#endif -// [TIMER_USTIMER]$ - -// <<< sl:end pin_tool >>> - -#define USTIMER_TIMER USTIMER_PERIPHERAL_NO - -/** @} (end addtogroup ustimer) */ - -#endif /* __SILICON_LABS_USTIMER_CONFIG_H__ */ diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/linker_options/ot-rtos-wrapper-options b/src/rcp-uart-802154-blehci_MGM240PA32VNN/linker_options/ot-rtos-wrapper-options deleted file mode 100644 index 547da199..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/linker_options/ot-rtos-wrapper-options +++ /dev/null @@ -1,848 +0,0 @@ --Xlinker --wrap=otBackboneRouterGetPrimary --Xlinker --wrap=otBackboneRouterGetState --Xlinker --wrap=otBackboneRouterGetDomainPrefix --Xlinker --wrap=otBackboneRouterGetNdProxyInfo --Xlinker --wrap=otBackboneRouterMulticastListenerAdd --Xlinker --wrap=otBackboneRouterMulticastListenerGetNext --Xlinker --wrap=otBackboneRouterRegister --Xlinker --wrap=otBackboneRouterSetConfig --Xlinker --wrap=otBackboneRouterGetRegistrationJitter --Xlinker --wrap=otBackboneRouterConfigNextDuaRegistrationResponse --Xlinker --wrap=otBackboneRouterConfigNextMulticastListenerRegistrationResponse --Xlinker --wrap=otBackboneRouterGetConfig --Xlinker --wrap=otBackboneRouterMulticastListenerClear --Xlinker --wrap=otBackboneRouterSetDomainPrefixCallback --Xlinker --wrap=otBackboneRouterSetEnabled --Xlinker --wrap=otBackboneRouterSetMulticastListenerCallback --Xlinker --wrap=otBackboneRouterSetNdProxyCallback --Xlinker --wrap=otBackboneRouterSetRegistrationJitter --Xlinker --wrap=otBleSecureIsCommandClassAuthorized --Xlinker --wrap=otBleSecureIsConnected --Xlinker --wrap=otBleSecureIsConnectionActive --Xlinker --wrap=otBleSecureIsTcatEnabled --Xlinker --wrap=otBleSecureConnect --Xlinker --wrap=otBleSecureFlush --Xlinker --wrap=otBleSecureGetPeerCertificateBase64 --Xlinker --wrap=otBleSecureGetPeerSubjectAttributeByOid --Xlinker --wrap=otBleSecureGetThreadAttributeFromOwnCertificate --Xlinker --wrap=otBleSecureGetThreadAttributeFromPeerCertificate --Xlinker --wrap=otBleSecureSend --Xlinker --wrap=otBleSecureSendApplicationTlv --Xlinker --wrap=otBleSecureSendMessage --Xlinker --wrap=otBleSecureStart --Xlinker --wrap=otBleSecureTcatStart --Xlinker --wrap=otBleSecureDisconnect --Xlinker --wrap=otBleSecureSetCaCertificateChain --Xlinker --wrap=otBleSecureSetCertificate --Xlinker --wrap=otBleSecureSetPsk --Xlinker --wrap=otBleSecureSetSslAuthMode --Xlinker --wrap=otBleSecureStop --Xlinker --wrap=otBorderAgentIsEphemeralKeyActive --Xlinker --wrap=otBorderAgentGetState --Xlinker --wrap=otBorderAgentGetId --Xlinker --wrap=otBorderAgentSetEphemeralKey --Xlinker --wrap=otBorderAgentSetId --Xlinker --wrap=otBorderAgentGetUdpPort --Xlinker --wrap=otBorderAgentClearEphemeralKey --Xlinker --wrap=otBorderAgentSetEphemeralKeyCallback --Xlinker --wrap=otBorderRouterAddOnMeshPrefix --Xlinker --wrap=otBorderRouterAddRoute --Xlinker --wrap=otBorderRouterGetNetData --Xlinker --wrap=otBorderRouterGetNextOnMeshPrefix --Xlinker --wrap=otBorderRouterGetNextRoute --Xlinker --wrap=otBorderRouterRegister --Xlinker --wrap=otBorderRouterRemoveOnMeshPrefix --Xlinker --wrap=otBorderRouterRemoveRoute --Xlinker --wrap=otBorderRouterSetNetDataFullCallback --Xlinker --wrap=otBorderRoutingDhcp6PdGetState --Xlinker --wrap=otBorderRoutingGetState --Xlinker --wrap=otBorderRoutingGetFavoredNat64Prefix --Xlinker --wrap=otBorderRoutingGetFavoredOmrPrefix --Xlinker --wrap=otBorderRoutingGetFavoredOnLinkPrefix --Xlinker --wrap=otBorderRoutingGetNat64Prefix --Xlinker --wrap=otBorderRoutingGetNextPrefixTableEntry --Xlinker --wrap=otBorderRoutingGetNextRouterEntry --Xlinker --wrap=otBorderRoutingGetOmrPrefix --Xlinker --wrap=otBorderRoutingGetOnLinkPrefix --Xlinker --wrap=otBorderRoutingGetPdOmrPrefix --Xlinker --wrap=otBorderRoutingGetPdProcessedRaInfo --Xlinker --wrap=otBorderRoutingInit --Xlinker --wrap=otBorderRoutingSetEnabled --Xlinker --wrap=otBorderRoutingSetExtraRouterAdvertOptions --Xlinker --wrap=otBorderRoutingGetRouteInfoOptionPreference --Xlinker --wrap=otBorderRoutingGetRoutePreference --Xlinker --wrap=otBorderRoutingClearRouteInfoOptionPreference --Xlinker --wrap=otBorderRoutingClearRoutePreference --Xlinker --wrap=otBorderRoutingDhcp6PdSetEnabled --Xlinker --wrap=otBorderRoutingDhcp6PdSetRequestCallback --Xlinker --wrap=otBorderRoutingPrefixTableInitIterator --Xlinker --wrap=otBorderRoutingSetRouteInfoOptionPreference --Xlinker --wrap=otBorderRoutingSetRoutePreference --Xlinker --wrap=otChannelManagerGetAutoChannelSelectionEnabled --Xlinker --wrap=otChannelManagerGetAutoCslChannelSelectionEnabled --Xlinker --wrap=otChannelManagerRequestChannelSelect --Xlinker --wrap=otChannelManagerRequestCslChannelSelect --Xlinker --wrap=otChannelManagerSetAutoChannelSelectionInterval --Xlinker --wrap=otChannelManagerSetDelay --Xlinker --wrap=otChannelManagerGetCcaFailureRateThreshold --Xlinker --wrap=otChannelManagerGetDelay --Xlinker --wrap=otChannelManagerGetAutoChannelSelectionInterval --Xlinker --wrap=otChannelManagerGetFavoredChannels --Xlinker --wrap=otChannelManagerGetSupportedChannels --Xlinker --wrap=otChannelManagerGetRequestedChannel --Xlinker --wrap=otChannelManagerRequestChannelChange --Xlinker --wrap=otChannelManagerSetAutoChannelSelectionEnabled --Xlinker --wrap=otChannelManagerSetAutoCslChannelSelectionEnabled --Xlinker --wrap=otChannelManagerSetCcaFailureRateThreshold --Xlinker --wrap=otChannelManagerSetFavoredChannels --Xlinker --wrap=otChannelManagerSetSupportedChannels --Xlinker --wrap=otChannelMonitorIsEnabled --Xlinker --wrap=otChannelMonitorGetRssiThreshold --Xlinker --wrap=otChannelMonitorSetEnabled --Xlinker --wrap=otChannelMonitorGetChannelOccupancy --Xlinker --wrap=otChannelMonitorGetSampleCount --Xlinker --wrap=otChannelMonitorGetSampleInterval --Xlinker --wrap=otChannelMonitorGetSampleWindow --Xlinker --wrap=otChildSupervisionGetCheckFailureCounter --Xlinker --wrap=otChildSupervisionGetCheckTimeout --Xlinker --wrap=otChildSupervisionGetInterval --Xlinker --wrap=otChildSupervisionResetCheckFailureCounter --Xlinker --wrap=otChildSupervisionSetCheckTimeout --Xlinker --wrap=otChildSupervisionSetInterval --Xlinker --wrap=otCliSetUserCommands --Xlinker --wrap=otCliInit --Xlinker --wrap=otCliInputLine --Xlinker --wrap=CliUartOutput --Xlinker --wrap=otCoapMessageCodeToString --Xlinker --wrap=otCoapOptionIteratorGetFirstOption --Xlinker --wrap=otCoapOptionIteratorGetFirstOptionMatching --Xlinker --wrap=otCoapOptionIteratorGetNextOption --Xlinker --wrap=otCoapOptionIteratorGetNextOptionMatching --Xlinker --wrap=otCoapMessageGetToken --Xlinker --wrap=otCoapMessageGetCode --Xlinker --wrap=otCoapMessageGetType --Xlinker --wrap=otCoapMessageAppendBlock1Option --Xlinker --wrap=otCoapMessageAppendBlock2Option --Xlinker --wrap=otCoapMessageAppendContentFormatOption --Xlinker --wrap=otCoapMessageAppendMaxAgeOption --Xlinker --wrap=otCoapMessageAppendObserveOption --Xlinker --wrap=otCoapMessageAppendOption --Xlinker --wrap=otCoapMessageAppendProxyUriOption --Xlinker --wrap=otCoapMessageAppendUintOption --Xlinker --wrap=otCoapMessageAppendUriPathOptions --Xlinker --wrap=otCoapMessageAppendUriQueryOption --Xlinker --wrap=otCoapMessageInitResponse --Xlinker --wrap=otCoapMessageSetPayloadMarker --Xlinker --wrap=otCoapMessageSetToken --Xlinker --wrap=otCoapOptionIteratorGetOptionUintValue --Xlinker --wrap=otCoapOptionIteratorGetOptionValue --Xlinker --wrap=otCoapOptionIteratorInit --Xlinker --wrap=otCoapSendRequestBlockWiseWithParameters --Xlinker --wrap=otCoapSendRequestWithParameters --Xlinker --wrap=otCoapSendResponseBlockWiseWithParameters --Xlinker --wrap=otCoapSendResponseWithParameters --Xlinker --wrap=otCoapStart --Xlinker --wrap=otCoapStop --Xlinker --wrap=otCoapNewMessage --Xlinker --wrap=otCoapBlockSizeFromExponent --Xlinker --wrap=otCoapMessageGetMessageId --Xlinker --wrap=otCoapMessageGetTokenLength --Xlinker --wrap=otCoapAddBlockWiseResource --Xlinker --wrap=otCoapAddResource --Xlinker --wrap=otCoapMessageGenerateToken --Xlinker --wrap=otCoapMessageInit --Xlinker --wrap=otCoapMessageSetCode --Xlinker --wrap=otCoapRemoveBlockWiseResource --Xlinker --wrap=otCoapRemoveResource --Xlinker --wrap=otCoapSetDefaultHandler --Xlinker --wrap=otCoapSecureIsClosed --Xlinker --wrap=otCoapSecureIsConnected --Xlinker --wrap=otCoapSecureIsConnectionActive --Xlinker --wrap=otCoapSecureConnect --Xlinker --wrap=otCoapSecureGetPeerCertificateBase64 --Xlinker --wrap=otCoapSecureSendRequest --Xlinker --wrap=otCoapSecureSendRequestBlockWise --Xlinker --wrap=otCoapSecureSendResponse --Xlinker --wrap=otCoapSecureSendResponseBlockWise --Xlinker --wrap=otCoapSecureStart --Xlinker --wrap=otCoapSecureStartWithMaxConnAttempts --Xlinker --wrap=otCoapSecureAddBlockWiseResource --Xlinker --wrap=otCoapSecureAddResource --Xlinker --wrap=otCoapSecureDisconnect --Xlinker --wrap=otCoapSecureRemoveBlockWiseResource --Xlinker --wrap=otCoapSecureRemoveResource --Xlinker --wrap=otCoapSecureSetCaCertificateChain --Xlinker --wrap=otCoapSecureSetCertificate --Xlinker --wrap=otCoapSecureSetClientConnectedCallback --Xlinker --wrap=otCoapSecureSetDefaultHandler --Xlinker --wrap=otCoapSecureSetPsk --Xlinker --wrap=otCoapSecureSetSslAuthMode --Xlinker --wrap=otCoapSecureStop --Xlinker --wrap=otCommissionerGetId --Xlinker --wrap=otCommissionerGetProvisioningUrl --Xlinker --wrap=otCommissionerGetState --Xlinker --wrap=otCommissionerAddJoiner --Xlinker --wrap=otCommissionerAddJoinerWithDiscerner --Xlinker --wrap=otCommissionerAnnounceBegin --Xlinker --wrap=otCommissionerEnergyScan --Xlinker --wrap=otCommissionerGetNextJoinerInfo --Xlinker --wrap=otCommissionerPanIdQuery --Xlinker --wrap=otCommissionerRemoveJoiner --Xlinker --wrap=otCommissionerRemoveJoinerWithDiscerner --Xlinker --wrap=otCommissionerSendMgmtGet --Xlinker --wrap=otCommissionerSendMgmtSet --Xlinker --wrap=otCommissionerSetId --Xlinker --wrap=otCommissionerSetProvisioningUrl --Xlinker --wrap=otCommissionerStart --Xlinker --wrap=otCommissionerStop --Xlinker --wrap=otCommissionerGetSessionId --Xlinker --wrap=otCryptoAesCcm --Xlinker --wrap=otCryptoHmacSha256 --Xlinker --wrap=otDatasetIsCommissioned --Xlinker --wrap=otDatasetGeneratePskc --Xlinker --wrap=otDatasetGetActive --Xlinker --wrap=otDatasetGetActiveTlvs --Xlinker --wrap=otDatasetGetPending --Xlinker --wrap=otDatasetGetPendingTlvs --Xlinker --wrap=otDatasetParseTlvs --Xlinker --wrap=otDatasetSendMgmtActiveGet --Xlinker --wrap=otDatasetSendMgmtActiveSet --Xlinker --wrap=otDatasetSendMgmtPendingGet --Xlinker --wrap=otDatasetSendMgmtPendingSet --Xlinker --wrap=otDatasetSetActive --Xlinker --wrap=otDatasetSetActiveTlvs --Xlinker --wrap=otDatasetSetPending --Xlinker --wrap=otDatasetSetPendingTlvs --Xlinker --wrap=otDatasetUpdateTlvs --Xlinker --wrap=otNetworkNameFromString --Xlinker --wrap=otDatasetConvertToTlvs --Xlinker --wrap=otDatasetCreateNewNetwork --Xlinker --wrap=otDatasetSetDelayTimerMinimal --Xlinker --wrap=otDatasetGetDelayTimerMinimal --Xlinker --wrap=otDatasetUpdaterIsUpdateOngoing --Xlinker --wrap=otDatasetUpdaterRequestUpdate --Xlinker --wrap=otDatasetUpdaterCancelUpdate --Xlinker --wrap=otDiagIsEnabled --Xlinker --wrap=otDiagProcessCmd --Xlinker --wrap=otDiagProcessCmdLine --Xlinker --wrap=otDnsIsNameCompressionEnabled --Xlinker --wrap=otDnsEncodeTxtData --Xlinker --wrap=otDnsGetNextTxtEntry --Xlinker --wrap=otDnsInitTxtEntryIterator --Xlinker --wrap=otDnsSetNameCompressionEnabled --Xlinker --wrap=otDnsClientGetDefaultConfig --Xlinker --wrap=otDnsAddressResponseGetAddress --Xlinker --wrap=otDnsAddressResponseGetHostName --Xlinker --wrap=otDnsBrowseResponseGetHostAddress --Xlinker --wrap=otDnsBrowseResponseGetServiceInfo --Xlinker --wrap=otDnsBrowseResponseGetServiceInstance --Xlinker --wrap=otDnsBrowseResponseGetServiceName --Xlinker --wrap=otDnsClientBrowse --Xlinker --wrap=otDnsClientResolveAddress --Xlinker --wrap=otDnsClientResolveIp4Address --Xlinker --wrap=otDnsClientResolveService --Xlinker --wrap=otDnsClientResolveServiceAndHostAddress --Xlinker --wrap=otDnsServiceResponseGetHostAddress --Xlinker --wrap=otDnsServiceResponseGetServiceInfo --Xlinker --wrap=otDnsServiceResponseGetServiceName --Xlinker --wrap=otDnsClientSetDefaultConfig --Xlinker --wrap=otDnssdUpstreamQueryIsEnabled --Xlinker --wrap=otDnssdGetCounters --Xlinker --wrap=otDnssdGetNextQuery --Xlinker --wrap=otDnssdGetQueryTypeAndName --Xlinker --wrap=otDnssdQueryHandleDiscoveredHost --Xlinker --wrap=otDnssdQueryHandleDiscoveredServiceInstance --Xlinker --wrap=otDnssdQuerySetCallbacks --Xlinker --wrap=otDnssdUpstreamQuerySetEnabled --Xlinker --wrap=otThreadErrorToString --Xlinker --wrap=otHeapCAlloc --Xlinker --wrap=otHeapFree --Xlinker --wrap=otHistoryTrackerIterateExternalRouteHistory --Xlinker --wrap=otHistoryTrackerIterateRxHistory --Xlinker --wrap=otHistoryTrackerIterateTxHistory --Xlinker --wrap=otHistoryTrackerIterateMulticastAddressHistory --Xlinker --wrap=otHistoryTrackerIterateNeighborHistory --Xlinker --wrap=otHistoryTrackerIterateNetInfoHistory --Xlinker --wrap=otHistoryTrackerIterateOnMeshPrefixHistory --Xlinker --wrap=otHistoryTrackerIterateRouterHistory --Xlinker --wrap=otHistoryTrackerIterateUnicastAddressHistory --Xlinker --wrap=otHistoryTrackerEntryAgeToString --Xlinker --wrap=otHistoryTrackerInitIterator --Xlinker --wrap=otIcmp6RegisterHandler --Xlinker --wrap=otIcmp6SendEchoRequest --Xlinker --wrap=otIcmp6GetEchoMode --Xlinker --wrap=otIcmp6SetEchoMode --Xlinker --wrap=otInstanceIsInitialized --Xlinker --wrap=otGetRadioVersionString --Xlinker --wrap=otGetVersionString --Xlinker --wrap=otInstanceErasePersistentInfo --Xlinker --wrap=otInstanceResetToBootloader --Xlinker --wrap=otSetStateChangedCallback --Xlinker --wrap=otInstanceInit --Xlinker --wrap=otInstanceInitMultiple --Xlinker --wrap=otInstanceInitSingle --Xlinker --wrap=otInstanceGetId --Xlinker --wrap=otInstanceGetUptime --Xlinker --wrap=otInstanceFactoryReset --Xlinker --wrap=otInstanceFinalize --Xlinker --wrap=otInstanceGetUptimeAsString --Xlinker --wrap=otInstanceReset --Xlinker --wrap=otInstanceResetRadioStack --Xlinker --wrap=otRemoveStateChangeCallback --Xlinker --wrap=otIp6ArePrefixesEqual --Xlinker --wrap=otIp6HasUnicastAddress --Xlinker --wrap=otIp6IsAddressEqual --Xlinker --wrap=otIp6IsAddressUnspecified --Xlinker --wrap=otIp6IsEnabled --Xlinker --wrap=otIp6IsMulticastPromiscuousEnabled --Xlinker --wrap=otIp6IsReceiveFilterEnabled --Xlinker --wrap=otIp6IsSlaacEnabled --Xlinker --wrap=otIp6ProtoToString --Xlinker --wrap=otIp6GetBorderRoutingCounters --Xlinker --wrap=otIp6GetUnicastAddresses --Xlinker --wrap=otIp6GetMulticastAddresses --Xlinker --wrap=otIp6GetUnsecurePorts --Xlinker --wrap=otIp6AddUnicastAddress --Xlinker --wrap=otIp6AddUnsecurePort --Xlinker --wrap=otIp6AddressFromString --Xlinker --wrap=otIp6PrefixFromString --Xlinker --wrap=otIp6RegisterMulticastListeners --Xlinker --wrap=otIp6RemoveUnicastAddress --Xlinker --wrap=otIp6RemoveUnsecurePort --Xlinker --wrap=otIp6SelectSourceAddress --Xlinker --wrap=otIp6Send --Xlinker --wrap=otIp6SetEnabled --Xlinker --wrap=otIp6SetMeshLocalIid --Xlinker --wrap=otIp6SubscribeMulticastAddress --Xlinker --wrap=otIp6UnsubscribeMulticastAddress --Xlinker --wrap=otIp6NewMessage --Xlinker --wrap=otIp6NewMessageFromBuffer --Xlinker --wrap=otIp6PrefixMatch --Xlinker --wrap=otIp6AddressToString --Xlinker --wrap=otIp6GetPrefix --Xlinker --wrap=otIp6PrefixToString --Xlinker --wrap=otIp6RemoveAllUnsecurePorts --Xlinker --wrap=otIp6ResetBorderRoutingCounters --Xlinker --wrap=otIp6SetAddressCallback --Xlinker --wrap=otIp6SetMulticastPromiscuousEnabled --Xlinker --wrap=otIp6SetReceiveCallback --Xlinker --wrap=otIp6SetReceiveFilterEnabled --Xlinker --wrap=otIp6SetSlaacEnabled --Xlinker --wrap=otIp6SetSlaacPrefixFilter --Xlinker --wrap=otIp6SockAddrToString --Xlinker --wrap=otJamDetectionGetState --Xlinker --wrap=otJamDetectionIsEnabled --Xlinker --wrap=otJamDetectionGetRssiThreshold --Xlinker --wrap=otJamDetectionSetBusyPeriod --Xlinker --wrap=otJamDetectionSetRssiThreshold --Xlinker --wrap=otJamDetectionSetWindow --Xlinker --wrap=otJamDetectionStart --Xlinker --wrap=otJamDetectionStop --Xlinker --wrap=otJamDetectionGetHistoryBitmap --Xlinker --wrap=otJamDetectionGetBusyPeriod --Xlinker --wrap=otJamDetectionGetWindow --Xlinker --wrap=otJoinerStateToString --Xlinker --wrap=otJoinerGetId --Xlinker --wrap=otJoinerGetDiscerner --Xlinker --wrap=otJoinerSetDiscerner --Xlinker --wrap=otJoinerStart --Xlinker --wrap=otJoinerGetState --Xlinker --wrap=otJoinerStop --Xlinker --wrap=otLinkIsActiveScanInProgress --Xlinker --wrap=otLinkIsCslEnabled --Xlinker --wrap=otLinkIsCslSupported --Xlinker --wrap=otLinkIsEnabled --Xlinker --wrap=otLinkIsEnergyScanInProgress --Xlinker --wrap=otLinkIsInTransmitState --Xlinker --wrap=otLinkIsPromiscuous --Xlinker --wrap=otLinkIsRadioFilterEnabled --Xlinker --wrap=otLinkGetExtendedAddress --Xlinker --wrap=otLinkGetCounters --Xlinker --wrap=otLinkGetTxDirectRetrySuccessHistogram --Xlinker --wrap=otLinkGetTxIndirectRetrySuccessHistogram --Xlinker --wrap=otLinkConvertLinkQualityToRss --Xlinker --wrap=otLinkActiveScan --Xlinker --wrap=otLinkEnergyScan --Xlinker --wrap=otLinkFilterAddAddress --Xlinker --wrap=otLinkFilterAddRssIn --Xlinker --wrap=otLinkFilterGetNextAddress --Xlinker --wrap=otLinkFilterGetNextRssIn --Xlinker --wrap=otLinkGetRegion --Xlinker --wrap=otLinkSendDataRequest --Xlinker --wrap=otLinkSendEmptyData --Xlinker --wrap=otLinkSetChannel --Xlinker --wrap=otLinkSetCslChannel --Xlinker --wrap=otLinkSetCslPeriod --Xlinker --wrap=otLinkSetCslTimeout --Xlinker --wrap=otLinkSetEnabled --Xlinker --wrap=otLinkSetExtendedAddress --Xlinker --wrap=otLinkSetPanId --Xlinker --wrap=otLinkSetPollPeriod --Xlinker --wrap=otLinkSetPromiscuous --Xlinker --wrap=otLinkSetRegion --Xlinker --wrap=otLinkSetSupportedChannelMask --Xlinker --wrap=otLinkFilterGetAddressMode --Xlinker --wrap=otLinkGetPanId --Xlinker --wrap=otLinkGetShortAddress --Xlinker --wrap=otLinkGetCcaFailureRate --Xlinker --wrap=otLinkGetCslPeriod --Xlinker --wrap=otLinkGetCslTimeout --Xlinker --wrap=otLinkGetPollPeriod --Xlinker --wrap=otLinkGetSupportedChannelMask --Xlinker --wrap=otLinkConvertRssToLinkQuality --Xlinker --wrap=otLinkGetChannel --Xlinker --wrap=otLinkGetCslChannel --Xlinker --wrap=otLinkGetMaxFrameRetriesDirect --Xlinker --wrap=otLinkGetMaxFrameRetriesIndirect --Xlinker --wrap=otLinkFilterClearAddresses --Xlinker --wrap=otLinkFilterClearAllRssIn --Xlinker --wrap=otLinkFilterClearDefaultRssIn --Xlinker --wrap=otLinkFilterRemoveAddress --Xlinker --wrap=otLinkFilterRemoveRssIn --Xlinker --wrap=otLinkFilterSetAddressMode --Xlinker --wrap=otLinkFilterSetDefaultRssIn --Xlinker --wrap=otLinkGetFactoryAssignedIeeeEui64 --Xlinker --wrap=otLinkResetCounters --Xlinker --wrap=otLinkResetTxRetrySuccessHistogram --Xlinker --wrap=otLinkSetMaxFrameRetriesDirect --Xlinker --wrap=otLinkSetMaxFrameRetriesIndirect --Xlinker --wrap=otLinkSetPcapCallback --Xlinker --wrap=otLinkSetRadioFilterEnabled --Xlinker --wrap=otLinkMetricsManagerIsEnabled --Xlinker --wrap=otLinkMetricsConfigEnhAckProbing --Xlinker --wrap=otLinkMetricsConfigForwardTrackingSeries --Xlinker --wrap=otLinkMetricsManagerGetMetricsValueByExtAddr --Xlinker --wrap=otLinkMetricsQuery --Xlinker --wrap=otLinkMetricsSendLinkProbe --Xlinker --wrap=otLinkMetricsManagerSetEnabled --Xlinker --wrap=otLinkRawGetPromiscuous --Xlinker --wrap=otLinkRawIsEnabled --Xlinker --wrap=otLinkRawGetRssi --Xlinker --wrap=otLinkRawEnergyScan --Xlinker --wrap=otLinkRawReceive --Xlinker --wrap=otLinkRawSetMacFrameCounter --Xlinker --wrap=otLinkRawSetMacFrameCounterIfLarger --Xlinker --wrap=otLinkRawSetMacKey --Xlinker --wrap=otLinkRawSetPromiscuous --Xlinker --wrap=otLinkRawSetReceiveDone --Xlinker --wrap=otLinkRawSetShortAddress --Xlinker --wrap=otLinkRawSleep --Xlinker --wrap=otLinkRawSrcMatchAddExtEntry --Xlinker --wrap=otLinkRawSrcMatchAddShortEntry --Xlinker --wrap=otLinkRawSrcMatchClearExtEntries --Xlinker --wrap=otLinkRawSrcMatchClearExtEntry --Xlinker --wrap=otLinkRawSrcMatchClearShortEntries --Xlinker --wrap=otLinkRawSrcMatchClearShortEntry --Xlinker --wrap=otLinkRawSrcMatchEnable --Xlinker --wrap=otLinkRawTransmit --Xlinker --wrap=otLinkRawGetCaps --Xlinker --wrap=otLinkRawGetTransmitBuffer --Xlinker --wrap=otLinkRawGetRadioTime --Xlinker --wrap=otLoggingSetLevel --Xlinker --wrap=otLoggingGetLevel --Xlinker --wrap=otMdnsIsEnabled --Xlinker --wrap=otMdnsIsQuestionUnicastAllowed --Xlinker --wrap=otMdnsGetNextHost --Xlinker --wrap=otMdnsGetNextKey --Xlinker --wrap=otMdnsGetNextService --Xlinker --wrap=otMdnsRegisterHost --Xlinker --wrap=otMdnsRegisterKey --Xlinker --wrap=otMdnsRegisterService --Xlinker --wrap=otMdnsSetEnabled --Xlinker --wrap=otMdnsStartBrowser --Xlinker --wrap=otMdnsStartIp4AddressResolver --Xlinker --wrap=otMdnsStartIp6AddressResolver --Xlinker --wrap=otMdnsStartSrvResolver --Xlinker --wrap=otMdnsStartTxtResolver --Xlinker --wrap=otMdnsStopBrowser --Xlinker --wrap=otMdnsStopIp4AddressResolver --Xlinker --wrap=otMdnsStopIp6AddressResolver --Xlinker --wrap=otMdnsStopSrvResolver --Xlinker --wrap=otMdnsStopTxtResolver --Xlinker --wrap=otMdnsUnregisterHost --Xlinker --wrap=otMdnsUnregisterKey --Xlinker --wrap=otMdnsUnregisterService --Xlinker --wrap=otMdnsAllocateIterator --Xlinker --wrap=otMdnsFreeIterator --Xlinker --wrap=otMdnsSetConflictCallback --Xlinker --wrap=otMdnsSetQuestionUnicastAllowed --Xlinker --wrap=otMeshDiagDiscoverTopology --Xlinker --wrap=otMeshDiagGetNextChildInfo --Xlinker --wrap=otMeshDiagGetNextIp6Address --Xlinker --wrap=otMeshDiagQueryChildTable --Xlinker --wrap=otMeshDiagQueryChildrenIp6Addrs --Xlinker --wrap=otMeshDiagQueryRouterNeighborTable --Xlinker --wrap=otMeshDiagCancel --Xlinker --wrap=otMessageIsLinkSecurityEnabled --Xlinker --wrap=otMessageIsLoopbackToHostAllowed --Xlinker --wrap=otMessageIsMulticastLoopEnabled --Xlinker --wrap=otMessageWrite --Xlinker --wrap=otMessageGetRss --Xlinker --wrap=otMessageAppend --Xlinker --wrap=otMessageGetThreadLinkInfo --Xlinker --wrap=otMessageSetLength --Xlinker --wrap=otMessageQueueGetHead --Xlinker --wrap=otMessageQueueGetNext --Xlinker --wrap=otMessageGetOrigin --Xlinker --wrap=otMessageGetLength --Xlinker --wrap=otMessageGetOffset --Xlinker --wrap=otMessageRead --Xlinker --wrap=otMessageFree --Xlinker --wrap=otMessageGetBufferInfo --Xlinker --wrap=otMessageQueueDequeue --Xlinker --wrap=otMessageQueueEnqueue --Xlinker --wrap=otMessageQueueEnqueueAtHead --Xlinker --wrap=otMessageQueueInit --Xlinker --wrap=otMessageResetBufferInfo --Xlinker --wrap=otMessageSetDirectTransmission --Xlinker --wrap=otMessageSetLoopbackToHostAllowed --Xlinker --wrap=otMessageSetMulticastLoopEnabled --Xlinker --wrap=otMessageSetOffset --Xlinker --wrap=otMessageSetOrigin --Xlinker --wrap=otMultiRadioGetNeighborInfo --Xlinker --wrap=otIp4IsAddressEqual --Xlinker --wrap=otIp4AddressFromString --Xlinker --wrap=otIp4CidrFromString --Xlinker --wrap=otIp4FromIp4MappedIp6Address --Xlinker --wrap=otNat64GetCidr --Xlinker --wrap=otNat64GetNextAddressMapping --Xlinker --wrap=otNat64Send --Xlinker --wrap=otNat64SetIp4Cidr --Xlinker --wrap=otNat64SynthesizeIp6Address --Xlinker --wrap=otIp4NewMessage --Xlinker --wrap=otNat64GetPrefixManagerState --Xlinker --wrap=otNat64GetTranslatorState --Xlinker --wrap=otIp4AddressToString --Xlinker --wrap=otIp4CidrToString --Xlinker --wrap=otIp4ExtractFromIp6Address --Xlinker --wrap=otIp4ToIp4MappedIp6Address --Xlinker --wrap=otNat64GetCounters --Xlinker --wrap=otNat64GetErrorCounters --Xlinker --wrap=otNat64InitAddressMappingIterator --Xlinker --wrap=otNat64SetEnabled --Xlinker --wrap=otNat64SetReceiveIp4Callback --Xlinker --wrap=otNcpStreamWrite --Xlinker --wrap=otNcpHdlcInit --Xlinker --wrap=otNcpHdlcInitMulti --Xlinker --wrap=otNcpHdlcReceive --Xlinker --wrap=otNcpHdlcSendDone --Xlinker --wrap=otNcpPlatLogv --Xlinker --wrap=otNcpRegisterPeekPokeDelegates --Xlinker --wrap=otNcpSpiInit --Xlinker --wrap=otNetDataContainsOmrPrefix --Xlinker --wrap=otNetDataGet --Xlinker --wrap=otNetDataGetNextLowpanContextInfo --Xlinker --wrap=otNetDataGetNextOnMeshPrefix --Xlinker --wrap=otNetDataGetNextRoute --Xlinker --wrap=otNetDataGetNextService --Xlinker --wrap=otNetDataSteeringDataCheckJoiner --Xlinker --wrap=otNetDataSteeringDataCheckJoinerWithDiscerner --Xlinker --wrap=otNetDataGetLength --Xlinker --wrap=otNetDataGetMaxLength --Xlinker --wrap=otNetDataGetStableVersion --Xlinker --wrap=otNetDataGetVersion --Xlinker --wrap=otNetDataGetCommissioningDataset --Xlinker --wrap=otNetDataResetMaxLength --Xlinker --wrap=otNetDataIsDnsSrpServiceAdded --Xlinker --wrap=otNetDataIsPrefixAdded --Xlinker --wrap=otNetDataPublishExternalRoute --Xlinker --wrap=otNetDataPublishOnMeshPrefix --Xlinker --wrap=otNetDataReplacePublishedExternalRoute --Xlinker --wrap=otNetDataUnpublishPrefix --Xlinker --wrap=otNetDataPublishDnsSrpServiceAnycast --Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicast --Xlinker --wrap=otNetDataPublishDnsSrpServiceUnicastMeshLocalEid --Xlinker --wrap=otNetDataSetDnsSrpServicePublisherCallback --Xlinker --wrap=otNetDataSetPrefixPublisherCallback --Xlinker --wrap=otNetDataUnpublishDnsSrpService --Xlinker --wrap=otThreadGetVendorAppUrl --Xlinker --wrap=otThreadGetVendorModel --Xlinker --wrap=otThreadGetVendorName --Xlinker --wrap=otThreadGetVendorSwVersion --Xlinker --wrap=otThreadGetNextDiagnosticTlv --Xlinker --wrap=otThreadSendDiagnosticGet --Xlinker --wrap=otThreadSendDiagnosticReset --Xlinker --wrap=otThreadSetVendorAppUrl --Xlinker --wrap=otThreadSetVendorModel --Xlinker --wrap=otThreadSetVendorName --Xlinker --wrap=otThreadSetVendorSwVersion --Xlinker --wrap=otNetworkTimeSetSyncPeriod --Xlinker --wrap=otNetworkTimeSetXtalThreshold --Xlinker --wrap=otNetworkTimeGet --Xlinker --wrap=otNetworkTimeGetSyncPeriod --Xlinker --wrap=otNetworkTimeGetXtalThreshold --Xlinker --wrap=otNetworkTimeSyncSetCallback --Xlinker --wrap=otPingSenderPing --Xlinker --wrap=otPingSenderStop --Xlinker --wrap=otRadioTimeStatsGet --Xlinker --wrap=otRadioTimeStatsReset --Xlinker --wrap=otRandomCryptoFillBuffer --Xlinker --wrap=otRandomNonCryptoGetUint16 --Xlinker --wrap=otRandomNonCryptoGetUint16InRange --Xlinker --wrap=otRandomNonCryptoAddJitter --Xlinker --wrap=otRandomNonCryptoGetUint32 --Xlinker --wrap=otRandomNonCryptoGetUint32InRange --Xlinker --wrap=otRandomNonCryptoGetUint8 --Xlinker --wrap=otRandomNonCryptoGetUint8InRange --Xlinker --wrap=otRandomNonCryptoFillBuffer --Xlinker --wrap=otServerAddService --Xlinker --wrap=otServerGetNetDataLocal --Xlinker --wrap=otServerGetNextService --Xlinker --wrap=otServerRegister --Xlinker --wrap=otServerRemoveService --Xlinker --wrap=otSntpClientQuery --Xlinker --wrap=otSntpClientSetUnixEra --Xlinker --wrap=otSrpClientIsAutoStartModeEnabled --Xlinker --wrap=otSrpClientIsRunning --Xlinker --wrap=otSrpClientIsServiceKeyRecordEnabled --Xlinker --wrap=otSrpClientGetDomainName --Xlinker --wrap=otSrpClientItemStateToString --Xlinker --wrap=otSrpClientGetServerAddress --Xlinker --wrap=otSrpClientGetHostInfo --Xlinker --wrap=otSrpClientGetServices --Xlinker --wrap=otSrpClientAddService --Xlinker --wrap=otSrpClientClearService --Xlinker --wrap=otSrpClientEnableAutoHostAddress --Xlinker --wrap=otSrpClientRemoveHostAndServices --Xlinker --wrap=otSrpClientRemoveService --Xlinker --wrap=otSrpClientSetDomainName --Xlinker --wrap=otSrpClientSetHostAddresses --Xlinker --wrap=otSrpClientSetHostName --Xlinker --wrap=otSrpClientStart --Xlinker --wrap=otSrpClientGetKeyLeaseInterval --Xlinker --wrap=otSrpClientGetLeaseInterval --Xlinker --wrap=otSrpClientGetTtl --Xlinker --wrap=otSrpClientClearHostAndServices --Xlinker --wrap=otSrpClientDisableAutoStartMode --Xlinker --wrap=otSrpClientEnableAutoStartMode --Xlinker --wrap=otSrpClientSetCallback --Xlinker --wrap=otSrpClientSetKeyLeaseInterval --Xlinker --wrap=otSrpClientSetLeaseInterval --Xlinker --wrap=otSrpClientSetServiceKeyRecordEnabled --Xlinker --wrap=otSrpClientSetTtl --Xlinker --wrap=otSrpClientStop --Xlinker --wrap=otSrpClientBuffersGetHostNameString --Xlinker --wrap=otSrpClientBuffersGetServiceEntryInstanceNameString --Xlinker --wrap=otSrpClientBuffersGetServiceEntryServiceNameString --Xlinker --wrap=otSrpClientBuffersGetSubTypeLabelsArray --Xlinker --wrap=otSrpClientBuffersGetHostAddressesArray --Xlinker --wrap=otSrpClientBuffersAllocateService --Xlinker --wrap=otSrpClientBuffersGetServiceEntryTxtBuffer --Xlinker --wrap=otSrpClientBuffersFreeAllServices --Xlinker --wrap=otSrpClientBuffersFreeService --Xlinker --wrap=otSrpServerHostIsDeleted --Xlinker --wrap=otSrpServerHostMatchesFullName --Xlinker --wrap=otSrpServerIsAutoEnableMode --Xlinker --wrap=otSrpServerServiceHasSubTypeServiceName --Xlinker --wrap=otSrpServerServiceIsDeleted --Xlinker --wrap=otSrpServerServiceMatchesInstanceName --Xlinker --wrap=otSrpServerServiceMatchesServiceName --Xlinker --wrap=otSrpServerGetDomain --Xlinker --wrap=otSrpServerHostGetFullName --Xlinker --wrap=otSrpServerServiceGetInstanceLabel --Xlinker --wrap=otSrpServerServiceGetInstanceName --Xlinker --wrap=otSrpServerServiceGetServiceName --Xlinker --wrap=otSrpServerServiceGetSubTypeServiceNameAt --Xlinker --wrap=otSrpServerHostGetAddresses --Xlinker --wrap=otSrpServerGetNextHost --Xlinker --wrap=otSrpServerServiceGetHost --Xlinker --wrap=otSrpServerGetResponseCounters --Xlinker --wrap=otSrpServerHostGetNextService --Xlinker --wrap=otSrpServerServiceGetTxtData --Xlinker --wrap=otSrpServerParseSubTypeServiceName --Xlinker --wrap=otSrpServerSetAddressMode --Xlinker --wrap=otSrpServerSetAnycastModeSequenceNumber --Xlinker --wrap=otSrpServerSetDomain --Xlinker --wrap=otSrpServerSetLeaseConfig --Xlinker --wrap=otSrpServerSetTtlConfig --Xlinker --wrap=otSrpServerGetAddressMode --Xlinker --wrap=otSrpServerGetState --Xlinker --wrap=otSrpServerGetPort --Xlinker --wrap=otSrpServerServiceGetNumberOfSubTypes --Xlinker --wrap=otSrpServerServiceGetPort --Xlinker --wrap=otSrpServerServiceGetPriority --Xlinker --wrap=otSrpServerServiceGetWeight --Xlinker --wrap=otSrpServerServiceGetTtl --Xlinker --wrap=otSrpServerGetAnycastModeSequenceNumber --Xlinker --wrap=otSrpServerGetLeaseConfig --Xlinker --wrap=otSrpServerGetTtlConfig --Xlinker --wrap=otSrpServerHandleServiceUpdateResult --Xlinker --wrap=otSrpServerHostGetLeaseInfo --Xlinker --wrap=otSrpServerServiceGetLeaseInfo --Xlinker --wrap=otSrpServerSetAutoEnableMode --Xlinker --wrap=otSrpServerSetEnabled --Xlinker --wrap=otSrpServerSetServiceUpdateHandler --Xlinker --wrap=otTaskletsArePending --Xlinker --wrap=otTaskletsProcess --Xlinker --wrap=otTcpGetLocalAddress --Xlinker --wrap=otTcpGetPeerAddress --Xlinker --wrap=otTcpAbort --Xlinker --wrap=otTcpBind --Xlinker --wrap=otTcpCommitReceive --Xlinker --wrap=otTcpConnect --Xlinker --wrap=otTcpEndpointDeinitialize --Xlinker --wrap=otTcpEndpointInitialize --Xlinker --wrap=otTcpListen --Xlinker --wrap=otTcpListenerDeinitialize --Xlinker --wrap=otTcpListenerInitialize --Xlinker --wrap=otTcpReceiveByReference --Xlinker --wrap=otTcpReceiveContiguify --Xlinker --wrap=otTcpSendByExtension --Xlinker --wrap=otTcpSendByReference --Xlinker --wrap=otTcpSendEndOfStream --Xlinker --wrap=otTcpStopListening --Xlinker --wrap=otTcpEndpointGetInstance --Xlinker --wrap=otTcpListenerGetInstance --Xlinker --wrap=otTcpEndpointGetContext --Xlinker --wrap=otTcpListenerGetContext --Xlinker --wrap=otTcpMbedTlsSslRecvCallback --Xlinker --wrap=otTcpMbedTlsSslSendCallback --Xlinker --wrap=otTcpCircularSendBufferDeinitialize --Xlinker --wrap=otTcpCircularSendBufferWrite --Xlinker --wrap=otTcpCircularSendBufferGetFreeSpace --Xlinker --wrap=otTcpCircularSendBufferForceDiscardAll --Xlinker --wrap=otTcpCircularSendBufferHandleForwardProgress --Xlinker --wrap=otTcpCircularSendBufferInitialize --Xlinker --wrap=otThreadIsAnycastLocateInProgress --Xlinker --wrap=otThreadIsDiscoverInProgress --Xlinker --wrap=otThreadIsSingleton --Xlinker --wrap=otThreadDeviceRoleToString --Xlinker --wrap=otThreadGetDomainName --Xlinker --wrap=otThreadGetNetworkName --Xlinker --wrap=otThreadGetExtendedPanId --Xlinker --wrap=otThreadGetLinkLocalAllThreadNodesMulticastAddress --Xlinker --wrap=otThreadGetLinkLocalIp6Address --Xlinker --wrap=otThreadGetMeshLocalEid --Xlinker --wrap=otThreadGetRealmLocalAllThreadNodesMulticastAddress --Xlinker --wrap=otThreadGetRloc --Xlinker --wrap=otThreadGetFixedDuaInterfaceIdentifier --Xlinker --wrap=otThreadGetIp6Counters --Xlinker --wrap=otThreadGetMeshLocalPrefix --Xlinker --wrap=otThreadGetMleCounters --Xlinker --wrap=otThreadGetTimeInQueueHistogram --Xlinker --wrap=otThreadGetDeviceRole --Xlinker --wrap=otThreadBecomeChild --Xlinker --wrap=otThreadBecomeDetached --Xlinker --wrap=otThreadDetachGracefully --Xlinker --wrap=otThreadDiscover --Xlinker --wrap=otThreadGetLeaderData --Xlinker --wrap=otThreadGetLeaderRloc --Xlinker --wrap=otThreadGetNextNeighborInfo --Xlinker --wrap=otThreadGetParentAverageRssi --Xlinker --wrap=otThreadGetParentInfo --Xlinker --wrap=otThreadGetParentLastRssi --Xlinker --wrap=otThreadGetServiceAloc --Xlinker --wrap=otThreadLocateAnycastDestination --Xlinker --wrap=otThreadSearchForBetterParent --Xlinker --wrap=otThreadSendProactiveBackboneNotification --Xlinker --wrap=otThreadSetDomainName --Xlinker --wrap=otThreadSetEnabled --Xlinker --wrap=otThreadSetExtendedPanId --Xlinker --wrap=otThreadSetFixedDuaInterfaceIdentifier --Xlinker --wrap=otThreadSetJoinerAdvertisement --Xlinker --wrap=otThreadSetLinkMode --Xlinker --wrap=otThreadSetMeshLocalPrefix --Xlinker --wrap=otThreadSetNetworkKey --Xlinker --wrap=otThreadSetNetworkKeyRef --Xlinker --wrap=otThreadSetNetworkName --Xlinker --wrap=otThreadGetLinkMode --Xlinker --wrap=otThreadGetNetworkKeyRef --Xlinker --wrap=otThreadGetKeySwitchGuardTime --Xlinker --wrap=otThreadGetRloc16 --Xlinker --wrap=otThreadGetVersion --Xlinker --wrap=otThreadGetChildTimeout --Xlinker --wrap=otThreadGetKeySequenceCounter --Xlinker --wrap=otThreadGetMaxTimeInQueue --Xlinker --wrap=otThreadGetPartitionId --Xlinker --wrap=otThreadGetLeaderRouterId --Xlinker --wrap=otThreadGetLeaderWeight --Xlinker --wrap=otConvertDurationInSecondsToString --Xlinker --wrap=otThreadGetNetworkKey --Xlinker --wrap=otThreadRegisterParentResponseCallback --Xlinker --wrap=otThreadResetIp6Counters --Xlinker --wrap=otThreadResetMleCounters --Xlinker --wrap=otThreadResetTimeInQueueStat --Xlinker --wrap=otThreadSendAddressNotification --Xlinker --wrap=otThreadSetChildTimeout --Xlinker --wrap=otThreadSetDiscoveryRequestCallback --Xlinker --wrap=otThreadSetKeySequenceCounter --Xlinker --wrap=otThreadSetKeySwitchGuardTime --Xlinker --wrap=otThreadIsRouterEligible --Xlinker --wrap=otThreadIsRouterIdAllocated --Xlinker --wrap=otThreadIsTmfOriginFilterEnabled --Xlinker --wrap=otThreadGetDeviceProperties --Xlinker --wrap=otThreadGetParentPriority --Xlinker --wrap=otThreadBecomeLeader --Xlinker --wrap=otThreadBecomeRouter --Xlinker --wrap=otThreadGetChildInfoById --Xlinker --wrap=otThreadGetChildInfoByIndex --Xlinker --wrap=otThreadGetChildNextIp6Address --Xlinker --wrap=otThreadGetNextCacheEntry --Xlinker --wrap=otThreadGetRouterInfo --Xlinker --wrap=otThreadReleaseRouterId --Xlinker --wrap=otThreadSetChildRouterLinks --Xlinker --wrap=otThreadSetJoinerUdpPort --Xlinker --wrap=otThreadSetMaxAllowedChildren --Xlinker --wrap=otThreadSetMaxChildIpAddresses --Xlinker --wrap=otThreadSetParentPriority --Xlinker --wrap=otThreadSetPreferredRouterId --Xlinker --wrap=otThreadSetPskc --Xlinker --wrap=otThreadSetPskcRef --Xlinker --wrap=otThreadSetRouterEligible --Xlinker --wrap=otThreadSetRouterIdRange --Xlinker --wrap=otThreadGetPskcRef --Xlinker --wrap=otThreadGetJoinerUdpPort --Xlinker --wrap=otThreadGetMaxAllowedChildren --Xlinker --wrap=otThreadGetAdvertisementTrickleIntervalMax --Xlinker --wrap=otThreadGetContextIdReuseDelay --Xlinker --wrap=otThreadGetPreferredLeaderPartitionId --Xlinker --wrap=otThreadGetChildRouterLinks --Xlinker --wrap=otThreadGetLocalLeaderWeight --Xlinker --wrap=otThreadGetMaxChildIpAddresses --Xlinker --wrap=otThreadGetMaxRouterId --Xlinker --wrap=otThreadGetNetworkIdTimeout --Xlinker --wrap=otThreadGetRouterDowngradeThreshold --Xlinker --wrap=otThreadGetRouterIdSequence --Xlinker --wrap=otThreadGetRouterSelectionJitter --Xlinker --wrap=otThreadGetRouterUpgradeThreshold --Xlinker --wrap=otThreadGetNextHopAndPathCost --Xlinker --wrap=otThreadGetPskc --Xlinker --wrap=otThreadGetRouterIdRange --Xlinker --wrap=otThreadRegisterNeighborTableCallback --Xlinker --wrap=otThreadSetCcmEnabled --Xlinker --wrap=otThreadSetContextIdReuseDelay --Xlinker --wrap=otThreadSetDeviceProperties --Xlinker --wrap=otThreadSetLocalLeaderWeight --Xlinker --wrap=otThreadSetNetworkIdTimeout --Xlinker --wrap=otThreadSetPreferredLeaderPartitionId --Xlinker --wrap=otThreadSetRouterDowngradeThreshold --Xlinker --wrap=otThreadSetRouterSelectionJitter --Xlinker --wrap=otThreadSetRouterUpgradeThreshold --Xlinker --wrap=otThreadSetSteeringData --Xlinker --wrap=otThreadSetThreadVersionCheckEnabled --Xlinker --wrap=otThreadSetTmfOriginFilterEnabled --Xlinker --wrap=otTrelIsEnabled --Xlinker --wrap=otTrelIsFilterEnabled --Xlinker --wrap=otTrelGetCounters --Xlinker --wrap=otTrelGetNextPeer --Xlinker --wrap=otTrelGetNumberOfPeers --Xlinker --wrap=otTrelInitPeerIterator --Xlinker --wrap=otTrelResetCounters --Xlinker --wrap=otTrelSetEnabled --Xlinker --wrap=otTrelSetFilterEnabled --Xlinker --wrap=otUdpIsOpen --Xlinker --wrap=otUdpIsPortInUse --Xlinker --wrap=otUdpAddReceiver --Xlinker --wrap=otUdpBind --Xlinker --wrap=otUdpClose --Xlinker --wrap=otUdpConnect --Xlinker --wrap=otUdpOpen --Xlinker --wrap=otUdpRemoveReceiver --Xlinker --wrap=otUdpSend --Xlinker --wrap=otUdpSendDatagram --Xlinker --wrap=otUdpNewMessage --Xlinker --wrap=otUdpGetSockets --Xlinker --wrap=otUdpForwardReceive --Xlinker --wrap=otUdpForwardSetForwarder --Xlinker --wrap=otVerhoeffChecksumCalculate --Xlinker --wrap=otVerhoeffChecksumValidate diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/main.c b/src/rcp-uart-802154-blehci_MGM240PA32VNN/main.c deleted file mode 100644 index 90610816..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/main.c +++ /dev/null @@ -1,74 +0,0 @@ -/***************************************************************************//** - * @file - * @brief main() function. - ******************************************************************************* - * # 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. - * - ******************************************************************************/ - -#include "sl_component_catalog.h" -#include "sl_system_init.h" -#include "app.h" -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) -#include "sl_power_manager.h" -#endif // SL_CATALOG_POWER_MANAGER_PRESENT -#if defined(SL_CATALOG_KERNEL_PRESENT) -#include "sl_system_kernel.h" -#else // !SL_CATALOG_KERNEL_PRESENT -#include "sl_system_process_action.h" -#endif // SL_CATALOG_KERNEL_PRESENT - -int main(void) -{ - // Initialize Silicon Labs device, system, service(s) and protocol stack(s). - // Note that if the kernel is present, processing task(s) will be created by - // this call. - sl_system_init(); - - // Initialize the application. For example, create periodic timer(s) or - // task(s) if the kernel is present. - app_init(); - -#if defined(SL_CATALOG_KERNEL_PRESENT) - // Start the kernel. Task(s) created in app_init() will start running. - sl_system_kernel_start(); -#else // SL_CATALOG_KERNEL_PRESENT - while (1) { - // Do not remove this call: Silicon Labs components process action routine - // must be called from the super loop. - sl_system_process_action(); - - // Application process. - app_process_action(); - -#if defined(SL_CATALOG_POWER_MANAGER_PRESENT) - // Let the CPU go to sleep if the system allows it. - sl_power_manager_sleep(); -#endif - } - // Clean-up when exiting the application. - app_exit(); -#endif // SL_CATALOG_KERNEL_PRESENT -} \ No newline at end of file diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slcp b/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slcp deleted file mode 100644 index 16ca3fef..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slcp +++ /dev/null @@ -1,86 +0,0 @@ -# Silicon Labs Project Configuration Tools: slcp, v0, Component selection file. -project_name: rcp-uart-802154-blehci_MGM240PA32VNN -label: rcp-uart-802154-blehci_MGM240PA32VNN -description: | - This multiprotocol radio co-processor (RCP) application supports running OpenThread, Zigbee, and Bluetooth stacks simultaneously on a host processor. It uses concurrent multiprotocol (CMP) / multi-PAN functionality to run the 802.15.4 networks simultaneously on the same channel, and dynamic multiprotocol (DMP) to run the Bluetooth Link Layer simultaneously. The host stacks and the RCP communicate using the Co-Processor Communication protocol (CPC), which acts as a protocol multiplexer and serial transport layer. The host applications connect to the CPC daemon, which in turn connects to the EFR via a UART link. Refer to *AN1333: Running Zigbee, OpenThread, and Bluetooth Concurrently on a Linux Host with a Multiprotocol Co-processor* for more information on running the multiprotocol RCP with different host applications. -category: OpenThread Examples -filter: -- name: Capability - value: [Multiprotocol] -- name: Device Type - value: [RCP] -- name: Project Difficulty - value: [Advanced] -- name: Wireless Technology - value: [Bluetooth, Thread, Zigbee] -package: OpenThread -quality: production -readme: -- {path: README-MP-DMP-RCP.md} -- {path: README-MP-DMP-RCP.md} -source: -- {path: main.c} -- {path: app.c} -tag: [prebuilt_demo] -include: -- path: . - file_list: - - {path: app.h} - - {path: reset_util.h} -sdk: {id: simplicity_sdk, version: 2024.6.2} -toolchain_settings: [] -component: -- {id: MGM240PA32VNN} -- {id: bluetooth_controller} -- {id: bluetooth_feature_advertiser} -- {id: bluetooth_feature_connection} -- {id: bluetooth_feature_connection_phy_update} -- {id: bluetooth_feature_extended_advertiser} -- {id: bluetooth_feature_extended_scanner} -- {id: bluetooth_feature_legacy_scanner} -- {id: bluetooth_hci_cpc} -- {id: bootloader_interface} -- {id: clock_manager} -- instance: [vcom] - id: cpc_secondary_driver_uart_usart -- {id: freertos} -- {id: freertos_heap_3} -- {id: ot_crash_handler} -- {id: ot_ncp_cpc} -- {id: ot_stack_rcp} -- {id: rail_lib_multiprotocol} -- {id: rail_util_pti} -template_contribution: -- {name: component_catalog, priority: 0, value: bluetooth_ncp} -configuration: -- {name: SL_BT_CONFIG_USER_ADVERTISERS, value: '3'} -- {name: SL_STACK_SIZE, value: '2752'} -- {name: SL_HEAP_SIZE, value: '15700'} -- condition: [device_sdid_200] - name: SL_DEVICE_INIT_LFXO_TIMEOUT - value: cmuLfxoStartupDelay_4KCycles -- condition: [device_sdid_205] - name: SL_DEVICE_INIT_LFXO_TIMEOUT - value: cmuLfxoStartupDelay_4KCycles -- condition: [psa_crypto] - name: SL_PSA_KEY_USER_SLOT_COUNT - value: '0' -- {name: SL_BOARD_ENABLE_VCOM, value: '1'} -- {name: SL_CPC_DRV_UART_VCOM_BAUDRATE, value: '115200'} -- {name: SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE, value: usartHwFlowControlCtsAndRts} -- {name: OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE, value: '0'} -- {name: OPENTHREAD_CONFIG_LOG_OUTPUT, value: OPENTHREAD_CONFIG_LOG_OUTPUT_NONE} -- {name: OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_DIAG_ENABLE, value: '1'} -- {name: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE, value: '0'} -- {name: OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE, value: '0'} -- {name: OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE, value: '0'} -- {name: SL_CPC_RX_BUFFER_MAX_COUNT, value: '15'} -- {name: SL_CPC_TX_QUEUE_ITEM_MAX_COUNT, value: '15'} -- {name: CIRCULAR_QUEUE_LEN_MAX, value: '16'} -ui_hints: - highlight: - - {path: ./README-MP-DMP-RCP.md, focus: true} - diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slps b/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slps deleted file mode 100644 index 1e5f5647..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/rcp-uart-802154-blehci_MGM240PA32VNN.slps +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/rcp-uart-802154-blehci_MGM240PA32VNN/reset_util.h b/src/rcp-uart-802154-blehci_MGM240PA32VNN/reset_util.h deleted file mode 100644 index 56e75da9..00000000 --- a/src/rcp-uart-802154-blehci_MGM240PA32VNN/reset_util.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2022, 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 OT_LIB_PLATFORM_RESET_UTIL_H_ -#define OT_LIB_PLATFORM_RESET_UTIL_H_ - -#if defined(OPENTHREAD_ENABLE_COVERAGE) && OPENTHREAD_ENABLE_COVERAGE && defined(__GNUC__) -#if __GNUC__ >= 11 || (defined(__clang__) && (defined(__APPLE__) && (__clang_major__ >= 13)) || \ - (!defined(__APPLE__) && (__clang_major__ >= 12))) -void __gcov_dump(void); -void __gcov_reset(void); - -static void flush_gcov(void) -{ - __gcov_dump(); - __gcov_reset(); -} -#else -void __gcov_flush(void); -#define flush_gcov __gcov_flush -#endif /* __GNUC__ >= 11 || (defined(__clang__) && (defined(__APPLE__) && (__clang_major__ >= 13)) || \ - (!defined(__APPLE__) && (__clang_major__ >= 12))) */ -#else -#define flush_gcov() -#endif // defined(OPENTHREAD_ENABLE_COVERAGE) && OPENTHREAD_ENABLE_COVERAGE && defined(__GNUC__) - -#if defined(__linux__) || defined(__APPLE__) -#include -#include -jmp_buf gResetJump; - -#define OT_SETUP_RESET_JUMP(kArgv) \ - if (setjmp(gResetJump)) \ - { \ - alarm(0); \ - flush_gcov(); \ - execvp(kArgv[0], kArgv); \ - } - -#else -#define OT_SETUP_RESET_JUMP(ARGV) -#endif // defined(__linux__) || defined(__APPLE__) - -#endif // OT_LIB_PLATFORM_RESET_UTIL_H_ diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/app.c b/src/zigbee_ncp/app.c similarity index 100% rename from src/ncp-uart-hw_EFR32MG21A020F768IM32/app.c rename to src/zigbee_ncp/app.c diff --git a/src/ncp-uart-hw_EFR32MG21A020F768IM32/main.c b/src/zigbee_ncp/main.c similarity index 100% rename from src/ncp-uart-hw_EFR32MG21A020F768IM32/main.c rename to src/zigbee_ncp/main.c diff --git a/src/zigbee_ncp/zigbee_ncp.slcp b/src/zigbee_ncp/zigbee_ncp.slcp new file mode 100644 index 00000000..aac754e4 --- /dev/null +++ b/src/zigbee_ncp/zigbee_ncp.slcp @@ -0,0 +1,70 @@ +project_name: zigbee_ncp +label: Zigbee - NCP +package: Zigbee +category: Zigbee Application +quality: production +description: Zigbee NCP firmware. Derived from the `ncp-uart-hw` example Gecko SDK project. +author: Nabu Casa + +component: + - id: iostream_usart + instance: + - vcom + - id: zigbee_debug_print + - id: iostream_vuart + - id: token_manager + - id: zigbee_token_interface + - id: zigbee_mfglib + - id: zigbee_pro_stack + - id: zigbee_source_route + - id: zigbee_gp + - id: zigbee_r22_support + - id: zigbee_security_link_keys + - id: zigbee_zll + - id: zigbee_system_common + - id: zigbee_ncp_uart_hardware + - id: zigbee_debug_basic + - id: zigbee_debug_extended + - id: rail_util_rssi + - id: clock_manager + +define: + - name: EMBER_CUSTOM_MAC_FILTER_TABLE_SIZE + value: 15 + +configuration: + - name: SL_BOARD_ENABLE_VCOM + value: 1 + - name: SL_IOSTREAM_USART_VCOM_FLOW_CONTROL_TYPE + value: usartHwFlowControlCtsAndRts + - name: SL_CLI_MAX_INPUT_ARGUMENTS + value: 16 + - name: SL_ZIGBEE_PACKET_BUFFER_HEAP_SIZE + value: SL_ZIGBEE_LARGE_PACKET_BUFFER_HEAP + - name: SL_CLI_EXAMPLE_IOSTREAM_HANDLE + value: sl_iostream_vuart_handle + - name: NVM3_DEFAULT_NVM_SIZE + value: 32768 + condition: + - device_series_2 + # If using zigbee_secure_key_storage we do not need to support backwards + # compatibility because we have never deployed images with keys in PSA + # As a result, these lines end up saving some code space + - name: SL_PSA_ITS_SUPPORT_V1_DRIVER + value: 0 + - name: SL_PSA_ITS_SUPPORT_V2_DRIVER + value: 0 + - name: SL_PSA_ITS_SUPPORT_V3_DRIVER + value: 1 + +source: + - path: main.c + - path: app.c + +filter: + - name: Wireless Technology + value: [Zigbee] + - name: Device Type + value: [NCP] + - name: Project Difficulty + value: [Advanced] diff --git a/src/zwave_ncp/SerialAPI.h b/src/zwave_ncp/SerialAPI.h new file mode 100644 index 00000000..be9476a6 --- /dev/null +++ b/src/zwave_ncp/SerialAPI.h @@ -0,0 +1,387 @@ +/** + * @file + * @copyright 2019 Silicon Laboratories Inc. + */ +#ifndef _ZW_SERIALAPI_H_ +#define _ZW_SERIALAPI_H_ + + +/** + * @addtogroup ZWaveAPI + * @{ + * @addtogroup ZWSerialAPI Z-Wave Serial API + * @{ + */ + +#define SOF 0x01 ///< Start Of Frame +#define ACK 0x06 ///< Acknowledge successful frame reception +#define NAK 0x15 ///< Not Acknowledge successful frame reception - please retransmit... +#define CAN 0x18 ///< Frame received (from host) was dropped - waiting for ACK + +///@addtogroup FT Frame Types +/// @{ +#define REQUEST 0x00 +#define RESPONSE 0x01 +///@} + +///@addtogroup GET_INIT_DATA_FLAG +/// Flags used in FUNC_ID_SERIAL_API_GET_INIT_DATA functionality +/// @{ +#define GET_INIT_DATA_FLAG_SLAVE_API 0x01 +#define GET_INIT_DATA_FLAG_TIMER_SUPPORT 0x02 +#define GET_INIT_DATA_FLAG_CONTROLLER_STATUS 0x04 /* Obsolete. USE next */ +#define GET_INIT_DATA_FLAG_SECONDARY_CTRL 0x04 +#define GET_INIT_DATA_FLAG_IS_SUC 0x08 +///@} + +/** + * Firmware update functionality specifics + * Enum definitions for Firmware Update functionality selector; firmwareUpdateFunction + */ +typedef enum +{ + FIRMWARE_UPDATE_NVM_INIT = 0, + FIRMWARE_UPDATE_NVM_SET_NEW_IMAGE = 1, + FIRMWARE_UPDATE_NVM_GET_NEW_IMAGE = 2, + FIRMWARE_UPDATE_NVM_UPDATE_CRC16 = 3, + FIRMWARE_UPDATE_NVM_IS_VALID_CRC16 = 4, + FIRMWARE_UPDATE_NVM_WRITE = 5, + FIRMWARE_UPDATE_NVM_UNKNOWN = 0xFF +} FIRMWARE_UPDATE_NVM_T; + +/** + * @addtogroup FUNC_ID + * Function IDs + * @{ + */ +#define FUNC_ID_SERIAL_API_GET_INIT_DATA 0x02 +#define FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION 0x03 +#define FUNC_ID_APPLICATION_COMMAND_HANDLER 0x04 +#define FUNC_ID_ZW_GET_CONTROLLER_CAPABILITIES 0x05 + +/* SERIAL API ver 4 added - START */ +#define FUNC_ID_SERIAL_API_SET_TIMEOUTS 0x06 +#define FUNC_ID_SERIAL_API_GET_CAPABILITIES 0x07 +#define FUNC_ID_SERIAL_API_SOFT_RESET 0x08 +/* SERIAL API ver 4 added - END */ + +#define FUNC_ID_ZW_GET_PROTOCOL_VERSION 0x09 + +/* Function ID for startup message */ +#define FUNC_ID_SERIAL_API_STARTED 0x0A +#define FUNC_ID_SERIAL_API_SETUP 0x0B + +#define FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES 0x0C + +#define FUNC_ID_ZW_SEND_DATA_EX 0x0E +#define FUNC_ID_ZW_SEND_DATA_MULTI_EX 0x0F + +#define FUNC_ID_ZW_SET_RF_RECEIVE_MODE 0x10 +#define FUNC_ID_ZW_SET_SLEEP_MODE 0x11 +#define FUNC_ID_ZW_SEND_NODE_INFORMATION 0x12 +#define FUNC_ID_ZW_SEND_DATA 0x13 +#define FUNC_ID_ZW_SEND_DATA_MULTI 0x14 +#define FUNC_ID_ZW_GET_VERSION 0x15 + +/* SERIAL API ver 4 added - START */ +#define FUNC_ID_ZW_SEND_DATA_ABORT 0x16 +// FUNC_ID_ZW_RF_POWER_LEVEL_SET is no longer supported +#define FUNC_ID_ZW_RF_POWER_LEVEL_SET 0x17 +#define FUNC_ID_ZW_SEND_DATA_META 0x18 +/* SERIAL API ver 4 added - END */ + +#define FUNC_ID_ZW_RESERVED_SD 0x19 +#define FUNC_ID_ZW_RESERVED_SDM 0x1A +#define FUNC_ID_ZW_RESERVED_SRI 0x1B + +#define FUNC_ID_ZW_SET_ROUTING_INFO 0x1B + +#define FUNC_ID_ZW_GET_RANDOM 0x1C +#define FUNC_ID_ZW_RANDOM 0x1D +#define FUNC_ID_ZW_RF_POWER_LEVEL_REDISCOVERY_SET 0x1E + +#define FUNC_ID_MEMORY_GET_ID 0x20 +#define FUNC_ID_MEMORY_GET_BYTE 0x21 +#define FUNC_ID_MEMORY_PUT_BYTE 0x22 +#define FUNC_ID_MEMORY_GET_BUFFER 0x23 +#define FUNC_ID_MEMORY_PUT_BUFFER 0x24 +/* Unimplemented - START */ +#define FUNC_ID_SERIAL_API_GET_APPL_HOST_MEMORY_OFFSET 0x25 +#define FUNC_ID_DEBUG_OUTPUT 0x26 +/* Unimplemented - END */ + +#define FUNC_ID_AUTO_PROGRAMMING 0x27 + +#define FUNC_ID_NVR_GET_VALUE 0x28 + +#define FUNC_ID_NVM_GET_ID 0x29 +#define FUNC_ID_NVM_EXT_READ_LONG_BUFFER 0x2A +#define FUNC_ID_NVM_EXT_WRITE_LONG_BUFFER 0x2B +#define FUNC_ID_NVM_EXT_READ_LONG_BYTE 0x2C +#define FUNC_ID_NVM_EXT_WRITE_LONG_BYTE 0x2D +#define FUNC_ID_NVM_BACKUP_RESTORE 0x2E + +#define FUNC_ID_ZW_NVR_GET_APP_VALUE 0x2F + +#define FUNC_ID_CLOCK_SET 0x30 +#define FUNC_ID_CLOCK_GET 0x31 +#define FUNC_ID_CLOCK_CMP 0x32 +#define FUNC_ID_RTC_TIMER_CREATE 0x33 +#define FUNC_ID_RTC_TIMER_READ 0x34 +#define FUNC_ID_RTC_TIMER_DELETE 0x35 +#define FUNC_ID_RTC_TIMER_CALL 0x36 + +#define FUNC_ID_CLEAR_TX_TIMERS 0x37 +#define FUNC_ID_GET_TX_TIMERS 0x38 + +#define FUNC_ID_ZW_CLEAR_NETWORK_STATS 0x39 +#define FUNC_ID_ZW_GET_NETWORK_STATS 0x3A +#define FUNC_ID_ZW_GET_BACKGROUND_RSSI 0x3B +#define FUNC_ID_ZW_SET_LISTEN_BEFORE_TALK_THRESHOLD 0x3C +#define FUNC_ID_NVM_EXT_BACKUP_RESTORE 0x3D +#define FUNC_ID_ZW_REMOVE_NODE_ID_FROM_NETWORK 0x3F + +#define FUNC_ID_ZW_SET_LEARN_NODE_STATE 0x40 +#define FUNC_ID_ZW_GET_NODE_PROTOCOL_INFO 0x41 +#define FUNC_ID_ZW_SET_DEFAULT 0x42 +#define FUNC_ID_ZW_NEW_CONTROLLER 0x43 +// +#define FUNC_ID_ZW_REPLICATION_COMMAND_COMPLETE 0x44 +#define FUNC_ID_ZW_REPLICATION_SEND_DATA 0x45 +// +#define FUNC_ID_ZW_ASSIGN_RETURN_ROUTE 0x46 +#define FUNC_ID_ZW_DELETE_RETURN_ROUTE 0x47 +#define FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE 0x48 +#define FUNC_ID_ZW_REQUEST_NODETYPE_NEIGHBOR_UPDATE 0x68 +#define FUNC_ID_ZW_APPLICATION_UPDATE 0x49 + +/** @deprecated Use ZW_APPLICATION_UPDATE */ +#define FUNC_ID_ZW_APPLICATION_CONTROLLER_UPDATE 0x49 + +#define FUNC_ID_ZW_ADD_NODE_TO_NETWORK 0x4A +#define FUNC_ID_ZW_REMOVE_NODE_FROM_NETWORK 0x4B +#define FUNC_ID_ZW_CREATE_NEW_PRIMARY 0x4C +#define FUNC_ID_ZW_CONTROLLER_CHANGE 0x4D + +#define FUNC_ID_ZW_RESERVED_FN 0x4E + +/* Devkit 6.6x */ +#define FUNC_ID_ZW_ASSIGN_PRIORITY_RETURN_ROUTE 0x4F + +/* Slave only */ +#define FUNC_ID_ZW_SET_LEARN_MODE 0x50 +/* Slave only end */ + +#define FUNC_ID_ZW_ASSIGN_SUC_RETURN_ROUTE 0x51 +#define FUNC_ID_ZW_ENABLE_SUC 0x52 +#define FUNC_ID_ZW_REQUEST_NETWORK_UPDATE 0x53 +#define FUNC_ID_ZW_SET_SUC_NODE_ID 0x54 +#define FUNC_ID_ZW_DELETE_SUC_RETURN_ROUTE 0x55 +#define FUNC_ID_ZW_GET_SUC_NODE_ID 0x56 +#define FUNC_ID_ZW_SEND_SUC_ID 0x57 + +/* Devkit 6.6x */ +#define FUNC_ID_ZW_ASSIGN_PRIORITY_SUC_RETURN_ROUTE 0x58 + +/* Obsolete - Not available in devkit 6.6x+ */ +#define FUNC_ID_ZW_REDISCOVERY_NEEDED 0x59 + +#define FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE_OPTION 0x5A + +/* Slave only */ +#define FUNC_ID_ZW_SUPPORT9600_ONLY 0x5B +/* Slave only end */ + +/* Enhanced/Routing Slave only */ +#define FUNC_ID_ZW_REQUEST_NEW_ROUTE_DESTINATIONS 0x5C +#define FUNC_ID_ZW_IS_NODE_WITHIN_DIRECT_RANGE 0x5D +/* Enhanced/Routing Slave only end */ + +#define FUNC_ID_ZW_EXPLORE_REQUEST_INCLUSION 0x5E +#define FUNC_ID_ZW_EXPLORE_REQUEST_EXCLUSION 0x5F + +#define FUNC_ID_ZW_REQUEST_NODE_INFO 0x60 +#define FUNC_ID_ZW_REMOVE_FAILED_NODE_ID 0x61 +#define FUNC_ID_ZW_IS_FAILED_NODE_ID 0x62 +#define FUNC_ID_ZW_REPLACE_FAILED_NODE 0x63 + +/* In 6.0x the function id was wrong so we need to support this wrong function id as well in the future */ +#define FUNC_ID_ZW_SET_ROUTING_MAX_6_00 0x65 +/* */ + +#define FUNC_ID_ZW_IS_PRIMARY_CTRL 0x66 + +#define FUNC_ID_ZW_AES_ECB 0x67 + +#define FUNC_ID_TIMER_START 0x70 +#define FUNC_ID_TIMER_RESTART 0x71 +#define FUNC_ID_TIMER_CANCEL 0x72 +#define FUNC_ID_TIMER_CALL 0x73 + +/* Firmware Update API */ +#define FUNC_ID_ZW_FIRMWARE_UPDATE_NVM 0x78 + +/* Installer API */ +#define FUNC_ID_GET_ROUTING_TABLE_LINE 0x80 +#define FUNC_ID_GET_TX_COUNTER 0x81 +#define FUNC_ID_RESET_TX_COUNTER 0x82 +#define FUNC_ID_STORE_NODEINFO 0x83 +#define FUNC_ID_STORE_HOMEID 0x84 +/* Installer API only end */ + +#define FUNC_ID_LOCK_ROUTE_RESPONSE 0x90 +#ifdef ZW_ROUTING_DEMO +/* Max hops in route */ +#define TRANSMIT_ROUTED_ATTEMPT 0x08 +#define FUNC_ID_ZW_SEND_DATA_ROUTE_DEMO 0x91 +#endif + +/* ZW_SetPriorityRoute/ZW_GetPriorityRoute replaces ZW_SetLastWorkingRoute/ZW_GetLastWorkingRoute */ +#define FUNC_ID_ZW_GET_PRIORITY_ROUTE 0x92 +#define FUNC_ID_ZW_SET_PRIORITY_ROUTE 0x93 +/* NOTE: Obsoleted - BEGIN */ +#define FUNC_ID_ZW_GET_LAST_WORKING_ROUTE 0x92 +#define FUNC_ID_ZW_SET_LAST_WORKING_ROUTE 0x93 +/* NOTE: Obsoleted - END */ + +#define FUNC_ID_SERIAL_API_TEST 0x95 + +#define FUNC_ID_SERIAL_API_EXT 0x98 + +/* DevKit 6.7x introduced - slave_enhanced_232 and slave_routing only */ +#define FUNC_ID_ZW_SECURITY_SETUP 0x9C +#define FUNC_ID_APPLICATION_SECURITY_EVENT 0x9D + +/* ZW_CONTROLLER_BRIDGE only START */ +#define FUNC_ID_SERIAL_API_APPL_SLAVE_NODE_INFORMATION 0xA0 + +/** @deprecated OBSOLETE: In DevKit 4.5x/6.0x Controller Bridge applications, this is obsoleted + * by the FUNC_ID_APPLICATION_COMMAND_HANDLER_BRIDGE + */ +#define FUNC_ID_APPLICATION_SLAVE_COMMAND_HANDLER 0xA1 +#define FUNC_ID_ZW_SEND_SLAVE_NODE_INFORMATION 0xA2 +#define FUNC_ID_ZW_SEND_SLAVE_DATA 0xA3 +#define FUNC_ID_ZW_SET_SLAVE_LEARN_MODE 0xA4 +#define FUNC_ID_ZW_GET_VIRTUAL_NODES 0xA5 +#define FUNC_ID_ZW_IS_VIRTUAL_NODE 0xA6 +#define FUNC_ID_ZW_RESERVED_SSD 0xA7 +/* DevKit 4.5x/6.0x added - obsoletes FUNC_ID_APPLICATION_SLAVE_COMMAND_HANDLER and */ +/* FUNC_ID_APPLICATION_COMMAND_HANDLER for the Controller Bridge applications as */ +/* this handles both cases - only for 4.5x/6.0x based Controller Bridge applications */ +#define FUNC_ID_APPLICATION_COMMAND_HANDLER_BRIDGE 0xA8 +/* DevKit 4.5x/6.0x added - Adds sourceNodeID to the parameter list */ +#define FUNC_ID_ZW_SEND_DATA_BRIDGE 0xA9 +/* Obsolete */ +#define FUNC_ID_ZW_SEND_DATA_META_BRIDGE 0xAA +#define FUNC_ID_ZW_SEND_DATA_MULTI_BRIDGE 0xAB +/* ZW_CONTROLLER_BRIDGE only END */ + +#define FUNC_ID_PWR_SETSTOPMODE 0xB0 // ZW102 only +#define FUNC_ID_PWR_CLK_PD 0xB1 // ZW102 only +#define FUNC_ID_PWR_CLK_PUP 0xB2 // ZW102 only +#define FUNC_ID_PWR_SELECT_CLK 0xB3 // ZW102 only +#define FUNC_ID_ZW_SET_WUT_TIMEOUT 0xB4 +#define FUNC_ID_ZW_IS_WUT_KICKED 0xB5 // ZW201 only + +#define FUNC_ID_ZW_WATCHDOG_ENABLE 0xB6 +#define FUNC_ID_ZW_WATCHDOG_DISABLE 0xB7 +#define FUNC_ID_ZW_WATCHDOG_KICK 0xB8 +/** @deprecated Use FUNC_ID_ZW_INT_EXT_LEVEL_SET */ +#define FUNC_ID_ZW_SET_EXT_INT_LEVEL 0xB9 // ZW201 only +#define FUNC_ID_ZW_INT_EXT_LEVEL_SET 0xB9 + +// FUNC_ID_ZW_RF_POWER_LEVEL_GET is no longer supported +#define FUNC_ID_ZW_RF_POWER_LEVEL_GET 0xBA +#define FUNC_ID_ZW_GET_NEIGHBOR_COUNT 0xBB +#define FUNC_ID_ZW_ARE_NODES_NEIGHBOURS 0xBC + +#define FUNC_ID_ZW_TYPE_LIBRARY 0xBD +#define FUNC_ID_ZW_SEND_TEST_FRAME 0xBE +#define FUNC_ID_ZW_GET_PROTOCOL_STATUS 0xBF + +#define FUNC_ID_ZW_SET_PROMISCUOUS_MODE 0xD0 +/* SERIAL API ver 5 added - START */ +#define FUNC_ID_PROMISCUOUS_APPLICATION_COMMAND_HANDLER 0xD1 +/* SERIAL API ver 5 added - END */ + +#define FUNC_ID_ZW_WATCHDOG_START 0xD2 +#define FUNC_ID_ZW_WATCHDOG_STOP 0xD3 + +#define FUNC_ID_ZW_SET_ROUTING_MAX 0xD4 +/* Unimplemented - START */ +/* Obsoleted */ +#define FUNC_ID_ZW_GET_ROUTING_MAX 0xD5 + +#define FUNC_ID_PM_STAY_AWAKE 0xD7 +#define FUNC_ID_PM_CANCEL 0xD8 +/* Unimplemented - END */ + +/* Allocated for setting the maximum number of 128sec ticks inbetween SmartStart inclusion requests. */ +#define FUNC_ID_ZW_NETWORK_MANAGEMENT_SET_MAX_INCLUSION_REQUEST_INTERVALS 0xD6 + +#define FUNC_ID_ZW_INITIATE_SHUTDOWN 0xD9 + +#define FUNC_ID_SERIAL_API_GET_LR_NODES 0xDA + +#define FUNC_ID_GET_LR_CHANNEL 0xDB +#define FUNC_ID_SET_LR_CHANNEL 0xDC + +#define FUNC_ID_ZW_SET_LR_VIRTUAL_IDS 0xDD + +#define FUNC_ID_GET_DCDC_CONFIG 0xDE +#define FUNC_ID_SET_DCDC_CONFIG 0xDF + +/* Allocated for NUNIT test */ +#define FUNC_ID_ZW_NUNIT_CMD 0xE0 // DEPRECATED +#define FUNC_ID_ZW_NUNIT_INIT 0xE1 // DEPRECATED +#define FUNC_ID_ZW_NUNIT_LIST 0xE2 // DEPRECATED +#define FUNC_ID_ZW_NUNIT_RUN 0xE3 // DEPRECATED +#define FUNC_ID_ZW_NUNIT_END 0xE4 // DEPRECATED + +#define FUNC_ID_ENABLE_RADIO_PTI 0xE7 +#define FUNC_ID_GET_RADIO_PTI 0xE8 + +#define FUNC_ID_SEND_NOP 0xE9 //Reserved. Command to be implemented in future. + +/* Allocated for Power Management */ +#define FUNC_ID_SERIAL_API_POWER_MANAGEMENT 0xEE +#define FUNC_ID_SERIAL_API_READY 0xEF + +/* Allocated for proprietary serial API commands */ +#define FUNC_ID_PROPRIETARY_0 0xF0 +#define FUNC_ID_PROPRIETARY_1 0xF1 +#define FUNC_ID_PROPRIETARY_2 0xF2 +#define FUNC_ID_PROPRIETARY_3 0xF3 +#define FUNC_ID_PROPRIETARY_4 0xF4 +#define FUNC_ID_PROPRIETARY_5 0xF5 +#define FUNC_ID_PROPRIETARY_6 0xF6 +#define FUNC_ID_PROPRIETARY_7 0xF7 +#define FUNC_ID_PROPRIETARY_8 0xF8 +#define FUNC_ID_PROPRIETARY_9 0xF9 +#define FUNC_ID_PROPRIETARY_A 0xFA +#define FUNC_ID_PROPRIETARY_B 0xFB +#define FUNC_ID_PROPRIETARY_C 0xFC +#define FUNC_ID_PROPRIETARY_D 0xFD +#define FUNC_ID_PROPRIETARY_E 0xFE + + +/* Illegal function ID */ +#define FUNC_ID_UNKNOWN 0xFF +///@} + +/**size of the address field of NVM_BACKUP_RESTORE or NVM_EXT_BACKUP_RESTORE frames. +Item value is the size in byte of the address field. +*/ +typedef enum +{ + NVM_BACKUP_RESTORE_ADDR_SIZE = 2, ///< 2 bytes for the legacy NVM backup & restore command + NVM_EXT_BACKUP_RESTORE_ADDR_SIZE = 4, ///< 4 bytes for the extended NVM backup & restore command +} nvm_backup_restore_addr_size_t; + + +///@} +///@} + + + +#endif /*_ZW_SERIALAPI_H_*/ diff --git a/src/zwave_ncp/SerialAPI_hw.h b/src/zwave_ncp/SerialAPI_hw.h new file mode 100644 index 00000000..596c9aef --- /dev/null +++ b/src/zwave_ncp/SerialAPI_hw.h @@ -0,0 +1,33 @@ +/** + * @file + * Platform abstraction for Serial API application + * + * @copyright 2022 Silicon Laboratories Inc. + */ +#ifndef SERIALAPI_HW_H_ +#define SERIALAPI_HW_H_ + +/** + * Get zpal-uart config extension. + */ +const void* SerialAPI_get_uart_config_ext(void); + +#ifdef USB_SUSPEND_SUPPORT + +typedef void (*SerialAPI_hw_usb_suspend_callback_t)(void); + +/** + * Set USB suspend callback. + * + * @param[in] callback USB suspend callback. + */ +void SerialAPI_set_usb_supend_callback(SerialAPI_hw_usb_suspend_callback_t callback); + +/** + * USB suspend handler. + */ +void SerialAPI_hw_usb_suspend_handler(void); + +#endif /* USB_SUSPEND_SUPPORT */ + +#endif /* SERIALAPI_HW_H_ */ diff --git a/src/zwave_ncp/app.c b/src/zwave_ncp/app.c new file mode 100644 index 00000000..2d7c8b6d --- /dev/null +++ b/src/zwave_ncp/app.c @@ -0,0 +1,1154 @@ +/** + * @file + * Serial API implementation for Enhanced Z-Wave module + * + * @copyright 2019 Silicon Laboratories Inc. + */ + +#include +#include +#include +#include "SyncEvent.h" +#ifdef ZW_CONTROLLER +#include "ZW_controller_api.h" +#endif /* ZW_CONTROLLER */ +#include "AppTimer.h" +#include "ZW_system_startup_api.h" +#include "zpal_retention_register.h" +/* Include app header file - containing version and */ +/* SerialAPI functionality support definitions */ +#ifdef ZW_SECURITY_PROTOCOL +#include "ZW_security_api.h" +#include "ZW_TransportSecProtocol.h" +#endif +#include "DebugPrintConfig.h" +// SerialAPI uses SWO for debug output. +// For example SWO Terminal in Studio commander can be used to get the output. +//#define DEBUGPRINT +#include "DebugPrint.h" +#include "app_node_info.h" +#include "serialapi_file.h" +#include "cmd_handlers.h" +#include "cmds_management.h" +#include "ZAF_Common_interface.h" +#include "utils.h" +#include "app_hw.h" +#include "SerialAPI_hw.h" +#include "zaf_event_distributor_ncp.h" +#include "zpal_misc.h" +#include "zaf_protocol_config.h" +#ifdef DEBUGPRINT +#include "ZAF_PrintAppInfo.h" +#endif +#include "ZAF_AppName.h" + +#include + +/* Basic level definitions */ +#define BASIC_ON 0xFF +#define BASIC_OFF 0x00 + +#define TX_POWER_LR_20_DBM 200 +#define TX_POWER_LR_14_DBM 140 + +#ifdef ZW_SECURITY_PROTOCOL +#define REQUESTED_SECURITY_KEYS ( SECURITY_KEY_S0_BIT | SECURITY_KEY_S2_UNAUTHENTICATED_BIT | SECURITY_KEY_S2_AUTHENTICATED_BIT | SECURITY_KEY_S2_ACCESS_BIT) +#else +#define REQUESTED_SECURITY_KEYS 0 +#endif /* ZW_SECURITY_PROTOCOL */ + +/* Accept all incoming command classes, regardless of NIF contents. */ +#define ACCEPT_ALL_CMD_CLASSES + +/** + * + */ +typedef struct _S_TRANSPORT_REQUESTED_SECURITY_SETTINGS_ +{ + uint8_t requestedSecurityKeysBits; +} S_TRANSPORT_REQUESTED_SECURITY_SETTINGS; + +static TaskHandle_t g_AppTaskHandle; + +extern SSyncEvent SetDefaultCB; +extern SSyncEventArg1 LearnModeStatusCb; + +/* State vars for ApplicationPoll */ +static uint8_t state = 0xff; +static uint8_t retry = 0; + +static uint8_t lastRetVal = 0; /* Used to store retVal for retransmissions */ +uint8_t compl_workbuf[BUF_SIZE_TX]; /* Used for frames send to remote side. */ + +/* Queue for frames transmitted to PC - callback, ApplicationCommandHandler, ApplicationControllerUpdate... */ +#if !defined(MAX_CALLBACK_QUEUE) +#define MAX_CALLBACK_QUEUE 8 +#endif /* !defined(MAX_CALLBACK_QUEUE) */ + +#if !defined(MAX_UNSOLICITED_QUEUE) +#define MAX_UNSOLICITED_QUEUE 8 +#endif /* !defined(MAX_UNSOLICITED_QUEUE) */ + +typedef struct _callback_element_ +{ + uint8_t wCmd; + uint8_t wLen; + uint8_t wBuf[BUF_SIZE_TX]; +} CALLBACK_ELEMENT; + +typedef struct _request_queue_ +{ + uint8_t requestOut; + uint8_t requestIn; + uint8_t requestCnt; + CALLBACK_ELEMENT requestQueue[MAX_CALLBACK_QUEUE]; +} REQUEST_QUEUE; + +REQUEST_QUEUE callbackQueue = {0}; + +typedef struct _request_unsolicited_queue_ +{ + uint8_t requestOut; + uint8_t requestIn; + uint8_t requestCnt; + CALLBACK_ELEMENT requestQueue[MAX_UNSOLICITED_QUEUE]; +} REQUEST_UNSOLICITED_QUEUE; + +REQUEST_UNSOLICITED_QUEUE commandQueue = {0}; + +eSerialAPISetupNodeIdBaseType nodeIdBaseType = SERIAL_API_SETUP_NODEID_BASE_TYPE_DEFAULT; + +#if SUPPORT_ZW_WATCHDOG_START | SUPPORT_ZW_WATCHDOG_STOP +extern uint8_t bWatchdogStarted; +#endif + +/* Last system wakeup reason - is set in ApplicationInit */ +zpal_reset_reason_t g_eApplResetReason; + +zpal_pm_handle_t radio_power_lock; +zpal_pm_handle_t io_power_lock; +SSwTimer mWakeupTimer; +bool bTxStatusReportEnabled; + +static void ApplicationInitSW(void); +static void ApplicationTask(SApplicationHandles *pAppHandles); + +#ifdef ZW_CONTROLLER_BRIDGE +static void ApplicationCommandHandler_Bridge(SReceiveMulti *pReciveMulti); +#else +void ApplicationCommandHandler(void *pSubscriberContext, SZwaveReceivePackage* pRxPackage); +#endif + +void ApplicationNodeUpdate(uint8_t bStatus, uint16_t nodeID, uint8_t *pCmd, uint8_t bLen); + +#if SUPPORT_ZW_REMOVE_FAILED_NODE_ID +extern void ZCB_ComplHandler_ZW_RemoveFailedNodeID(uint8_t bStatus); +#endif + +#if SUPPORT_ZW_REPLACE_FAILED_NODE +extern void ZCB_ComplHandler_ZW_ReplaceFailedNode(uint8_t bStatus); +#endif + +#if SUPPORT_ZW_SET_SLAVE_LEARN_MODE +extern void ZCB_ComplHandler_ZW_SetSlaveLearnMode(uint8_t bStatus, uint8_t orgID, uint8_t newID); +#endif + +#if SUPPORT_ZW_SET_RF_RECEIVE_MODE +extern uint8_t SetRFReceiveMode(uint8_t mode); +#endif + +void set_state_and_notify(uint8_t st) +{ + if (state != st) + { + xTaskNotify(g_AppTaskHandle, + 1< (uint8_t)BUF_SIZE_TX) + { + assert((uint8_t)BUF_SIZE_TX >= len); + len = (uint8_t)BUF_SIZE_TX; + } + callbackQueue.requestQueue[callbackQueue.requestIn].wLen = len; + memcpy(&callbackQueue.requestQueue[callbackQueue.requestIn].wBuf[0], pData, len); + if (++callbackQueue.requestIn >= MAX_CALLBACK_QUEUE) + { + callbackQueue.requestIn = 0; + } + xTaskNotify(g_AppTaskHandle, + 1< (uint8_t)BUF_SIZE_TX) + { + assert((uint8_t)BUF_SIZE_TX >= len); + len = (uint8_t)BUF_SIZE_TX; + } + commandQueue.requestQueue[commandQueue.requestIn].wLen = len; + memcpy(&commandQueue.requestQueue[commandQueue.requestIn].wBuf[0], pData, len); + if (++commandQueue.requestIn >= MAX_UNSOLICITED_QUEUE) + { + commandQueue.requestIn = 0; + } + taskEXIT_CRITICAL(); + xTaskNotify(g_AppTaskHandle, + 1<cmd, &lastRetVal, 1); +} + +void +DoRespond_workbuf( + uint8_t cnt +) +{ + Respond(serial_frame->cmd, compl_workbuf, cnt); +} + +void zaf_event_distributor_app_zw_rx(SZwaveReceivePackage *RxPackage) +{ + switch (RxPackage->eReceiveType) { + case EZWAVERECEIVETYPE_SINGLE: +#ifndef ZW_CONTROLLER_BRIDGE + ApplicationCommandHandler(NULL, RxPackage); +#endif + break; + +#ifdef ZW_CONTROLLER_BRIDGE + case EZWAVERECEIVETYPE_MULTI: + ApplicationCommandHandler_Bridge(&RxPackage->uReceiveParams.RxMulti); + break; +#endif // #ifdef ZW_CONTROLLER_BRIDGE + + case EZWAVERECEIVETYPE_NODE_UPDATE: + ApplicationNodeUpdate( + RxPackage->uReceiveParams.RxNodeUpdate.Status, + RxPackage->uReceiveParams.RxNodeUpdate.NodeId, + RxPackage->uReceiveParams.RxNodeUpdate.aPayload, + RxPackage->uReceiveParams.RxNodeUpdate.iLength); + break; + default: + break; + } +} + + +/** +* @brief Triggered when protocol puts a message on the ZwCommandStatusQueue. +*/ +void zaf_event_distributor_app_zw_command_status(SZwaveCommandStatusPackage *Status) +{ + DPRINTF("Incoming Status msg %x\r\n", Status->eStatusType); + + switch (Status->eStatusType) { + case EZWAVECOMMANDSTATUS_LEARN_MODE_STATUS: + SyncEventArg1Invoke(&LearnModeStatusCb, Status->Content.LearnModeStatus.Status); + break; + + case EZWAVECOMMANDSTATUS_SET_DEFAULT: + // Received when protocol is started (not implemented yet), and when SetDefault command is completed + SyncEventInvoke(&SetDefaultCB); + break; + +#ifdef ZW_CONTROLLER + case EZWAVECOMMANDSTATUS_REPLACE_FAILED_NODE_ID: + ZCB_ComplHandler_ZW_ReplaceFailedNode(Status->Content.FailedNodeIDStatus.result); + break; + case EZWAVECOMMANDSTATUS_REMOVE_FAILED_NODE_ID: + ZCB_ComplHandler_ZW_RemoveFailedNodeID(Status->Content.FailedNodeIDStatus.result); + break; + case EZWAVECOMMANDSTATUS_NETWORK_MANAGEMENT: + { + LEARN_INFO_T mLearnInfo; + mLearnInfo.bStatus = Status->Content.NetworkManagementStatus.statusInfo[0]; + mLearnInfo.bSource = (uint16_t)(((uint16_t)Status->Content.NetworkManagementStatus.statusInfo[1] << 8) // nodeID MSB + | (uint16_t)Status->Content.NetworkManagementStatus.statusInfo[2]); // nodeID LSB + mLearnInfo.bLen = Status->Content.NetworkManagementStatus.statusInfo[3]; + mLearnInfo.pCmd = &Status->Content.NetworkManagementStatus.statusInfo[4]; + ZCB_ComplHandler_ZW_NodeManagement(&mLearnInfo); + break; + } +#if SUPPORT_ZW_SET_SLAVE_LEARN_MODE + case EZWAVECOMMANDSTATUS_SET_SLAVE_LEARN_MODE: + { + uint8_t bStatus; + uint16_t orgID; + uint16_t newID; + bStatus = Status->Content.NetworkManagementStatus.statusInfo[0]; + orgID = (uint16_t)((uint16_t)(Status->Content.NetworkManagementStatus.statusInfo[1] << 8) // org nodeID MSB + | Status->Content.NetworkManagementStatus.statusInfo[2]); // org nodeID LSB + newID = (uint16_t)((uint16_t)(Status->Content.NetworkManagementStatus.statusInfo[3] << 8) // new nodeID MSB + | Status->Content.NetworkManagementStatus.statusInfo[4]); // new nodeID LSB + ZCB_ComplHandler_ZW_SetSlaveLearnMode(bStatus, (uint8_t)orgID, (uint8_t)newID); // orgID and newID are always (8-bit) IDs + break; + } +#endif +#endif + default: + break; + } +} + +static void +appFileSystemInit(void) +{ + SAppNodeInfo_t *AppNodeInfo; + SRadioConfig_t *RadioConfig; + + AppNodeInfo = zaf_get_app_node_info(); + RadioConfig = zaf_get_radio_config(); + + /* + * Handle file system init inside Application Task + * This reduces the default stack needed during initialization + */ + if (SerialApiFileInit()) + { + ReadApplicationSettings(&AppNodeInfo->DeviceOptionsMask, &AppNodeInfo->NodeType.generic, &AppNodeInfo->NodeType.specific); + ReadApplicationCCInfo(&CommandClasses.UnSecureIncludedCC.iListLength, + (uint8_t*)CommandClasses.UnSecureIncludedCC.pCommandClasses, + &CommandClasses.SecureIncludedUnSecureCC.iListLength, + (uint8_t*)CommandClasses.SecureIncludedUnSecureCC.pCommandClasses, + &CommandClasses.SecureIncludedSecureCC.iListLength, + (uint8_t*)CommandClasses.SecureIncludedSecureCC.pCommandClasses); + ReadApplicationRfRegion(&RadioConfig->eRegion); + ReadApplicationTxPowerlevel(&RadioConfig->iTxPowerLevelMax, &RadioConfig->iTxPowerLevelAdjust); + ReadApplicationMaxLRTxPwr(&RadioConfig->iTxPowerLevelMaxLR); + ReadApplicationEnablePTI(&RadioConfig->radio_debug_enable); + ReadApplicationNodeIdBaseType(&nodeIdBaseType); + } + else + { + /* + * We end up here on the first boot after initializing the flash file system + */ + + zpal_radio_region_t mfgRegionConfig = REGION_UNDEFINED; + // In case of valid MfgToken, override the app default settings. + ZW_GetMfgTokenDataCountryFreq(&mfgRegionConfig); + if (true == isRfRegionValid(mfgRegionConfig)) + { + RadioConfig->eRegion = mfgRegionConfig; + } + + // Save the setting to flash + SaveApplicationRfRegion(RadioConfig->eRegion); + // Save the default Tx powerlevel + SaveApplicationTxPowerlevel(RadioConfig->iTxPowerLevelMax, RadioConfig->iTxPowerLevelAdjust); + // write defualt values + SaveApplicationSettings(AppNodeInfo->DeviceOptionsMask, AppNodeInfo->NodeType.generic, AppNodeInfo->NodeType.specific); + // change the 20dBm tx power setting according to the application configuration + SaveApplicationMaxLRTxPwr(RadioConfig->iTxPowerLevelMaxLR); + + SaveApplicationEnablePTI(RadioConfig->radio_debug_enable); + SaveApplicationNodeIdBaseType(SERIAL_API_SETUP_NODEID_BASE_TYPE_DEFAULT); + } + + ZAF_AppName_Write(); +} +/* + * The below function must be implemented as hardware specific function in a separate source + * file if required. + */ +ZW_WEAK void SerialAPI_hw_psu_init(void) +{ + // Do nothing +} + +/*=============================== ApplicationPoll ======================= +** Application poll function, handling the receiving and transmitting +** communication with the PC. +** +**--------------------------------------------------------------------------*/ +static void /*RET Nothing */ +ApplicationTask(SApplicationHandles* pAppHandles) +{ + + SerialAPI_hw_psu_init(); // Must be invoked after the file system is initialized. + + // Init + g_AppTaskHandle = xTaskGetCurrentTaskHandle(); + + SetTaskHandle(g_AppTaskHandle); + ZAF_setAppHandle(pAppHandles); + ZW_system_startup_SetCCSet(&CommandClasses); + + AppTimerInit(EAPPLICATIONEVENT_TIMER, (void *) g_AppTaskHandle); + radio_power_lock = zpal_pm_register(ZPAL_PM_TYPE_USE_RADIO); + zpal_pm_stay_awake(radio_power_lock, 0); + io_power_lock = zpal_pm_register(ZPAL_PM_TYPE_DEEP_SLEEP); + zpal_pm_stay_awake(io_power_lock, 0); + + zaf_event_distributor_init(); + + set_state_and_notify(stateStartup); + // Wait for and process events + DPRINT("SerialApi Event processor Started\r\n"); + for (;;) + { + if (!zaf_event_distributor_distribute()) + { + return; + } + } +} + +static void SerialAPICommandHandler(void) +{ + const bool handler_invoked = invoke_cmd_handler(serial_frame); + if (!handler_invoked) + { + /* TODO - send a "Not Supported" respond frame */ + /* UNKNOWN - just drop it */ + set_state_and_notify(stateIdle); + } +} + + +static void SerialAPIStateHandler(void) +{ + comm_interface_parse_result_t conVal; + + /* ApplicationPoll is controlled by a statemachine with the four states: + stateIdle, stateFrameParse, stateTxSerial, stateCbTxSerial. + + stateIdle: If there is anything to transmit do so. -> stateCbTxSerial + If not, check if anything is received. -> stateFrameParse + If neither, stay in the state + Note: frames received while we are transmitting are lost + and must be retransmitted by PC + + stateFrameParse: Parse received frame. + If the request has no response -> stateIdle + If there is an immediate response send it. -> stateTxSerial + + stateTxSerial: Waits for ack on responses send in stateFrameParse. + Retransmit frame as needed. + -> stateIdle + + stateCbTxSerial: Waits for ack on requests send in stateIdle + (callback, ApplicationCommandHandler etc). + Retransmit frame as needed and remove from callbackqueue when done. + -> stateIdle + + stateAppSuspend: Added for the uzb suspend function. The resume is through the suspend signal goes high in UZB stick + The wakeup from deep sleep suspend causes system reboot + + */ + + { + switch (state) + { + case stateStartup: + { + ApplicationInitSW(); + SetRFReceiveMode(1); + set_state_and_notify(stateIdle); + } + break; + + case stateIdle: + { +#if SUPPORT_SERIAL_API_READY + /* Only empty callback queue for HOST if SERIAL LINK has been established */ + if (callbackQueue.requestCnt && (SERIAL_LINK_DETACHED != serialLinkState)) +#else + /* Check if there is anything to transmit. If so do it */ + if (callbackQueue.requestCnt) +#endif + { + comm_interface_transmit_frame( + callbackQueue.requestQueue[callbackQueue.requestOut].wCmd, + REQUEST, + (uint8_t *)callbackQueue.requestQueue[callbackQueue.requestOut].wBuf, + callbackQueue.requestQueue[callbackQueue.requestOut].wLen, + NULL + ); + set_state_and_notify(stateCallbackTxSerial); + /* callbackCnt decremented when frame is acknowledged from PC - or timed out after retries */ + } + else + { +#if SUPPORT_SERIAL_API_READY + /* Only empty command queue for HOST if SERIAL LINK has been established */ + if (commandQueue.requestCnt && (SERIAL_LINK_DETACHED != serialLinkState)) +#else + /* Check if there is anything to transmit. If so do it */ + if (commandQueue.requestCnt) +#endif + { + comm_interface_transmit_frame( + commandQueue.requestQueue[commandQueue.requestOut].wCmd, + REQUEST, + (uint8_t *)commandQueue.requestQueue[commandQueue.requestOut].wBuf, + commandQueue.requestQueue[commandQueue.requestOut].wLen, + NULL + ); + set_state_and_notify(stateCommandTxSerial); + /* commandCnt decremented when frame is acknowledged from PC - or timed out after retries */ + } + else + { + /* Nothing to transmit. Check if we received anything */ + if (comm_interface_parse_data(true) == PARSE_FRAME_RECEIVED) + { +#if SUPPORT_SERIAL_API_READY + /* We have received a frame from HOST so we must assume we are connected */ + serialLinkState = SERIAL_LINK_CONNECTED; +#endif + /* We got a frame... */ + set_state_and_notify(stateFrameParse); + } + } + } + } + break; + + case stateFrameParse: + { + SerialAPICommandHandler(); + } + break; + + case stateTxSerial: + { + /* Wait for ACK on send respond. Retransmit as needed */ + if ((conVal = comm_interface_parse_data(false)) == PARSE_FRAME_SENT) + { + /* One more RES transmitted succesfully */ + retry = 0; + set_state_and_notify(stateIdle); + } + else if (conVal == PARSE_TX_TIMEOUT) + { + /* Either a NAK has been received or we timed out waiting for ACK */ + if (retry++ < MAX_SERIAL_RETRY) + { + comm_interface_transmit_frame(0, REQUEST, NULL, 0, NULL); /* Retry... */ + } + else + { + /* Drop RES as HOST could not be reached */ + retry = 0; + set_state_and_notify(stateIdle); + } + } + /* All other states are ignored, as for now the only thing we are looking for is ACK/NAK! */ + } + break; + + case stateCallbackTxSerial: + { + /* Wait for ack on unsolicited event (callback etc.) */ + /* Retransmit as needed. Remove frame from callbackQueue when done */ + if ((conVal = comm_interface_parse_data(false)) == PARSE_FRAME_SENT) + { + /* One more REQ transmitted succesfully */ + PopCallBackQueue(); + } + else if (conVal == PARSE_TX_TIMEOUT) + { + /* Either a NAK has been received or we timed out waiting for ACK */ + if (retry++ < MAX_SERIAL_RETRY) + { + comm_interface_transmit_frame(0, REQUEST, NULL, 0, NULL); /* Retry... */ + } + else + { + /* Drop REQ as HOST could not be reached */ + PopCallBackQueue(); + } + } + /* All other states are ignored, as for now the only thing we are looking for is ACK/NAK! */ + } + break; + + case stateCommandTxSerial: + { + /* Wait for ack on unsolicited ApplicationCommandHandler event */ + /* Retransmit as needed. Remove frame from comamndQueue when done */ + if ((conVal = comm_interface_parse_data(false)) == PARSE_FRAME_SENT) + { + /* One more REQ transmitted succesfully */ + PopCommandQueue(); + } + else if (conVal == PARSE_TX_TIMEOUT) + { + /* Either a NAK has been received or we timed out waiting for ACK */ + if (retry++ < MAX_SERIAL_RETRY) + { + comm_interface_transmit_frame(0, REQUEST, NULL, 0, NULL); /* Retry... */ + } + else + { + /* Drop REQ as HOST could not be reached */ + PopCommandQueue(); + } + } + /* All other states are ignored, as for now the only thing we are looking for is ACK/NAK! */ + } + break; + #ifdef USB_SUSPEND_SUPPORT + case stateAppSuspend: + SerialAPI_hw_usb_suspend_handler(); + break; +#endif + default: + set_state_and_notify(stateIdle); + break; + } + + } // For loop - task loop +} + + +void +zaf_event_distributor_app_state_change(void) +{ + SerialAPIStateHandler(); +} + +void +zaf_event_distributor_app_serial_data_rx(void) +{ + SerialAPIStateHandler(); +} + +void +zaf_event_distributor_app_serial_timeout(void) +{ + SerialAPIStateHandler(); +} + +void +PopCallBackQueue(void) +{ + if (callbackQueue.requestCnt) + { + callbackQueue.requestCnt--; + if (++callbackQueue.requestOut >= MAX_CALLBACK_QUEUE) + { + callbackQueue.requestOut = 0; + } + } + else + { + callbackQueue.requestOut = callbackQueue.requestIn; + } + retry = 0; + set_state_and_notify(stateIdle); +} + + +void +PopCommandQueue(void) +{ + if (commandQueue.requestCnt) + { + commandQueue.requestCnt--; + if (++commandQueue.requestOut >= MAX_UNSOLICITED_QUEUE) + { + commandQueue.requestOut = 0; + } + } + else + { + commandQueue.requestOut = commandQueue.requestIn; + } + retry = 0; + set_state_and_notify(stateIdle); +} + +/** + * @brief wakeup after sleep timeout event + * + * @param pTimer Timer connected to this method + */ +void +ZCB_WakeupTimeout(__attribute__((unused)) SSwTimer *pTimer) +{ + DPRINT("ZCB_WakeupTimeout\n"); +} + +/*============================== ApplicationInitSW ====================== +** Initialization of the Application Software +** +**--------------------------------------------------------------------------*/ +void +ApplicationInitSW(void) +{ + SAppNodeInfo_t *AppNodeInfo; + SRadioConfig_t *RadioConfig; + + AppNodeInfo = zaf_get_app_node_info(); + RadioConfig = zaf_get_radio_config(); + + comm_interface_init(); + + // FIXME load any saved node configuration and prepare to feed it to protocol +/* Do we together with the bTxStatus uint8_t also transmit a sTxStatusReport struct on ZW_SendData callback to HOST */ +#if SUPPORT_SEND_DATA_TIMING + bTxStatusReportEnabled = true; +#else + bTxStatusReportEnabled = false; +#endif + +#if SUPPORT_SERIAL_API_STARTUP_NOTIFICATION + /* ZW->HOST: bWakeupReason | bWatchdogStarted | deviceOptionMask | */ + /* nodeType_generic | nodeType_specific | cmdClassLength | cmdClass[] */ + + // FIXME send startup notification via serial port if we are supposed to + SCommandClassList_t *const apCCLists[3] = + { + &CommandClasses.UnSecureIncludedCC, + &CommandClasses.SecureIncludedUnSecureCC, + &CommandClasses.SecureIncludedSecureCC + }; + + compl_workbuf[0] = g_eApplResetReason; +#if SUPPORT_ZW_WATCHDOG_START || SUPPORT_ZW_WATCHDOG_STOP + compl_workbuf[1] = bWatchdogStarted; +#else + compl_workbuf[1] = false; +#endif + compl_workbuf[2] = AppNodeInfo->DeviceOptionsMask; + compl_workbuf[3] = AppNodeInfo->NodeType.generic; + compl_workbuf[4] = AppNodeInfo->NodeType.specific; + compl_workbuf[5] = apCCLists[0]->iListLength; + uint8_t i = 0; + if (0 < apCCLists[0]->iListLength) + { + for (i = 0; i < apCCLists[0]->iListLength; i++) + { + compl_workbuf[6 + i] = apCCLists[0]->pCommandClasses[i]; + } + } + + eSerialAPIStartedCapabilities capabilities = 0; + if (ZAF_isLongRangeRegion(RadioConfig->eRegion)) + capabilities = SERIAL_API_STARTED_CAPABILITIES_L0NG_RANGE; + compl_workbuf[6 + i] = capabilities; + + uint32_t zpal_reset_info = 0; + if (ZPAL_STATUS_OK != zpal_retention_register_read(ZPAL_RETENTION_REGISTER_RESET_INFO, &zpal_reset_info)) + { + DPRINT("ERROR while reading the reset information\n"); + Request(FUNC_ID_SERIAL_API_STARTED, compl_workbuf, 7 + i); + } + else + { + compl_workbuf[7 + i] = (uint8_t)(zpal_reset_info >> 24); + compl_workbuf[8 + i] = (uint8_t)(zpal_reset_info >> 16); + compl_workbuf[9 + i] = (uint8_t)(zpal_reset_info >> 8); + compl_workbuf[10 + i] = (uint8_t)zpal_reset_info; + DPRINTF("zpal_reset_reason: %u\n", zpal_reset_info); + Request(FUNC_ID_SERIAL_API_STARTED, compl_workbuf, 11 + i); + } + +#endif /* #if SUPPORT_STARTUP_NOTIFICATION */ + AppTimerDeepSleepPersistentRegister(&mWakeupTimer, false, ZCB_WakeupTimeout); // register for event jobs timeout event +} + +#ifdef USB_SUSPEND_SUPPORT +void UsbSuspendCallback(void) +{ + set_state(stateAppSuspend); +} +#endif + +/*============================== ApplicationInit ====================== +** Init UART and setup port pins for LEDs +** +**--------------------------------------------------------------------------*/ +ZW_APPLICATION_STATUS +ApplicationInit( + zpal_reset_reason_t eResetReason) +{ + // Serial API can control hardware with information + // set in the file system therefore it should be the first + // step in the Initialization + appFileSystemInit(); + + app_hw_init(); + +#ifdef USB_SUSPEND_SUPPORT + SerialAPI_set_usb_supend_callback(UsbSuspendCallback); +#endif + +#if SUPPORT_SERIAL_API_READY + if (ZPAL_RESET_REASON_SLEEP == eResetReason) + { + /* We have been waken from sleep by timer or external pin event - we must assume we are connected. */ + serialLinkState = SERIAL_LINK_CONNECTED; + } + else + { + /* We have been waken either by ZPAL_RESET_REASON_POWER_ON or ZPAL_RESET_REASON_PIN or similar. Initially we are DETACHED */ + serialLinkState = SERIAL_LINK_CONNECTED; + } +#endif + /* g_eApplResetReason now contains lastest System Reset reason */ + g_eApplResetReason = eResetReason; + +#ifdef DEBUGPRINT + static uint8_t m_aDebugPrintBuffer[96]; + DebugPrintConfig(m_aDebugPrintBuffer, sizeof(m_aDebugPrintBuffer), zpal_debug_output); + DebugPrintf("ApplicationInit eResetReason = %d\n", eResetReason); + ZAF_PrintAppInfo(); +#endif + + /************************************************************************************* + * CREATE USER TASKS - ZW_ApplicationRegisterTask() and ZW_UserTask_CreateTask() + ************************************************************************************* + * Register the main APP task function. + * + * ATTENTION: This function is the only task that can call ZAF API functions!!! + * Failure to follow guidelines will result in undefined behavior. + * + * Furthermore, this function is the only way to register Event Notification + * Bit Numbers for associating to given event handlers. + * + * ZW_UserTask_CreateTask() can be used to create additional tasks. + * @see zwave_soc_sensor_pir example for more info. + *************************************************************************************/ + __attribute__((unused)) bool bWasTaskCreated = ZW_ApplicationRegisterTask( + ApplicationTask, + EAPPLICATIONEVENT_ZWRX, + EAPPLICATIONEVENT_ZWCOMMANDSTATUS, + zaf_get_protocol_config() + ); + assert(bWasTaskCreated); + + return (APPLICATION_RUNNING); /*Return false to enter production test mode*/ +} + + +#ifndef ZW_CONTROLLER_BRIDGE +/*========================== ApplicationCommandHandler ================== +** Handling of received application commands and requests +** +**--------------------------------------------------------------------------*/ +void /*RET Nothing */ +ApplicationCommandHandler(__attribute__((unused)) void *pSubscriberContext, SZwaveReceivePackage* pRxPackage) +{ + ZW_APPLICATION_TX_BUFFER *pCmd = (ZW_APPLICATION_TX_BUFFER *)&pRxPackage->uReceiveParams.Rx.Payload; + uint8_t cmdLength = pRxPackage->uReceiveParams.Rx.iLength; + RECEIVE_OPTIONS_TYPE *rxOpt = &pRxPackage->uReceiveParams.Rx.RxOptions; + /* ZW->PC: REQ | 0x04 | rxStatus | sourceNode | cmdLength | pCmd[] | rssiVal | securityKey */ + uint8_t offset = 0; + BYTE_IN_AR(compl_workbuf, 0) = rxOpt->rxStatus; + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)(rxOpt->sourceNode >> 8); // MSB + BYTE_IN_AR(compl_workbuf, 2) = (uint8_t)(rxOpt->sourceNode & 0xFF); // LSB + offset++; // 16 bit nodeID means the command fields that follow are offset by one byte + } + else + { + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)(rxOpt->sourceNode & 0xFF); // Legacy 8 bit nodeID + } +#if defined(ZW_CONTROLLER) && !defined(ZW_CONTROLLER_STATIC) + if (cmdLength > (uint8_t)(BUF_SIZE_TX - (offset + (rxOpt->rxStatus & RECEIVE_STATUS_FOREIGN_FRAME ? 5 : 4)))) + { + cmdLength = (uint8_t)(BUF_SIZE_TX - (offset + (rxOpt->rxStatus & RECEIVE_STATUS_FOREIGN_FRAME ? 5 : 4))); + } +#else + if (cmdLength > (uint8_t)(BUF_SIZE_TX - (offset + 5))) + { + cmdLength = (uint8_t)(BUF_SIZE_TX - (offset + 5)); + } +#endif + BYTE_IN_AR(compl_workbuf, offset + 2) = cmdLength; + for (uint8_t i = 0; i < cmdLength; i++) + { + BYTE_IN_AR(compl_workbuf, offset + 3 + i) = *((uint8_t*)pCmd + i); + } + /* Syntax when a promiscuous frame is received (i.e. RECEIVE_STATUS_FOREIGN_FRAME is set): */ + /* ZW->PC: REQ | 0xD1 | rxStatus | sourceNode | cmdLength | pCmd[] | destNode | rssiVal + * | securityKey | bSourceTxPower | bSourceNoiseFloor */ +#if defined(ZW_CONTROLLER) && !defined(ZW_CONTROLLER_STATIC) + /* For libraries supporting promiscuous mode... */ + BYTE_IN_AR(compl_workbuf, offset + 3 + cmdLength) = (uint8_t)(rxOpt->destNode & 0xFF); + uint8_t index = (uint8_t)(offset + 3 + ((rxOpt->rxStatus & RECEIVE_STATUS_FOREIGN_FRAME) ? 1 : 0) + cmdLength); + BYTE_IN_AR(compl_workbuf, index++) = (uint8_t)rxOpt->rxRSSIVal; + BYTE_IN_AR(compl_workbuf, index++) = rxOpt->securityKey; + BYTE_IN_AR(compl_workbuf, index++) = (uint8_t)rxOpt->bSourceTxPower; + BYTE_IN_AR(compl_workbuf, index) = (uint8_t)rxOpt->bSourceNoiseFloor; + RequestUnsolicited((rxOpt->rxStatus & RECEIVE_STATUS_FOREIGN_FRAME ? + FUNC_ID_PROMISCUOUS_APPLICATION_COMMAND_HANDLER : FUNC_ID_APPLICATION_COMMAND_HANDLER), + compl_workbuf, + index); +#else + BYTE_IN_AR(compl_workbuf, offset + 3 + cmdLength) = (uint8_t)rxOpt->rxRSSIVal; + BYTE_IN_AR(compl_workbuf, offset + 4 + cmdLength) = rxOpt->securityKey; + BYTE_IN_AR(compl_workbuf, offset + 5 + cmdLength) = (uint8_t)rxOpt->bSourceTxPower; + BYTE_IN_AR(compl_workbuf, offset + 6 + cmdLength) = (uint8_t)rxOpt->bSourceNoiseFloor; + + /* Less code space-consuming version for libraries without promiscuous support */ + RequestUnsolicited(FUNC_ID_APPLICATION_COMMAND_HANDLER, compl_workbuf, (uint8_t)(offset + 7 + cmdLength)); +#endif +} +#endif + +#ifdef ZW_CONTROLLER_BRIDGE + +// Struct describing Multicast nodemask header for SerialAPI +typedef struct SMultiCastNodeMaskHeaderSerial +{ + uint8_t iNodemaskLength : 5; // Bits 0-4 is length. Length of Nodemask in bytes - Valid values [0-29] + uint8_t iNodeMaskOffset : 3; // Bits 5-7 is offset. Denotes which node the first bit in the nodemask describes + // First node in nodemask is (Value * 32) + 1 - e.g. 2 -> first node is 65 + // In reality - we always give a full nodemask -> length 29, offset 0. +} SMultiCastNodeMaskHeaderSerial; + +/*====================== ApplicationCommandHandler_Bridge ================ +** Handling of received application commands and requests +** +**--------------------------------------------------------------------------*/ +static void /*RET Nothing */ +ApplicationCommandHandler_Bridge(SReceiveMulti* pReceiveMulti) +{ + /* ZW->HOST: REQ | 0xA8 | rxStatus | destNode | sourceNode | cmdLength + * | pCmd[] | multiDestsOffset_NodeMaskLen | multiDestsNodeMask[] | rssiVal + * | securityKey | bSourceTxPower | bSourceNoiseFloor */ + uint8_t offset = 0; + BYTE_IN_AR(compl_workbuf, 0) = pReceiveMulti->RxOptions.rxStatus; + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)(pReceiveMulti->RxOptions.destNode >> 8); // MSB + BYTE_IN_AR(compl_workbuf, 2) = (uint8_t)(pReceiveMulti->RxOptions.destNode & 0xFF); // LSB + BYTE_IN_AR(compl_workbuf, 3) = (uint8_t)(pReceiveMulti->RxOptions.sourceNode >> 8); // MSB + BYTE_IN_AR(compl_workbuf, 4) = (uint8_t)(pReceiveMulti->RxOptions.sourceNode & 0xFF); // LSB + offset = 6; // 16 bit nodeIDs means the command fields that follow are offset by two bytes + } + else + { + // Legacy 8 bit nodeIDs + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)pReceiveMulti->RxOptions.destNode; + BYTE_IN_AR(compl_workbuf, 2) = (uint8_t)pReceiveMulti->RxOptions.sourceNode; + offset = 4; + } + + uint32_t cmdLength = pReceiveMulti->iCommandLength; + uint8_t i; + + if (cmdLength > sizeof(pReceiveMulti->Payload)) + { + cmdLength = sizeof(pReceiveMulti->Payload); + } + if (cmdLength > (uint8_t)(BUF_SIZE_TX - offset) ) + { + cmdLength = (uint8_t)(BUF_SIZE_TX - offset) ; + } + BYTE_IN_AR(compl_workbuf, offset - 1 ) = (uint8_t)cmdLength; + + memcpy(compl_workbuf + offset, (uint8_t*)&pReceiveMulti->Payload, cmdLength); + + if (pReceiveMulti->RxOptions.rxStatus & RECEIVE_STATUS_TYPE_MULTI) + { + /* Its a Multicast frame */ + + // Create NodeMaskHeader to comply with SerialAPI + const SMultiCastNodeMaskHeaderSerial NodeMaskHeader = { + .iNodemaskLength = 29, // Always offset full nodemask. Hardwired to 29 (and not + // nodemask define) since SerialAPI is not supposed to change. + .iNodeMaskOffset = 0 // Always full nodemask -> No offset + }; + + i = NodeMaskHeader.iNodemaskLength + 1; // + 1 for node mask headers own size. + if (i > (uint8_t)(BUF_SIZE_TX - (offset + cmdLength))) + { + i = (uint8_t)(BUF_SIZE_TX - (offset + cmdLength + 1)); + } + if (i > 0) + { + *(compl_workbuf + offset + cmdLength) = i - 1; + memcpy(compl_workbuf + offset + 1 + cmdLength, (uint8_t*)pReceiveMulti->NodeMask, i - 1); // +- 1 as we already copied node mask header + i += (uint8_t)cmdLength; + } + } + else + { + if (cmdLength >= (uint8_t)(BUF_SIZE_TX - offset) ) + { + cmdLength = (uint8_t)(BUF_SIZE_TX - offset -1); + i = (uint8_t)cmdLength; + } + else + { + i = (uint8_t)(cmdLength + 1); + } + BYTE_IN_AR(compl_workbuf, (uint8_t)(offset + cmdLength)) = 0; + } + BYTE_IN_AR(compl_workbuf, offset + i) = (uint8_t)pReceiveMulti->RxOptions.rxRSSIVal; + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + BYTE_IN_AR(compl_workbuf, offset + ++i) = pReceiveMulti->RxOptions.securityKey; //inclusion fails without this + BYTE_IN_AR(compl_workbuf, offset + ++i) = (uint8_t)pReceiveMulti->RxOptions.bSourceTxPower; + BYTE_IN_AR(compl_workbuf, offset + ++i) = (uint8_t)pReceiveMulti->RxOptions.bSourceNoiseFloor; + } + /* Unified Application Command Handler for Bridge and Virtual nodes */ + RequestUnsolicited(FUNC_ID_APPLICATION_COMMAND_HANDLER_BRIDGE, compl_workbuf, (uint8_t)(offset + 1 + i)); +} +#endif + + +/*====================== ApplicationNodeUpdate ========================= +** Inform the static controller/slave of node information received +** +**--------------------------------------------------------------------------*/ +void /* RET Nothing */ +ApplicationNodeUpdate( + uint8_t bStatus, /* IN Status of learn mode */ + uint16_t nodeID, /* IN Node id of node sending nodeinfo*/ + uint8_t *pCmd, /* IN Pointer to appl. node info */ + uint8_t bLen /* IN Node info length */ +) +{ + uint8_t offset = 0; + BYTE_IN_AR(compl_workbuf, 0) = bStatus; + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)(nodeID >> 8); // MSB + BYTE_IN_AR(compl_workbuf, 2) = (uint8_t)(nodeID & 0xFF); // LSB + offset++; // 16 bit nodeID means the command fields that follow are offset by one byte + } + else + { + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)(nodeID & 0xFF); // Legacy 8 bit nodeID + } + + /* - Buffer boundary check */ + bLen = (bLen > MAX_NODE_INFO_LENGTH) ? MAX_NODE_INFO_LENGTH : bLen; + bLen = (bLen > (uint8_t)(BUF_SIZE_TX - (offset + 3))) ? (uint8_t)(BUF_SIZE_TX - (offset + 3)) : bLen; + + BYTE_IN_AR(compl_workbuf, offset + 2) = bLen; + if(bLen > 0 && pCmd) + { + for (uint8_t i = 0; i < bLen; i++) + { + BYTE_IN_AR(compl_workbuf, offset + 3 + i) = *(pCmd + i); + } + } + RequestUnsolicited(FUNC_ID_ZW_APPLICATION_UPDATE, compl_workbuf, (uint8_t)(offset + bLen + 3)); +} + +ZW_WEAK const void * SerialAPI_get_uart_config_ext(void) +{ + return NULL; +} + +#ifdef USB_SUSPEND_SUPPORT + +ZW_WEAK void SerialAPI_set_usb_supend_callback(__attribute__((unused)) SerialAPI_hw_usb_suspend_callback_t callback) +{ +} + +ZW_WEAK void SerialAPI_hw_usb_suspend_handler(void) +{ + +} + +#endif diff --git a/src/zwave_ncp/app.h b/src/zwave_ncp/app.h new file mode 100644 index 00000000..3eb3acc2 --- /dev/null +++ b/src/zwave_ncp/app.h @@ -0,0 +1,321 @@ +/** + * @file + * Header file for Serial API implementation. + * + * Contains various application definitions and SerialAPI + * functionality support definitions. + * + * @copyright 2019 Silicon Laboratories Inc. + */ +#ifndef _SERIALAPPL_H_ +#define _SERIALAPPL_H_ +#include + +#ifndef UNIT_TEST +/* Z-Wave library functionality support definitions */ +#ifdef ZW_SLAVE +#include +#else +#include +#endif +#endif /*#ifndef UNIT_TEST*/ + +#include + +#include + +#ifdef ZW_SLAVE +#include +#endif +#ifdef ZW_SECURITY_PROTOCOL +#include +#endif + +#ifdef ZW_CONTROLLER +#include +#endif + +/* Serial API version */ +#define SERIAL_API_VER 10 + +/* Max number of times a frame will be transmitted to PC */ +#define MAX_SERIAL_RETRY 3 + +/* Number of bytes in a homeID */ +#define HOMEID_LENGTH 4 + +/* Max number of nodes in a multi cast (group) */ +#define MAX_GROUP_NODES 64 + +/* Macro for accessing the byte in byte_array at the index indx */ +#define BYTE_IN_AR(byte_array, indx) (*(byte_array + indx)) + +/* Macro for getting HIGH uint8_t in wVar uint16_t variable */ +#define BYTE_GET_HIGH_BYTE_IN_WORD(wVar) *((uint8_t*)&wVar) + +/* Macro for getting LOW uint8_t in wVar uint16_t variable */ +#define BYTE_GET_LOW_BYTE_IN_WORD(wVar) *((uint8_t*)&wVar + 1) + +/* Macro for setting HIGH uint8_t and LOW uint8_t in wVar uint16_t variable */ +#define WORD_SET_HIGH_LOW_BYTES(wVar, bHIGHByte, bLOWByte) BYTE_GET_HIGH_BYTE_IN_WORD(wVar) = bHIGHByte; \ + BYTE_GET_LOW_BYTE_IN_WORD(wVar) = bLOWByte + +/* States for ApplicationPoll function */ +enum +{ + stateStartup, + stateIdle, + stateTxSerial, + stateFrameParse, + stateCallbackTxSerial, + stateCommandTxSerial, + stateAppSuspend +}; + +/* States for FUNC_ID_NVM_BACKUP_RESTORE operation */ +typedef enum +{ + NVMBackupRestoreOperationOpen, + NVMBackupRestoreOperationRead, + NVMBackupRestoreOperationWrite, + NVMBackupRestoreOperationClose +} eNVMBackupRestoreOperation; + +/* Return values for FUNC_ID_NVM_BACKUP_RESTORE operation */ +typedef enum +{ + NVMBackupRestoreReturnValueOK = false, /* Everything is OK, so far */ + NVMBackupRestoreReturnValueError = true, /* Non specific error */ + NVMBackupRestoreReturnValueOperationMismatch, /* Error mixing read and write */ + NVMBackupRestoreReturnValueOperationDisturbed, /* Error read operation disturbed by other write */ + NVMBackupRestoreReturnValueEOF = EOF /* Not really an error. Just an indication of EndOfFile */ +} eNVMBackupRestoreReturnValue; + +#ifndef ZW_SECURITY_PROTOCOL +/* params used by ApplicationNodeInformation */ +#define APPL_NODEPARM_MAX 35 +#endif +#define APPL_SLAVENODEPARM_MAX APPL_NODEPARM_MAX + + +typedef enum _E_SERIALAPI_SET_LEARN_MODE_ +{ + SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_DISABLE = ZW_SET_LEARN_MODE_DISABLE, + SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_CLASSIC = ZW_SET_LEARN_MODE_CLASSIC, + SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_NWI = ZW_SET_LEARN_MODE_NWI, + SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_NWE = ZW_SET_LEARN_MODE_NWE, + SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_MAX = SERIALPI_SET_LEARN_MODE_ZW_SET_LEARN_MODE_NWE, + + /* slave_learn_plus/ctrl_learn extensions */ + SERIALPI_SET_LEARN_MODE_LEARN_PLUS_OFFSET = 0x80, + +} E_SERIALAPI_SET_LEARN_MODE; + +#ifdef ZW_SLAVE_ROUTING +/* SerialAPI only used state - used when ZW_RequestNodeInfo transmit fails */ +/* It is then assumed that the destination node did not receive the request. */ +#define UPDATE_STATE_NODE_INFO_REQ_FAILED 0x81 +#endif + +/* SerialAPI functionality support definitions */ +#define SUPPORT_SEND_DATA_TIMING 1 +/* Definitions for SerialAPI startup */ +typedef enum +{ + SERIALAPI_CONFIG_STARTUP_NOTIFICATION_ENABLED = 1, + SERIALAPI_CONFIG_UNDEFINED = 0xFE +} SERIALAPI_CONFIG_T; + +#ifdef PORT_STATUS +#define SUPPORT_ZW_PORT_STATUS 1 +#else +#define SUPPORT_ZW_PORT_STATUS 0 +#endif +#define SUPPORT_ZW_SET_SECURITY_S0_NETWORK_KEY 0 /*deprecated*/ +/* Enable support for SerialAPI Startup Notification */ +#define SUPPORT_SERIAL_API_STARTUP_NOTIFICATION 1 + +/* Security in Protocol SerialAPI functionality support definitions */ +#ifdef ZW_SECURITY_PROTOCOL +#define SUPPORT_APPLICATION_SECURITY_EVENT 0 +#define SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES 1 +#if (SUPPORT_ZW_GET_SECURITY_KEYS | \ + SUPPORT_ZW_SET_SECURITY_S0_NETWORK_KEY | \ + SUPPORT_ZW_GET_SECURITY_S2_PUBLIC_DSK | \ + SUPPORT_ZW_SET_SECURITY_S2_CRITICAL_NODE_ID) +#define SUPPORT_ZW_SECURITY_SETUP 1 +#else +#define SUPPORT_ZW_SECURITY_SETUP 0 +#endif +#else /*#ifdef ZW_SECURITY_PROTOCOL*/ +#define SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES 0 +#define SUPPORT_ZW_SECURITY_SETUP 0 +#define SUPPORT_APPLICATION_SECURITY_EVENT 0 +#endif + +/* Common SerialAPI functionality support definitions */ +#define SUPPORT_SERIAL_API_APPL_NODE_INFORMATION 1 + +#define SUPPORT_SERIAL_API_GET_CAPABILITIES 1 +#define SUPPORT_SERIAL_API_SOFT_RESET 1 + +#define SUPPORT_SERIAL_API_POWER_MANAGEMENT 0 +#define SUPPORT_SERIAL_API_READY 0 + +#define SUPPORT_SERIAL_API_EXT 1 +#ifdef ZW_SECURITY_PROTOCOL +/* Only libraries with SECURITY buildin should supports this (slave_enhanced_232) */ +#define SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES 1 +#else +#define SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES 0 +#endif + +#ifdef ZW_ENABLE_RTC +#define SUPPORT_CLOCK_SET 1 +#define SUPPORT_CLOCK_GET 1 +#define SUPPORT_CLOCK_CMP 1 +#define SUPPORT_RTC_TIMER_CREATE 1 +#define SUPPORT_RTC_TIMER_READ 1 +#define SUPPORT_RTC_TIMER_DELETE 1 +#define SUPPORT_RTC_TIMER_CALL 1 +#else +#define SUPPORT_CLOCK_SET 0 +#define SUPPORT_CLOCK_GET 0 +#define SUPPORT_CLOCK_CMP 0 +#define SUPPORT_RTC_TIMER_CREATE 0 +#define SUPPORT_RTC_TIMER_READ 0 +#define SUPPORT_RTC_TIMER_DELETE 0 +#define SUPPORT_RTC_TIMER_CALL 0 +#endif + +#define SUPPORT_ZW_AUTO_PROGRAMMING 1 + +#ifdef TIMER_SUPPORT +#define SUPPORT_TIMER_START 1 +#define SUPPORT_TIMER_RESTART 1 +#define SUPPORT_TIMER_CANCEL 1 +#define SUPPORT_TIMER_CALL 1 +#else +#define SUPPORT_TIMER_START 0 +#define SUPPORT_TIMER_RESTART 0 +#define SUPPORT_TIMER_CANCEL 0 +#define SUPPORT_TIMER_CALL 0 +#endif + +#ifdef PORT_STATUS +#define SUPPORT_ZW_PORT_STATUS 1 +#else +#define SUPPORT_ZW_PORT_STATUS 0 +#endif +/* ZW_EnableSUC() no longer exists in the library */ + +/* */ +#define SUPPORT_SERIAL_API_GET_APPL_HOST_MEMORY_OFFSET 0 + +#if SUPPORT_SERIAL_API_READY +enum +{ + /* SERIAL_LINK_IDLE = Ready for incomming Serial communication, but */ + /* do not transmit anything via the serial link even if application */ + /* frames is received on the RF, which normally should be transmitted */ + /* to the HOST. */ + SERIAL_LINK_DETACHED = 0, + /* SERIAL_LINK_CONNECTED = There exists a HOST so transmit on serial */ + /* link if needed. */ + SERIAL_LINK_CONNECTED = 1 +}; + +extern uint8_t serialLinkState; +#endif /* SUPPORT_SERIAL_API_READY */ + +extern void DoRespond_workbuf( + uint8_t cnt); + +extern void set_state_and_notify( + uint8_t st +); + +extern void set_state( + uint8_t st +); + +extern bool Request( + uint8_t cmd, /*IN Command */ + uint8_t *pData, /*IN pointer to data */ + uint8_t len /*IN Length of data */ +); + +extern bool RequestUnsolicited( + uint8_t cmd, /*IN Command */ + uint8_t *pData, /*IN pointer to data */ + uint8_t len /*IN Length of data */ +); + +extern void Respond( + uint8_t cmd, /*IN Command */ + uint8_t const * pData, /*IN pointer to data */ + uint8_t len /*IN Length of data */ +); +extern void DoRespond(uint8_t retVal); + +extern void PopCallBackQueue(void); + +extern void PopCommandQueue(void); + +extern uint8_t GetCallbackCnt(void); + +extern void ZW_GetMfgTokenDataCountryFreq(void *data); + +#if SUPPORT_SERIAL_API_POWER_MANAGEMENT +extern void +ZCB_PowerManagementWakeUpOnExternalActive(void); + +extern void +ZCB_PowerManagementWakeUpOnTimerHandler(void); + +extern void +ZCB_powerManagementPoweredUpPinActive(void); + +extern void +PowerManagementSetPowerDown(void); + +extern void +PowerManagementSetPowerUp(void); + +extern void +PowerManagementCheck(void); + +extern void +PurgeCallbackQueue(void); + +extern void +PurgeCommandQueue(void); +#endif /* SUPPORT_SERIAL_API_POWER_MANAGEMENT */ + +// Prioritized events that can wakeup protocol thread. +typedef enum EApplicationEvent +{ + EAPPLICATIONEVENT_ZWRX = 0, + EAPPLICATIONEVENT_ZWCOMMANDSTATUS, + EAPPLICATIONEVENT_STATECHANGE, + EAPPLICATIONEVENT_SERIALDATARX, + EAPPLICATIONEVENT_SERIALTIMEOUT, + EAPPLICATIONEVENT_TIMER +} EApplicationEvent; + +/* FUNC_ID_SERIAL_API_STARTED Capabilities bit field definitions */ +typedef enum +{ + SERIAL_API_STARTED_CAPABILITIES_L0NG_RANGE = 1<<0 // Controller is Z-Wave Long Range capable + /* Can be extended with future capability bits here */ +} eSerialAPIStartedCapabilities; + +extern void ApplicationNodeUpdate(uint8_t bStatus, uint16_t nodeID, uint8_t *pCmd, uint8_t bLen); + +/* Should be enough */ +#define BUF_SIZE_RX 168 +#define BUF_SIZE_TX 168 + +extern uint8_t compl_workbuf[BUF_SIZE_TX]; + +#endif /* _SERIALAPPL_H_ */ diff --git a/src/zwave_ncp/app_node_info.c b/src/zwave_ncp/app_node_info.c new file mode 100644 index 00000000..c2da5788 --- /dev/null +++ b/src/zwave_ncp/app_node_info.c @@ -0,0 +1,26 @@ +/** + * @file app_node_info.c + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include "app_node_info.h" + +uint8_t aAppNodeInfoCCUnSecureIncluded[APPL_NODEPARM_MAX]; +uint8_t aAppNodeInfoCCSecureIncludedUnSecure[APPL_NODEPARM_MAX]; +uint8_t aAppNodeInfoCCSecureIncludedSecure[APPL_NODEPARM_MAX]; + +SCommandClassSet_t CommandClasses = { + .UnSecureIncludedCC.iListLength = 0, + .UnSecureIncludedCC.pCommandClasses = aAppNodeInfoCCUnSecureIncluded, + .SecureIncludedUnSecureCC.iListLength = 0, + .SecureIncludedUnSecureCC.pCommandClasses = aAppNodeInfoCCSecureIncludedUnSecure, + .SecureIncludedSecureCC.iListLength = 0, + .SecureIncludedSecureCC.pCommandClasses = aAppNodeInfoCCSecureIncludedSecure +}; + +const uint8_t CCListSizes[3] = +{ + sizeof(aAppNodeInfoCCUnSecureIncluded), + sizeof(aAppNodeInfoCCSecureIncludedUnSecure), + sizeof(aAppNodeInfoCCSecureIncludedSecure) +}; diff --git a/src/zwave_ncp/app_node_info.h b/src/zwave_ncp/app_node_info.h new file mode 100644 index 00000000..b628e38e --- /dev/null +++ b/src/zwave_ncp/app_node_info.h @@ -0,0 +1,15 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#ifndef APP_NODE_INFO_H_ +#define APP_NODE_INFO_H_ + +#include "app.h" +#include + +extern SCommandClassSet_t CommandClasses; +extern const uint8_t CCListSizes[3]; + +#endif /* APP_NODE_INFO_H_ */ diff --git a/src/zwave_ncp/cmd_get_capabilities.c b/src/zwave_ncp/cmd_get_capabilities.c new file mode 100644 index 00000000..8dceb3e6 --- /dev/null +++ b/src/zwave_ncp/cmd_get_capabilities.c @@ -0,0 +1,65 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ +#include + +#include + +#include "cmd_handlers.h" +#include "app.h" +#include "zaf_config.h" +#include "zw_version_config.h" +#include "nvm_backup_restore.h" + +#define CAPABILITIES_SIZE (8 + 32) // Info + supported commands + +/* Serial API application manufacturer_id */ +#define SERIALAPI_MANUFACTURER_ID1 (uint8_t)((ZAF_CONFIG_MANUFACTURER_ID & 0xFF00) >> 8) /* MSB */ +#define SERIALAPI_MANUFACTURER_ID2 (uint8_t)( ZAF_CONFIG_MANUFACTURER_ID & 0x00FF) /* LSB */ +/* Serial API application manufacturer product type */ +#define SERIALAPI_MANUFACTURER_PRODUCT_TYPE1 (uint8_t)((ZAF_CONFIG_PRODUCT_TYPE_ID & 0xFF00) >> 8) /* MSB */ +#define SERIALAPI_MANUFACTURER_PRODUCT_TYPE2 (uint8_t) (ZAF_CONFIG_PRODUCT_TYPE_ID & 0x00FF) /* LSB */ +/* Serial API application manufacturer product id */ +#define SERIALAPI_MANUFACTURER_PRODUCT_ID1 (uint8_t)((ZAF_CONFIG_PRODUCT_ID & 0xFF00) >> 8) /* MSB */ +#define SERIALAPI_MANUFACTURER_PRODUCT_ID2 (uint8_t) (ZAF_CONFIG_PRODUCT_ID & 0x00FF) /* LSB */ + +static uint8_t SERIALAPI_CAPABILITIES[CAPABILITIES_SIZE] = { + APP_VERSION, + APP_REVISION, + SERIALAPI_MANUFACTURER_ID1, + SERIALAPI_MANUFACTURER_ID2, + SERIALAPI_MANUFACTURER_PRODUCT_TYPE1, + SERIALAPI_MANUFACTURER_PRODUCT_TYPE2, + SERIALAPI_MANUFACTURER_PRODUCT_ID1, + SERIALAPI_MANUFACTURER_PRODUCT_ID2 +}; + +static bool add_cmd_to_capabilities(cmd_handler_map_t const * const p_cmd_entry, cmd_context_t context) +{ + ZW_NodeMaskSetBit(context, p_cmd_entry->cmd); + return false; +} + +ZW_ADD_CMD(FUNC_ID_SERIAL_API_GET_CAPABILITIES) +{ + cmd_foreach(add_cmd_to_capabilities, &SERIALAPI_CAPABILITIES[8]); + +#if SUPPORT_NVM_BACKUP_RESTORE + //If the legacy NVM backup & restore command cannot be used, it must be removed from available command. + if (false == NvmBackupLegacyCmdAvailable()) + { + /*SUPPORT_NVM_BACKUP_RESTORE cannot be set depending on the NVM size, because it is define in + the application. However the NVM_SIZE is defined inside the ZPAL. It is available to the + application only through the function zpal_nvm_backup_get_size(). + So this configuration must be done dynamically. */ + ZW_NodeMaskClearBit(&SERIALAPI_CAPABILITIES[8], FUNC_ID_NVM_BACKUP_RESTORE); + } +#endif + /* HOST->ZW: no params defined */ + /* ZW->HOST: RES | 0x07 | */ + /* SERIAL_APPL_VERSION | SERIAL_APPL_REVISION | SERIALAPI_MANUFACTURER_ID1 | SERIALAPI_MANUFACTURER_ID2 | */ + /* SERIALAPI_MANUFACTURER_PRODUCT_TYPE1 | SERIALAPI_MANUFACTURER_PRODUCT_TYPE2 | */ + /* SERIALAPI_MANUFACTURER_PRODUCT_ID1 | SERIALAPI_MANUFACTURER_PRODUCT_ID2 | FUNCID_SUPPORTED_BITMASK[] */ + Respond(frame->cmd, SERIALAPI_CAPABILITIES, sizeof(SERIALAPI_CAPABILITIES)); +} diff --git a/src/zwave_ncp/cmd_handlers.c b/src/zwave_ncp/cmd_handlers.c new file mode 100644 index 00000000..1586617a --- /dev/null +++ b/src/zwave_ncp/cmd_handlers.c @@ -0,0 +1,3242 @@ +/** + * @file cmd_handlers.c + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//#define DEBUGPRINT +#include + +#include "app_node_info.h" +#include "virtual_slave_node_info.h" +#include "cmd_handlers.h" +#include "cmds_management.h" +#include "cmds_security.h" +#include "cmds_rf.h" +#include "SerialAPI.h" +#include "app.h" +#include "serialapi_file.h" +#include "utils.h" +#include "nvm_backup_restore.h" +#include "zaf_protocol_config.h" + +#if SUPPORT_ZW_AES_ECB +#include +#endif + +#ifndef MIN +#define MIN(a,b) (((a)<(b))?(a):(b)) +#endif + +extern bool bTxStatusReportEnabled; + +SSyncEventArg1 LearnModeStatusCb = {.uFunctor.pFunction = 0}; // Ensure function pointer is initialized +SSyncEvent SetDefaultCB = {.uFunctor.pFunction = 0}; // Ensure function pointer is initialized + +#ifdef ZW_CONTROLLER +static uint8_t addState = 0; +uint8_t funcID_ComplHandler_ZW_NodeManagement; +uint8_t nodeManagement_Func_ID; +#endif + + +#ifdef ZW_CONTROLLER +static void SetupNodeManagement(const comm_interface_frame_ptr frame, uint8_t funcID_offet) +{ + nodeManagement_Func_ID = frame->cmd; + funcID_ComplHandler_ZW_NodeManagement = *(frame->payload + funcID_offet); + set_state_and_notify(stateIdle); + addState = 0; +} +#endif + + +#if SUPPORT_ZW_INITIATE_SHUTDOWN +/* + This callback function called from protocol just before going into deep sleep (Deep Sleep) + The function itself sends a respond to the host notifying it that the device is ready to go into deep sleep. +*/ +static void Initiate_shutdown_cb(void) +{ + // 0x1 0x03 0x00 0xd9 + const uint8_t status = 0x01; + comm_interface_transmit_frame(FUNC_ID_ZW_INITIATE_SHUTDOWN, RESPONSE, &status, sizeof(status), NULL); + comm_interface_wait_transmit_done(); +} + +/* + HOST->ZW + ZW-HOST 0x01 +*/ +ZW_ADD_CMD(FUNC_ID_ZW_INITIATE_SHUTDOWN) +{ + AppTimerStopAll(); + if (InitiateShutdown(&Initiate_shutdown_cb)) + { + set_state_and_notify(stateIdle); + } + else + { + // somthing went wrong we failed to start the graceful shutdown + DoRespond(0); + } +} + +#endif + + +#if SUPPORT_FUNC_ID_CLEAR_TX_TIMERS +static void ClearTxTimers(void) +{ + SZwaveCommandPackage CommandPackage = { .eCommandType = EZWAVECOMMANDTYPE_CLEAR_TX_TIMERS }; + + // Put the package on queue (and DO wait for it, since there is no feedback to serial master) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&CommandPackage, 500); + + if (EQUEUENOTIFYING_STATUS_SUCCESS != QueueStatus) + { + DPRINT("Warning: Failed to clear Tx timers"); + } +} + +ZW_ADD_CMD(FUNC_ID_CLEAR_TX_TIMERS) +{ + /* HOST->ZW: */ + ClearTxTimers(); + set_state(stateIdle); +} +#endif /* SUPPORT_FUNC_ID_CLEAR_TX_TIMERS */ + + +#if SUPPORT_FUNC_ID_GET_TX_TIMERS +ZW_ADD_CMD(FUNC_ID_GET_TX_TIMERS) +{ + /* HOST->ZW: */ + /* ZW->HOST: channel0TxTimer_MSB | channel0TxTimer_Next_MSB | channel0TxTimer_Next_LSB | channel0TxTimerLSB | */ + /* channel1TxTimer_MSB | channel1TxTimer_Next_MSB | channel1TxTimer_Next_LSB | channel1TxTimerLSB | */ + /* channel2TxTimer_MSB | channel2TxTimer_Next_MSB | channel2TxTimer_Next_LSB | channel2TxTimerLSB | */ + /* channel3TxTimer_MSB | channel3TxTimer_Next_MSB | channel3TxTimer_Next_LSB | channel3TxTimerLSB | */ + /* channel4TxTimer_MSB | channel4TxTimer_Next_MSB | channel4TxTimer_Next_LSB | channel4TxTimerLSB */ + + // Copy current Network Statistic counters + const zpal_radio_network_stats_t *sRFStats = ZAF_getNetworkStatistics(); + + uint8_t i = 0; + // Copy with endian swap + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[0] >> 24) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[0] >> 16) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[0] >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[0] >> 0) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[1] >> 24) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[1] >> 16) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[1] >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[1] >> 0) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[2] >> 24) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[2] >> 16) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[2] >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[2] >> 0) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[3] >> 24) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[3] >> 16) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[3] >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[3] >> 0) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[4] >> 24) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[4] >> 16) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[4] >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_time_channel[4] >> 0) & 0xff); + + DoRespond_workbuf(i); +} +#endif /* SUPPORT_FUNC_ID_GET_TX_TIMERS */ + + +#if SUPPORT_ZW_GET_BACKGROUND_RSSI +static void GetBackgroundRSSI(RSSI_LEVELS *noise_levels) +{ + SZwaveCommandPackage cmdPackage = {.eCommandType = EZWAVECOMMANDTYPE_GET_BACKGROUND_RSSI}; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_GET_BACKGROUND_RSSI)) + { + memcpy((uint8_t *)noise_levels, cmdStatus.Content.GetBackgroundRssiStatus.rssi, sizeof(RSSI_LEVELS)); + return; + } + assert(false); // FIXME We should have more intelligent error handling, we shouldnt assert here. +} + +ZW_ADD_CMD(FUNC_ID_ZW_GET_BACKGROUND_RSSI) +{ + /* HOST->ZW: (no arguments) */ + /* ZW->HOST: RES | RSSI Ch0 | RSSI Ch1 | RSSI Ch2 */ + GetBackgroundRSSI((RSSI_LEVELS*)&compl_workbuf[0]); + DoRespond_workbuf(sizeof(RSSI_LEVELS)); +} +#endif + + +#if SUPPORT_ZW_CLEAR_NETWORK_STATS +static void ClearNetworkStats(void) +{ + SZwaveCommandPackage CommandPackage = {.eCommandType = EZWAVECOMMANDTYPE_CLEAR_NETWORK_STATISTICS}; + // Put the package on queue (and dont wait for it) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&CommandPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); +} + +ZW_ADD_CMD(FUNC_ID_ZW_CLEAR_NETWORK_STATS) +{ + /* HOST->ZW: */ + /* ZW->HOST: 0x01 */ + ClearNetworkStats(); + DoRespond(1); +} +#endif /* SUPPORT_ZW_CLEAR_NETWORK_STATS */ + + +#if SUPPORT_ZW_GET_NETWORK_STATS +ZW_ADD_CMD(FUNC_ID_ZW_GET_NETWORK_STATS) +{ + /* HOST->ZW: */ + /* ZW->HOST: wRFTxFrames_MSB | wRFTxFrames_LSB | */ + /* wRFTxLBTBackOffs_MSB | wRFTxLBTBackOffs_LSB | */ + /* wRFRxFrames_MSB | wRFRxFrames_LSB */ + /* wRFRxLRCErrors_MSB | wRFRxLRCErrors_LSB */ + /* wRFRxCRCErrors_MSB | wRFRxCRCErrors_LSB */ + /* wRFRxForeignHomeID_MSB | wRFRxForeignHomeID_LSB */ + + // Copy current Network Statistic counters + const zpal_radio_network_stats_t *sRFStats = ZAF_getNetworkStatistics(); + + int i = 0; + // Copy with endian swap + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_frames >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_frames >> 0) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_lbt_back_offs >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->tx_lbt_back_offs >> 0) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->rx_frames >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->rx_frames >> 0) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->rx_lrc_errors >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->rx_lrc_errors >> 0) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->rx_crc_errors >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->rx_crc_errors >> 0) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->rx_foreign_home_id >> 8) & 0xff); + compl_workbuf[i++] = (uint8_t)((sRFStats->rx_foreign_home_id >> 0) & 0xff); + + DoRespond_workbuf((uint8_t)i); +} +#endif /* SUPPORT_ZW_GET_NETWORK_STATS */ + + +#if SUPPORT_ZW_SET_RF_RECEIVE_MODE +uint8_t SetRFReceiveMode(uint8_t mode) +{ + SZwaveCommandPackage pCmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_SET_RF_RECEIVE_MODE, + .uCommandParams.SetRfReceiveMode.mode = mode}; + + // Put the Command on queue (and dont wait for it, queue must be empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&pCmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_SET_RF_RECEIVE_MODE)) + { + return cmdStatus.Content.SetRFReceiveModeStatus.result; + } + assert(0); + return 0; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SET_RF_RECEIVE_MODE) +{ + /* HOST->ZW: mode */ + /* ZW->HOST: retVal */ + const uint8_t retVal = SetRFReceiveMode(frame->payload[0]); + DoRespond(retVal); +} +#endif /* SUPPORT_ZW_SET_RF_RECEIVE_MODE */ + + +#if SUPPORT_ZW_SEND_NODE_INFORMATION +uint8_t funcID_ComplHandler_ZW_SendNodeInformation; + +static uint8_t SendNodeInformation(uint16_t destID, uint8_t txOptions, ZW_TX_Callback_t pCallBack) +{ + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.NodeInfo.DestNodeId = destID, + .uTransmitParams.NodeInfo.TransmitOptions = txOptions, + .uTransmitParams.NodeInfo.Handle = (ZW_Void_Callback_t)pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_NODEINFORMATION + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus; + QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +/*===================== ComplHandler_ZW_SendNodeInformation ============= +** Completion handler for ZW_SendNodeInformation +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_SendNodeInformation( + uint8_t txStatus, /* IN Transmit completion status */ + __attribute__((unused)) TX_STATUS_TYPE *txStatusReport) +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SendNodeInformation; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_SEND_NODE_INFORMATION, compl_workbuf, 2); +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_NODE_INFORMATION) +{ + /* HOST->ZW: destNode | txOptions | funcID */ + /* ZW->HOST: retVal */ + uint8_t offset = 0; + node_id_t destNode = (node_id_t)GET_NODEID(&frame->payload[0], offset); + funcID_ComplHandler_ZW_SendNodeInformation = frame->payload[offset + 2]; + const uint8_t retVal = SendNodeInformation(destNode, frame->payload[offset + 1], (frame->payload[offset + 2] != 0) ? &ZCB_ComplHandler_ZW_SendNodeInformation : NULL); + DoRespond(retVal); +} +#endif /* SUPPORT_ZW_SEND_NODE_INFORMATION */ + + +#if SUPPORT_ZW_SECURITY_SETUP +ZW_ADD_CMD(FUNC_ID_ZW_SECURITY_SETUP) +{ + uint8_t length; + func_id_zw_security_setup(frame_payload_len(frame), frame->payload, compl_workbuf, &length); + DoRespond_workbuf(length); +} +#endif + + +#if SUPPORT_ZW_SEND_DATA || SUPPORT_ZW_SEND_DATA_BRIDGE +uint8_t funcID_ComplHandler_ZW_SendData; +#endif + +#if SUPPORT_ZW_SEND_DATA || SUPPORT_ZW_SEND_DATA_EX || SUPPORT_ZW_SEND_DATA_BRIDGE +static void +GenerateTxStatusRequest( + uint8_t cmd, + uint8_t txStatusfuncID, + uint8_t txStatus, + TX_STATUS_TYPE *txStatusReport) /* IN Transmit completion status */ +{ + uint8_t bIdx = 0; + BYTE_IN_AR(compl_workbuf, bIdx++) = txStatusfuncID; + BYTE_IN_AR(compl_workbuf, bIdx++) = txStatus; + if (bTxStatusReportEnabled /* Do HOST want txStatusReport */ + && txStatusReport) /* Check if detailed info is available from protocol */ + { + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)((((txStatusReport->TransmitTicks / 10) & 0xFFFFFF) >> 8) & 0xFF); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(((txStatusReport->TransmitTicks / 10) & 0xFFFFFF) & 0xFF); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bRepeaters); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->rssi_values.incoming[0]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->rssi_values.incoming[1]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->rssi_values.incoming[2]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->rssi_values.incoming[3]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->rssi_values.incoming[4]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bACKChannelNo); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bLastTxChannelNo); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bRouteSchemeState); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->pLastUsedRoute[0]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->pLastUsedRoute[1]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->pLastUsedRoute[2]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->pLastUsedRoute[3]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->pLastUsedRoute[4]); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bRouteTries); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bLastFailedLink.from); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bLastFailedLink.to); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bUsedTxpower); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bMeasuredNoiseFloor); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bDestinationAckUsedTxPower); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bDestinationAckMeasuredRSSI); + BYTE_IN_AR(compl_workbuf, bIdx++) = (uint8_t)(txStatusReport->bDestinationAckMeasuredNoiseFloor); + } + Request(cmd, compl_workbuf, bIdx); +} +#endif + +#if SUPPORT_ZW_SEND_DATA +/*====================== ComplHandler_ZW_SendData ======================== +** Completion handler for ZW_SendData +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_SendData( + uint8_t txStatus, + TX_STATUS_TYPE *txStatusReport) /* IN Transmit completion status */ +{ + GenerateTxStatusRequest(FUNC_ID_ZW_SEND_DATA, funcID_ComplHandler_ZW_SendData, txStatus, txStatusReport); +} + +static uint8_t SendData(uint16_t nodeID, const uint8_t *pData, uint8_t dataLength, uint8_t txOptions, ZW_TX_Callback_t pCallBack) +{ +#ifndef ZW_SECURITY_PROTOCOL + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.SendData.DestNodeId = nodeID, + .uTransmitParams.SendData.FrameConfig.TransmitOptions = txOptions, + .uTransmitParams.SendData.FrameConfig.Handle = pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_STD, + .uTransmitParams.SendData.FrameConfig.iFrameLength = dataLength, + }; + memcpy(FramePackage.uTransmitParams.SendData.FrameConfig.aFrame, pData, dataLength); +#else + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.SendDataEx.DestNodeId = nodeID, + .uTransmitParams.SendDataEx.FrameConfig.TransmitOptions = txOptions, + .uTransmitParams.SendDataEx.FrameConfig.Handle = pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_EX, + .uTransmitParams.SendDataEx.FrameConfig.iFrameLength = dataLength, + }; + memcpy(FramePackage.uTransmitParams.SendDataEx.FrameConfig.aFrame, pData, dataLength); +#endif + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0)); +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_DATA) +{ + /* HOST->ZW: nodeID | dataLength | pData[] | txOptions | funcID */ + /* ZW->HOST: RetVal */ + /* If RetVal == false -> no callback */ + /* If RetVal == true then callback returns with */ + /* ZW->HOST: funcID | txStatus | wTransmitTicksMSB | wTransmitTicksLSB | bRepeaters | rssi_values.incoming[0] | + * rssi_values.incoming[1] | rssi_values.incoming[2] | rssi_values.incoming[3] | rssi_values.incoming[4] | + * bRouteSchemeState | repeater0 | repeater1 | repeater2 | repeater3 | routespeed | + * bRouteTries | bLastFailedLink.from | bLastFailedLink.to | + * bUsedTxpower | bMeasuredNoiseFloor | bAckDestinationUsedTxPower | bDestinationAckMeasuredRSSI | + * bDestinationckMeasuredNoiseFloor */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + uint8_t dataLength = frame->payload[offset + 1]; + + assert(dataLength <= BUF_SIZE_RX); + dataLength = MIN(dataLength, BUF_SIZE_RX); + const uint8_t * const pSerInData = frame->payload + offset + 2; + funcID_ComplHandler_ZW_SendData = frame->payload[offset + 3 + dataLength]; + + // Create transmit frame package + const uint8_t retVal = SendData(nodeId, pSerInData, dataLength, frame->payload[offset + 2 + dataLength], + (funcID_ComplHandler_ZW_SendData) ? &ZCB_ComplHandler_ZW_SendData : NULL); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_SEND_DATA_EX +uint8_t funcID_ComplHandler_ZW_SendDataEx; + +/*====================== ComplHandler_ZW_SendDataEx ======================== +** Completion handler for ZW_SendDataEx +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_SendDataEx( + uint8_t txStatus, + TX_STATUS_TYPE *txStatusReport) /* IN Transmit completion status */ +{ + GenerateTxStatusRequest(FUNC_ID_ZW_SEND_DATA_EX, funcID_ComplHandler_ZW_SendDataEx, txStatus, txStatusReport); +} + +static uint8_t SendDataEx(uint16_t nodeID, uint8_t *pData, uint8_t dataLength, + uint8_t txOptions, uint8_t txSecOptions, uint8_t txOptions2, uint8_t secKeyType, + ZW_TX_Callback_t pCallBack) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.SendDataEx.DestNodeId = nodeID, + .uTransmitParams.SendDataEx.TransmitSecurityOptions = txSecOptions, + .uTransmitParams.SendDataEx.TransmitOptions2 = txOptions2, + .uTransmitParams.SendDataEx.eKeyType = secKeyType, + .uTransmitParams.SendDataEx.FrameConfig.TransmitOptions = txOptions, + .uTransmitParams.SendDataEx.FrameConfig.Handle = pCallBack, + .uTransmitParams.SendDataEx.FrameConfig.iFrameLength = dataLength, + .eTransmitType = EZWAVETRANSMITTYPE_EX + }; + memcpy(&FramePackage.uTransmitParams.SendDataEx.FrameConfig.aFrame, pData, dataLength); + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_DATA_EX) +{ + /* HOST->ZW: nodeID | dataLength | pData[] | txOptions | txSecOptions | securityKey | txOptions2 | funcID */ + /* ZW->HOST: RetVal */ + /* If "RetVal != 1" -> no callback */ + /* If "RetVal == 1" and "funcID != 0" then callback returns with */ + /* ZW->HOST: funcID | txStatus | wTransmitTicksMSB | wTransmitTicksLSB | bRepeaters | rssi_values.incoming[0] | */ + /* rssi_values.incoming[1] | rssi_values.incoming[2] | rssi_values.incoming[3] | rssi_values.incoming[4] | */ + /* bRouteSchemeState | repeater0 | repeater1 | repeater2 | repeater3 | routespeed | */ + /* bRouteTries | bLastFailedLink.from | bLastFailedLink.to */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + uint8_t dataLength; + + dataLength = frame->payload[offset + 1]; + assert(dataLength <= BUF_SIZE_RX); + dataLength = MIN(dataLength, BUF_SIZE_RX); + funcID_ComplHandler_ZW_SendDataEx = frame->payload[offset + 6 + dataLength]; + + const uint8_t retVal = SendDataEx(nodeId, &frame->payload[offset + 2], dataLength, frame->payload[offset + 2 + dataLength], + frame->payload[offset + 3 + dataLength], frame->payload[offset + 5 + dataLength], + frame->payload[offset + 4 + dataLength], (funcID_ComplHandler_ZW_SendDataEx != 0) ? ZCB_ComplHandler_ZW_SendDataEx : NULL); + + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_SEND_DATA_MULTI || SUPPORT_ZW_SEND_DATA_MULTI_BRIDGE +uint8_t funcID_ComplHandler_ZW_SendDataMulti; +#endif + +#if SUPPORT_ZW_SEND_DATA_MULTI +/*===================== ComplHandler_ZW_SendDataMulti ==================== +** Completion handler for ZW_SendDataMulti +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_SendDataMulti( + uint8_t txStatus, + __attribute__((unused)) TX_STATUS_TYPE *txStatusType) /* IN Transmit completion status */ +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SendDataMulti; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_SEND_DATA_MULTI, compl_workbuf, 2); +} + +static uint8_t SendDataMulti(uint8_t numberOfNodes, const uint8_t *pNodeList, const uint8_t *pData, uint8_t dataLength, uint8_t txOptions, ZW_TX_Callback_t pCallBack) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage; + SSendDataMulti *pSendDataMulti = &FramePackage.uTransmitParams.SendDataMulti; + memset(&pSendDataMulti->FrameConfig.aFrame, 0, sizeof(pSendDataMulti->FrameConfig.aFrame)); + /* clear the destination node mask */ + memset(&pSendDataMulti->NodeMask, 0, sizeof(pSendDataMulti->NodeMask)); + /* Set the destination node mask bits */ + for (uint8_t i = 0; i < numberOfNodes && i < MAX_GROUP_NODES; i++) + { + ZW_NodeMaskSetBit(pSendDataMulti->NodeMask, pNodeList[i]); + } + assert(dataLength <= BUF_SIZE_RX); + dataLength = MIN(dataLength, BUF_SIZE_RX); + pSendDataMulti->FrameConfig.TransmitOptions = txOptions; + memcpy(&pSendDataMulti->FrameConfig.aFrame, pData, dataLength); + pSendDataMulti->FrameConfig.Handle = pCallBack; + FramePackage.eTransmitType = EZWAVETRANSMITTYPE_MULTI; + FramePackage.uTransmitParams.SendDataMulti.FrameConfig.iFrameLength = dataLength; + + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_DATA_MULTI) +{ + /* numberNodes | pNodeIDList[] | dataLength | pData[] | txOptions | funcId */ + // Create transmit frame package + uint8_t numOfNodes = frame->payload[0]; + uint8_t tLength = frame->payload[1 + numOfNodes]; + uint8_t tOptions = frame->payload[2 + numOfNodes + tLength]; + funcID_ComplHandler_ZW_SendDataMulti = frame->payload[3 + numOfNodes + tLength]; + + const uint8_t retVal = SendDataMulti(numOfNodes, &frame->payload[1], &frame->payload[2 + numOfNodes], tLength, tOptions, + (funcID_ComplHandler_ZW_SendDataMulti != 0) ? &ZCB_ComplHandler_ZW_SendDataMulti : NULL); + + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_SEND_DATA_MULTI_EX +uint8_t funcID_ComplHandler_ZW_SendDataMultiEx; + +/*===================== ComplHandler_ZW_SendDataMulti ==================== +** Completion handler for ZW_SendDataMulti +** +**--------------------------------------------------------------------------*/ +static void +ZCB_ComplHandler_ZW_SendDataMultiEx( + uint8_t txStatus, /* IN Transmit completion status */ + __attribute__((unused)) TX_STATUS_TYPE* extendedTxStatus) +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SendDataMultiEx; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_SEND_DATA_MULTI_EX, compl_workbuf, 2); +} + +static uint8_t SendDataMultiEx(uint8_t dataLength, uint8_t *pData, uint8_t txOptions, uint8_t secKeyType, uint8_t groupID, ZW_TX_Callback_t pCallBack) +{ + assert(dataLength <= BUF_SIZE_RX); + dataLength = MIN(dataLength, BUF_SIZE_RX); + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.SendDataMultiEx.FrameConfig.Handle = pCallBack, + .uTransmitParams.SendDataMultiEx.FrameConfig.TransmitOptions = txOptions, + .uTransmitParams.SendDataMultiEx.FrameConfig.iFrameLength = dataLength, + .uTransmitParams.SendDataMultiEx.GroupId = groupID, + .uTransmitParams.SendDataMultiEx.eKeyType = secKeyType, + .eTransmitType = EZWAVETRANSMITTYPE_MULTI_EX + }; + memcpy(&FramePackage.uTransmitParams.SendDataMultiEx.FrameConfig.aFrame, pData, dataLength); + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_DATA_MULTI_EX) +{ + /* dataLength | pData[] | txOptions | securityKey | groupId | funcId */ + uint8_t dataLength = frame->payload[0]; + funcID_ComplHandler_ZW_SendDataMultiEx = frame->payload[4 + dataLength]; + uint8_t tOptions = frame->payload[1 + dataLength]; + uint8_t tGID = frame->payload[3 + dataLength]; + uint8_t tKey = frame->payload[2 + dataLength]; + + const uint8_t retVal = SendDataMultiEx(dataLength, &frame->payload[1], tOptions, tKey, tGID, (funcID_ComplHandler_ZW_SendDataMultiEx != 0) ? ZCB_ComplHandler_ZW_SendDataMultiEx : NULL); + + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_SEND_DATA_ABORT +static void SendDataAbort(void) +{ + // FIXME - we need to change the implementation of abort + // What makes sense? aborting based on frame context? + // We cant peek into FreeRtos queue... + // We could also reset the queue on abort. and stop any ongoing frame. + SZwaveCommandPackage CommandPackage = { .eCommandType = EZWAVECOMMANDTYPE_SEND_DATA_ABORT }; + // Put the package on queue (and DO wait for it, since there is no feedback to serial master) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&CommandPackage, 500); + + if (EQUEUENOTIFYING_STATUS_SUCCESS != QueueStatus) + { + DPRINT("Warning: Failed to To call ZW_SendDataAbort"); + } +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_DATA_ABORT) +{ + /* If we are in middle of transmitting an application frame then STOP the transmission as soon as possible. */ + SendDataAbort(); + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_ZW_SEND_DATA_BRIDGE +/*================= ComplHandler_ZW_SendData_Bridge ====================== +** Completion handler for ZW_SendData_Bridge +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_SendData_Bridge( + uint8_t txStatus, + TX_STATUS_TYPE *txStatusReport) /* IN Transmit completion status */ +{ + GenerateTxStatusRequest(FUNC_ID_ZW_SEND_DATA_BRIDGE, funcID_ComplHandler_ZW_SendData, txStatus, txStatusReport); +} + +static uint8_t SendDataBridge(uint16_t srcNode, uint16_t destNode, uint8_t dataLength, const uint8_t *pData, uint8_t txOptions, ZW_TX_Callback_t pCallBack) +{ + assert(dataLength <= BUF_SIZE_RX); + dataLength = MIN(dataLength, BUF_SIZE_RX); + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.SendDataBridge.FrameConfig.Handle = pCallBack, + .uTransmitParams.SendDataBridge.FrameConfig.TransmitOptions = txOptions, + .uTransmitParams.SendDataBridge.FrameConfig.iFrameLength = dataLength, + .uTransmitParams.SendDataBridge.DestNodeId = destNode, + .uTransmitParams.SendDataBridge.SourceNodeId = srcNode, + .eTransmitType = EZWAVETRANSMITTYPE_BRIDGE + }; + memcpy(&FramePackage.uTransmitParams.SendDataBridge.FrameConfig.aFrame, pData, dataLength); + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_DATA_BRIDGE) +{ + /* HOST->ZW: srcNodeID | destNodeID | dataLength | pData[] | txOptions | pRoute[4] | funcID */ + /* Devkit 6.0x pRoute[4] not used... Use [0,0,0,0] */ + uint8_t offset = 0; + node_id_t sourceNodeId; + node_id_t destNodeId; + sourceNodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + destNodeId = (node_id_t)GET_NODEID(&frame->payload[1 + offset], offset); + uint8_t dataLength = frame->payload[offset + 2]; + funcID_ComplHandler_ZW_SendData = frame->payload[offset + 3 + 1 + 4 + dataLength]; + uint8_t tOptions = frame->payload[offset + 3 + dataLength]; + const uint8_t retVal = SendDataBridge(sourceNodeId, destNodeId, dataLength, &frame->payload[offset + 3], tOptions, + (funcID_ComplHandler_ZW_SendData != 0) ? &ZCB_ComplHandler_ZW_SendData_Bridge : NULL); + + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_SEND_DATA_MULTI_BRIDGE +/*================ ComplHandler_ZW_SendDataMulti_Bridge ================== +** Completion handler for ZW_SendDataMulti +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_SendDataMulti_Bridge( + uint8_t txStatus, /* IN Transmit completion status */ + __attribute__((unused)) TX_STATUS_TYPE* extendedTxStatus) +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SendDataMulti; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_SEND_DATA_MULTI_BRIDGE, compl_workbuf, 2); +} + +static uint8_t SendDataMultiBridge(node_id_t srcNode, uint8_t numOfNodes, uint8_t *pNodeIDList, + uint8_t dataLength, const uint8_t *pData, uint8_t txOptions, ZW_TX_Callback_t pCallBack) +{ + // when nodeIdBaseType is 2 then we handle the FramePackage.uTransmitParams.SendDataMultiBridge.NodeMask as node list + // when nodeIdBaseType is 1 then we handle the FramePackage.uTransmitParams.SendDataMultiBridge.NodeMask as node mask + // Create transmit frame package + assert(dataLength <= BUF_SIZE_RX); + dataLength = MIN(dataLength, BUF_SIZE_RX); + + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.SendDataMultiBridge.FrameConfig.Handle = pCallBack, + .uTransmitParams.SendDataMultiBridge.FrameConfig.TransmitOptions = txOptions, + .uTransmitParams.SendDataMultiBridge.FrameConfig.iFrameLength = dataLength, + .uTransmitParams.SendDataMultiBridge.SourceNodeId = srcNode, + .eTransmitType = EZWAVETRANSMITTYPE_MULTI_BRIDGE + }; + + memcpy(&FramePackage.uTransmitParams.SendDataMultiBridge.FrameConfig.aFrame, pData, dataLength); + + bool lr_list = false; + bool classic_list = false; + + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) { + /*if nodeIdBaseType 2 then we should check if the list contain lr only nodes or classic only nodes mixed list is not allowed*/ + if ((MULTICAST_NODE_LIST_SIZE>>1) < numOfNodes) { + /*maximum allowed nodes are 32 */ + numOfNodes = MULTICAST_NODE_LIST_SIZE>>1; + } + for (uint8_t i = 0; i < numOfNodes; i++) + { + node_id_t curNode = (node_id_t) (((node_id_t)pNodeIDList[i<<1] << 8) | // index = i *2 + (pNodeIDList[(i<<1) +1] & 0xFF)); // index = (i *2) +1 + + if ((LOWEST_LONG_RANGE_NODE_ID <= curNode) && (HIGHEST_LONG_RANGE_NODE_ID >= curNode)) { + lr_list = true; + } else { + classic_list = true; + } + if (lr_list && classic_list) { + /* mixed list we bail out*/ + return false; + } + } + if (lr_list) { + /*lr nodes are 16-bit and the list is in bytes then we copy 2 * numOfNodes*/ + memcpy(FramePackage.uTransmitParams.SendDataMultiBridge.NodeMask, pNodeIDList , numOfNodes * 2); + } + } else { + classic_list = true; + if (MAX_GROUP_NODES < numOfNodes) { + numOfNodes = MAX_GROUP_NODES; + } + } + + FramePackage.uTransmitParams.SendDataMultiBridge.lr_nodeid_list = lr_list; + if (classic_list) { + uint8_t tmpNode; + for (uint8_t i = 0; i < numOfNodes; i++) + { + // if the list of classic nodes then the node ID is located in the lsb bytes of the 16-bit nodeID list. + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) { + tmpNode = pNodeIDList[(i<<1) +1]; + } else { + /* Set the destination node mask bits */ + tmpNode = pNodeIDList[i]; + } + ZW_NodeMaskSetBit(FramePackage.uTransmitParams.SendDataMultiBridge.NodeMask, tmpNode); + } + } + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_DATA_MULTI_BRIDGE) +{ + /* HOST->ZW: srcNodeID | numberNodes | pNodeIDList[] | dataLength | pData[] | txOptions | funcId */ + uint8_t numberNodes; + uint8_t dataLength; + uint8_t txOptions; + uint8_t offset = 0; + node_id_t srcNodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + uint8_t nodeid_list_size; + + numberNodes = frame->payload[offset + 1]; + uint8_t *pNodeList = &frame->payload[offset + 2]; + + if (nodeIdBaseType == SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT) { + nodeid_list_size = numberNodes * 2; + } else { + nodeid_list_size = numberNodes; + } + + dataLength = frame->payload[offset + 2 + nodeid_list_size]; + txOptions = frame->payload[offset + 2 + 1 + nodeid_list_size + dataLength]; + funcID_ComplHandler_ZW_SendDataMulti = frame->payload[offset + 2 + 1 + 1 + nodeid_list_size + dataLength]; + uint8_t *pDataBuf = &frame->payload[offset + 3 + nodeid_list_size]; + + const uint8_t retVal = SendDataMultiBridge(srcNodeId, numberNodes, pNodeList, + dataLength, pDataBuf, txOptions, + (funcID_ComplHandler_ZW_SendDataMulti != 0) ? &ZCB_ComplHandler_ZW_SendDataMulti_Bridge : NULL); + + DoRespond(retVal); +} +#endif + + +#if SUPPORT_MEMORY_GET_ID +ZW_ADD_CMD(FUNC_ID_MEMORY_GET_ID) +{ + uint8_t i = 0; + node_id_t node_id; + uint32_t home_id; + + node_id = ZAF_GetNodeID(); + home_id = ZAF_GetHomeID(); + + /* */ + compl_workbuf[i++] = (uint8_t) ((home_id & 0xff000000) >> 24); + compl_workbuf[i++] = (uint8_t) ((home_id & 0x00ff0000) >> 16); + compl_workbuf[i++] = (uint8_t) ((home_id & 0x0000ff00) >> 8); + compl_workbuf[i++] = (uint8_t) (home_id & 0x000000ff); + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + // 16 bit nodeID + compl_workbuf[i++] = (uint8_t)(node_id >> 8); // MSB(16bit) + } + compl_workbuf[i++] = (uint8_t)(node_id & 0xFF); // LSB(16bit)/8bit + DoRespond_workbuf(i); +} +#endif + + +#if SUPPORT_MEMORY_GET_BYTE +ZW_ADD_CMD(FUNC_ID_MEMORY_GET_BYTE) +{ + /* offset (MSB) | offset (LSB) */ + uint8_t retVal = 0; + if ((FRAME_LENGTH_MIN + 2) < frame->len) + { + uint16_t offset = ((uint16_t)(frame->payload[0] << 8)) + frame->payload[1]; + if (! SerialApiNvmReadAppData(offset, &retVal, 1)) + { + retVal = 0; + } + } + DoRespond(retVal); +} +#endif + + +#if SUPPORT_MEMORY_PUT_BYTE +ZW_ADD_CMD(FUNC_ID_MEMORY_PUT_BYTE) +{ + uint8_t retVal = 0; + if ((FRAME_LENGTH_MIN + 3) < frame->len) + { + uint16_t offset = ((uint16_t)(frame->payload[0] << 8)) + frame->payload[1]; + retVal = SerialApiNvmWriteAppData(offset, &frame->payload[2], 1); + } + DoRespond(retVal); +} +#endif + + +#if SUPPORT_MEMORY_GET_BUFFER +ZW_ADD_CMD(FUNC_ID_MEMORY_GET_BUFFER) +{ + uint8_t dataLength = 0; + dataLength = frame->payload[2]; + /* Make sure the length isn't larger than the available buffer size */ + if (dataLength > (uint8_t)BUF_SIZE_TX) + { + dataLength = (uint8_t)BUF_SIZE_TX; + } + uint16_t offset = ((uint16_t)(frame->payload[0] << 8)) + frame->payload[1]; + if (!SerialApiNvmReadAppData(offset, compl_workbuf, dataLength)) + { + dataLength = 0; + } + DoRespond_workbuf(dataLength); +} +#endif + + +#if SUPPORT_MEMORY_PUT_BUFFER +uint8_t funcID_ComplHandler_MemoryPutBuffer; + +/*===================== ComplHandler_MemoryPutBuffer ============= +** Completion handler for MemoryPutBuffer +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_MemoryPutBuffer(void) /* IN Nothing */ +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_MemoryPutBuffer; + Request(FUNC_ID_MEMORY_PUT_BUFFER, compl_workbuf, 1); +} + +ZW_ADD_CMD(FUNC_ID_MEMORY_PUT_BUFFER) +{ + /* HOST->ZW: + offset(MSB) offset into host application NVM memory array + offset(LSB) + length(MSB) desired length of write operation + length(LSB) + buffer[] buffer + funcID + */ + /* ZW->HOST: + retVal [retVal=0 ==> error| + retVal=1 ==> OK (NVM no change)| + retVal>=2 ==> OK (NVM data bytes written + 1)] + */ + uint16_t length; + uint8_t retVal = 0; + ///* Ignore if frame has no data to write */ + length = ((uint16_t)(frame->payload[2] << 8)) + frame->payload[3]; + /* Ignore write if length exceeds specified data-array */ + if (length < BUF_SIZE_RX ) + { + /* ignore request if length is larger than available buffer */ + if (length < BUF_SIZE_RX) + { + const uint8_t * const pSerInData = frame->payload + 4; + uint16_t offset = ((uint16_t)(frame->payload[0] << 8)) + frame->payload[1]; + retVal = SerialApiNvmWriteAppData(offset, pSerInData, length); + } + } + DoRespond(retVal); + funcID_ComplHandler_MemoryPutBuffer = frame->payload[4 + length]; + if ((0 != retVal) && (0 != funcID_ComplHandler_MemoryPutBuffer) ) + { + ZCB_ComplHandler_MemoryPutBuffer(); + } +} +#endif + + +#if SUPPORT_NVM_BACKUP_RESTORE +ZW_ADD_CMD(FUNC_ID_NVM_BACKUP_RESTORE) +{ + if (true == NvmBackupLegacyCmdAvailable()) + { + uint8_t length = 0; + func_id_serial_api_nvm_backup_restore(frame_payload_len(frame), frame->payload, compl_workbuf, &length, false); + DoRespond_workbuf(length); + } + else + { + //if legacy command is not allowed, drop it + set_state_and_notify(stateIdle); + } +} +#endif + +#if SUPPORT_NVM_EXT_BACKUP_RESTORE +ZW_ADD_CMD(FUNC_ID_NVM_EXT_BACKUP_RESTORE) +{ + uint8_t length = 0; + func_id_serial_api_nvm_backup_restore(frame_payload_len(frame), frame->payload, compl_workbuf, &length, true); + DoRespond_workbuf(length); +} +#endif + + +#if SUPPORT_NVM_GET_ID +ZW_ADD_CMD(FUNC_ID_NVM_GET_ID) +{ +} +#endif + + +#if SUPPORT_NVM_EXT_READ_LONG_BYTE +ZW_ADD_CMD(FUNC_ID_NVM_EXT_READ_LONG_BYTE) +{ + /* HOST->ZW: offset3byte(MSB) | offset3byte | offset3byte(LSB) */ + /* ZW->HOST: dataread */ + uint8_t retVal = 0; + if ((FRAME_LENGTH_MIN + 2) < frame->len) + { + uint32_t offset = (((uint32_t)frame->payload[0] << 16) + ((uint32_t)((uint16_t)frame->payload[1] << 8)) + frame->payload[2]); + if (! SerialApiNvmReadAppData(offset, &retVal, 1)) + { + retVal = 0; + } + } + DoRespond(retVal); +} +#endif + + +#if SUPPORT_NVM_EXT_WRITE_LONG_BYTE +ZW_ADD_CMD(FUNC_ID_NVM_EXT_WRITE_LONG_BYTE) +{ + /* HOST->ZW: offset3byte(MSB) | offset3byte | offset3byte(LSB) | data */ + /* ZW->HOST: writestatus */ + uint8_t retVal = 0; + if ((FRAME_LENGTH_MIN + 3) < frame->len) + { + uint32_t offset = (((uint32_t)frame->payload[0] << 16) + ((uint32_t)((uint16_t)frame->payload[1] << 8)) + frame->payload[2]); + retVal = SerialApiNvmWriteAppData(offset, &frame->payload[3], 1); + } + DoRespond(retVal); +} +#endif + + +#if SUPPORT_NVM_EXT_READ_LONG_BUFFER +ZW_ADD_CMD(FUNC_ID_NVM_EXT_READ_LONG_BUFFER) +{ + /* HOST->ZW: offset3byte(MSB) | offset3byte | offset3byte(LSB) | length2byte(MSB) | length2byte(LSB) */ + /* ZW->HOST: data[] */ + uint16_t dataLength = 0; + ///* Ignore if frame is to short */ + if ((FRAME_LENGTH_MIN + 3 + 1) < frame->len) + { + dataLength = ((uint16_t)(frame->payload[3] << 8)) + frame->payload[4]; + /* Make sure the length isn't larger than the available buffer size */ + if (dataLength > (uint8_t)BUF_SIZE_TX) + { + dataLength = (uint8_t)BUF_SIZE_TX; + } + uint32_t offset = (((uint32_t)frame->payload[0] << 16) + ((uint32_t)((uint16_t)frame->payload[1] << 8)) + frame->payload[2]); + if (!SerialApiNvmReadAppData(offset, compl_workbuf, dataLength)) + { + dataLength = 0; + } + } + DoRespond_workbuf((uint8_t)dataLength); +} +#endif + + +#if SUPPORT_NVM_EXT_WRITE_LONG_BUFFER +ZW_ADD_CMD(FUNC_ID_NVM_EXT_WRITE_LONG_BUFFER) +{ + /* HOST->ZW: offset3byte(MSB) | offset3byte | offset2byte(LSB) | length2byte(MSB) | length2byte(LSB) | buffer[] */ + /* ZW->HOST: retVal */ + uint8_t retVal = 0; + ///* Ignore if frame has no data to write */ + if ((FRAME_LENGTH_MIN + 5) < frame->len) + { + uint16_t length; + length = ((uint16_t)(frame->payload[3] << 8)) + frame->payload[4]; + /* Ignore write if length exceeds specified data-array */ + if (length <= frame->len - FRAME_LENGTH_MIN) + { + /* ignore request if length is larger than available buffer */ + if (length < BUF_SIZE_RX) + { + const uint8_t * const pSerInData = frame->payload + 5; + uint32_t offset = (((uint32_t)frame->payload[0] << 16) + ((uint32_t)((uint16_t)frame->payload[1] << 8)) + frame->payload[2]); + retVal = SerialApiNvmWriteAppData(offset, pSerInData, length); + } + } + } + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_NVR_GET_VALUE +ZW_ADD_CMD(FUNC_ID_NVR_GET_VALUE) +{ + /* HOST->ZW: offset | length */ + /* ZW->HOST: NVRdata[] */ + uint8_t dataLength = 0; + /* Ignore if frame is too short */ + if ((FRAME_LENGTH_MIN + 1) < frame->len) + { + /*inputLength paramter is nout used*/ + func_id_serial_api_get_nvr(0, frame->payload, compl_workbuf, &dataLength); + } + DoRespond_workbuf(dataLength); +} +#endif + + +#if SUPPORT_SERIAL_API_GET_APPL_HOST_MEMORY_OFFSET +ZW_ADD_CMD(FUNC_ID_SERIAL_API_GET_APPL_HOST_MEMORY_OFFSET) +{ + DoRespond(0); +} +#endif + + +#if defined(ZW_SLAVE_ROUTING) || defined(ZW_CONTROLLER) +uint8_t funcID_ComplHandler_netWork_Management; +uint8_t management_Func_ID; + +/*===================== ComplHandler_ZW_netWork_Management =============== +** Completion handler for the network management functionality +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_netWork_Management( + uint8_t bStatus, /* IN Transmit completion status */ + TX_STATUS_TYPE *txStatusReport) /* IN Detailed transmit information */ +{ + uint8_t bIdx = 0; + BYTE_IN_AR(compl_workbuf, bIdx++) = funcID_ComplHandler_netWork_Management; + BYTE_IN_AR(compl_workbuf, bIdx++) = bStatus; + if (bTxStatusReportEnabled && txStatusReport) /* Check if detailed info is available from protocol */ + { + memcpy(&compl_workbuf[bIdx], (uint8_t *)txStatusReport, sizeof(TX_STATUS_TYPE)); + bIdx += sizeof(TX_STATUS_TYPE); + } + Request(management_Func_ID, compl_workbuf, bIdx); +} +#endif /*ZW_SLAVE_32 ZW_CONTROLLER*/ + + +#if SUPPORT_ZW_REQUEST_NETWORK_UPDATE +static uint8_t RequestNetworkUpdate(ZW_TX_Callback_t pCallBack) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .eTransmitType = EZWAVETRANSMITTYPE_NETWORKUPDATEREQUEST, + .uTransmitParams.NetworkUpdateRequest.Handle = (ZW_Void_Callback_t)pCallBack + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_REQUEST_NETWORK_UPDATE) +{ + /* funcID */ + funcID_ComplHandler_netWork_Management = frame->payload[0]; + management_Func_ID = frame->cmd; + const uint8_t retVal = RequestNetworkUpdate((frame->payload[0] != 0) ? &ZCB_ComplHandler_ZW_netWork_Management : NULL); + DoRespond(retVal); +} +#endif /* SUPPORT_ZW_REQUEST_NETWORK_UPDATE */ + + +#if SUPPORT_ZW_REQUEST_NODE_NEIGHBOR_UPDATE +uint8_t funcID_ComplHandler_ZW_RequestNodeNeighborUpdate; + +/*=============== ComplHandler_ZW_RequestNodeNeighborUpdate =============== +** Completion handler for ZW_REQUEST_NODE_NEIGHBOR_UPDATE +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_RequestNodeNeighborUpdate( + uint8_t txStatus, /* IN Transmit completion status */ + __attribute__((unused)) TX_STATUS_TYPE *txStatusReport) +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_RequestNodeNeighborUpdate; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE, compl_workbuf, 2); +} + +static uint8_t RequestNodeNeighborUpdate(uint16_t nodeID, ZW_TX_Callback_t pCallBack) +{ + + SZwaveCommandPackage Request = { + .eCommandType = EZWAVECOMMANDTYPE_REQUESTNODENEIGHBORUPDATE, + .uCommandParams.RequestNodeNeighborUpdate.NodeId = nodeID, + .uCommandParams.RequestNodeNeighborUpdate.Handle = (ZW_Void_Callback_t)pCallBack}; + + // Put the Command on queue (and dont wait for it, queue must be empty) + if (EQUEUENOTIFYING_STATUS_SUCCESS == QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&Request, 0)) + { + // Wait for protocol to handle command + SZwaveCommandStatusPackage status = { .eStatusType = EZWAVECOMMANDSTATUS_ZW_REQUESTNODENEIGHBORUPDATE}; + if (GetCommandResponse(&status, status.eStatusType)) + { + return status.Content.RequestNodeNeigborUpdateStatus.result; + } + } + return false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE) +{ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + + funcID_ComplHandler_ZW_RequestNodeNeighborUpdate = frame->payload[1 + offset]; + + // Put the package on queue (and dont wait for it) + if (!RequestNodeNeighborUpdate(nodeId, + funcID_ComplHandler_ZW_RequestNodeNeighborUpdate ? &ZCB_ComplHandler_ZW_RequestNodeNeighborUpdate : NULL)) + { + ZCB_ComplHandler_ZW_RequestNodeNeighborUpdate(REQUEST_NEIGHBOR_UPDATE_FAILED, NULL); + } + set_state_and_notify(stateIdle); +} + +uint8_t funcID_ComplHandler_ZW_RequestNodeTypeNeighborUpdate; + +/*=============== ComplHandler_ZW_RequestNodeTypeNeighborUpdate =============== +** Completion handler for ZW_REQUEST_NODE_NEIGHBOR_UPDATE +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_RequestNodeTypeNeighborUpdate( + uint8_t txStatus, /* IN Transmit completion status */ + __attribute__((unused)) TX_STATUS_TYPE *txStatusReport) +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_RequestNodeTypeNeighborUpdate; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_REQUEST_NODETYPE_NEIGHBOR_UPDATE, compl_workbuf, 2); +} + +static uint8_t RequestNodeTypeNeighborUpdate(uint16_t nodeID, uint8_t nodeType, ZW_TX_Callback_t pCallBack) +{ + + SZwaveCommandPackage Request = { + .eCommandType = EZWAVECOMMANDTYPE_REQUESTNODETYPE_NEIGHBORUPDATE, + .uCommandParams.RequestNodeTypeNeighborUpdate.NodeId = nodeID, + .uCommandParams.RequestNodeTypeNeighborUpdate.NodeType = nodeType, + .uCommandParams.RequestNodeTypeNeighborUpdate.Handle = (ZW_Void_Callback_t)pCallBack}; + + // Put the Command on queue (and dont wait for it, queue must be empty) + if (EQUEUENOTIFYING_STATUS_SUCCESS == QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&Request, 0)) + { + // Wait for protocol to handle command + SZwaveCommandStatusPackage status = { 0 }; + if (GetCommandResponse(&status, EZWAVECOMMANDSTATUS_ZW_REQUESTNODETYPE_NEIGHBORUPDATE)) + { + return status.Content.RequestNodeTypeNeigborUpdateStatus.result; + } + } + return false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_REQUEST_NODETYPE_NEIGHBOR_UPDATE) +{ + uint8_t offset = 0; + E_SYSTEM_TYPE nodeType = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + nodeType = frame->payload[1 + offset]; + ++offset; + + funcID_ComplHandler_ZW_RequestNodeTypeNeighborUpdate = frame->payload[1 + offset]; + + // Put the package on queue (and dont wait for it) + if (!RequestNodeTypeNeighborUpdate(nodeId, nodeType, + funcID_ComplHandler_ZW_RequestNodeTypeNeighborUpdate ? &ZCB_ComplHandler_ZW_RequestNodeTypeNeighborUpdate : NULL)) + { + ZCB_ComplHandler_ZW_RequestNodeTypeNeighborUpdate(REQUEST_NEIGHBOR_UPDATE_FAILED, NULL); + } + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_ZW_GET_NODE_PROTOCOL_INFO +ZW_ADD_CMD(FUNC_ID_ZW_GET_NODE_PROTOCOL_INFO) +{ + /* bNodeID */ + volatile uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + GetNodeInfo(nodeId, (t_ExtNodeInfo *)compl_workbuf); + _Static_assert(sizeof(t_ExtNodeInfo) == 7, "STATIC_ASSERT_FAILED_size_mismatch"); + DoRespond_workbuf(7); +} +#endif + + +#if SUPPORT_ZW_SET_DEFAULT +uint8_t funcID_ComplHandler_ZW_SetDefault; + +/*===================== ComplHandler_ZW_SetDefault ============= +** Completion handler for ZW_SetDefault +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_SetDefault(void) /* IN Nothing */ +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SetDefault; + Request(FUNC_ID_ZW_SET_DEFAULT, compl_workbuf, 1); +} + +static void SetDefault(ZW_Void_Callback_t pCallBack) +{ + /* funcID */ + SyncEventUnbind(&SetDefaultCB); + if (0 != pCallBack) + { + SyncEventBind(&SetDefaultCB, pCallBack); + } + SZwaveCommandPackage CommandPackage = { .eCommandType = EZWAVECOMMANDTYPE_SET_DEFAULT }; + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&CommandPackage, 500); + if (EQUEUENOTIFYING_STATUS_SUCCESS != QueueStatus) + { + DPRINT("Warning: Failed to perform SetDefault"); + } +} + +ZW_ADD_CMD(FUNC_ID_ZW_SET_DEFAULT) +{ + /* funcID */ + funcID_ComplHandler_ZW_SetDefault = frame->payload[0]; + SetDefault((0 != funcID_ComplHandler_ZW_SetDefault) ? &ZCB_ComplHandler_ZW_SetDefault : NULL); + set_state_and_notify(stateIdle); +} +#endif + +#ifdef ZW_CONTROLLER +/*======================= ComplHandler_ZW_NodeManagement ================= +** Completion handler for ZW_AddNodeToNetwork, ZW_RemoveNodeFromNetwork +** ZW_CreateNewPrimary, ZW_ControllerChange and ZW_SetLearnMode for +** controller based applications +** +**--------------------------------------------------------------------------*/ + +void /* RET Nothing */ +ZCB_ComplHandler_ZW_NodeManagement( + LEARN_INFO_T *statusInfo) +{ + if (0 == funcID_ComplHandler_ZW_NodeManagement) + { + return; + } + + uint8_t offset = 0; + addState = statusInfo->bStatus; + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_NodeManagement; + BYTE_IN_AR(compl_workbuf, 1) = (*statusInfo).bStatus; + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + BYTE_IN_AR(compl_workbuf, 2) = (uint8_t)(statusInfo->bSource >> 8); // MSB + BYTE_IN_AR(compl_workbuf, 3) = (uint8_t)(statusInfo->bSource & 0xFF); // LSB + offset++; // 16 bit nodeID means the command fields that follow are offset by one byte + } + else + { + BYTE_IN_AR(compl_workbuf, 2) = (uint8_t)(statusInfo->bSource & 0xFF); // Legacy 8 bit nodeID + } + /* - Buffer boundary check */ + if (statusInfo->bLen > (uint8_t)(BUF_SIZE_TX - (offset + 4))) + { + statusInfo->bLen = (uint8_t)(BUF_SIZE_TX - (offset + 4)); + } + BYTE_IN_AR(compl_workbuf, offset + 3) = statusInfo->bLen; + if(statusInfo->pCmd != NULL) + { + for (uint8_t i = 0; i < statusInfo->bLen; i++) + { + BYTE_IN_AR(compl_workbuf, offset + 4 + i) = statusInfo->pCmd[i]; + } + } + Request(nodeManagement_Func_ID, compl_workbuf, (uint8_t)(offset + statusInfo->bLen + 4)); +} + +bool ZW_NodeManagementRunning(void) +{ + return (addState == ADD_NODE_STATUS_NODE_FOUND || + addState == ADD_NODE_STATUS_ADDING_SLAVE || + addState == ADD_NODE_STATUS_ADDING_CONTROLLER); +} +#endif + + +#if SUPPORT_ZW_ADD_NODE_TO_NETWORK +static void AddNodeToNetwork(uint8_t mode, void (*pCallBack)(LEARN_INFO_T *statusInfo)) +{ + SZwaveCommandPackage pCmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_ADD_NODE_TO_NETWORK, + .uCommandParams.NetworkManagement.mode = mode, + .uCommandParams.NetworkManagement.pHandle = (ZW_Void_Callback_t)pCallBack + }; + // Put the package on queue (and dont wait for it) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&pCmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); +} + +static void AddNodeDskToNetwork(uint8_t mode, const uint8_t* pDsk, void (*pCallBack)(LEARN_INFO_T *statusInfo)) +{ + SZwaveCommandPackage pCmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_ADD_NODE_DSK_TO_NETWORK, + .uCommandParams.NetworkManagementDSK.mode = mode, + .uCommandParams.NetworkManagementDSK.pHandle = (ZW_Void_Callback_t)pCallBack + }; + memcpy(&pCmdPackage.uCommandParams.NetworkManagementDSK.dsk[0], pDsk, 8); + // Put the package on queue (and dont wait for it) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&pCmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); +} + +ZW_ADD_CMD(FUNC_ID_ZW_ADD_NODE_TO_NETWORK) +{ + /* HOST->ZW: mode | funcID */ + /* HOST->ZW: mode = 0x07 | funcID | DSK[0] | DSK[1] | DSK[2] | DSK[3] | DSK[4] | DSK[5] | DSK[6] | DSK[7] */ + if (ZW_NodeManagementRunning() && ((frame->payload[0] & ADD_NODE_MODE_MASK) != ADD_NODE_STOP)) + { + // A previous node management request is still in progress. Drop this request and go back to idle state. + set_state_and_notify(stateIdle); + return; + } + SetupNodeManagement(frame, 1); + if ((frame->payload[0] & ADD_NODE_MODE_MASK) == ADD_NODE_HOME_ID) + { + AddNodeDskToNetwork(frame->payload[0], + &frame->payload[2], + (funcID_ComplHandler_ZW_NodeManagement != 0) ? &ZCB_ComplHandler_ZW_NodeManagement : NULL); + } + else + { + AddNodeToNetwork(frame->payload[0], + (funcID_ComplHandler_ZW_NodeManagement != 0) ? &ZCB_ComplHandler_ZW_NodeManagement : NULL); + } +} +#endif + +#if defined (SUPPORT_ZW_REMOVE_NODE_ID_FROM_NETWORK) && (SUPPORT_ZW_REMOVE_NODE_ID_FROM_NETWORK == 1) +static void RemoveNodeFromNetwork(uint8_t mode, node_id_t node_id, void (*pCallBack)(LEARN_INFO_T *statusInfo)) +{ + SZwaveCommandPackage pCmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_REMOVE_NODE_FROM_NETWORK, + .uCommandParams.NetworkManagement.mode = mode, + .uCommandParams.NetworkManagement.pHandle = (ZW_Void_Callback_t)pCallBack + }; + + if (0 != node_id) { + pCmdPackage.eCommandType = EZWAVECOMMANDTYPE_REMOVE_NODEID_FROM_NETWORK; + pCmdPackage.uCommandParams.NetworkManagement.nodeID = node_id; + } + // Put the package on queue (and dont wait for it) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&pCmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + +} +#endif + +#if SUPPORT_ZW_REMOVE_NODE_ID_FROM_NETWORK +ZW_ADD_CMD(FUNC_ID_ZW_REMOVE_NODE_FROM_NETWORK) +{ + /* HOST->ZW: mode | funcID */ + if (ZW_NodeManagementRunning()) + { + // A previous node management request is still in progress. Drop this request and go back to idle state. + set_state_and_notify(stateIdle); + return; + } + SetupNodeManagement(frame, 1); + RemoveNodeFromNetwork(frame->payload[0], 0, + (funcID_ComplHandler_ZW_NodeManagement != 0) ? &ZCB_ComplHandler_ZW_NodeManagement : NULL); +} +#endif + + +#ifdef ZW_CONTROLLER +ZW_ADD_CMD(FUNC_ID_ZW_REMOVE_NODE_ID_FROM_NETWORK) +{ + /* HOST->ZW: mode | nodeID | funcID */ + uint8_t offset = 0; + uint16_t nodeId = (uint16_t)GET_NODEID(&frame->payload[1], offset); + if (ZW_NodeManagementRunning()) + { + // A previous node management request is still in progress. Drop this request and go back to idle state. + set_state_and_notify(stateIdle); + return; + } + SetupNodeManagement(frame, offset + 2); + + RemoveNodeFromNetwork(frame->payload[0], nodeId, + (funcID_ComplHandler_ZW_NodeManagement != 0) ? &ZCB_ComplHandler_ZW_NodeManagement : NULL); +} +#endif + + +#if SUPPORT_ZW_CONTROLLER_CHANGE +static void ControllerChange(uint8_t mode, void (*pCallBack)(LEARN_INFO_T *statusInfo)) +{ + SZwaveCommandPackage pCmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_CONTROLLER_CHANGE, + .uCommandParams.NetworkManagement.mode = mode, + .uCommandParams.NetworkManagement.pHandle = (ZW_Void_Callback_t)pCallBack}; + + // Put the package on queue (and dont wait for it) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&pCmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); +} + +ZW_ADD_CMD(FUNC_ID_ZW_CONTROLLER_CHANGE) +{ + /* HOST->ZW: mode | funcID */ + if (ZW_NodeManagementRunning()) + { + // A previous node management request is still in progress. Drop this request and go back to idle state. + set_state_and_notify(stateIdle); + return; + } + SetupNodeManagement(frame, 1); + ControllerChange(frame->payload[0], + (funcID_ComplHandler_ZW_NodeManagement != 0) ? &ZCB_ComplHandler_ZW_NodeManagement : NULL); +} +#endif + + +#if SUPPORT_ZW_SET_LEARN_MODE +#ifdef ZW_SLAVE +uint8_t funcID_ComplHandler_ZW_SetLearnMode; + +/*========================= ComplHandler_ZW_SetLearnMode ================= +** Completion handler for ZW_SetLearnMode +** +**--------------------------------------------------------------------------*/ +static void /*RET Nothing */ +ZCB_ComplHandler_ZW_SetLearnMode( + uint32_t bStatus) /*IN ZW_SetLearnMode status */ +{ + uint8_t i = 0; + node_id_t node_id; + + node_id = ZAF_GetNodeID(); + BYTE_IN_AR(compl_workbuf, i++) = funcID_ComplHandler_ZW_SetLearnMode; + BYTE_IN_AR(compl_workbuf, i++) = (uint8_t)bStatus; + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + BYTE_IN_AR(compl_workbuf, i++) = (uint8_t)(node_id >> 8); // MSB 16bit node Id + } + BYTE_IN_AR(compl_workbuf, i++) = (uint8_t)(node_id & 0xFF); // LSB(16bit)/Legacy 8 bit node Id + /* For safty we transmit len = 0, to indicate that no data follows */ + BYTE_IN_AR(compl_workbuf, i++) = 0; + Request(FUNC_ID_ZW_SET_LEARN_MODE, compl_workbuf, i); +} +#endif /* ZW_SLAVE */ + +#ifdef ZW_CONTROLLER +static void ZCB_ZW_NodeManagementLearnStatusRelay(uint32_t Status) +{ + node_id_t node_id; + + node_id = ZAF_GetNodeID(); + + LEARN_INFO_T Info = { + .bStatus = (uint8_t)Status, + .bSource = node_id, + .pCmd = NULL, + .bLen = 0 + }; + + ZCB_ComplHandler_ZW_NodeManagement(&Info); +} +#endif /* ZW_CONTROLLER */ + +static uint8_t NetworkLearnModeStart( E_NETWORK_LEARN_MODE_ACTION eLearnMode) +{ + SZwaveCommandPackage learnModeStart = { + .eCommandType = EZWAVECOMMANDTYPE_NETWORK_LEARN_MODE_START, + .uCommandParams.SetSmartStartLearnMode.eLearnMode = eLearnMode}; + // Put the Command on queue (and dont wait for it, queue must be empty) + if (EQUEUENOTIFYING_STATUS_SUCCESS == QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&learnModeStart, 0)) + { + // Wait for protocol to handle command + SZwaveCommandStatusPackage result = { 0 }; + if (GetCommandResponse(&result, EZWAVECOMMANDSTATUS_NETWORK_LEARN_MODE_START)) + { + return result.Content.NetworkManagementStatus.statusInfo[0]; + } + } + return false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SET_LEARN_MODE) +{ + /* HOST->ZW: mode | funcID */ + /* ZW->HOST: retVal */ + uint8_t retVal = 1; +#ifdef ZW_CONTROLLER + SetupNodeManagement(frame, 1); +#endif /* ZW_CONTROLLER */ +#ifdef ZW_SLAVE + funcID_ComplHandler_ZW_SetLearnMode = frame->payload[1]; +#endif + SyncEventArg1Unbind(&LearnModeStatusCb); + if (frame->payload[1] != 0) + { +#ifdef ZW_CONTROLLER + SyncEventArg1Bind(&LearnModeStatusCb, ZCB_ZW_NodeManagementLearnStatusRelay); +#endif +#ifdef ZW_SLAVE + SyncEventArg1Bind(&LearnModeStatusCb, ZCB_ComplHandler_ZW_SetLearnMode); +#endif + } + + if (SERIALPI_SET_LEARN_MODE_LEARN_PLUS_OFFSET > frame->payload[0]) + { + /* Plain ZW_SetLearnMode */ + /* ZW_SET_LEARN_MODE_DISABLE 0x00 */ + /* ZW_SET_LEARN_MODE_CLASSIC 0x01 */ + /* ZW_SET_LEARN_MODE_NWI 0x02 */ + /* ZW_SET_LEARN_MODE_NWE 0x03 */ + SZwaveCommandPackage Command = { + .eCommandType = EZWAVECOMMANDTYPE_SET_LEARN_MODE, + .uCommandParams.SetLearnMode.eLearnMode = frame->payload[0], + .uCommandParams.SetLearnMode.useCB = frame->payload[1] != 0 + }; + QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&Command, 0); + } + else + { + /* HOST want to use Network Management for inclusion/exclusion */ + /* We need to substract the SERIALPI_SET_LEARN_MODE_LEARN_PLUS_OFFSET to get: */ + /* E_NETWORK_LEARN_MODE_DISABLE = 0, Disable learn process */ + /* E_NETWORK_LEARN_MODE_INCLUSION = 1, Enable the learn process to do an inclusion */ + /* E_NETWORK_LEARN_MODE_EXCLUSION = 2, Enable the learn process to do an exclusion */ + /* E_NETWORK_LEARN_MODE_EXCLUSION_NWE = 3 Enable the learn process to do a network wide exclusion */ + /* E_NETWORK_LEARN_MODE_INCLUSION_SMARTSTART = 4 Enable the learn process to initiate SMARTSTART inclusion */ + retVal = NetworkLearnModeStart(frame->payload[0] - SERIALPI_SET_LEARN_MODE_LEARN_PLUS_OFFSET); + } + DoRespond(retVal); +} +#endif /* SUPPORT_ZW_SET_LEARN_MODE */ + + +#if SUPPORT_ZW_EXPLORE_REQUEST_INCLUSION +static uint8_t ExploreRequestInclusion(void) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .eTransmitType = EZWAVETRANSMITTYPE_EXPLOREINCLUSIONREQUEST + }; + + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_EXPLORE_REQUEST_INCLUSION) +{ + const uint8_t retVal = ExploreRequestInclusion(); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_EXPLORE_REQUEST_EXCLUSION +static uint8_t ExploreRequestExclusion(void) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .eTransmitType = EZWAVETRANSMITTYPE_EXPLOREEXCLUSIONREQUEST + }; + + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_EXPLORE_REQUEST_EXCLUSION) +{ + const uint8_t retVal = ExploreRequestExclusion(); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_REPLICATION_COMMAND_COMPLETE +static void ReplicationComplete(void) +{ + /* */ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .eTransmitType = EZWAVETRANSMITTYPE_SENDREPLICATIONRECEIVECOMPLETE + }; + // Put the package on queue (and dont wait for it) + QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); +} + +ZW_ADD_CMD(FUNC_ID_ZW_REPLICATION_COMMAND_COMPLETE) +{ + ReplicationComplete(); + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_ZW_REPLICATION_SEND_DATA +uint8_t funcID_ComplHandler_ZW_ReplicationSendData; + +/*===================== ComplHandler_ZW_ReplicationSendData ============= +** Completion handler for ZW_ReplicationSendData +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_ReplicationSendData( + uint8_t txStatus, __attribute__((unused)) TX_STATUS_TYPE* extendedTxStatus) /* IN Transmit completion status */ +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_ReplicationSendData; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_REPLICATION_SEND_DATA, compl_workbuf, 2); +} + +static uint8_t ReplicationSendData(uint16_t nodeID, uint8_t dataLength, const uint8_t* pData, uint8_t txOptions, ZW_TX_Callback_t pCallBack) +{ + assert(dataLength <= BUF_SIZE_RX); + dataLength = MIN(dataLength, BUF_SIZE_RX); + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.SendReplication.DestNodeId = nodeID, + .uTransmitParams.SendReplication.FrameConfig.TransmitOptions = txOptions, + .uTransmitParams.SendReplication.FrameConfig.Handle = pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_SENDREPLICATION, + .uTransmitParams.SendReplication.FrameConfig.iFrameLength = dataLength + }; + memcpy(&FramePackage.uTransmitParams.SendReplication.FrameConfig.aFrame, pData, dataLength); + + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_REPLICATION_SEND_DATA) +{ + /* nodeID | dataLength | pData[] | txOptions | funcID */ + uint8_t dataLength; + uint8_t txOptions; + uint8_t offset = 0; + node_id_t nodeID; + nodeID = (node_id_t)GET_NODEID(&frame->payload[0], offset); + dataLength = frame->payload[offset + 1]; + txOptions = frame->payload[offset + 2 + dataLength]; + funcID_ComplHandler_ZW_ReplicationSendData = frame->payload[offset + 3 + dataLength]; + const uint8_t retVal = ReplicationSendData(nodeID, dataLength, &frame->payload[offset + 2], txOptions, + (funcID_ComplHandler_ZW_ReplicationSendData != 0) ? &ZCB_ComplHandler_ZW_ReplicationSendData : NULL ); + + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_ASSIGN_RETURN_ROUTE +uint8_t funcID_ComplHandler_ZW_AssignReturnRoute; + +/*===================== ComplHandler_ZW_AssignReturnRoute ============= +** Completion handler for ZW_AssignReturnRoute +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_AssignReturnRoute( + uint8_t bStatus, + TX_STATUS_TYPE *txStatusReport) /* IN Transmit completion status */ +{ + uint8_t bIdx = 0; + BYTE_IN_AR(compl_workbuf, bIdx++) = funcID_ComplHandler_ZW_AssignReturnRoute; + BYTE_IN_AR(compl_workbuf, bIdx++) = bStatus; + if (bTxStatusReportEnabled && txStatusReport) /* Check if detailed info is available from protocol */ + { + memcpy(&compl_workbuf[bIdx], (uint8_t *)txStatusReport, sizeof(TX_STATUS_TYPE)); + bIdx += sizeof(TX_STATUS_TYPE); + } + Request(FUNC_ID_ZW_ASSIGN_RETURN_ROUTE, compl_workbuf, bIdx); +} + +static uint8_t AssignReturnRoute(uint16_t srcNode, uint16_t destNode, ZW_TX_Callback_t pCallBack) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.AssignReturnRoute.ReturnRouteReceiverNodeId = srcNode, + .uTransmitParams.AssignReturnRoute.RouteDestinationNodeId = destNode, + .uTransmitParams.AssignReturnRoute.Handle = (ZW_Void_Callback_t)pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_ASSIGNRETURNROUTE + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_ASSIGN_RETURN_ROUTE) +{ + /* srcNodeID | destNodeID | funcID */ + uint8_t offset = 0; + node_id_t srcNodeID; + node_id_t destNodeID; + srcNodeID = (node_id_t)GET_NODEID(&frame->payload[0], offset); + destNodeID = (node_id_t)GET_NODEID(&frame->payload[1 + offset], offset); + funcID_ComplHandler_ZW_AssignReturnRoute = frame->payload[2 + offset]; + const uint8_t retVal = AssignReturnRoute(srcNodeID, destNodeID, + (funcID_ComplHandler_ZW_AssignReturnRoute != 0) ? &ZCB_ComplHandler_ZW_AssignReturnRoute : NULL); + + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_ASSIGN_PRIORITY_RETURN_ROUTE +uint8_t funcID_ComplHandler_ZW_AssignPriorityReturnRoute; + +/*=============== ZCB_ComplHandler_ZW_AssignPriorityReturnRoute ========= +** Completion handler for ZW_AssignPriorityReturnRoute +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_AssignPriorityReturnRoute( + uint8_t bStatus, /* IN Transmit completion status */ + TX_STATUS_TYPE *txStatusReport) +{ + uint8_t bIdx = 0; + BYTE_IN_AR(compl_workbuf, bIdx++) = funcID_ComplHandler_ZW_AssignPriorityReturnRoute; + BYTE_IN_AR(compl_workbuf, bIdx++) = bStatus; + if (bTxStatusReportEnabled && txStatusReport) /* Check if detailed info is available from protocol */ + { + memcpy(&compl_workbuf[bIdx], (uint8_t *)txStatusReport, sizeof(TX_STATUS_TYPE)); + bIdx += sizeof(TX_STATUS_TYPE); + } + Request(FUNC_ID_ZW_ASSIGN_PRIORITY_RETURN_ROUTE, compl_workbuf, bIdx); +} + +static uint8_t AssignPriorityReturnRoute(uint16_t srcNode, uint16_t destNode, const uint8_t* pRoute, uint8_t routeSpeed, ZW_TX_Callback_t pCallBack) +{ + /* srcNodeID | destNodeID | route[5] | funcID */ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.AssignReturnRoute.ReturnRouteReceiverNodeId = srcNode, + .uTransmitParams.AssignReturnRoute.RouteDestinationNodeId = destNode, + .uTransmitParams.AssignReturnRoute.PriorityRouteSpeed = routeSpeed, + .uTransmitParams.AssignReturnRoute.Handle = (ZW_Void_Callback_t)pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_ASSIGNRETURNROUTE + }; + memcpy(FramePackage.uTransmitParams.AssignReturnRoute.aPriorityRouteRepeaters, pRoute, + sizeof(FramePackage.uTransmitParams.AssignReturnRoute.aPriorityRouteRepeaters)); + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_ASSIGN_PRIORITY_RETURN_ROUTE) +{ + /* srcNodeID | destNodeID | route[5] | funcID */ + uint8_t offset = 0; + node_id_t srcNodeID; + node_id_t destNodeID; + srcNodeID = (node_id_t)GET_NODEID(&frame->payload[0], offset); + destNodeID = (node_id_t)GET_NODEID(&frame->payload[1 + offset], offset); + funcID_ComplHandler_ZW_AssignPriorityReturnRoute = frame->payload[offset + 7]; + // Put the package on queue (and dont wait for it) + const uint8_t retVal = AssignPriorityReturnRoute(srcNodeID, destNodeID, &frame->payload[offset + 2], frame->payload[offset + 6], + (funcID_ComplHandler_ZW_AssignPriorityReturnRoute != 0) ? &ZCB_ComplHandler_ZW_AssignPriorityReturnRoute : NULL ); + + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_DELETE_RETURN_ROUTE +uint8_t funcID_ComplHandler_ZW_DeleteReturnRoute; + +/*===================== ComplHandler_ZW_DeleteReturnRoute ============= +** Completion handler for ZW_DeleteReturnRoute +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_DeleteReturnRoute( + uint8_t bStatus, + TX_STATUS_TYPE *txStatusReport) /* IN Transmit completion status */ +{ + uint8_t bIdx = 0; + BYTE_IN_AR(compl_workbuf, bIdx++) = funcID_ComplHandler_ZW_DeleteReturnRoute; + BYTE_IN_AR(compl_workbuf, bIdx++) = bStatus; + if (bTxStatusReportEnabled /* Do HOST want txStatusReport */ + && txStatusReport) /* Check if detailed info is available from protocol */ + { + memcpy(&compl_workbuf[bIdx], (uint8_t *)txStatusReport, sizeof(TX_STATUS_TYPE)); + bIdx += sizeof(TX_STATUS_TYPE); + } + Request(FUNC_ID_ZW_DELETE_RETURN_ROUTE, compl_workbuf, bIdx); +} + +static uint8_t DeleteReturnNode(uint16_t nodeID, ZW_TX_Callback_t pCallBack) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.DeleteReturnRoute.DestNodeId = nodeID, + .uTransmitParams.DeleteReturnRoute.Handle = (ZW_Void_Callback_t)pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_DELETERETURNROUTE + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_DELETE_RETURN_ROUTE) +{ + /* nodeID | funcID */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + funcID_ComplHandler_ZW_DeleteReturnRoute = frame->payload[1 + offset]; + const uint8_t retVal = DeleteReturnNode(nodeId, (funcID_ComplHandler_ZW_DeleteReturnRoute != 0) ? &ZCB_ComplHandler_ZW_DeleteReturnRoute : NULL); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_ASSIGN_SUC_RETURN_ROUTE +static uint8_t AssignSucReturnRoute(uint16_t srcNodeID, uint8_t sucNode, ZW_TX_Callback_t pCallBack) +{ + /* srcNodeID | funcID */ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.AssignReturnRoute.ReturnRouteReceiverNodeId = srcNodeID, + .uTransmitParams.AssignReturnRoute.RouteDestinationNodeId = sucNode, + .uTransmitParams.AssignReturnRoute.isSucRoute = true, + .uTransmitParams.AssignReturnRoute.Handle = (ZW_Void_Callback_t)pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_ASSIGNRETURNROUTE + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_ASSIGN_SUC_RETURN_ROUTE) +{ + /* srcNodeID | funcID */ + uint8_t retVal = 0; + uint8_t SUCNodeId = (uint8_t)(ZAF_GetSucNodeId() & 0xFF); + uint8_t offset = 0; + node_id_t srcNodeID = (node_id_t)GET_NODEID(&frame->payload[0], offset); + if (SUCNodeId != 0) + { + funcID_ComplHandler_netWork_Management = frame->payload[1 + offset]; + retVal = AssignSucReturnRoute(srcNodeID, SUCNodeId, (funcID_ComplHandler_netWork_Management != 0) ? &ZCB_ComplHandler_ZW_netWork_Management : NULL); + management_Func_ID = frame->cmd; + } + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_ASSIGN_PRIORITY_SUC_RETURN_ROUTE +uint8_t funcID_ComplHandler_ZW_AssignPrioritySUCReturnRoute; + +static uint8_t AssignPrioritySucReturnRoute(uint16_t srcNode, uint8_t sucNode, const uint8_t* pRoute, uint8_t routeSpeed, ZW_TX_Callback_t pCallBack) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.AssignReturnRoute.ReturnRouteReceiverNodeId = srcNode, + .uTransmitParams.AssignReturnRoute.RouteDestinationNodeId = sucNode, + .uTransmitParams.AssignReturnRoute.PriorityRouteSpeed = routeSpeed, + .uTransmitParams.AssignReturnRoute.isSucRoute = true, + .uTransmitParams.AssignReturnRoute.Handle = (ZW_Void_Callback_t)pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_ASSIGNRETURNROUTE + }; + memcpy(FramePackage.uTransmitParams.AssignReturnRoute.aPriorityRouteRepeaters, pRoute, sizeof(FramePackage.uTransmitParams.AssignReturnRoute.aPriorityRouteRepeaters)); + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_ASSIGN_PRIORITY_SUC_RETURN_ROUTE) +{ + /* srcNodeID | route[5] | funcID */ + uint8_t retVal = 0; + uint8_t SUCNodeId = (uint8_t)(ZAF_GetSucNodeId() & 0xFF); + uint8_t offset = 0; + node_id_t srcNodeID = (node_id_t)GET_NODEID(&frame->payload[0], offset); + if (SUCNodeId != 0) + { + funcID_ComplHandler_netWork_Management = frame->payload[offset + 6]; + retVal = AssignPrioritySucReturnRoute(srcNodeID, SUCNodeId, &frame->payload[offset + 1], frame->payload[offset + 1 + 4], + (funcID_ComplHandler_netWork_Management != 0) ? &ZCB_ComplHandler_ZW_netWork_Management : NULL); + + management_Func_ID = frame->cmd; + } + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_DELETE_SUC_RETURN_ROUTE +static uint8_t DeleteSucReturnRoute(uint16_t srcNode, ZW_TX_Callback_t pCallBack) +{ + /* srcNodeID | funcID */ + + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.DeleteReturnRoute.DestNodeId = srcNode, + .uTransmitParams.DeleteReturnRoute.bDeleteSuc = true, + .uTransmitParams.DeleteReturnRoute.Handle = (ZW_Void_Callback_t)pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_DELETERETURNROUTE + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_DELETE_SUC_RETURN_ROUTE) +{ + /* srcNodeID | funcID */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + funcID_ComplHandler_netWork_Management = frame->payload[1 + offset]; + const uint8_t retVal = DeleteSucReturnRoute(nodeId, + (funcID_ComplHandler_netWork_Management != 0) ? &ZCB_ComplHandler_ZW_netWork_Management : NULL); + management_Func_ID = frame->cmd; + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_SEND_SUC_ID +uint8_t funcID_ComplHandler_ZW_SendSUC_ID; + +static void +ZCB_ComplHandler_ZW_SendSUC_ID( + uint8_t bStatus, + __attribute__((unused)) TX_STATUS_TYPE *txStatusReport) +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SendSUC_ID; + BYTE_IN_AR(compl_workbuf, 1) = bStatus; + Request(FUNC_ID_ZW_SEND_SUC_ID, compl_workbuf, 2); +} + +static uint8_t SendSucID(uint16_t destNode, uint8_t txOptions, ZW_TX_Callback_t pCallBack) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.SendSucNodeId.DestNodeId = destNode, + .uTransmitParams.SendSucNodeId.TransmitOptions = txOptions, + .uTransmitParams.SendSucNodeId.Handle = (ZW_Void_Callback_t)pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_SENDSUCNODEID + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_SUC_ID) +{ + /* destNodeID | txOptions | funcID */ + uint8_t offset = 0; + node_id_t destNodeID = (node_id_t)GET_NODEID(&frame->payload[0], offset); + funcID_ComplHandler_ZW_SendSUC_ID = frame->payload[offset + 2]; + + const uint8_t retVal = SendSucID(destNodeID, frame->payload[offset + 2], + (funcID_ComplHandler_ZW_SendSUC_ID != 0) ? &ZCB_ComplHandler_ZW_SendSUC_ID : NULL); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_SET_SUC_NODE_ID +uint8_t funcID_ComplHandler_ZW_SetSUCNodeID; + +/*==================== ComplHandler_ZW_SetSUCNodeID ====================== +** Function description +** ZW_SUC_SET_SUCCEEDED +** Side effects: +** +**--------------------------------------------------------------------------*/ +static void +ZCB_ComplHandler_ZW_SetSUCNodeID( + uint8_t txStatus, /*IN Completion status*/ + __attribute__((unused)) TX_STATUS_TYPE *txStatusReport) +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SetSUCNodeID; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_SET_SUC_NODE_ID, compl_workbuf, 2); +} + +static uint8_t SetSucNodeID(uint16_t nodeID, uint8_t sucState, uint8_t txOptions, uint8_t capabilities, ZW_TX_Callback_t pCallBack) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .uTransmitParams.SetSucNodeId.SucNodeId = nodeID, + .uTransmitParams.SetSucNodeId.bSucEnable = sucState, + .uTransmitParams.SetSucNodeId.bTxLowPower = txOptions, + .uTransmitParams.SetSucNodeId.Capabilities = capabilities, + .uTransmitParams.SetSucNodeId.Handle = (ZW_Void_Callback_t)pCallBack, + .eTransmitType = EZWAVETRANSMITTYPE_SETSUCNODEID + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SET_SUC_NODE_ID) +{ + /* nodeID | SUCState | txOptions | capabilities | funcID */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + funcID_ComplHandler_ZW_SetSUCNodeID = frame->payload[offset + 4]; + const uint8_t retVal = SetSucNodeID(nodeId, frame->payload[offset + 1], frame->payload[offset + 2], frame->payload[offset + 3], + (funcID_ComplHandler_ZW_SetSUCNodeID != 0) ? &ZCB_ComplHandler_ZW_SetSUCNodeID : NULL); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_GET_SUC_NODE_ID +ZW_ADD_CMD(FUNC_ID_ZW_GET_SUC_NODE_ID) +{ + uint8_t cmdLength = 0; + node_id_t suc_node_id; + + suc_node_id = ZAF_GetSucNodeId(); + + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + BYTE_IN_AR(compl_workbuf, 0) = (uint8_t)(suc_node_id >> 8); // MSB + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)(suc_node_id & 0xFF); // LSB + cmdLength = 2; + } + else + { + BYTE_IN_AR(compl_workbuf, 0) = (uint8_t)(suc_node_id & 0xFF); + cmdLength = 1; + } + DoRespond_workbuf(cmdLength); +} +#endif + + +#if SUPPORT_ZW_REMOVE_FAILED_NODE_ID +uint8_t funcID_ComplHandler_ZW_RemoveFailedNodeID; + +/*===================== ComplHandler_ZW_RemoveFailedNodeID ============== +** Completion handler for ZW_RemoveFailedNodeID +** +**--------------------------------------------------------------------------*/ +void /* RET Nothing */ +ZCB_ComplHandler_ZW_RemoveFailedNodeID( + uint8_t bStatus) +{ + if (0 == funcID_ComplHandler_ZW_RemoveFailedNodeID) + { + return; + } + + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_RemoveFailedNodeID; + BYTE_IN_AR(compl_workbuf, 1) = bStatus; + Request(FUNC_ID_ZW_REMOVE_FAILED_NODE_ID, compl_workbuf, 2); +} + +static uint8_t RemoveFailedNode(uint16_t nodeID) +{ + + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_REMOVE_FAILED_NODE_ID, + .uCommandParams.FailedNodeIDCmd.nodeID = nodeID + }; + // Put the package on queue (and dont wait for it) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_REMOVE_FAILED_NODE_ID)) + { + return cmdStatus.Content.FailedNodeIDStatus.result; + } + assert(0); + return 0; +} + +ZW_ADD_CMD(FUNC_ID_ZW_REMOVE_FAILED_NODE_ID) +{ + /* nodeID | funcID */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + funcID_ComplHandler_ZW_RemoveFailedNodeID = frame->payload[1 + offset]; + const uint8_t retVal = RemoveFailedNode(nodeId); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_IS_FAILED_NODE_ID +static uint8_t IsNodeIDFailed(uint16_t nodeID) +{ + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_IS_FAILED_NODE_ID, + .uCommandParams.IsFailedNodeID.nodeID = nodeID}; + + // Put the Command on queue (and dont wait for it, queue must be empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + + // Wait for protocol to handle command (it shouldnt take long) + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_IS_FAILED_NODE_ID)) + { + return cmdStatus.Content.IsFailedNodeIDStatus.result; + } + assert(false); // FIXME We should have more intelligent error handling, we shouldnt assert here. + return 0; +} + +ZW_ADD_CMD(FUNC_ID_ZW_IS_FAILED_NODE_ID) +{ + /* nodeID */ + volatile uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + const uint8_t retVal = IsNodeIDFailed(nodeId); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_REPLACE_FAILED_NODE +uint8_t funcID_ComplHandler_ZW_ReplaceFailedNode; + +/*===================== ComplHandler_ZW_RemoveFailedNodeID ============== +** Completion handler for ZW_RemoveFailedNodeID +** +**--------------------------------------------------------------------------*/ +void /* RET Nothing */ +ZCB_ComplHandler_ZW_ReplaceFailedNode( + uint8_t bStatus) /* IN Transmit completion status */ +{ + if (0 == funcID_ComplHandler_ZW_ReplaceFailedNode) + { + return; + } + + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_ReplaceFailedNode; + BYTE_IN_AR(compl_workbuf, 1) = bStatus; + Request(FUNC_ID_ZW_REPLACE_FAILED_NODE, compl_workbuf, 2); +} + +static uint8_t ReplaceFailedNode(uint16_t nodeID, uint8_t normalPower) +{ + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_REPLACE_FAILED_NODE_ID, + .uCommandParams.FailedNodeIDCmd.nodeID = nodeID, + .uCommandParams.FailedNodeIDCmd.normalPower = normalPower + }; + // Put the package on queue (and dont wait for it) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_REPLACE_FAILED_NODE_ID)) + { + return cmdStatus.Content.FailedNodeIDStatus.result; + } + assert(0); + return 0; + +} + +ZW_ADD_CMD(FUNC_ID_ZW_REPLACE_FAILED_NODE) +{ + /* nodeID | funcID */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + funcID_ComplHandler_ZW_ReplaceFailedNode = frame->payload[1 + offset]; + const uint8_t retVal = ReplaceFailedNode(nodeId, true); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_GET_ROUTING_TABLE_LINE +static void GetRoutingInfo(uint16_t nodeID, uint8_t options, uint8_t *pRoutingInfo) +{ + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_GET_ROUTING_TABLE_LINE, + .uCommandParams.GetRoutingInfo.nodeID = nodeID, + .uCommandParams.GetRoutingInfo.options = options}; + // Put the Command on queue (and dont wait for it, queue must be empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + + // Wait for protocol to handle command (it shouldnt take long) + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_GET_ROUTING_TABLE_LINE)) + { + memcpy(pRoutingInfo, cmdStatus.Content.GetRoutingInfoStatus.RoutingInfo, MAX_NODEMASK_LENGTH); + return; + } + assert(false); // FIXME We should have more intelligent error handling, we shouldnt assert here. +} + +ZW_ADD_CMD(FUNC_ID_GET_ROUTING_TABLE_LINE) +{ + /* HOST->ZW: bLine | bRemoveBad | bRemoveNonReps */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + GetRoutingInfo(nodeId, + (uint8_t)(((frame->payload[offset + 1]) ? GET_ROUTING_INFO_REMOVE_BAD : 0) | + ((frame->payload[offset + 2]) ? GET_ROUTING_INFO_REMOVE_NON_REPS : 0)), + compl_workbuf); + DoRespond_workbuf(MAX_NODEMASK_LENGTH); +} +#endif + + +#if SUPPORT_GET_TX_COUNTER +ZW_ADD_CMD(FUNC_ID_GET_TX_COUNTER) +{ + /* */ + /* Get the transmit counter */ + /* Not usedin 700 series - Obsoleted */ + DoRespond(0); +} +#endif + + +#if SUPPORT_RESET_TX_COUNTER +ZW_ADD_CMD(FUNC_ID_RESET_TX_COUNTER) +{ + /* */ + /* Reset the transmit counter */ + /* Not usedin 700 series - Obsoleted */ + DoRespond(0); +} +#endif + + +#if SUPPORT_STORE_HOMEID +static void StoreHomeID(uin8_t *pHomeID, uint16_t nodeID) +{ + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_STORE_HOMEID, + .uCommandParams.StoreHomeID.nodeID = nodeID, + }; + memcpy(cmdPackage.uCommandParams.StoreHomeID.homeID, pHomeID, sizeof(cmdPackage.uCommandParams.StoreHomeID.homeID)); + // Put the Command on queue (and dont wait for it, queue must be empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); +} + +ZW_ADD_CMD(FUNC_ID_STORE_HOMEID) +{ + /* homeID1 | homeID2 | homeID3 | homeID4 | nodeID */ + /* Store homeID and Node ID. */ + uint8_t offset = 0; + StoreHomeID(frame->payload, GET_NODEID(&frame->payload[4], offset)); + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_LOCK_ROUTE_RESPONSE +static void LockResponseRoute(uint8_t lockID) +{ + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_LOCK_ROUTE_RESPONSE, + .uCommandParams.LockRouteResponse.value = lockID, + }; + // Put the Command on queue (and dont wait for it, queue must be empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); +} + +ZW_ADD_CMD(FUNC_ID_LOCK_ROUTE_RESPONSE) +{ + /* HOST->ZW: lockID */ + /* Lock response routes / Last Working Routes. lockID == nodeID for locking. lockID == 0x00 to unlock */ + LockResponseRoute(frame->payload[0]); + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_ZW_GET_PRIORITY_ROUTE +static uint8_t GetPriorityRoute(uint16_t nodeID, uint8_t *priRoute) +{ + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_GET_PRIORITY_ROUTE, + .uCommandParams.GetPriorityRoute.nodeID = nodeID, + .uCommandParams.GetPriorityRoute.pPriRouteBuffer = priRoute, + }; + // Put the Command on queue (and dont wait for it, queue must be empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + + // Wait for protocol to handle command (it shouldnt take long) + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_GET_PRIORITY_ROUTE)) + { + memcpy(priRoute, cmdStatus.Content.GetPriorityRouteStatus.repeaters, MAX_REPEATERS); + priRoute[4] = cmdStatus.Content.GetPriorityRouteStatus.routeSpeed; + return cmdStatus.Content.GetPriorityRouteStatus.bAnyRouteFound; + } + assert(false); // FIXME We should have more intelligent error handling, we shouldnt assert here. + return 0; +} + +ZW_ADD_CMD(FUNC_ID_ZW_GET_PRIORITY_ROUTE) +{ + /* HOST->ZW: nodeID */ + /* ZW->HOST: nodeID | anyRouteFound | repeater0 | repeater1 | repeater2 | repeater3 | routespeed */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + BYTE_IN_AR(compl_workbuf, 0) = (uint8_t)(nodeId >> 8); // MSB + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)(nodeId & 0xFF); // LSB + } + else + { + BYTE_IN_AR(compl_workbuf, 0) = (uint8_t)(nodeId & 0xFF); // Legacy 8 bit nodeIDs + } + BYTE_IN_AR(compl_workbuf, offset + 1) = GetPriorityRoute(nodeId, &compl_workbuf[offset + 2]); + DoRespond_workbuf(offset + 7); +} +#endif + + +#if SUPPORT_ZW_SET_PRIORITY_ROUTE +static uint8_t SetPriorityRoute(uint16_t nodeID, const uint8_t *routeInfo) +{ + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_SET_PRIORITY_ROUTE, + .uCommandParams.SetPriorityRoute.nodeID = nodeID, + }; + if (NULL != routeInfo) + { + memcpy(cmdPackage.uCommandParams.SetPriorityRoute.repeaters, routeInfo, MAX_REPEATERS); + cmdPackage.uCommandParams.SetPriorityRoute.routeSpeed = routeInfo[4]; + } + else + { + cmdPackage.uCommandParams.SetPriorityRoute.clearGolden = true; + } + // Put the Command on queue (and dont wait for it, queue must be empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + + // Wait for protocol to handle command (it shouldnt take long) + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_SET_PRIORITY_ROUTE)) + { + return cmdStatus.Content.SetPriorityRouteStatus.bRouteUpdated; + } + assert(false); // FIXME We should have more intelligent error handling, we shouldnt assert here. + return 0; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SET_PRIORITY_ROUTE) +{ + /* HOST->ZW: nodeID | repeater0 | repeater1 | repeater2 | repeater3 | routespeed */ + /* ZW->HOST: nodeID | routeUpdated */ + uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + if (SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT == nodeIdBaseType) + { + BYTE_IN_AR(compl_workbuf, 0) = (uint8_t)(nodeId >> 8); // MSB + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)(nodeId & 0xFF); // LSB + } + else + { + BYTE_IN_AR(compl_workbuf, 0) = (uint8_t)(nodeId & 0xFF); // Legacy 8 bit nodeIDs + } + if ((offset + 9) <= frame->len) + { + /* Set Priority Route Devkit 6.6x */ + BYTE_IN_AR(compl_workbuf, offset + 1) = SetPriorityRoute(nodeId, &frame->payload[offset + 1]); + } + else + { + /* Clear/Release Golden Route - Devkit 6.6x+ */ + BYTE_IN_AR(compl_workbuf, offset + 1) = SetPriorityRoute(nodeId, NULL); + } + DoRespond_workbuf(2); +} +#endif + + +#if SUPPORT_ZW_GET_VERSION +ZW_ADD_CMD(FUNC_ID_ZW_GET_VERSION) +{ + /* */ + const SProtocolInfo* protocol_info = ZAF_getProtocolInfo(); + uint8_t versionMinor = protocol_info->ProtocolVersion.Minor; + if (255 == zpal_get_app_version_major()) + { + // Special case when running the custom v255 file that is used for testing OTW firmware update. + // Make ZW_GET_VERSION return a unique version string "Z-Wave 7.99" so that test tools can distinguish it from the normal builds. + versionMinor = 99; + } + __attribute__((unused)) volatile int32_t iCharacters = snprintf((char *)(&compl_workbuf[0]), 12, "Z-Wave %1d.%02d", protocol_info->ProtocolVersion.Major, versionMinor); + assert(iCharacters == 11); // Serial API must deliver 13 bytes reply. 11 byte string (no zero termination) followed by zero and 1 byte lib type + // We use SNPRINTF zero termination to produce the zero. + _Static_assert(sizeof(compl_workbuf) >= 13, "STATIC_ASSERT_compl_workbuf_to_small"); + compl_workbuf[12] = protocol_info->eLibraryType; + DoRespond_workbuf(13); +} +#endif + + +#if SUPPORT_ZW_GET_PROTOCOL_VERSION +ZW_ADD_CMD(FUNC_ID_ZW_GET_PROTOCOL_VERSION) +{ + /* */ + uint8_t len; + func_id_zw_get_protocol_version(0, NULL, compl_workbuf, &len); + DoRespond_workbuf(len); +} +#endif + + +#if SUPPORT_SERIAL_API_APPL_NODE_INFORMATION +#ifdef ZW_CONTROLLER +static void ZW_UpdateCtrlNodeInformation_API_IF(void) +{ + // Create transmit frame package + SZwaveCommandPackage FramePackage ={ + .eCommandType = EZWAVECOMMANDTYPE_ZW_UPDATE_CTRL_NODE_INFORMATION, + .uCommandParams.UpdateCtrlNodeInformation.value = true + }; + // Put the package on queue (and dont wait for it) + QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&FramePackage, 0); +} +#endif + +ZW_ADD_CMD(FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION) +{ + /* listening | generic | specific | parmLength | nodeParms[] */ + SAppNodeInfo_t *AppNodeInfo; + + AppNodeInfo = zaf_get_app_node_info(); + + AppNodeInfo->DeviceOptionsMask = frame->payload[0]; + AppNodeInfo->NodeType.generic = frame->payload[1]; + AppNodeInfo->NodeType.specific = frame->payload[2]; + + // As this serial API command only supports one set of command classes, + // we use the same list for the entire CC set + + // Data for loopifying CC list writes + SCommandClassList_t *const apCCLists[3] = + { + &CommandClasses.UnSecureIncludedCC, + &CommandClasses.SecureIncludedUnSecureCC, + &CommandClasses.SecureIncludedSecureCC + }; + + uint32_t iListLength = frame->payload[3]; + for (uint32_t i = 0; i < 3; i++) + { + // NOTE: These are not really supposed to be edited run time. + // So set list lengths to 0 at first to reduce chaos if protocol + // accesses them while we edit them. + apCCLists[i]->iListLength = 0; + + memset((uint8_t *)(apCCLists[i]->pCommandClasses), 0, CCListSizes[i]); // Clear CCList + memcpy((uint8_t *)(apCCLists[i]->pCommandClasses), &frame->payload[4], Minimum2(iListLength, CCListSizes[i])); + + // Set new list length after finishing CCList + apCCLists[i]->iListLength = (uint8_t)Minimum2(iListLength, CCListSizes[i]); + } + + SaveApplicationSettings(frame->payload[0], frame->payload[1], + frame->payload[2]); + SaveApplicationCCInfo(apCCLists[0]->iListLength, (uint8_t*)apCCLists[0]->pCommandClasses, + 0, NULL, 0, NULL); +#ifdef ZW_CONTROLLER + ZW_UpdateCtrlNodeInformation_API_IF(); +#endif + + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES +ZW_ADD_CMD(FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES) +{ + /* unincluded_parmLength | unincluded_nodeParm[] | */ + /* included_unsecure_parmLength | included_unsecure_nodeParm[] |*/ + /* included_secure_parmLength | included_secure_nodeParm[] */ + + // Data for loopifying CC list writes + SCommandClassList_t *const apCCLists[3] = + { + &CommandClasses.UnSecureIncludedCC, + &CommandClasses.SecureIncludedUnSecureCC, + &CommandClasses.SecureIncludedSecureCC + }; + + uint32_t iOffset = 0; + for (uint32_t i = 0; i < 3; i++) + { + // NOTE: These are not really supposed to be edited run time. + // So set list lengths to 0 at first to reduce chaos if protocol + // accesses them while we edit them. + apCCLists[i]->iListLength = 0; + + memset((uint8_t *)(apCCLists[i]->pCommandClasses), 0, CCListSizes[i]); // Clear CCList + uint32_t iListLength = frame->payload[iOffset]; + memcpy((uint8_t*)apCCLists[i]->pCommandClasses, &frame->payload[iOffset + 1], Minimum2(iListLength, CCListSizes[i])); + // Set new list length after finishing CCList + apCCLists[i]->iListLength = (uint8_t)iListLength; + + iOffset += iListLength + 1; + } + + const uint8_t retVal = SaveApplicationCCInfo(apCCLists[0]->iListLength, (uint8_t*)apCCLists[0]->pCommandClasses, + apCCLists[1]->iListLength, (uint8_t*)apCCLists[1]->pCommandClasses, + apCCLists[2]->iListLength, (uint8_t*)apCCLists[2]->pCommandClasses + ); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_SERIAL_API_APPL_SLAVE_NODE_INFORMATION +uint8_t funcID_ComplHandler_ZW_SendSlaveNodeInformation; + +/*================= ComplHandler_ZW_SendSlaveNodeInformation ============ +** Completion handler for ZW_SendSlaveNodeInformation +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_SendSlaveNodeInformation( + uint8_t txStatus, /* IN Transmit completion status */ + __attribute__((unused)) TX_STATUS_TYPE *txStatusReport) +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SendSlaveNodeInformation; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_SEND_SLAVE_NODE_INFORMATION, compl_workbuf, 2); +} + +static uint8_t SendSlaveNodeInfo(uint16_t srcNode, uint16_t destNode, uint8_t txOptions, ZW_TX_Callback_t pCallBack) +{ + SZwaveTransmitPackage FramePackage = { + .eTransmitType = EZWAVETRANSMITTYPE_SEND_SLAVE_NODE_INFORMATION, + .uTransmitParams.SendSlaveNodeInformation.Handle = (ZW_Void_Callback_t)pCallBack, + .uTransmitParams.SendSlaveNodeInformation.sourceId = srcNode, + .uTransmitParams.SendSlaveNodeInformation.destinationId = destNode, + .uTransmitParams.SendSlaveNodeInformation.txOptions = txOptions, + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_SLAVE_NODE_INFORMATION) +{ + /* srcNode | destNode | txOptions | funcID */ + node_id_t srcNodeId, destNodeId; + srcNodeId = (node_id_t)frame->payload[0]; + destNodeId = (node_id_t)frame->payload[1]; + funcID_ComplHandler_ZW_SendSlaveNodeInformation = frame->payload[3]; + const uint8_t retVal = SendSlaveNodeInfo(srcNodeId, destNodeId, frame->payload[2], + (funcID_ComplHandler_ZW_SendSlaveNodeInformation != 0) ? &ZCB_ComplHandler_ZW_SendSlaveNodeInformation : NULL); + DoRespond(retVal); +} + +ZW_ADD_CMD(FUNC_ID_SERIAL_API_APPL_SLAVE_NODE_INFORMATION) +{ + /* srcNodeID | listening | generic | specific | parmLength | nodeParms[] */ + /* frame->payload[0] = srcNodeID */ + + uint32_t iVirtualSlaveIndex = 0; // Choose which Virtual Slave node slot to use + uint8_t offset = 0; + + // Start by removing reference to current configuration - so protocol never sees a partially modified config + apVirtualSlaveNodeInfo[iVirtualSlaveIndex] = NULL; + + // Modify config + aVirtualSlaveNodeInfo[iVirtualSlaveIndex].NodeId = (node_id_t)frame->payload[0]; + aVirtualSlaveNodeInfo[iVirtualSlaveIndex].bListening = frame->payload[offset + 1]; + aVirtualSlaveNodeInfo[iVirtualSlaveIndex].NodeType.generic = frame->payload[offset + 2]; + aVirtualSlaveNodeInfo[iVirtualSlaveIndex].NodeType.specific = frame->payload[offset + 3]; + aVirtualSlaveNodeInfo[iVirtualSlaveIndex].CommandClasses.iListLength = (uint8_t)Minimum2(frame->payload[offset + 4], sizeof(aVirtualSlaveCommandClasses[0])); + + memset(&aVirtualSlaveCommandClasses[iVirtualSlaveIndex][0], 0, sizeof(aVirtualSlaveCommandClasses[0])); + memcpy(&aVirtualSlaveCommandClasses[iVirtualSlaveIndex][0], &frame->payload[offset + 5], aVirtualSlaveNodeInfo[0].CommandClasses.iListLength); + + // Re-activate config + apVirtualSlaveNodeInfo[iVirtualSlaveIndex] = &aVirtualSlaveNodeInfo[iVirtualSlaveIndex]; + + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_ZW_SET_SLAVE_LEARN_MODE +uint8_t funcID_ComplHandler_ZW_SetSlaveLearnMode; + +/*================= ComplHandler_ZW_SetSlaveLearnMode ==================== +** Completion handler for ZW_SetSlaveLearnMode +** +**--------------------------------------------------------------------------*/ +void /* RET Nothing */ +ZCB_ComplHandler_ZW_SetSlaveLearnMode( + uint8_t bStatus, + uint8_t orgID, + uint8_t newID) /* IN Node ID */ +{ + if (0 == funcID_ComplHandler_ZW_SetSlaveLearnMode) + { + return; + } + + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SetSlaveLearnMode; + BYTE_IN_AR(compl_workbuf, 1) = bStatus; + BYTE_IN_AR(compl_workbuf, 2) = orgID; + BYTE_IN_AR(compl_workbuf, 3) = newID; + Request(FUNC_ID_ZW_SET_SLAVE_LEARN_MODE, compl_workbuf, 4); +} + +static uint8_t SetSlaveLearnMode(uint16_t nodeID, uint8_t mode) +{ + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_SET_SLAVE_LEARN_MODE, + .uCommandParams.SetSlaveLearnMode.nodeID = nodeID, + .uCommandParams.SetSlaveLearnMode.mode = mode, + }; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_SET_SLAVE_LEARN_MODE_RESULT)) + { + return cmdStatus.Content.SetSlaveLearnModeStatus.result; + } + return false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SET_SLAVE_LEARN_MODE) +{ + /* node | mode | funcID */ + uint8_t offset = 0; + node_id_t nodeID = (node_id_t)frame->payload[0]; + funcID_ComplHandler_ZW_SetSlaveLearnMode = frame->payload[offset + 2]; + const uint8_t retVal = SetSlaveLearnMode(nodeID, frame->payload[offset + 1]); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_SEND_TEST_FRAME +uint8_t funcID_ComplHandler_ZW_SendTestFrame; + +/*================= ComplHandler_ZW_SendTestFrame ==================== +** Completion handler for ZW_SendTestFrame +** +**--------------------------------------------------------------------------*/ +static void +ZCB_ComplHandler_ZW_SendTestFrame( + uint8_t txStatus, + __attribute__((unused)) TX_STATUS_TYPE *txStatusReport) +{ + BYTE_IN_AR(compl_workbuf, 0) = funcID_ComplHandler_ZW_SendTestFrame; + BYTE_IN_AR(compl_workbuf, 1) = txStatus; + Request(FUNC_ID_ZW_SEND_TEST_FRAME, compl_workbuf, 2); +} + +static uint8_t SendTestFrame(uint16_t nodeID, uint8_t powerLevel, ZW_TX_Callback_t pCallBack) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .eTransmitType = EZWAVETRANSMITTYPE_TESTFRAME, + .uTransmitParams.Test.DestNodeId = nodeID, + .uTransmitParams.Test.PowerLevel = powerLevel, + .uTransmitParams.Test.Handle = pCallBack + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_SEND_TEST_FRAME) +{ + /* node | powerlevel | funcID */ + uint8_t offset = 0; + node_id_t node = (node_id_t)GET_NODEID(&frame->payload[0], offset); + funcID_ComplHandler_ZW_SendTestFrame = frame->payload[offset + 2]; + const uint8_t retVal = SendTestFrame(node, frame->payload[offset + 1], + (funcID_ComplHandler_ZW_SendTestFrame != 0) ? &ZCB_ComplHandler_ZW_SendTestFrame : NULL); + + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_IS_VIRTUAL_NODE +static uint8_t IsNodeVirtual(uint16_t nodeID) +{ + if(!nodeID || (ZW_MAX_NODES < nodeID)) //Virtual nodes are not implemented for Long Range nodes + { + return false; + } + + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_IS_VIRTUAL_NODE, + .uCommandParams.IsVirtualNode.value = nodeID, + }; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { .eStatusType = EZWAVECOMMANDSTATUS_IS_VIRTUAL_NODE }; + if (GetCommandResponse(&cmdStatus, cmdStatus.eStatusType)) + { + return cmdStatus.Content.IsVirtualNodeStatus.result; + } + + assert(false); // FIXME We should have more intelligent error handling, we shouldnt assert here. + return 0; +} + +ZW_ADD_CMD(FUNC_ID_ZW_IS_VIRTUAL_NODE) +{ + /* node */ + node_id_t nodeId = (node_id_t)frame->payload[0]; + const uint8_t retVal = IsNodeVirtual(nodeId); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_GET_VIRTUAL_NODES +static void GetVirtualNodes(uint8_t *vNodesMask) +{ + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_GET_VIRTUAL_NODES}; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_GET_VIRTUAL_NODES)) + { + memcpy(vNodesMask, cmdStatus.Content.GetVirtualNodesStatus.vNodesMask, MAX_NODEMASK_LENGTH); + return; + } + + assert(false); // FIXME We should have more intelligent error handling, we shouldnt assert here. +} + +ZW_ADD_CMD(FUNC_ID_ZW_GET_VIRTUAL_NODES) +{ + /* */ + GetVirtualNodes(compl_workbuf); + DoRespond_workbuf(ZW_MAX_NODES / 8); +} +#endif + +#if SUPPORT_SERIAL_API_GET_INIT_DATA +ZW_ADD_CMD(FUNC_ID_SERIAL_API_GET_INIT_DATA) +{ + uint8_t length = 0; + func_id_serial_api_get_init_data(frame_payload_len(frame), frame->payload, compl_workbuf, &length); + DoRespond_workbuf(length); +} +#endif +#if SUPPORT_SERIAL_API_GET_LR_NODES +#ifdef ZW_CONTROLLER +ZW_ADD_CMD(FUNC_ID_SERIAL_API_GET_LR_NODES) +{ + uint8_t length = 0; + func_id_serial_api_get_LR_nodes(frame_payload_len(frame), frame->payload, compl_workbuf, &length); + DoRespond_workbuf(length); +} +#endif +#endif + +#if SUPPORT_SERIAL_GET_LR_CHANNEL +ZW_ADD_CMD(FUNC_ID_GET_LR_CHANNEL) +{ + GetLongRangeChannel(&compl_workbuf[0], &compl_workbuf[1]); + DoRespond_workbuf(2); +} +#endif + + +#if SUPPORT_SERIAL_SET_LR_CHANNEL +ZW_ADD_CMD(FUNC_ID_SET_LR_CHANNEL) +{ + const uint8_t retVal = SetLongRangeChannel(frame->payload[0]); + DoRespond(retVal); +} +#endif + +#if SUPPORT_SERIAL_SET_LR_VIRTUAL_IDS +ZW_ADD_CMD(FUNC_ID_ZW_SET_LR_VIRTUAL_IDS) +{ + SetLongRangeVirtualNodes(frame->payload[0]); + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_SERIAL_ENABLE_RADIO_PTI +ZW_ADD_CMD(FUNC_ID_ENABLE_RADIO_PTI) +{ + const uint8_t retVal = SaveApplicationEnablePTI(frame->payload[0]); + DoRespond(retVal); +} + +ZW_ADD_CMD(FUNC_ID_GET_RADIO_PTI) +{ + const uint8_t retVal = GetPTIConfig(); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_GET_CONTROLLER_CAPABILITIES +ZW_ADD_CMD(FUNC_ID_ZW_GET_CONTROLLER_CAPABILITIES) +{ + /* HOST->ZW: no params defined */ + const uint8_t retVal = GetControllerCapabilities(); + DoRespond(retVal); +} +#endif + + +#if SUPPORT_ZW_REQUEST_NODE_INFO +/*====================== ComplHandler_ZW_RequestNodeInfo ===================== +** Completion handler for ZW_RequestNodeInfo +** +**--------------------------------------------------------------------------*/ +static void /* RET Nothing */ +ZCB_ComplHandler_ZW_RequestNodeInfo( + uint8_t txStatus, /* IN Transmit completion status */ + __attribute__((unused)) TX_STATUS_TYPE *txStatusReport) +{ + /* */ + if (txStatus != TRANSMIT_COMPLETE_OK) + { + ApplicationNodeUpdate(UPDATE_STATE_NODE_INFO_REQ_FAILED, 0, NULL, 0); + } +} + +static uint8_t RequestNodeID(uint16_t nodeID) +{ + // Create transmit frame package + SZwaveTransmitPackage FramePackage = { + .eTransmitType = EZWAVETRANSMITTYPE_NODEINFORMATIONREQUEST, + .uTransmitParams.NodeInfoRequest.DestNodeId = nodeID, + .uTransmitParams.NodeInfoRequest.Handle = (ZW_Void_Callback_t)ZCB_ComplHandler_ZW_RequestNodeInfo + }; + // Put the package on queue (and dont wait for it) + EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwTxQueue(), (uint8_t *)&FramePackage, 0); + return (EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus) ? true : false; +} +#if SUPPORT_ZW_REQUEST_NODE_INFO +ZW_ADD_CMD(FUNC_ID_ZW_REQUEST_NODE_INFO) +{ + /* HOST->ZW: nodeID */ + volatile uint8_t offset = 0; + node_id_t nodeId = (node_id_t)GET_NODEID(&frame->payload[0], offset); + const uint8_t retVal = RequestNodeID(nodeId); + DoRespond(retVal); +} +#endif +#endif /*SUPPORT_ZW_REQUEST_NODE_INFO*/ + +#if SUPPORT_SERIAL_API_SET_TIMEOUTS +ZW_ADD_CMD(FUNC_ID_SERIAL_API_SET_TIMEOUTS) +{ + /* HOST->ZW: RX_ACK_timeout | RX_BYTE_timeout */ + /* ZW->HOST: RES | oldRX_ACK_timeout | oldRX_BYTE_timeout */ + BYTE_IN_AR(compl_workbuf, 0) = (uint8_t)(comm_interface_get_ack_timeout_ms() / 10); /* Respond with the old timeout settings */ + BYTE_IN_AR(compl_workbuf, 1) = (uint8_t)(comm_interface_get_byte_timeout_ms() / 10); + comm_interface_set_ack_timeout_ms(frame->payload[0] * 10); /* Max time to wait for ACK after frame transmission in 10ms ticks */ + comm_interface_set_byte_timeout_ms(frame->payload[1] * 10); /* Max time to wait for next byte when collecting a new frame in 10ms ticks */ + /* Respond with the old timeout settings */ + DoRespond_workbuf(2); +} +#endif + + +#if SUPPORT_SERIAL_API_SOFT_RESET +ZW_ADD_CMD(FUNC_ID_SERIAL_API_SOFT_RESET) +{ + //Enqueue soft reset command to protocol + SZwaveCommandPackage Command = { + .eCommandType = EZWAVECOMMANDTYPE_SOFT_RESET + }; + QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&Command, 0); +} +#endif + + +#if SUPPORT_SERIAL_API_SETUP +ZW_ADD_CMD(FUNC_ID_SERIAL_API_SETUP) +{ + /* HOST->ZW: Cmd | [CmdData[]] */ + /* ZW->HOST: Cmd | CmdRes[] */ + uint8_t length; + func_id_serial_api_setup(frame_payload_len(frame), frame->payload, compl_workbuf, &length); + DoRespond_workbuf(length); +} +#endif + +#if SUPPORT_SERIAL_API_READY +ZW_ADD_CMD(FUNC_ID_SERIAL_API_READY) +{ + /* HOST->ZW: [serialLinkState] */ + /* serialLinkState is OPTIONAL, if not present then the READY command, means "READY" */ + if ((FRAME_LENGTH_MIN < frame->len) && (SERIAL_LINK_DETACHED == frame->payload[0])) + { + /* HOST want Serial link to be shutdown - SerialAPI will not transmit anything */ + /* via serial link as long as HOST do not reestablish the Serial Link by */ + /* transmitting a valid SerialAPI frame. */ + serialLinkState = SERIAL_LINK_DETACHED; + /* Purge Callback queue */ + PurgeCallbackQueue(); + PurgeCommandQueue(); + } + else + { + /* Missing serialLinkState parameter or Every other serialLinkState value means */ + /* HOST Ready for Serial Communication */ + serialLinkState = SERIAL_LINK_CONNECTED; + } + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_ZW_TYPE_LIBRARY +ZW_ADD_CMD(FUNC_ID_ZW_TYPE_LIBRARY) +{ + const SProtocolInfo* protocol_info = ZAF_getProtocolInfo(); + DoRespond(protocol_info->eLibraryType); +} +#endif + + +#if SUPPORT_ZW_WATCHDOG_START | SUPPORT_ZW_WATCHDOG_STOP +uint8_t bWatchdogStarted; +#endif + + +#if SUPPORT_ZW_WATCHDOG_START +ZW_ADD_CMD(FUNC_ID_ZW_WATCHDOG_START) +{ + bWatchdogStarted = true; + zpal_enable_watchdog(true); + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_ZW_WATCHDOG_STOP +ZW_ADD_CMD(FUNC_ID_ZW_WATCHDOG_STOP) +{ + zpal_enable_watchdog(false); + bWatchdogStarted = false; + set_state_and_notify(stateIdle); +} +#endif + + +#if SUPPORT_ZW_SET_ROUTING_MAX +static void zw_set_routing_max_handler(const comm_interface_frame_ptr frame) +{ + SZwaveCommandPackage Command = { + .eCommandType = EZWAVECOMMANDTYPE_SET_ROUTING_MAX, + .uCommandParams.SetRoutingMax.value = frame->payload[0] + }; + QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&Command, 0); + DoRespond(1); +} + +ZW_ADD_CMD(FUNC_ID_ZW_SET_ROUTING_MAX) +{ + zw_set_routing_max_handler(frame); +} + +ZW_ADD_CMD(FUNC_ID_ZW_SET_ROUTING_MAX_6_00) +{ + zw_set_routing_max_handler(frame); +} +#endif + +#if SUPPORT_SERIAL_API_EXT +ZW_ADD_CMD(FUNC_ID_SERIAL_API_EXT) +{ + /* HOST->ZW: mode | data */ + /* not used in 700 series - Obsolete */ + if (frame->len > FRAME_LENGTH_MIN) + { + switch (frame->payload[0]) + { + /* since the 700 / 800 series targets don't support the command, + then all values of the mode parameters should return zero*/ + case 0: + case 1: + { + BYTE_IN_AR(compl_workbuf, 0) = 0; + DoRespond_workbuf(1); + } + break; + default: + { + DoRespond(0); + } + break; + } + } +} +#endif + + +#if SUPPORT_ZW_GET_RANDOM +static uint8_t GetRandom(uint8_t noOfRndBytes, uint8_t* rndBytes) +{ + SZwaveCommandPackage GetRandom = { + .eCommandType = EZWAVECOMMANDTYPE_GENERATE_RANDOM, + .uCommandParams.GenerateRandom.iLength = noOfRndBytes}; + + // Put the Command on queue (and dont wait for it, queue must be empty) + if (EQUEUENOTIFYING_STATUS_SUCCESS == QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&GetRandom, 0)) + { + // Wait for protocol to handle command + SZwaveCommandStatusPackage Random = { .eStatusType = EZWAVECOMMANDSTATUS_GENERATE_RANDOM }; + if (GetCommandResponse(&Random, Random.eStatusType)) + { + memcpy(rndBytes, Random.Content.GenerateRandomStatus.aRandomNumber, Random.Content.GenerateRandomStatus.iLength); + return Random.Content.GenerateRandomStatus.iLength; + } + } + return false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_GET_RANDOM) +{ + /* HOST->ZW: noRandomBytes - Optional if not present or equal ZERO then */ + /* 2 random bytes are returned. */ + /* Range 1..32 random bytes are supported */ + /* ZW->HOST: RES | randomGenerationSuccess | noRandomBytesGenerated | noRandomGenerated[] */ + uint8_t noRndBytes = frame->payload[0]; + if ((frame->len > FRAME_LENGTH_MIN) && (noRndBytes != 0)) + { + if (noRndBytes > 32) + { + noRndBytes = 32; + } + } + else + { + noRndBytes = 2; + } + // Prepare failed return + BYTE_IN_AR(compl_workbuf, 0) = false; + BYTE_IN_AR(compl_workbuf, 1) = 0; + uint8_t rndBytes = GetRandom(noRndBytes, &compl_workbuf[2]); + if (rndBytes) + { + BYTE_IN_AR(compl_workbuf, 0) = true; + BYTE_IN_AR(compl_workbuf, 1) = rndBytes; + } + rndBytes += 2; + DoRespond_workbuf(rndBytes); +} +#endif + + +#if SUPPORT_ZW_AES_ECB +static void AesEcb(uint8_t *key, uint8_t *InputData, uint8_t *outData) +{ + SZwaveCommandPackage cmdPackage = {.eCommandType = EZWAVECOMMANDTYPE_AES_ECB}; + memcpy(cmdPackage.uCommandParams.AesEcb.key, key, sizeof(cmdPackage.uCommandParams.AesEcb.key)); + memcpy(cmdPackage.uCommandParams.AesEcb.inputData, InputData, sizeof(cmdPackage.uCommandParams.AesEcb.inputData)); + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_AES_ECB)) + { + memcpy(outData, cmdStatus.Content.AesEcbStatus.outputData, 16); + return; + + } + assert(false); // FIXME We should have more intelligent error handling, we shouldnt assert here. +} + +ZW_ADD_CMD(FUNC_ID_ZW_AES_ECB) +{ + /* HOST->ZW: key[] (16 bytes) | inputDat[] (16 bytes) */ + /* ZW->HOST: RES | outdata[] (16 bytes) */ + AesEcb(&frame->payload[0], &frame->payload[16], compl_workbuf); + DoRespond_workbuf(16); +} +#endif + + +#if SUPPORT_ZW_AUTO_PROGRAMMING +ZW_ADD_CMD(FUNC_ID_AUTO_PROGRAMMING) +{ + //Reboot into bootloader. Calls zpal_bootloader_reboot_and_install(); + SZwaveCommandPackage Command = { + .eCommandType = EZWAVECOMMANDTYPE_BOOTLOADER_REBOOT + }; + QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&Command, 0); +} +#endif + + +#ifdef SUPPORT_ZW_SET_LISTEN_BEFORE_TALK_THRESHOLD +ZW_ADD_CMD(FUNC_ID_ZW_SET_LISTEN_BEFORE_TALK_THRESHOLD) +{ + /* HOST->ZW: bChannel | bThreshold */ + /* ZW->HOST: RES | true */ + uint8_t length; + func_id_set_listen_before_talk(frame_payload_len(frame), frame->payload, compl_workbuf, &length); + DoRespond_workbuf(length); +} +#endif + + +#ifdef SUPPORT_ZW_NETWORK_MANAGEMENT_SET_MAX_INCLUSION_REQUEST_INTERVALS +static bool SetMaxInclReqIntervals( uint32_t maxInclReqIntervals) +{ + SZwaveCommandPackage setMaxInclusionRequestIntervals = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_SET_MAX_INCL_REQ_INTERVALS, + .uCommandParams.SetMaxInclReqInterval.inclusionRequestInterval = maxInclReqIntervals}; + + // Put the Command on queue (and dont wait for it, queue must be empty) + if (EQUEUENOTIFYING_STATUS_SUCCESS == QueueNotifyingSendToBack(ZAF_getZwCommandQueue(), (uint8_t *)&setMaxInclusionRequestIntervals, 0)) + { + // Wait for protocol to handle command + SZwaveCommandStatusPackage result = { .eStatusType = EZWAVECOMMANDSTATUS_ZW_SET_MAX_INCL_REQ_INTERVALS}; + if ((GetCommandResponse(&result, result.eStatusType)) + && (result.Content.NetworkManagementStatus.statusInfo[0])) + { + return true; + } + } + return false; +} + +ZW_ADD_CMD(FUNC_ID_ZW_NETWORK_MANAGEMENT_SET_MAX_INCLUSION_REQUEST_INTERVALS) +{ + /* HOST->ZW: bChannel | bThreshold */ + /* ZW->HOST: RES | true */ + const uint8_t retVal = SetMaxInclReqIntervals(frame->payload[0]); + DoRespond(retVal); +} +#endif + +// Added to make sure that capabilities is correct. +ZW_ADD_CMD(FUNC_ID_SERIAL_API_STARTED) +{ +} + +// Added to make sure that capabilities is correct. +ZW_ADD_CMD(FUNC_ID_ZW_APPLICATION_UPDATE) +{ +} + +// Added to make sure that capabilities is correct. +ZW_ADD_CMD(FUNC_ID_APPLICATION_COMMAND_HANDLER_BRIDGE) +{ +} + +// Added to make sure that capabilities is correct. +ZW_ADD_CMD(FUNC_ID_ZW_GET_PROTOCOL_STATUS) +{ +} diff --git a/src/zwave_ncp/cmd_handlers.h b/src/zwave_ncp/cmd_handlers.h new file mode 100644 index 00000000..59f1cbc4 --- /dev/null +++ b/src/zwave_ncp/cmd_handlers.h @@ -0,0 +1,70 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#ifndef CMD_HANDLER_H_ +#define CMD_HANDLER_H_ + +#include +#include + +#ifdef ZW_CONTROLLER +#include +#endif + +/** + * @addtogroup Apps + * @{ + * @addtogroup SerialAPI + * @{ + */ + +typedef void (*cmd_handler_t)(const comm_interface_frame_ptr); + +typedef struct +{ + uint8_t cmd; + cmd_handler_t pHandler; +} +cmd_handler_map_t; + +#define CMD_HANDLER_SECTION "zw_cmd_handlers" + +#define ZW_ADD_CMD(cmd) \ + static void cmd_handler_fcn_##cmd(__attribute__((unused)) const comm_interface_frame_ptr frame); /* Prototype */ \ + static const cmd_handler_map_t cmd_handler_##cmd __attribute__((__used__, __section__( CMD_HANDLER_SECTION ))) = {cmd,cmd_handler_fcn_##cmd}; \ + static void cmd_handler_fcn_##cmd(__attribute__((unused)) const comm_interface_frame_ptr frame) + +/** + * Invoke command handler. + * + * @param[in] frame Frame + * @return true if handler for given @p frame was invoked, false if no handler was found + */ +bool invoke_cmd_handler(const comm_interface_frame_ptr frame); + +typedef void * cmd_context_t; + +typedef bool (*cmd_foreach_callback_t)(cmd_handler_map_t const * const p_cmd_entry, cmd_context_t context); + +/** + * Invokes callback for each registered command. + * + * Will stop if the callback returns true. + * + * @param callback Callback function to invoke. + * @param context Context to pass on to the callback function. + */ +void cmd_foreach(cmd_foreach_callback_t callback, cmd_context_t context); + +#ifdef ZW_CONTROLLER +void ZCB_ComplHandler_ZW_NodeManagement(LEARN_INFO_T *statusInfo); +#endif + +/** + * @} + * @} + */ + +#endif /* CMD_HANDLER_H_ */ diff --git a/src/zwave_ncp/cmd_handlers_invoker.c b/src/zwave_ncp/cmd_handlers_invoker.c new file mode 100644 index 00000000..d250882d --- /dev/null +++ b/src/zwave_ncp/cmd_handlers_invoker.c @@ -0,0 +1,47 @@ +/** + * @file cmd_handlers_invoker.c + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include "cmd_handlers.h" +#include + +/** + * This is the first of the registered handlers + */ +extern const cmd_handler_map_t __start_zw_cmd_handlers; +#define cmd_handlers_start __start_zw_cmd_handlers +/** + * This marks the end of the handlers. The element + * after the last element. This means that this element + * is not valid. + */ +extern const cmd_handler_map_t __stop_zw_cmd_handlers; +#define cmd_handlers_stop __stop_zw_cmd_handlers + + +bool invoke_cmd_handler(const comm_interface_frame_ptr frame) +{ + cmd_handler_map_t const * iter = &cmd_handlers_start; + for ( ; iter < &cmd_handlers_stop; ++iter) + { + if (iter->cmd == frame->cmd) { + iter->pHandler(frame); + return true; + } + } + + return false; +} + +void cmd_foreach(cmd_foreach_callback_t callback, cmd_context_t context) +{ + assert(callback != NULL); + cmd_handler_map_t const * iter = &cmd_handlers_start; + for ( ; iter < &cmd_handlers_stop; ++iter) + { + if (true == callback(iter, context)) { + break; + } + } +} diff --git a/src/zwave_ncp/cmds_dcdc.c b/src/zwave_ncp/cmds_dcdc.c new file mode 100644 index 00000000..22e9eb40 --- /dev/null +++ b/src/zwave_ncp/cmds_dcdc.c @@ -0,0 +1,72 @@ +/** + * @file + * Offers DCDC configuration for Silabs targets only. + * @attention Must be linked for Silabs build targets only. + * @copyright 2022 Silicon Laboratories Inc. + */ +#include +#include "cmd_handlers.h" +#include "app.h" +#include "sl_dcdc.h" +#include "ZW_typedefs.h" +#include "SerialAPI.h" +#include "zpal_nvm.h" +#include "serialapi_file.h" +#include "ZAF_nvm_app.h" + +#define DCDC_CONFIG_UNALTERED 0xff + +// 0x00 Auto, 0x01 Bypass, 0x02 LowNoise, 0xFF Original default + +#define FILE_ID_DCDC_CONFIGURATION FILE_ID_PROPRIETARY_1 + +typedef struct +{ + uint8_t dcdc_config; +} +dcdc_configuration_file_t; + +#define DCDC_CONFIGURATION_FILE_SIZE (sizeof(dcdc_configuration_file_t)) + +static dcdc_configuration_file_t dcdc_configuration_file; + +bool SetDcDcConfig(uint8_t DcdcConfig) +{ + bool result = sl_dcdc_config_set(DcdcConfig); + if (true == result) + { + dcdc_configuration_file.dcdc_config = DcdcConfig; + zpal_status_t status = ZAF_nvm_app_write( FILE_ID_DCDC_CONFIGURATION, + &dcdc_configuration_file, + DCDC_CONFIGURATION_FILE_SIZE); + return (ZPAL_STATUS_OK == status); + } + return false; +} + +uint8_t GetDcDcConfig(void) +{ + ZAF_nvm_app_read(FILE_ID_DCDC_CONFIGURATION, &dcdc_configuration_file, DCDC_CONFIGURATION_FILE_SIZE); + return dcdc_configuration_file.dcdc_config; +} + +void SerialAPI_hw_psu_init(void) +{ + uint8_t dcdcConfig = GetDcDcConfig(); + if (DCDC_CONFIG_UNALTERED != dcdcConfig) + { + sl_dcdc_config_set(dcdcConfig); + } +} + +ZW_ADD_CMD(FUNC_ID_GET_DCDC_CONFIG) +{ + uint8_t retVal = GetDcDcConfig(); + DoRespond(retVal); +} + +ZW_ADD_CMD(FUNC_ID_SET_DCDC_CONFIG) +{ + uint8_t retVal = SetDcDcConfig(frame->payload[0]); + DoRespond(retVal); +} diff --git a/src/zwave_ncp/cmds_management.c b/src/zwave_ncp/cmds_management.c new file mode 100644 index 00000000..8877f569 --- /dev/null +++ b/src/zwave_ncp/cmds_management.c @@ -0,0 +1,514 @@ +/** + * @file cmds_management.c + * @copyright 2022 Silicon Laboratories Inc. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//#define DEBUGPRINT +#include + +#ifdef ZW_CONTROLLER +#include +#endif // ZW_CONTROLLER + +#define PUK_OFFSET 0x23 +#define PRK_OFFSET 0x43 +#define HW_VER_OFFSET 0x70 +#define HW_VER_SIZE 1 + +/** Find the byte in which SERIAL_API_SETUP command will be written */ +#define BYTE_INDEX(x) ((x - 1) / 8) +/** Find the offset in the byte of SERIAL_API_SETUP command */ +#define BYTE_OFFSET(x) (1 << ((x - 1) % 8)) +/** Add the SERIAL_API_SETUP command to the bitmask array */ +#define BITMASK_ADD_CMD(bitmask, cmd) (bitmask[BYTE_INDEX(cmd)] |= BYTE_OFFSET(cmd)) + +#ifndef MAX +/** Return the larger of two values. + * + * \param x An integer-valued expression without side effects. + * \param y An integer-valued expression without side effects. + * + * \return The larger of \p x and \p y. + */ +#define MAX( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) ) +#endif // MAX + +void func_id_serial_api_get_init_data(__attribute__((unused)) uint8_t inputLength, + __attribute__((unused)) const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength) +{ + *pOutputLength = 5; + BYTE_IN_AR(pOutputBuffer, 0) = SERIAL_API_VER; + BYTE_IN_AR(pOutputBuffer, 1) = 0; /* Flag byte - default: controller api, no timer support, no primary, no SUC */ +#ifdef ZW_CONTROLLER + if (!IsPrimaryController()) + { + BYTE_IN_AR(pOutputBuffer, 1) |= GET_INIT_DATA_FLAG_SECONDARY_CTRL; /* Set Primary/secondary bit */ + } + if (GetControllerCapabilities() & CONTROLLER_IS_SUC) /* if (ZW_IS_SUC_ACTIVE()) */ + { + BYTE_IN_AR(pOutputBuffer, 1) |= GET_INIT_DATA_FLAG_IS_SUC; /* Set SUC bit if active */ + } + + /* compl_workbuf[1] is already set to controller api*/ + BYTE_IN_AR(pOutputBuffer, 2) = ZW_MAX_NODES / 8; /* node bitmask length */ + + /* Clear the buffer */ + memset(pOutputBuffer + 3, 0, ZW_MAX_NODES / 8); + + /* Next ZW_MAX_NODES/8 = 29 bytes of compl_workbuf reserved for node bitmask */ + + Get_included_nodes(pOutputBuffer + 3); + + BYTE_IN_AR(pOutputBuffer, 3 + (ZW_MAX_NODES / 8)) = zpal_get_chip_type(); + BYTE_IN_AR(pOutputBuffer, 4 + (ZW_MAX_NODES / 8)) = zpal_get_chip_revision(); + *pOutputLength += (ZW_MAX_NODES / 8); + assert(*pOutputLength <= 34); // Elsewhere, like in zwapi_init.c, the pOutputBuffer is hardcoded to 34 bytes in lenght. +#else + BYTE_IN_AR(pOutputBuffer, 1) |= GET_INIT_DATA_FLAG_SLAVE_API; /* Flag byte */ + BYTE_IN_AR(pOutputBuffer, 2) = 0; /* node bitmask length */ + BYTE_IN_AR(pOutputBuffer, 3) = zpal_get_chip_type(); + BYTE_IN_AR(pOutputBuffer, 4) = zpal_get_chip_revision(); +#endif +} + +#ifdef ZW_CONTROLLER +void func_id_serial_api_get_LR_nodes(__attribute__((unused)) uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength) +{ + //RES | 0xDA | MORE_NODES | BITMASK_OFFSET | BITMASK_LEN | BITMASK_ARRAY + + /* + * The current implementation of this function is made on the fact + * that there is no support in the Z-Wave protocol code for more than 1024 Long Range nodes in total. + * This Assert is here to remind us to update this function, if in the future the number of supported nodes increases. + * In which case the MAX_LR_NODEMASK_LENGTH define will become greater than 128 + */ + _Static_assert(MAX_LR_NODEMASK_LENGTH <= 128, "STATIC_ASSERT_MAX_LR_NODEMASK_LENGTH_to_big"); + + uint8_t bitmaskOffset = pInputBuffer[0]; + *pOutputLength = 3 + MAX_LR_NODEMASK_LENGTH; + BYTE_IN_AR(pOutputBuffer, 0) = 0; // MORE_NODES - No more nodes for now. + // Allowed values for bitmaskOffset are 0, 1, 2, 3 + if (bitmaskOffset > 3) + { + bitmaskOffset = 3; + } + BYTE_IN_AR(pOutputBuffer, 1) = bitmaskOffset; + + // Clean output buffer first + memset(pOutputBuffer + 3, 0, MAX_LR_NODEMASK_LENGTH); + + BYTE_IN_AR(pOutputBuffer, 2) = MAX_LR_NODEMASK_LENGTH; // BITMASK_LEN hardcoded + if (bitmaskOffset < 1) + { + Get_included_lr_nodes(pOutputBuffer + 3); + } +} +#endif + +extern bool bTxStatusReportEnabled; + +zpal_tx_power_t +GetMaxSupportedTxPower(void) +{ + const SApplicationHandles *pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage CommandPackage = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_GET_TX_POWER_MAX_SUPPORTED + }; + // Put the Command on queue (and dont wait for it, queue must be empty) + if (EQUEUENOTIFYING_STATUS_SUCCESS == QueueNotifyingSendToBack(pAppHandles->pZwCommandQueue, (uint8_t *)&CommandPackage, 0)) + { + // Wait for protocol to handle command + SZwaveCommandStatusPackage result = { 0 }; + if (GetCommandResponse(&result, EZWAVECOMMANDSTATUS_ZW_GET_TX_POWER_MAX_SUPPORTED)) + { + return result.Content.GetTxPowerMaximumSupported.tx_power_max_supported; + } + } + return ZW_TX_POWER_14DBM; +} + +void func_id_serial_api_setup(uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength) +{ + uint8_t i=0; + uint8_t cmdRes; + zpal_radio_region_t rfRegion; + zpal_tx_power_t iPowerLevel = 0; + zpal_tx_power_t iPower0dbmMeasured = 0; + + /* We assume operation is nonesuccessful */ + cmdRes = false; + + if (1 > inputLength) + { + /* Command length must be at least 1 byte. Return with negative response in the out buffer */ + BYTE_IN_AR(pOutputBuffer, i++) = cmdRes; + *pOutputLength = i; + return; + } + + BYTE_IN_AR(pOutputBuffer, i++) = pInputBuffer[0]; /* Set output command ID equal input command ID */ + switch (pInputBuffer[0]) + { + + /* Report which SerialAPI Setup commands are supported beside the SERIAL_API_SETUP_CMD_SUPPORTED */ + case SERIAL_API_SETUP_CMD_SUPPORTED: + /* HOST->ZW: SERIAL_API_SETUP_CMD_SUPPORTED */ + /* ZW->HOST: SERIAL_API_SETUP_CMD_SUPPORTED | + * (SERIAL_API_SETUP_CMD_TX_STATUS_REPORT + SERIAL_API_SETUP_CMD_RF_REGION_GET + SERIAL_API_SETUP_CMD_RF_REGION_SET + + * SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET + SERIAL_API_SETUP_CMD_TX_POWERLEVEL_GET + + * SERIAL_API_SETUP_CMD_TX_GET_MAX_PAYLOAD_SIZE + SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET) | */ + /* supportedBitmask */ + + BYTE_IN_AR(pOutputBuffer, i++) = SERIAL_API_SETUP_CMD_TX_STATUS_REPORT | SERIAL_API_SETUP_CMD_RF_REGION_GET | + SERIAL_API_SETUP_CMD_RF_REGION_SET | SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET | + SERIAL_API_SETUP_CMD_TX_POWERLEVEL_GET | SERIAL_API_SETUP_CMD_TX_GET_MAX_PAYLOAD_SIZE | + SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET | SERIAL_API_SETUP_CMD_SUPPORTED; + + /* Report all supported commands as bitmask of their values */ + uint8_t supportedBitmask[32]; + memset(supportedBitmask, 0, sizeof(supportedBitmask)); + /* For each command in eSerialAPISetupCmd, find a byte number in supportedBitmask where it should be, + * and position (offset) in it and then add it to the array. */ + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_SUPPORTED); // (1) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_TX_STATUS_REPORT); // (2) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET); // (4) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_TX_POWERLEVEL_GET); // (8) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_TX_GET_MAX_PAYLOAD_SIZE); // (16) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_RF_REGION_GET); // (32) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_RF_REGION_SET); // (64) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET); // (128) + + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_SET); // (3) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_GET); // (5) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_TX_GET_MAX_LR_PAYLOAD_SIZE); // (17) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET_16_BIT); // (18) + BITMASK_ADD_CMD(supportedBitmask, SERIAL_API_SETUP_CMD_TX_POWERLEVEL_GET_16_BIT); // (19) + + /* Currently supported command with the highest value is SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET. + No commands after it. */ + for (int j = 0; j <= SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET/8; j++) + { + BYTE_IN_AR(pOutputBuffer, i++) = supportedBitmask[j]; + } + break; + + case SERIAL_API_SETUP_CMD_TX_STATUS_REPORT: + /* HOST->ZW: SERIAL_API_SETUP_CMD_TX_STATUS_REPORT | EnableTxStatusReport */ + /* ZW->HOST: SERIAL_API_SETUP_CMD_TX_STATUS_REPORT | cmdRes */ + if (SERIAL_API_SETUP_CMD_TX_STATUS_REPORT_CMD_LENGTH_MIN <= inputLength) + { + /* Do we enable or disable */ + bTxStatusReportEnabled = (0 != pInputBuffer[1]); + /* Operation successful */ + cmdRes = true; + } + BYTE_IN_AR(pOutputBuffer, i++) = cmdRes; + break; + + /* Report RF region configuration */ + case SERIAL_API_SETUP_CMD_RF_REGION_GET: + /* HOST->ZW: SERIAL_API_SETUP_CMD_RF_REGION_GET */ + /* ZW->HOST: SERIAL_API_SETUP_CMD_RF_REGION_GET | rfRRegion */ + if (false == ReadApplicationRfRegion(&rfRegion)) + { + /* Error reading value from flash. (Should not happen). Return undefined value. */ + rfRegion = REGION_UNDEFINED; + } + BYTE_IN_AR(pOutputBuffer, i++) = rfRegion; + break; + + /* Set RF region configuration */ + case SERIAL_API_SETUP_CMD_RF_REGION_SET: + /* HOST->ZW: SERIAL_API_SETUP_CMD_RF_REGION_SET | rfRegion */ + /* ZW->HOST: SERIAL_API_SETUP_CMD_RF_REGION_SET | cmdRes */ + if (SERIAL_API_SETUP_CMD_RF_REGION_SET_CMD_LENGTH_MIN <= inputLength) + { + rfRegion = pInputBuffer[1]; + /* Check if the RF Region value is valid, and then store it in flash */ + if (true == isRfRegionValid(rfRegion)) + { + /* Save into nvm */ + cmdRes = SaveApplicationRfRegion(rfRegion); + } + } + BYTE_IN_AR(pOutputBuffer, i++) = cmdRes; + break; + + case SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET: + { + zpal_tx_power_t iTxPower; + zpal_tx_power_t iAdjust; + /** + * HOST->ZW: SERIAL_API_SETUP_CMD_TX_POWER_SET | NormalTxPowerLevel | Measured0dBmPower + * ZW->HOST: SERIAL_API_SETUP_CMD_TX_POWER_SET | cmdRes + */ + if (SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET_CMD_LENGTH_MIN <= inputLength) + { + iTxPower = (int8_t)pInputBuffer[1]; + iAdjust = (int8_t)pInputBuffer[2]; + /** + * The min and max boundaries of int8_t are valid boundaries of the parameters that are being stored. + * However, this command does not support a higher value than 127 deci dBm or lower than -127 deci dBm + * for the parameters as a limitation of this SerialAPI command. + * + * Please use SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET_16_BIT which support our entire tx power range. + */ + cmdRes = SaveApplicationTxPowerlevel(iTxPower, iAdjust); + } + BYTE_IN_AR(pOutputBuffer, i++) = cmdRes; // true if success + break; + } + + case SERIAL_API_SETUP_CMD_TX_POWERLEVEL_GET: + /** + * HOST->ZW: SERIAL_API_SETUP_CMD_TX_POWER_GET + * ZW->HOST: SERIAL_API_SETUP_CMD_TX_POWER_GET | NormalTxPowerLevel | Measured0dBmPower + */ + ReadApplicationTxPowerlevel(&iPowerLevel, &iPower0dbmMeasured); + + /** + * This SerialAPI command has the following limitation that it cannot retrieve stored tx power values that are + * larger than 127 deci dBm or lower than -127 deci dBm. + */ + + // Clamp values to fit into the return parameter type of int8_t. + if (iPowerLevel > INT8_MAX) { + iPowerLevel = INT8_MAX; + } else if (iPowerLevel < INT8_MIN) { + iPowerLevel = INT8_MIN; + } + + if (iPower0dbmMeasured > INT8_MAX) { + iPower0dbmMeasured = INT8_MAX; + } else if (iPower0dbmMeasured < INT8_MIN) { + iPower0dbmMeasured = INT8_MIN; + } + + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)iPowerLevel; + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)iPower0dbmMeasured; + break; + + case SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET_16_BIT: + { + zpal_tx_power_t iTxPower; + zpal_tx_power_t iAdjust; + zpal_tx_power_t iTxPowerMaxSupported; + /** + * HOST->ZW: SERIAL_API_SETUP_CMD_TX_POWER_SET | NormalTxPowerLevel (MSB) |NormalTxPowerLevel (LSB) | Measured0dBmPower (MSB)| Measured0dBmPower (LSB) + * ZW->HOST: SERIAL_API_SETUP_CMD_TX_POWER_SET | cmdRes + */ + if (SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET_CMD_LENGTH_MIN <= inputLength) + { + iTxPower = (zpal_tx_power_t)GET_16BIT_VALUE(&pInputBuffer[1]); + iAdjust = (zpal_tx_power_t)GET_16BIT_VALUE(&pInputBuffer[3]); + iTxPowerMaxSupported = GetMaxSupportedTxPower(); + + /** + * Only allow power level between -10dBm and 14 or 20dBm if 20dBm OPN used (API is in deci dBm) + * Only allow measured0dBmPower level between -10dBm and 10dBm + */ + if (( iTxPower >= -ZW_TX_POWER_10DBM) + && (iTxPower <= iTxPowerMaxSupported) + && (iAdjust >= -ZW_TX_POWER_10DBM) + && (iAdjust <= ZW_TX_POWER_10DBM) + ) + { + cmdRes = SaveApplicationTxPowerlevel(iTxPower, iAdjust); + } + } + BYTE_IN_AR(pOutputBuffer, i++) = cmdRes; // true if success + break; + } + + case SERIAL_API_SETUP_CMD_TX_POWERLEVEL_GET_16_BIT: + /** + * HOST->ZW: SERIAL_API_SETUP_CMD_TX_POWER_GET_2 + * ZW->HOST: SERIAL_API_SETUP_CMD_TX_POWER_GET_2 | NormalTxPowerLevel (16bit) | Measured0dBmPower (16bit) + */ + ReadApplicationTxPowerlevel(&iPowerLevel, &iPower0dbmMeasured); + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)((iPowerLevel >> 8) & 0xFF); // Big-endian + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)(iPowerLevel & 0xFF); + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)((iPower0dbmMeasured >> 8) & 0xFF); + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)(iPower0dbmMeasured & 0xFF); + break; + + case SERIAL_API_SETUP_CMD_TX_GET_MAX_PAYLOAD_SIZE: + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)ZAF_getAppHandle()->pNetworkInfo->MaxPayloadSize; + break; + + case SERIAL_API_SETUP_CMD_TX_GET_MAX_LR_PAYLOAD_SIZE: + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)ZAF_getAppHandle()->pLongRangeInfo->MaxLongRangePayloadSize; + break; + + /* Set the Node ID base type */ + case SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET: + /* HOST->ZW: SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET | type */ + /* ZW->HOST: SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET | cmdRes */ + nodeIdBaseType = SERIAL_API_SETUP_NODEID_BASE_TYPE_DEFAULT; + if ( (SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET_CMD_LENGTH_MIN <= inputLength) && + (0 < pInputBuffer[1]) && + (SERIAL_API_SETUP_NODEID_BASE_TYPE_LAST > pInputBuffer[1]) ) + { + /* Set the global Node ID base type if input value is valid */ + nodeIdBaseType = pInputBuffer[1]; + SaveApplicationNodeIdBaseType(nodeIdBaseType); + cmdRes = true; + } + BYTE_IN_AR(pOutputBuffer, i++) = cmdRes; + break; + case SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_SET: + { + /** + * HOST->ZW: SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_SET | maxtxpower (16-bit) + * ZW->HOST: SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_SET | cmdRes + */ + zpal_tx_power_t iTxPower; + zpal_tx_power_t iTxPowerMaxSupported; + + if (SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET_CMD_LENGTH_MIN <= inputLength) + { + iTxPower = (zpal_tx_power_t)GET_16BIT_VALUE(&pInputBuffer[1]); + iTxPowerMaxSupported = GetMaxSupportedTxPower(); + + /** + * Only allow power level between -10dBm and 14 or 20dBm if 20dBm OPN used (API is in deci dBm) + */ + if (( iTxPower >= -ZW_TX_POWER_10DBM) + && (iTxPower <= iTxPowerMaxSupported) + ) + { + cmdRes = SaveApplicationMaxLRTxPwr(iTxPower); + } + } + BYTE_IN_AR(pOutputBuffer, i++) = cmdRes; // true if success + break; + } + + case SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_GET: + /** + * HOST->ZW: SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_GET + * ZW->HOST: SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_GET | maxtxpower (16-bit) + */ + { + int16_t readout = 0; + ReadApplicationMaxLRTxPwr(&readout); + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)((readout >> 8) & 0xFF); + BYTE_IN_AR(pOutputBuffer, i++) = (uint8_t)(readout & 0xFF); + } + break; + + default: + /* HOST->ZW: [SomeUnsupportedCmd] | [SomeData] */ + /* ZW->HOST: SERIAL_API_SETUP_CMD_UNSUPPORTED | [SomeUnsupportedCmd] */ + /* All other commands are unsupported */ + BYTE_IN_AR(pOutputBuffer, 0) = SERIAL_API_SETUP_CMD_UNSUPPORTED; + BYTE_IN_AR(pOutputBuffer, i++) = pInputBuffer[0]; + break; + } + + *pOutputLength = i; +} + +void func_id_serial_api_get_nvr(__attribute__((unused)) uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength) +{ + uint8_t offset = pInputBuffer[0]; + uint8_t bLength = pInputBuffer[1]; + uint8_t dataLen = 0; + if (PUK_OFFSET == offset) + { + dataLen = bLength; + if (TOKEN_MFG_ZW_PUK_SIZE < bLength) + { + dataLen = TOKEN_MFG_ZW_PUK_SIZE; + } + ZW_GetMfgTokenData(pOutputBuffer, TOKEN_MFG_ZW_PUK_ID, dataLen); + } + else if (PRK_OFFSET == offset) + { + dataLen = bLength; + if (TOKEN_MFG_ZW_PRK_SIZE < bLength) + { + dataLen = TOKEN_MFG_ZW_PRK_SIZE; + } + ZW_GetMfgTokenData(pOutputBuffer, TOKEN_MFG_ZW_PRK_ID, dataLen); + } + else if (HW_VER_OFFSET == offset) + { + dataLen = bLength; + if (HW_VER_SIZE < bLength) + { + dataLen = HW_VER_SIZE; + } + *pOutputBuffer = 0xFF; + } + *pOutputLength = dataLen; +} + +void func_id_zw_get_protocol_version(uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength) +{ + (void)inputLength; + (void)pInputBuffer; + // Defined in the specs to be the max size of the git hash + const uint8_t git_hash_max_size = 16; + uint8_t len = 0; + const uint8_t *git_hash_id = ZW_GetProtocolGitHash(); + + const SApplicationHandles *pAppHandles = ZAF_getAppHandle(); + pOutputBuffer[len++] = pAppHandles->pProtocolInfo->eProtocolType; + pOutputBuffer[len++] = pAppHandles->pProtocolInfo->ProtocolVersion.Major; + pOutputBuffer[len++] = pAppHandles->pProtocolInfo->ProtocolVersion.Minor; + pOutputBuffer[len++] = pAppHandles->pProtocolInfo->ProtocolVersion.Revision; + pOutputBuffer[len++] = (uint8_t)(ZAF_GetBuildNumber() >> 8); + pOutputBuffer[len++] = (uint8_t)(ZAF_GetBuildNumber() ); + for (uint32_t i = 0 ; i < git_hash_max_size; i++,len++) + { + pOutputBuffer[len] = git_hash_id[i]; + } + *pOutputLength = len; +} + +bool InitiateShutdown( ZW_Void_Callback_t pCallback) +{ + const SApplicationHandles *pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage shutdown = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_INITIATE_SHUTDOWN, + .uCommandParams.InitiateShutdown.Handle = pCallback}; + + // Put the Command on queue (and dont wait for it, queue must be empty) + if (EQUEUENOTIFYING_STATUS_SUCCESS == QueueNotifyingSendToBack(pAppHandles->pZwCommandQueue, (uint8_t *)&shutdown, 0)) + { + // Wait for protocol to handle command + SZwaveCommandStatusPackage result = { .eStatusType = EZWAVECOMMANDSTATUS_ZW_INITIATE_SHUTDOWN }; + if (GetCommandResponse(&result, result.eStatusType)) + { + return result.Content.InitiateShutdownStatus.result; + } + } + return false; +} diff --git a/src/zwave_ncp/cmds_management.h b/src/zwave_ncp/cmds_management.h new file mode 100644 index 00000000..d6845457 --- /dev/null +++ b/src/zwave_ncp/cmds_management.h @@ -0,0 +1,162 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#ifndef APPS_SERIALAPI_CMD_MANAGEMENT_H_ +#define APPS_SERIALAPI_CMD_MANAGEMENT_H_ + +#include +#include +/* FUNC_ID_SERIAL_API_SETUP command definitions */ +typedef enum +{ + /** + * The first 8 commands are given as bit-flags, and when all bits were consumed, a byte-array was created to give + * more room. + * The first 8 flags are the only ones that shall be used to fill the first byte when generating the response in + * pOutputBuffer for the command, SERIAL_API_SETUP_CMD_SUPPORTED. + * This is kept for backwards compatibility. + */ + SERIAL_API_SETUP_CMD_UNSUPPORTED, + SERIAL_API_SETUP_CMD_SUPPORTED = 1, //1<<0 + SERIAL_API_SETUP_CMD_TX_STATUS_REPORT = 2, //1<<1 + SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET = 4, //1<<2 @Deprecated + SERIAL_API_SETUP_CMD_TX_POWERLEVEL_GET = 8, //1<<3 @Deprecated + SERIAL_API_SETUP_CMD_TX_GET_MAX_PAYLOAD_SIZE = 16, //1<<4 + SERIAL_API_SETUP_CMD_RF_REGION_GET = 32, //1<<5 + SERIAL_API_SETUP_CMD_RF_REGION_SET = 64, //1<<6 + SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET = 128, //1<<7 + /** + * The below values are not flags and shall only be used with BITMASK_ADD_CMD() when generating + * the response for the command, SERIAL_API_SETUP_CMD_SUPPORTED. + */ + SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_SET = 3, + SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_GET = 5, + // The values 6 and 7 are unused, but not reserved. + SERIAL_API_SETUP_CMD_TX_GET_MAX_LR_PAYLOAD_SIZE = 17, + SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET_16_BIT = 18, + SERIAL_API_SETUP_CMD_TX_POWERLEVEL_GET_16_BIT = 19, +} eSerialAPISetupCmd; + +/* SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET definitions */ +typedef enum +{ + SERIAL_API_SETUP_NODEID_BASE_TYPE_8_BIT = 1, + SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT, + SERIAL_API_SETUP_NODEID_BASE_TYPE_LAST, + SERIAL_API_SETUP_NODEID_BASE_TYPE_DEFAULT = SERIAL_API_SETUP_NODEID_BASE_TYPE_8_BIT +} eSerialAPISetupNodeIdBaseType; + +/* Global variable for specifying if the SerialAPI command Node ID fields are 8 or 16 bits */ +extern eSerialAPISetupNodeIdBaseType nodeIdBaseType; + +/* Macro for retrieving a SerialAPI command nodeID value (8 or 16 bit) at address "pData" */ +/* Increments the input argument "idx" if nodeID is two bytes wide (i.e. 16 bit) */ +#define GET_NODEID(pData, idx) \ + ( (nodeIdBaseType == SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT) ? \ + ((((uint8_t*)pData)[0] << 8) | ((uint8_t*)pData)[1]) : /* 16 bit, MSB | LSB */ \ + ((uint8_t*)pData)[0] ); /* 8 bit */ \ + do { \ + if (nodeIdBaseType == SERIAL_API_SETUP_NODEID_BASE_TYPE_16_BIT) \ + { \ + idx++; \ + } \ + } while (0) + +#define GET_16BIT_VALUE(pData) \ + ( ( (uint16_t)((uint8_t*)pData)[0] << 8) | (uint16_t)((uint8_t*)pData)[1] ) /* 16 bit, MSB | LSB */ + +/* Commands minimum length (bytes) */ +#define SERIAL_API_SETUP_CMD_TX_STATUS_REPORT_CMD_LENGTH_MIN 2 +#define SERIAL_API_SETUP_CMD_RF_REGION_SET_CMD_LENGTH_MIN 2 +#define SERIAL_API_SETUP_CMD_TX_POWERLEVEL_SET_CMD_LENGTH_MIN 3 +#define SERIAL_API_SETUP_CMD_NODEID_BASETYPE_SET_CMD_LENGTH_MIN 2 +#define SERIAL_API_SETUP_CMD_MAX_LR_TX_PWR_SET_CMD_LENGTH_MIN 3 + +/** + * Must be called upon receiving a "Node List Command". + * @param inputLength Length of data in input buffer. + * @param pInputBuffer Input buffer + * @param pOutputBuffer Output buffer + * @param pOutputLength Length of data in output buffer. + */ +void func_id_serial_api_get_init_data(uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength); + +/** + * Returns bitmask of LR node IDs + * @param inputLength Length of data in input buffer. + * @param pInputBuffer Input buffer. First byte should be requested range of nodes. + * Supported values: 0, 1, 2, 3 that corresponds to offset 0, 128, 256, 384. + * @param pOutputBuffer Output buffer, contained of: MORE_NODES | BITMASK_OFFSET | BITMASK_LEN | BITMASK_ARRAY + * @param pOutputLength Length of data in output buffer. + */ +void func_id_serial_api_get_LR_nodes(uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength); + +/** + * Must be called upon receiving a "Serial API Setup Command". + * @param inputLength Length of data in input buffer. + * @param pInputBuffer Input buffer + * @param pOutputBuffer Output buffer + * @param pOutputLength Length of data in output buffer. + */ +void func_id_serial_api_setup(uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength); + +/** + * Must be called upon receiving a "Serial API NVR get". + * @param inputLength Length of data in input buffer. + * @param pInputBuffer Input buffer + * @param pOutputBuffer Output buffer + * @param pOutputLength Length of data in output buffer. + */ + +void +func_id_serial_api_get_nvr(uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength); + +/** + * Must be called upon receiving a "Serial API ZW Get protocol version". + * @param inputLength Length of data in input buffer. + * @param pInputBuffer Input buffer + * @param pOutputBuffer Output buffer + * @param pOutputLength Length of data in output buffer. + */ + +void +func_id_zw_get_protocol_version(uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength); + +/** + * Remove a specific node from the network + * The node is identified by node ID + * @param inputLength Length of data in input buffer. + * @param pInputBuffer Input buffer + * @param pOutputBuffer Output buffer + * @param pOutputLength Length of data in output buffer. + */ +void func_id_ZW_RemoveNodeIDFromNetwork (uint8_t inputLength, + uint8_t *pInputBuffer, + const uint8_t *pOutputBuffer, + const uint8_t *pOutputLength); + +/** + * Initiate device graceful shutdown + * + * @param pCallback pointer to notifcation callback function. Function is called just before deice go into deepsleep + * @return true if Shutdown process start, else false + */ +bool InitiateShutdown( ZW_Void_Callback_t pCallback); +#endif /* APPS_SERIALAPI_CMD_MANAGEMENT_H_ */ diff --git a/src/zwave_ncp/cmds_power_management.c b/src/zwave_ncp/cmds_power_management.c new file mode 100644 index 00000000..601bfbc4 --- /dev/null +++ b/src/zwave_ncp/cmds_power_management.c @@ -0,0 +1,63 @@ +/** + * @file + * Offers Power Management commands for Silabs targets only. + * @attention Must be linked for Silabs build targets only. + * @copyright 2022 Silicon Laboratories Inc. + */ +#include +#include "cmd_handlers.h" +#include "SerialAPI.h" +#include "app.h" +#include "zpal_power_manager.h" +#include "SwTimer.h" +#include "AppTimer.h" + +extern zpal_pm_handle_t radio_power_lock; +extern zpal_pm_handle_t io_power_lock; +extern SSwTimer mWakeupTimer; + +ZW_ADD_CMD(FUNC_ID_PM_STAY_AWAKE) +{ + /* HOST->ZW: PowerLock Type, timeout of stay awake, timeout of wakeup */ + /* Power locks type 0 for radio and 1 for peripheral*/ + uint32_t timeout = (uint32_t)(frame->payload[1]<<24); + timeout |= (uint32_t)(frame->payload[2]<<16); + timeout |= (uint32_t)(frame->payload[3]<<8); + timeout |= (uint32_t)(frame->payload[4]); + + uint32_t timeoutwakeup = (uint32_t)(frame->payload[5]<<24); + timeoutwakeup |= (uint32_t)(frame->payload[6]<<16); + timeoutwakeup |= (uint32_t)(frame->payload[7]<<8); + timeoutwakeup |= (uint32_t)(frame->payload[8]); + + if (0 == frame->payload[0]) + { + zpal_pm_stay_awake(radio_power_lock, timeout); + } + else if (1 == frame->payload[0]) + { + zpal_pm_stay_awake(io_power_lock, timeout); + } + + if (timeout && timeoutwakeup) + { + AppTimerDeepSleepPersistentStart(&mWakeupTimer, timeoutwakeup); + } + set_state_and_notify(stateIdle); +} + + +ZW_ADD_CMD(FUNC_ID_PM_CANCEL) +{ + /* HOST->ZW: PowerLock Type*/ + /*Power locks type 0 for radio and 1 for peripheral*/ + if (0 == frame->payload[0]) + { + zpal_pm_cancel(radio_power_lock); + } + else if (1 == frame->payload[0]) + { + zpal_pm_cancel(io_power_lock); + } + set_state_and_notify(stateIdle); +} diff --git a/src/zwave_ncp/cmds_rf.c b/src/zwave_ncp/cmds_rf.c new file mode 100644 index 00000000..19dec5b5 --- /dev/null +++ b/src/zwave_ncp/cmds_rf.c @@ -0,0 +1,32 @@ +/**************************************************************************//** + * @file cmds_rf.c + * @brief The source file for command handling of RF related serialAPI + * commands + * @copyright 2022 Silicon Laboratories Inc. + *****************************************************************************/ + +#include +#include +#include +#include + +#ifdef SUPPORT_ZW_SET_LISTEN_BEFORE_TALK_THRESHOLD +void func_id_set_listen_before_talk(__attribute__((unused)) uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength) +{ + uint8_t bReturn; + SZwaveCommandPackage setLBTMode = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_SET_LBT_THRESHOLD, + .uCommandParams.SetLBTThreshold.channel = pInputBuffer[0], + .uCommandParams.SetLBTThreshold.level = (int8_t)pInputBuffer[1] + }; + + bReturn = QueueProtocolCommand((uint8_t*)&setLBTMode); + + pOutputBuffer[0] = ((EQUEUENOTIFYING_STATUS_SUCCESS == bReturn) ? true : false); + *pOutputLength = 1; +} +#endif + diff --git a/src/zwave_ncp/cmds_rf.h b/src/zwave_ncp/cmds_rf.h new file mode 100644 index 00000000..9a85b50d --- /dev/null +++ b/src/zwave_ncp/cmds_rf.h @@ -0,0 +1,22 @@ +/**************************************************************************//** + * @file + * @brief The header file for command handling of RF related serialAPI + * commands + * @copyright 2022 Silicon Laboratories Inc. + *****************************************************************************/ + +#ifndef APPS_SERIALAPI_CMD_RF_H_ +#define APPS_SERIALAPI_CMD_RF_H_ + +#include + +void func_id_set_listen_before_talk(uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength); +void func_id_set_powerlevel(uint8_t inputLength, + uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength); + +#endif /* APPS_SERIALAPI_CMD_RF_H_ */ diff --git a/src/zwave_ncp/cmds_security.c b/src/zwave_ncp/cmds_security.c new file mode 100644 index 00000000..bd0a077b --- /dev/null +++ b/src/zwave_ncp/cmds_security.c @@ -0,0 +1,136 @@ +/** + * @file cmds_security.c + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include +#include +#include +#include +#include + +//#define DEBUGPRINT +#include + +#define SUPPORT_ZW_GET_SECURITY_S2_PUBLIC_DSK 1 + +/* FUNC_ID_ZW_SECURITY_SETUP command definitions. */ +typedef enum +{ + E_SECURITY_SETUP_CMD_ZW_GET_SECURITY_KEYS = 0, + E_SECURITY_SETUP_CMD_ZW_SET_SECURITY_S0_NETWORK_KEY, // OBSOLETE + E_SECURITY_SETUP_CMD_ZW_GET_SECURITY_S2_PUBLIC_DSK, + E_SECURITY_SETUP_CMD_ZW_SET_SECURITY_S2_CRITICAL_NODE_ID, // OBSOLETE + E_SECURITY_SETUP_CMD_ZW_SET_SECURITY_S2_INCLUSION_PUBLIC_DSK_CSA, // OBSOLETE + E_SECURITY_SETUP_CMD_SET_SECURITY_INCLUSION_REQUESTED_KEYS, + E_SECURITY_SETUP_CMD_SET_SECURITY_INCLUSION_REQUESTED_AUTHENTICATION, // OBSOLETE + E_SECURITY_SETUP_CMD_GET_SECURITY_CAPABILITIES = 0xFE, + E_SECURITY_SETUP_CMD_UNKNOWN = 0xFF +} eSecuritySetupCmd_t; + +/* FUNC_ID_ZW_SECURITY_SETUP command supported definitions. */ +/* Used together with the Security Setup command GetSecurityCapabilities */ +/* returned supported command bitmask to determine if a specific command are supported */ +typedef enum +{ + E_SECURITY_SETUP_SUPPORT_CMD_ZW_GET_SECURITY_KEYS = (1<ZW: securityFuncID [| bDataLen | abData[bDataLen]] */ + /* ZW->HOST: securityFuncID | bretValLen | retVal[bretValLen] */ + *pOutputBuffer = *pInputBuffer; + switch ((eSecuritySetupCmd_t)*pInputBuffer) + { +#if SUPPORT_ZW_GET_SECURITY_KEYS + case E_SECURITY_SETUP_CMD_ZW_GET_SECURITY_KEYS: + { + /* HOST->ZW: */ + /* ZW->HOST: securityKeys_bitmaskLen(1) | securityKeys_bitmask[securityKeys_bitmaskLen] */ + *(pOutputBuffer + 1) = 1; + *(pOutputBuffer + 2) = ZAF_GetSecurityKeys(); + *pOutputLength = 3; + } + break; + + case E_SECURITY_SETUP_CMD_SET_SECURITY_INCLUSION_REQUESTED_KEYS: + { + /* HOST->ZW: registeredSecurityKeysLen(1) | registeredSecurityKeys */ + /* ZW->HOST: retValLen(1) | retVal[retValLen] */ + bool retVal = false; + if (1 == *(pInputBuffer + 1)) + { + /* Set the requestedSecurityKeysBits requested by protocol when doing S2 inclusion */ + //SecureKeysRequested = serial_frame->payload[2]; + SZwaveCommandPackage Package = { + .eCommandType = EZWAVECOMMANDTYPE_SET_SECURITY_KEYS, + .uCommandParams.SetSecurityKeys.keys = *(pInputBuffer + 2) + }; + QueueNotifyingSendToBack(ZAF_getAppHandle()->pZwCommandQueue, (uint8_t *)&Package, 0); + /* sRequestedSecuritySettings.requestedSecurityKeysBits are either the initialized */ + /* define value (REQUESTED_SECURITY_KEYS) or the value set through the FUNC_ID_ZW_SECURITY_SETUP */ + /* function E_SECURITY_SETUP_CMD_SET_SECURITY_INCLUSION_REQUESTED_AUTHENTICATION */ + // FIXME insert check of if protocol has been started yet. + // if it has - return false. + retVal = true; + } + *(pOutputBuffer + 1) = 1; + *(pOutputBuffer + 2) = retVal; + *pOutputLength = 3; + } + break; +#endif +#if SUPPORT_ZW_GET_SECURITY_S2_PUBLIC_DSK + case E_SECURITY_SETUP_CMD_ZW_GET_SECURITY_S2_PUBLIC_DSK: + { + /* HOST->ZW: */ + /* ZW->HOST: retValLen(SECURITY_KEY_S2_PUBLIC_DSK_LENGTH) | retVal[retValLen] */ + *(pOutputBuffer + 1) = SECURITY_KEY_S2_PUBLIC_DSK_LENGTH; + ZW_GetMfgTokenData(pOutputBuffer + 2, TOKEN_MFG_ZW_PUK_ID, SECURITY_KEY_S2_PUBLIC_DSK_LENGTH); + *pOutputLength = 2 + SECURITY_KEY_S2_PUBLIC_DSK_LENGTH; + } + break; +#endif + + case E_SECURITY_SETUP_CMD_GET_SECURITY_CAPABILITIES: + { + /* HOST->ZW: */ + /* ZW->HOST: securitySetup_bitmaskLen | securityKeys_bitmask[securitySetup_bitmaskLen] */ + *(pOutputBuffer + 1) = 1; + /* LSB first if more than one byte in securityKeys_bitmask[] */ + *(pOutputBuffer + 2) = 0 +#if SUPPORT_ZW_GET_SECURITY_KEYS + | E_SECURITY_SETUP_SUPPORT_CMD_ZW_GET_SECURITY_KEYS + | E_SECURITY_SETUP_SUPPORT_CMD_SET_SECURITY_INCLUSION_REQUESTED_KEYS +#endif +#if SUPPORT_ZW_GET_SECURITY_S2_PUBLIC_DSK + | E_SECURITY_SETUP_SUPPORT_CMD_ZW_GET_SECURITY_S2_PUBLIC_DSK +#endif + ; + *pOutputLength = 3; + } + break; + + default: + { + /* ZW->HOST: E_SECURITY_SETUP_UNKNOWN_COMMAND | retValLen | securityFuncID(called)[retValLen] */ + *(pOutputBuffer + 0) = E_SECURITY_SETUP_CMD_UNKNOWN; + *(pOutputBuffer + 1) = 1; + /* Return the called Unknown FUNC_ID_ZW_SECURITY_SETUP Command */ + *(pOutputBuffer + 2) = *pInputBuffer; + *pOutputLength = 3; + } + break; + } + } +} diff --git a/src/zwave_ncp/cmds_security.h b/src/zwave_ncp/cmds_security.h new file mode 100644 index 00000000..54ac23be --- /dev/null +++ b/src/zwave_ncp/cmds_security.h @@ -0,0 +1,16 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#ifndef APPS_SERIALAPI_CMDS_SECURITY_H_ +#define APPS_SERIALAPI_CMDS_SECURITY_H_ + +#include + +void func_id_zw_security_setup(uint8_t inputLength, + const uint8_t *pInputBuffer, + uint8_t *pOutputBuffer, + uint8_t *pOutputLength); + +#endif /* APPS_SERIALAPI_CMDS_SECURITY_H_ */ diff --git a/src/zwave_ncp/comm_interface.c b/src/zwave_ncp/comm_interface.c new file mode 100644 index 00000000..74052542 --- /dev/null +++ b/src/zwave_ncp/comm_interface.c @@ -0,0 +1,521 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include "comm_interface.h" +#include "zpal_uart.h" +#include "SerialAPI.h" +#include "SwTimer.h" +#include "utils.h" +#include +#include "AppTimer.h" +#include +#include "SerialAPI_hw.h" + +#define BUFFER_CHECK_TIME_MS 250 +#define DEFAULT_ACK_TIMEOUT_MS 1500 +#define DEFAULT_BYTE_TIMEOUT_MS 150 +#define HEADER_LEN 4 +#define ACK_LEN 1 +#define CRC_LEN 1 + +#define COMM_INT_TX_BUFFER_SIZE RECEIVE_BUFFER_SIZE +#define COMM_INT_RX_BUFFER_SIZE RECEIVE_BUFFER_SIZE +#define TRANSMIT_BUFFER_SIZE COMM_INT_TX_BUFFER_SIZE + + +typedef enum +{ + COMM_INTERFACE_STATE_SOF = 0, + COMM_INTERFACE_STATE_LEN = 1, + COMM_INTERFACE_STATE_TYPE = 2, + COMM_INTERFACE_STATE_CMD = 3, + COMM_INTERFACE_STATE_DATA = 4, + COMM_INTERFACE_STATE_CHECKSUM = 5, +} comm_interface_state_t; + +typedef struct +{ + transport_t transport; + SSwTimer ack_timer; + bool ack_timeout; + uint32_t ack_timeout_ms; + SSwTimer byte_timer; + bool byte_timeout; + uint32_t byte_timeout_ms; + SSwTimer buffer_check_timer; + comm_interface_state_t state; + uint8_t expect_bytes; + bool ack_needed; + uint8_t buffer_len; + uint8_t buffer[RECEIVE_BUFFER_SIZE]; + bool rx_active; + uint8_t rx_wait_count; +} comm_interface_t; + +typedef struct +{ + uint8_t sof; + uint8_t len; + uint8_t type; + uint8_t cmd; + uint8_t payload[UINT8_MAX]; +} tx_frame_t; + + +static comm_interface_t comm_interface = { + .transport.type = TRANSPORT_TYPE_UART, + .state = COMM_INTERFACE_STATE_SOF, + .buffer_len = 0, +}; + +comm_interface_frame_ptr const serial_frame = (comm_interface_frame_ptr)comm_interface.buffer; + +static uint8_t tx_data[COMM_INT_TX_BUFFER_SIZE]; +static uint8_t rx_data[COMM_INT_RX_BUFFER_SIZE]; + +static void set_expect_bytes(uint8_t level) +{ + vPortEnterCritical(); + + if (zpal_uart_get_available(comm_interface.transport.handle) >= level) + { + comm_interface.expect_bytes = 0; + TriggerNotification(EAPPLICATIONEVENT_SERIALDATARX); + } + else + { + comm_interface.expect_bytes = level; + } + + vPortExitCritical(); +} + +static void receive_callback(__attribute__((unused)) const zpal_uart_handle_t handle, size_t available) +{ + if (available >= comm_interface.expect_bytes) + { + comm_interface.expect_bytes = 0; + TriggerNotification(EAPPLICATIONEVENT_SERIALDATARX); + } +} + +static void ack_timer_cb(__attribute__((unused)) SSwTimer *timer) +{ + comm_interface.ack_timeout = true; + TriggerNotification(EAPPLICATIONEVENT_SERIALTIMEOUT); +} + +static void byte_timer_cb(__attribute__((unused)) SSwTimer *timer) +{ + comm_interface.byte_timeout = true; + TriggerNotification(EAPPLICATIONEVENT_SERIALTIMEOUT); +} + +static void buffer_check_timer_cb(__attribute__((unused)) SSwTimer *timer) +{ + if(zpal_uart_get_available(comm_interface.transport.handle)) + { + TriggerNotification(EAPPLICATIONEVENT_SERIALDATARX); + } +} + +static uint8_t xor_checksum(uint8_t init, const uint8_t *data, uint8_t len) +{ + uint8_t checksum = init; + + for (int i = 0; i < len; i++) + { + checksum ^= data[i]; + } + + return checksum; +} + +static zpal_status_t comm_interface_transmit(transport_t *transport, const uint8_t *data, size_t len, transmit_done_cb_t cb) +{ + if (transport) + { + switch (transport->type) + { + case TRANSPORT_TYPE_UART: + return zpal_uart_transmit(transport->handle, data, len, cb); + + default: + break; + } + } + + return ZPAL_STATUS_FAIL; +} + +void comm_interface_transmit_frame(uint8_t cmd, uint8_t type, const uint8_t *payload, uint8_t len, transmit_done_cb_t cb) +{ + tx_frame_t frame = { + .sof = SOF + }; + static uint8_t _len, _type, _cmd, _checksum; + static const uint8_t *_payload; + + TimerStop(&comm_interface.ack_timer); + TimerStop(&comm_interface.byte_timer); + TimerStop(&comm_interface.buffer_check_timer); + + comm_interface.byte_timeout = false; + comm_interface.ack_timeout = false; + + if (payload != NULL) + { + frame.len = len + 3; + frame.type = type; + frame.cmd = cmd; + memcpy(frame.payload, payload, len); + frame.payload[len] = xor_checksum(0xFF, &frame.len, frame.len); + + /* store input arguments for retransmission */ + _len = len; + _type = type; + _cmd = cmd; + _payload = payload; + _checksum = frame.payload[len]; + } + else + { + /* retransmit last frame */ + frame.len = _len + 3; + frame.type = _type; + frame.cmd = _cmd; + if(_payload) { + memcpy(frame.payload, _payload, _len); + } + frame.payload[_len] = _checksum; + } + + comm_interface.ack_needed = true; + set_expect_bytes(ACK_LEN); + comm_interface_transmit(&comm_interface.transport, (uint8_t *)&frame, frame.len + 2, cb); + TimerStart(&comm_interface.ack_timer, comm_interface_get_ack_timeout_ms()); + TimerStart(&comm_interface.buffer_check_timer, BUFFER_CHECK_TIME_MS); +} + +void comm_interface_wait_transmit_done(void) +{ + while(zpal_uart_transmit_in_progress(comm_interface.transport.handle)); +} + +void comm_interface_init(void) +{ + const zpal_uart_config_t uart_config = + { + .tx_buffer = tx_data, + .tx_buffer_len = COMM_INT_TX_BUFFER_SIZE, + .rx_buffer = rx_data, + .rx_buffer_len = COMM_INT_RX_BUFFER_SIZE, + .id = ZPAL_UART0, + .baud_rate = 115200, + .data_bits = 8, + .parity_bit = ZPAL_UART_NO_PARITY, + .stop_bits = ZPAL_UART_STOP_BITS_1, + .receive_callback = receive_callback, + .ptr = SerialAPI_get_uart_config_ext(), + }; + + comm_interface_set_ack_timeout_ms(DEFAULT_ACK_TIMEOUT_MS); + comm_interface_set_byte_timeout_ms(DEFAULT_BYTE_TIMEOUT_MS); + + __attribute__((unused)) zpal_status_t status = zpal_uart_init(&uart_config, &comm_interface.transport.handle); + assert(status == ZPAL_STATUS_OK); + status = zpal_uart_enable(comm_interface.transport.handle); + assert(status == ZPAL_STATUS_OK); + + AppTimerRegister(&comm_interface.ack_timer, false, ack_timer_cb); + TimerStop(&comm_interface.ack_timer); + + AppTimerRegister(&comm_interface.byte_timer, false, byte_timer_cb); + TimerStop(&comm_interface.byte_timer); + + AppTimerRegister(&comm_interface.buffer_check_timer, true, buffer_check_timer_cb); + TimerStop(&comm_interface.buffer_check_timer); + + set_expect_bytes(HEADER_LEN); +} + +uint32_t comm_interface_get_ack_timeout_ms(void) +{ + return comm_interface.ack_timeout_ms; +} + +void comm_interface_set_ack_timeout_ms(uint32_t t) +{ + comm_interface.ack_timeout_ms = t; +} + +uint32_t comm_interface_get_byte_timeout_ms(void) +{ + return comm_interface.byte_timeout_ms; +} + +void comm_interface_set_byte_timeout_ms(uint32_t t) +{ + comm_interface.byte_timeout_ms = t; +} + +static void store_byte(uint8_t byte) +{ + if (TimerIsActive(&comm_interface.byte_timer)) + TimerRestart(&comm_interface.byte_timer); + else + TimerStart(&comm_interface.byte_timer, comm_interface_get_byte_timeout_ms()); + + comm_interface.byte_timeout = false; + comm_interface.buffer[comm_interface.buffer_len] = byte; + comm_interface.buffer_len++; +} + +static comm_interface_parse_result_t handle_sof(uint8_t input) +{ + comm_interface_parse_result_t result = PARSE_IDLE; + + if (input == SOF) + { + comm_interface.state = COMM_INTERFACE_STATE_LEN; + comm_interface.buffer_len = 0; + comm_interface.rx_active = true; // now we're receiving - check for timeout + store_byte(input); + } + else + { + if (comm_interface.ack_needed) + { + if ((input == ACK) || (input == NAK)) + { + comm_interface.ack_needed = false; // Done + comm_interface.ack_timeout = false; + comm_interface.byte_timeout = false; + TimerStop(&comm_interface.ack_timer); + TimerStop(&comm_interface.byte_timer); + TimerStop(&comm_interface.buffer_check_timer); + } + if (input == ACK) + { + result = PARSE_FRAME_SENT; + } + else if (input == NAK) + { + result = PARSE_TX_TIMEOUT; + } + else + { + // Bogus character received... + } + } + else + { + comm_interface.ack_timeout = false; + TimerStop(&comm_interface.ack_timer); + TimerStop(&comm_interface.buffer_check_timer); + } + } + return result; +} + +static void handle_len(uint8_t input) +{ + // Check for length to be inside valid range + if ((input < FRAME_LENGTH_MIN) || (input > FRAME_LENGTH_MAX)) + { + comm_interface.state = COMM_INTERFACE_STATE_SOF; // Restart looking for SOF + comm_interface.rx_active = false; // Not really active now... + TimerStop(&comm_interface.byte_timer); + comm_interface.byte_timeout = false; + } + else + { + comm_interface.state = COMM_INTERFACE_STATE_TYPE; + store_byte(input); + } +} + +static void handle_type(uint8_t input) +{ + if (input > RESPONSE) + { + comm_interface.state = COMM_INTERFACE_STATE_SOF; // Restart looking for SOF + comm_interface.rx_active = false; // Not really active now... + TimerStop(&comm_interface.byte_timer); + comm_interface.byte_timeout = false; + } + else + { + comm_interface.state = COMM_INTERFACE_STATE_CMD; + store_byte(input); + } +} + +static void handle_cmd(uint8_t input) +{ + store_byte(input); + + if(serial_frame->len > 3) + { + comm_interface.rx_wait_count = serial_frame->len - 3; + comm_interface.state = COMM_INTERFACE_STATE_DATA; + } + else + { + comm_interface.rx_wait_count = 1; + comm_interface.state = COMM_INTERFACE_STATE_CHECKSUM; + } +} + +static void handle_data(uint8_t input) +{ + comm_interface.rx_wait_count--; + store_byte(input); + + if ((comm_interface.buffer_len >= RECEIVE_BUFFER_SIZE) || + (comm_interface.buffer_len > serial_frame->len)) //buffer_len - sizeof(sof) >= serial_frame->len + { + comm_interface.state = COMM_INTERFACE_STATE_CHECKSUM; + } +} + +static comm_interface_parse_result_t handle_checksum(uint8_t input, bool ack) +{ + TimerStop(&comm_interface.byte_timer); + comm_interface.byte_timeout = false; + comm_interface.state = COMM_INTERFACE_STATE_SOF; // Restart looking for SOF + comm_interface.rx_active = false; // Not really active + + /* Default values for ack == false */ + /* It means we are in the process of looking for an acknowledge to a callback request */ + /* Drop the new frame we received - we don't have time to handle it. */ + comm_interface_parse_result_t result = PARSE_IDLE; + uint8_t response = CAN; + + /* Do we send ACK/NAK according to checksum... */ + /* if not then the received frame is dropped! */ + if (ack) + { + uint8_t checksum = xor_checksum(0xFF, &serial_frame->len, serial_frame->len); + result = (input == checksum) ? PARSE_FRAME_RECEIVED : PARSE_FRAME_ERROR; + response = (input == checksum) ? ACK : NAK; + } + + comm_interface_transmit(&comm_interface.transport, &response, sizeof(response), NULL); + + return result; +} + +static void handle_default(void) +{ + comm_interface.state = COMM_INTERFACE_STATE_SOF; // Restart looking for SOF + comm_interface.rx_active = false; // Not really active now... + comm_interface.ack_timeout = false; + comm_interface.byte_timeout = false; + TimerStop(&comm_interface.ack_timer); + TimerStop(&comm_interface.buffer_check_timer); + TimerStop(&comm_interface.byte_timer); +} + +comm_interface_parse_result_t comm_interface_parse_data(bool ack) +{ + uint8_t rx_byte = 0; + comm_interface_parse_result_t result = PARSE_IDLE; + + while ((result == PARSE_IDLE) && zpal_uart_get_available(comm_interface.transport.handle)) + { + zpal_uart_receive(comm_interface.transport.handle, &rx_byte, sizeof(rx_byte)); + + switch (comm_interface.state) + { + case COMM_INTERFACE_STATE_SOF: + result = handle_sof(rx_byte); + break; + + case COMM_INTERFACE_STATE_LEN: + handle_len(rx_byte); + break; + + case COMM_INTERFACE_STATE_TYPE: + handle_type(rx_byte); + break; + + case COMM_INTERFACE_STATE_CMD: + handle_cmd(rx_byte); + break; + + case COMM_INTERFACE_STATE_DATA: + handle_data(rx_byte); + break; + + case COMM_INTERFACE_STATE_CHECKSUM: + result = handle_checksum(rx_byte, ack); + break; + + default : + handle_default(); + break; + } + } + + /* Check for timeouts - if no other events detected */ + if (result == PARSE_IDLE) + { + /* Are we in the middle of collecting a frame and have we timed out? */ + if (comm_interface.rx_active && comm_interface.byte_timeout) + { + comm_interface.byte_timeout = false; + /* Reset to SOF hunting */ + comm_interface.state = COMM_INTERFACE_STATE_SOF; + comm_interface.rx_active = false; /* Not inframe anymore */ + result = PARSE_RX_TIMEOUT; + } + + /* Are we waiting for ACK and have we timed out? */ + if (comm_interface.ack_needed && comm_interface.ack_timeout) + { + comm_interface.ack_timeout = false; + /* Reset to SOF hunting */ + comm_interface.state = COMM_INTERFACE_STATE_SOF; + /* Not waiting for ACK anymore */ + comm_interface.ack_needed = false; + /* Tell upper layer we could not get the frame through */ + result = PARSE_TX_TIMEOUT; + } + } + + /*Check how many bytes we need depending on state.*/ + switch(comm_interface.state) + { + case COMM_INTERFACE_STATE_SOF: + set_expect_bytes(comm_interface.ack_needed ? ACK_LEN : HEADER_LEN); + break; + + case COMM_INTERFACE_STATE_LEN: + set_expect_bytes(HEADER_LEN - 1); + break; + + case COMM_INTERFACE_STATE_TYPE: + set_expect_bytes(HEADER_LEN - 2); + break; + + case COMM_INTERFACE_STATE_CMD: + set_expect_bytes(HEADER_LEN - 3); + break; + + case COMM_INTERFACE_STATE_DATA: + set_expect_bytes(comm_interface.rx_wait_count); + break; + + case COMM_INTERFACE_STATE_CHECKSUM: + set_expect_bytes(CRC_LEN); + break; + + default: + break; + } + + return result; +} diff --git a/src/zwave_ncp/comm_interface.h b/src/zwave_ncp/comm_interface.h new file mode 100644 index 00000000..be594396 --- /dev/null +++ b/src/zwave_ncp/comm_interface.h @@ -0,0 +1,81 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#ifndef __COMM_INTERFACE__ +#define __COMM_INTERFACE__ + +#include +#include +#include + +/** + * @addtogroup Apps + * @{ + * @addtogroup SerialAPI + * @{ + */ + +#define RECEIVE_BUFFER_SIZE 180 +#define FRAME_LENGTH_MIN 3 +#define FRAME_LENGTH_MAX RECEIVE_BUFFER_SIZE + +typedef enum +{ + TRANSPORT_TYPE_UART, + TRANSPORT_TYPE_SPI, + TRANSPORT_TYPE_ETHERNET, +} transport_type_t; + +typedef enum +{ + PARSE_IDLE, // returned if nothing special has happened + PARSE_FRAME_RECEIVED, // returned when a valid frame has been received + PARSE_FRAME_SENT, // returned if frame was ACKed by the other end + PARSE_FRAME_ERROR, // returned if frame has error in Checksum + PARSE_RX_TIMEOUT, // returned if Rx timeout has happened + PARSE_TX_TIMEOUT // returned if Tx timeout (waiting for ACK) ahs happened +} comm_interface_parse_result_t; + +typedef void * transport_handle_t; + +typedef void (*transmit_done_cb_t)(transport_handle_t transport); + +typedef struct _transport_t +{ + transport_type_t type; + transport_handle_t handle; +} transport_t; + +typedef struct +{ + uint8_t sof; + uint8_t len; + uint8_t type; + uint8_t cmd; + uint8_t payload[RECEIVE_BUFFER_SIZE]; //size defined to fix SonarQube errors +} * comm_interface_frame_ptr; + +extern comm_interface_frame_ptr const serial_frame; + +static inline uint8_t frame_payload_len(const comm_interface_frame_ptr frame) +{ + return frame->len - 3; +} + +void comm_interface_transmit_frame(uint8_t cmd, uint8_t type, const uint8_t *payload, uint8_t len, transmit_done_cb_t cb); +void comm_interface_wait_transmit_done(void); +void comm_interface_init(void); +uint32_t comm_interface_get_ack_timeout_ms(void); +void comm_interface_set_ack_timeout_ms(uint32_t t); +uint32_t comm_interface_get_byte_timeout_ms(void); +void comm_interface_set_byte_timeout_ms(uint32_t t); +comm_interface_parse_result_t comm_interface_parse_data(bool ack); + +/** + * @} + * @} + */ + +#endif /* __COMM_INTERFACE__ */ diff --git a/src/zwave_ncp/common_supported_func.h b/src/zwave_ncp/common_supported_func.h new file mode 100644 index 00000000..40be66c3 --- /dev/null +++ b/src/zwave_ncp/common_supported_func.h @@ -0,0 +1,69 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +/* Generated file copied from Sdk670 with std. functions supported by static controller. */ + +#define SUPPORT_LOCK_ROUTE_RESPONSE 1 /* ZW_LockRoute */ +#define SUPPORT_MEMORY_GET_BUFFER 1 /* MemoryGetBuffer */ +#define SUPPORT_MEMORY_GET_BYTE 1 /* MemoryGetByte */ +#define SUPPORT_MEMORY_GET_ID 1 /* MemoryGetID */ +#define SUPPORT_MEMORY_PUT_BUFFER 1 /* MemoryPutBuffer */ +#define SUPPORT_MEMORY_PUT_BYTE 1 /* MemoryPutByte */ +#define SUPPORT_NVM_GET_ID 1 /* NVM_get_id */ +#define SUPPORT_NVM_EXT_READ_LONG_BUFFER 1 /* NVM_ext_read_long_buffer */ +#define SUPPORT_NVM_EXT_READ_LONG_BYTE 1 /* NVM_ext_read_long_byte */ +#define SUPPORT_NVM_EXT_WRITE_LONG_BYTE 0 /* NVM_ext_write_long_byte */ +#define SUPPORT_NVM_EXT_WRITE_LONG_BUFFER 0 /* NVM_ext_write_long_buffer*/ +#define SUPPORT_STORE_HOMEID 0 /* ZW_StoreHomeID */ +#define SUPPORT_ZW_AES_ECB 0 /* ZW_AES_ECB */ +#define SUPPORT_ZW_EXPLORE_REQUEST_INCLUSION 1 /* ZW_ExploreRequestInclusion */ +#define SUPPORT_ZW_EXPLORE_REQUEST_EXCLUSION 1 /* ZW_ExploreRequestExclusion */ +#define SUPPORT_ZW_GET_NODE_PROTOCOL_INFO 1 /* ZW_GetNodeProtocolInfo */ +#define SUPPORT_ZW_GET_PROTOCOL_STATUS 1 /* ZW_GetProtocolStatus */ +#define SUPPORT_ZW_GET_PROTOCOL_VERSION 1 /* ZW_GetProtocolVersion */ +#define SUPPORT_ZW_GET_RANDOM 1 /* ZW_GetRandomWord */ +#define SUPPORT_ZW_GET_SUC_NODE_ID 1 /* ZW_GetSUCNodeID */ +#define SUPPORT_ZW_GET_VERSION 1 /* ZW_Version */ +#define SUPPORT_ZW_REQUEST_NETWORK_UPDATE 1 /* ZW_RequestNetWorkUpdate */ +#define SUPPORT_ZW_SEND_DATA 1 /* ZW_SendData */ +#define SUPPORT_ZW_SEND_DATA_ABORT 1 /* ZW_SendDataAbort */ +#define SUPPORT_ZW_SEND_DATA_MULTI 1 /* ZW_SendDataMulti */ +#define SUPPORT_ZW_SEND_NODE_INFORMATION 1 /* ZW_SendNodeInformation */ +#define SUPPORT_ZW_SET_DEFAULT 1 /* ZW_SetDefault */ +#define SUPPORT_ZW_SET_LEARN_MODE 1 /* ZW_SetLearnMode */ +#define SUPPORT_ZW_SET_PROMISCUOUS_MODE 0 /* ZW_SetPromiscuousMode */ +#define SUPPORT_ZW_SET_RF_RECEIVE_MODE 1 /* ZW_SetRFReceiveMode */ +#define SUPPORT_ZW_SET_SUC_NODE_ID 1 /* ZW_SetSUCNodeID */ +#define SUPPORT_ZW_TYPE_LIBRARY 1 /* ZW_Type_Library */ +#define SUPPORT_ZW_WATCHDOG_START 1 /* ZW_WatchDogEnable */ +#define SUPPORT_ZW_WATCHDOG_STOP 1 /* ZW_WatchDogDisable */ +#define SUPPORT_FUNC_ID_CLEAR_TX_TIMERS 1 /* ZW_ClearTxTimers */ +#define SUPPORT_FUNC_ID_GET_TX_TIMERS 1 /* ZW_GetTxTimer */ +#define SUPPORT_ZW_CLEAR_NETWORK_STATS 1 /* ZW_ClearNetworkStats */ +#define SUPPORT_ZW_GET_NETWORK_STATS 1 /* ZW_GetNetworkStats */ +#define SUPPORT_ZW_GET_BACKGROUND_RSSI 1 /* ZW_GetBackgroundRSSI */ +#define SUPPORT_ZW_SET_LISTEN_BEFORE_TALK_THRESHOLD 1 + +#define SUPPORT_ZW_NETWORK_MANAGEMENT_SET_MAX_INCLUSION_REQUEST_INTERVALS 1 + +/* SerialAPI functionality support definitions */ +#define SUPPORT_SEND_DATA_TIMING 1 +/* Only Controllers can Add/Remove other nodes */ + +/* Enable support for SerialAPI Startup Notification */ +#define SUPPORT_SERIAL_API_STARTUP_NOTIFICATION 1 + +/* Common SerialAPI functionality support definitions */ +#define SUPPORT_SERIAL_API_GET_INIT_DATA 1 +#define SUPPORT_SERIAL_API_APPL_NODE_INFORMATION 1 +#define SUPPORT_SERIAL_API_SET_TIMEOUTS 1 + +#define SUPPORT_SERIAL_API_SOFT_RESET 1 +#define SUPPORT_SERIAL_API_SETUP 1 + +#define SUPPORT_ZW_APPLICATION_UPDATE 1 + +#define SUPPORT_GET_TX_COUNTER 0 +#define SUPPORT_RESET_TX_COUNTER 0 diff --git a/src/zwave_ncp/controller_supported_func.h b/src/zwave_ncp/controller_supported_func.h new file mode 100644 index 00000000..afe5698e --- /dev/null +++ b/src/zwave_ncp/controller_supported_func.h @@ -0,0 +1,83 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include "common_supported_func.h" + +#define SUPPORT_GET_ROUTING_TABLE_LINE 1 /* ZW_GetRoutingInfo */ +#define SUPPORT_NVM_BACKUP_RESTORE 1 /* NVM_backup_restore */ +#define SUPPORT_NVM_EXT_BACKUP_RESTORE 1 /* NVM_backup_restore extended */ +#define SUPPORT_ZW_ADD_NODE_TO_NETWORK 1 /* ZW_AddNodeToNetwork */ +#define SUPPORT_ZW_ASSIGN_RETURN_ROUTE 1 /* ZW_AssignReturnRoute */ +#define SUPPORT_ZW_ASSIGN_PRIORITY_RETURN_ROUTE 1 /* ZW_AssignPriorityReturnRoute */ +#define SUPPORT_ZW_ASSIGN_SUC_RETURN_ROUTE 1 /* ZW_AssignSUCReturnRoute */ +#define SUPPORT_ZW_ASSIGN_PRIORITY_SUC_RETURN_ROUTE 1 /* ZW_AssignPrioritySUCReturnRoute */ +#define SUPPORT_ZW_CONTROLLER_CHANGE 1 /* ZW_ControllerChange */ +#define SUPPORT_ZW_DELETE_RETURN_ROUTE 1 /* ZW_DeleteReturnRoute */ +#define SUPPORT_ZW_DELETE_SUC_RETURN_ROUTE 1 /* ZW_DeleteSUCReturnRoute */ +#define SUPPORT_ZW_GET_CONTROLLER_CAPABILITIES 1 /* ZW_GetControllerCapabilities */ +#define SUPPORT_ZW_GET_PRIORITY_ROUTE 1 /* ZW_GetPriorityRoute */ +#define SUPPORT_ZW_SET_PRIORITY_ROUTE 1 /* ZW_SetPriorityRoute */ +#define SUPPORT_ZW_IS_FAILED_NODE_ID 1 /* ZW_isFailedNode */ +#define SUPPORT_ZW_REMOVE_FAILED_NODE_ID 1 /* ZW_RemoveFailedNode */ +#define SUPPORT_ZW_REMOVE_NODE_FROM_NETWORK 1 /* ZW_RemoveNodeFromNetwork */ +#define SUPPORT_ZW_REMOVE_NODE_ID_FROM_NETWORK 1 /* ZW_RemoveNodeIDFromNetwork */ +#define SUPPORT_ZW_REPLACE_FAILED_NODE 1 /* ZW_ReplaceFailedNode */ +#define SUPPORT_ZW_REPLICATION_COMMAND_COMPLETE 1 /* ZW_ReplicationReceiveComplete */ +#define SUPPORT_ZW_REPLICATION_SEND_DATA 1 /* ZW_ReplicationSend */ +#define SUPPORT_ZW_REQUEST_NODE_INFO 1 /* ZW_RequestNodeInfo */ +#define SUPPORT_ZW_REQUEST_NODE_NEIGHBOR_UPDATE 1 /* ZW_RequestNodeNeighborUpdate */ +#define SUPPORT_ZW_SEND_DATA_EX 0 /* ZW_SendDataEx */ +#define SUPPORT_ZW_SEND_DATA_MULTI_EX 0 /* ZW_SendDataMultiEx */ +#define SUPPORT_ZW_GET_SECURITY_KEYS 0 /* ZW_GetSecurityKeys */ +#define SUPPORT_ZW_SEND_SUC_ID 1 /* ZW_SendSUCID */ +#define SUPPORT_ZW_SEND_TEST_FRAME 1 /* ZW_SendTestFrame */ +#define SUPPORT_ZW_SET_ROUTING_MAX 1 /* ZW_SetRoutingMAX*/ +#define SUPPORT_ZW_NVR_GET_VALUE 1 /* ZW_NVRGetValue */ +#define SUPPORT_APPLICATION_COMMAND_HANDLER_BRIDGE 1 +#define SUPPORT_ZW_INITIATE_SHUTDOWN 1 +#define SUPPORT_SERIAL_API_GET_LR_NODES 1 +#define SUPPORT_SERIAL_GET_LR_CHANNEL 1 +#define SUPPORT_SERIAL_SET_LR_CHANNEL 1 +#define SUPPORT_SERIAL_SET_LR_VIRTUAL_IDS 1 +#define SUPPORT_SERIAL_ENABLE_RADIO_PTI 1 + +/* */ +#define SUPPORT_SERIAL_API_GET_APPL_HOST_MEMORY_OFFSET 0 + +/**************************************************************************/ +/* Common for all Controllers */ +/* SerialAPI functionality support definitions */ +#define SUPPORT_ZW_APPLICATION_CONTROLLER_UPDATE 1 + + +/**************************************************************************/ +/* Controller */ +/* Specific SerialAPI functionality support definitions */ +/**************************************************************************/ + +#define SUPPORT_ZW_SEND_SLAVE_NODE_INFORMATION 1 + + + +/**************************************************************************/ +/* Bridge Controller */ +/* specific SerialAPI functionality support definitions */ +#ifdef ZW_CONTROLLER_BRIDGE +#define SUPPORT_ZW_GET_VIRTUAL_NODES 1 /* ZW_GetVirtualNodes */ +#define SUPPORT_ZW_IS_VIRTUAL_NODE 1 /* ZW_IsVirtualNode */ +#define SUPPORT_ZW_SEND_DATA_BRIDGE 1 /* ZW_SendData_Bridge */ +#define SUPPORT_ZW_SEND_DATA_MULTI_BRIDGE 1 /* ZW_SendDataMulti_Bridge */ +#define SUPPORT_ZW_SET_SLAVE_LEARN_MODE 1 /* ZW_SetSlaveLearnMode */ +#define SUPPORT_SERIAL_API_APPL_SLAVE_NODE_INFORMATION 1 +/* Not supported by any controllers except controller portable and installer libs */ +#else +#define SUPPORT_ZW_GET_VIRTUAL_NODES 0 /* ZW_GetVirtualNodes */ +#define SUPPORT_ZW_IS_VIRTUAL_NODE 0 /* ZW_IsVirtualNode */ +#define SUPPORT_ZW_SEND_DATA_BRIDGE 0 /* ZW_SendData_Bridge */ +#define SUPPORT_ZW_SEND_DATA_MULTI_BRIDGE 0 /* ZW_SendDataMulti_Bridge */ +#define SUPPORT_ZW_SET_SLAVE_LEARN_MODE 0 /* ZW_SetSlaveLearnMode */ +#define SUPPORT_SERIAL_API_APPL_SLAVE_NODE_INFORMATION 0 + +#endif /* ZW_CONTROLLER_BRIDGE */ diff --git a/src/ncp-uart-hw_MGM240PA32VNN/app.c b/src/zwave_ncp/main.c similarity index 58% rename from src/ncp-uart-hw_MGM240PA32VNN/app.c rename to src/zwave_ncp/main.c index 0cc620ad..edc48c8a 100644 --- a/src/ncp-uart-hw_MGM240PA32VNN/app.c +++ b/src/zwave_ncp/main.c @@ -1,9 +1,9 @@ /***************************************************************************//** - * @file app.c - * @brief Callbacks implementation and application specific code. + * @file main.c + * @brief main() function. ******************************************************************************* * # License - * Copyright 2021 Silicon Laboratories Inc. www.silabs.com + * Copyright 2022 Silicon Laboratories Inc. www.silabs.com ******************************************************************************* * * The licensor of this software is Silicon Laboratories Inc. Your use of this @@ -14,25 +14,15 @@ * sections of the MSLA applicable to Source Code. * ******************************************************************************/ +#include "sl_system_init.h" +#include "sl_system_kernel.h" -#include PLATFORM_HEADER -#include "sl_zigbee.h" - -//---------------------- -// Implemented Callbacks - -/** @brief - * - * Application framework equivalent of ::sl_zigbee_radio_needs_calibrating_handler - */ -void sl_zigbee_af_radio_needs_calibrating_cb(void) +int main(void) { - sl_mac_calibrate_current_channel(); -} + // Initialize Silicon Labs device, system, service(s) and protocol stack(s). + // Note that processing task(s) will be created by this call. + sl_system_init(); -/** @brief Init - * Application init function - */ -void sl_zigbee_af_main_init_cb(void) -{ -} + // Start the kernel. Task(s) created in app_init() will start running. + sl_system_kernel_start(); +} \ No newline at end of file diff --git a/src/zwave_ncp/nvm_backup_restore.c b/src/zwave_ncp/nvm_backup_restore.c new file mode 100644 index 00000000..63404525 --- /dev/null +++ b/src/zwave_ncp/nvm_backup_restore.c @@ -0,0 +1,395 @@ +/** + * @file nvm_backup_restore.c + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +//#define DEBUGPRINT +#include "DebugPrint.h" + +/*WARNING: The backup/restore feature is based on the thesis that the NVM area is one continuous block even if it consist of two blocks, + A protocol and an application block. These blocks are defined in the linker script. The blocks are addressed using the data structure below. + The definition of the NVM blocks should not be changed, changing the definition will result in breaking the backup/restore feature*/ + +#define WORK_BUFFER_SIZE 64 + +/* HOST->ZW: +operation [open=0|read=1|write=2|close=3] +length desired length of read/write operation +offset(MSB) pointer to NVM memory +offset(LSB) +buffer[] buffer only sent for operation=write +*/ +/* ZW->HOST: +retVal [OK=0|error=1|EOF=-1] +length actual length of read/written data +offset(MSB) pointer to NVM memory (EOF ptr for operation=open) +offset(LSB) +buffer[] buffer only returned for operation=read +*/ + + +/* Macro and definitions used to get index of the different fields in NVM backup & restore buffer. */ +#define NVMBACKUP_RX_SUB_CMD_IDX (0) /** index of sub command field in rx buffer. */ +#define NVMBACKUP_RX_DATA_LEN_IDX (1) /** index of data length field in rx buffer. */ +#define NVMBACKUP_RX_ADDR_IDX (2) /** index of address field in rx buffer. */ +/** macro used the get index of the data in NVM Backup Restore received buffer. +@param size size of the address field.*/ +#define NVMBACKUP_RX_DATA_IDX(size) (NVMBACKUP_RX_ADDR_IDX + (size)) + +#define NVMBACKUP_TX_STATUS_IDX (0) /** index of command status field in tx buffer. */ +#define NVMBACKUP_TX_DATA_LEN_IDX (1) /** index of data length field in tx buffer. */ +#define NVMBACKUP_TX_ADDR_IDX (2) /** index of address field in tx buffer. */ +/** macro used to get index of the data in NVM Backup Restore send buffer. +@param size size of the address field.*/ +#define NVMBACKUP_TX_DATA_IDX(size) (NVMBACKUP_TX_ADDR_IDX + (size)) + +#define NVMBACKUP_STATUS_SIZE (1) /** size of command status. */ +#define NVMBACKUP_DATA_LEN_SIZE (1) /** size of Data length field. */ + + +static eNVMBackupRestoreOperation NVMBackupRestoreOperationInProgress = NVMBackupRestoreOperationClose; + +/** + * This function is used to extract the address from a received frame (on serial API). + * This address is extracted depending on the size of the address field (which depend on the command type: + * 2 bytes for the legacy NVM_BACKUP_RESTORE, 4bytes for the new NVM_EXT_BACKUP_RESTORE). + * + * @param pAddr[in] pointer on the first address byte in the rx buffer. + * @param addrSize[in] size of the address field (in bytes). + * + * @return NVM address + */ +static uint32_t NvmBackupAddrGet(uint8_t* pAddr, const nvm_backup_restore_addr_size_t addrSize) +{ + uint32_t address = 0; + + /* Build the address starting from the most significant byte. + For each new byte, shift the address then add the new byte.*/ + for (uint8_t i = 0; i < addrSize; i++) + { + address = (address << 8) + *pAddr; + pAddr++; + } + + return address; +} + +/** + * This function is used to fill the address in a frame (on serial API). + * This address is set depending on the size of the address field (which depend on the command type: + * 2 bytes for the legacy NVM_BACKUP_RESTORE, 4bytes for the new EXT_NVM_BACKUP_RESTORE). + * + * @param pAddr[in] pointer on the first address byte in the tx buffer. + * @param addrSize[in] size of the address field (in bytes). + * @param address[in] address to fill in the tx frame + */ +static void NvmBackupAddrSet(uint8_t* pAddr, const nvm_backup_restore_addr_size_t addrSize, uint32_t address) +{ + int8_t i = 0; //must be signed to avoid infinite loop. + + /*fill the buffer starting from the lowest significant byte. + addrSize can be 2 or 4, so there can't be any sign issue with the cast.*/ + for (i = (int8_t)addrSize-1; i >= 0; i--) + { + pAddr[i] = address & 0x000000FF; + address >>= 8; + } +} + + +/** + * Must be called to open the backup restore feature + * The function will shut down the RF, Z-Wave timer system , close the NVM system, and disable the watchdog timer + * + * @return true if backup/resotre is opened else false + */ +static bool NvmBackupOpen(void) +{ + SZwaveCommandPackage nvmOpen = { + .eCommandType = EZWAVECOMMANDTYPE_NVM_BACKUP_OPEN, + .uCommandParams.NvmBackupRestore.offset = 0, + .uCommandParams.NvmBackupRestore.length = 0, + }; + zpal_enable_watchdog(false); + uint8_t bReturn = QueueProtocolCommand((uint8_t*)&nvmOpen); + if (EQUEUENOTIFYING_STATUS_SUCCESS == bReturn) + { + SZwaveCommandStatusPackage cmdStatus = { .eStatusType = EZWAVECOMMANDSTATUS_NVM_BACKUP_RESTORE}; + if ((GetCommandResponse(&cmdStatus, cmdStatus.eStatusType)) + && (cmdStatus.Content.NvmBackupRestoreStatus.status)) + { + return true; + } + } + return false; +} + +/** + * Read data from the NVM area + * + * @param offset[in] The offset of the NVM area to read from + * @param length[in] the length of the NVM area to read + * @param pNvmData[out] the data read from the NVM area + * + * @return true if data is read else false + */ +static uint8_t NvmBackupRead( uint32_t offset, uint8_t length, uint8_t* pNvmData) +{ + SZwaveCommandPackage nvmRead = { + .eCommandType = EZWAVECOMMANDTYPE_NVM_BACKUP_READ, + .uCommandParams.NvmBackupRestore.offset = offset, + .uCommandParams.NvmBackupRestore.length = length, + .uCommandParams.NvmBackupRestore.nvmData = pNvmData + }; + DPRINTF("NVM_Read_ 0x%08x, 0x%08x, 0x%08x\r\n",offset, length, (uint32_t)pNvmData); + uint8_t bReturn = QueueProtocolCommand((uint8_t*)&nvmRead); + if (EQUEUENOTIFYING_STATUS_SUCCESS == bReturn) + { + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_NVM_BACKUP_RESTORE)) + { + if (cmdStatus.Content.NvmBackupRestoreStatus.status) + { + DPRINT("NVM_READ_OK\r\n"); + return true; + } + } + } + DPRINT("NVM_READ_ERR\r\n"); + return false; +} + +/** + * Close the open/restore feature + * + * @return true if backup/retore feature is closed else false + */ + +static uint8_t NvmBackupClose(void) +{ + SZwaveCommandPackage nvmClose = { + .eCommandType = EZWAVECOMMANDTYPE_NVM_BACKUP_CLOSE + }; + uint8_t bReturn = QueueProtocolCommand((uint8_t*)&nvmClose); + + return ((EQUEUENOTIFYING_STATUS_SUCCESS == bReturn)? true: false); +} + +/** + * Restore the NVM data + * + * @param offset[in] The offset of the NVM area to wite backup data to + * @param length[in] the length of the backup data + * @param pNvmData[out] the data to be written to the NVM + * + * @return true if data is written else false + */ +static uint8_t NvmBackupRestore( uint32_t offset, uint8_t length, uint8_t* pNvmData) +{ + SZwaveCommandPackage nvmWrite = { + .eCommandType = EZWAVECOMMANDTYPE_NVM_BACKUP_WRITE, + .uCommandParams.NvmBackupRestore.offset = offset, + .uCommandParams.NvmBackupRestore.length = length, + .uCommandParams.NvmBackupRestore.nvmData = pNvmData + }; + uint8_t bReturn = QueueProtocolCommand((uint8_t*)&nvmWrite); + if (EQUEUENOTIFYING_STATUS_SUCCESS == bReturn) + { + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_NVM_BACKUP_RESTORE)) + { + if (cmdStatus.Content.NvmBackupRestoreStatus.status) + { + DPRINT("NVM_WRITE_OK\r\n"); + return true; + } + } + } + DPRINT("NVM_WRITE_ERR\r\n"); + return false; +} + +bool NvmBackupLegacyCmdAvailable(void) +{ + /* If NVM size is 0x10000, the legacy command should be forbidden. However, for backward + compatibility, a controller with exactly 0x10000 bytes of NVM must be able to use it. + WARNING: in that case, the legacy NVM backup & restore command will return a size equal to 0. */ + if (0x10000 < zpal_nvm_backup_get_size()) + { + return false; + } + else + { + return true; + } +} + +void func_id_serial_api_nvm_backup_restore(__attribute__((unused)) uint8_t inputLength, uint8_t *pInputBuffer, uint8_t *pOutputBuffer, uint8_t *pOutputLength, bool extended) +{ + uint32_t NVM_WorkPtr = 0; + uint8_t dataLength; + const uint32_t nvm_storage_size = zpal_nvm_backup_get_size(); + nvm_backup_restore_addr_size_t addrSize; + + //set address size according to the command (legacy or extended backup & restore) + if (true == extended) + { + addrSize = NVM_EXT_BACKUP_RESTORE_ADDR_SIZE; + } + else + { + addrSize = NVM_BACKUP_RESTORE_ADDR_SIZE; + } + + dataLength = 0; /* Assume nothing is read or written */ + memset(pOutputBuffer, 0, NVMBACKUP_STATUS_SIZE + NVMBACKUP_DATA_LEN_SIZE + addrSize); + pOutputBuffer[NVMBACKUP_TX_STATUS_IDX] = NVMBackupRestoreReturnValueOK; /* Assume not at EOF and no ERROR */ + + switch (pInputBuffer[NVMBACKUP_RX_SUB_CMD_IDX]) /* operation */ + { + case NVMBackupRestoreOperationOpen: /* open */ + { + if (NVMBackupRestoreOperationClose == NVMBackupRestoreOperationInProgress) + { + /* Lock everyone else out from making changes to the NVM content */ + /* Remember to have some kind of dead-mans-pedal to release lock again. */ + /* TODO */ + // here we have to shut down RF and disable power management and close NVM subsystem + if (NvmBackupOpen()) + { + NVMBackupRestoreOperationInProgress = NVMBackupRestoreOperationOpen; + /* Set the size of the backup/restore. (Number of bytes in flash used for file systems) */ + /* Please note that the special case where nvm_storage_size == 0x10000 is indicated by 0x00 0x00 */ + NvmBackupAddrSet( &(pOutputBuffer[NVMBACKUP_TX_ADDR_IDX]), addrSize, nvm_storage_size); + + /* in case of extended command, set the sub commands capability*/ + if (true == extended) + { + pOutputBuffer[NVMBACKUP_TX_DATA_IDX(addrSize) + (dataLength++)] = + (1 << NVMBackupRestoreOperationOpen) + + (1 << NVMBackupRestoreOperationRead) + + (1 << NVMBackupRestoreOperationWrite) + + (1 << NVMBackupRestoreOperationClose); + } + pOutputBuffer[NVMBACKUP_TX_DATA_LEN_IDX] = dataLength; + } + else + { + pOutputBuffer[NVMBACKUP_TX_STATUS_IDX] = NVMBackupRestoreReturnValueError; /*Report error we can't open backup restore feature*/ + } + } + } + break; + + case NVMBackupRestoreOperationRead: /* read */ + { + DPRINT("NVM_Read_ \r\n"); + /* Check that NVM is ready */ + if ((NVMBackupRestoreOperationInProgress != NVMBackupRestoreOperationRead) && + (NVMBackupRestoreOperationInProgress != NVMBackupRestoreOperationOpen)) + { + DPRINT("NVM_Read_Mis \r\n"); + pOutputBuffer[NVMBACKUP_TX_STATUS_IDX] = NVMBackupRestoreReturnValueOperationMismatch; + break; + } + NVMBackupRestoreOperationInProgress = NVMBackupRestoreOperationRead; + /* Load input */ + dataLength = pInputBuffer[NVMBACKUP_RX_DATA_LEN_IDX]; /* Requested dataLength */ + NVM_WorkPtr = NvmBackupAddrGet( &(pInputBuffer[NVMBACKUP_RX_ADDR_IDX]), addrSize); + /* Validate Input */ + if (dataLength > WORK_BUFFER_SIZE)/* Make sure that length isn't larger than the available buffer size */ + { + dataLength = WORK_BUFFER_SIZE; + } + if ((NVM_WorkPtr + dataLength) >= nvm_storage_size)/* Make sure that we don't go beyond valid NVM content */ + { + DPRINT("NVM_Read_EOF \r\n"); + dataLength = (uint8_t)(nvm_storage_size - NVM_WorkPtr); + pOutputBuffer[NVMBACKUP_TX_STATUS_IDX] = (uint8_t)NVMBackupRestoreReturnValueEOF; /* Indicate at EOF */ + } + /* fill output buffer */ + pOutputBuffer[NVMBACKUP_TX_DATA_LEN_IDX] = dataLength; + NvmBackupAddrSet( &(pOutputBuffer[NVMBACKUP_TX_ADDR_IDX]), addrSize, NVM_WorkPtr); + NvmBackupRead(NVM_WorkPtr, dataLength, &pOutputBuffer[NVMBACKUP_TX_DATA_IDX(addrSize)]); + } + break; + + case NVMBackupRestoreOperationWrite: /* write */ + { + /* Check that NVM is ready */ + if ((NVMBackupRestoreOperationInProgress != NVMBackupRestoreOperationWrite) && + (NVMBackupRestoreOperationInProgress != NVMBackupRestoreOperationOpen)) + { + DPRINT("NVM_Write_mis \r\n"); + pOutputBuffer[NVMBACKUP_TX_STATUS_IDX] = NVMBackupRestoreReturnValueOperationMismatch; + break; + } + NVMBackupRestoreOperationInProgress = NVMBackupRestoreOperationWrite; + /* Load input */ + dataLength = pInputBuffer[NVMBACKUP_RX_DATA_LEN_IDX]; /* Requested dataLength */ + NVM_WorkPtr = NvmBackupAddrGet( &(pInputBuffer[NVMBACKUP_RX_ADDR_IDX]), addrSize); + /* Validate input */ + if (dataLength > WORK_BUFFER_SIZE) + { + DPRINT("NVM_Write_buff_err \r\n"); + pOutputBuffer[NVMBACKUP_TX_STATUS_IDX] = NVMBackupRestoreReturnValueError; /* ERROR: ignore request if length is larger than available buffer */ + } + else + { + /* Make sure that we don't go beyond valid NVM content */ + uint8_t tmp_buf[WORK_BUFFER_SIZE]; + if ((NVM_WorkPtr + dataLength) >= nvm_storage_size) + { + DPRINT("NVM_Write_EOF \r\n"); + dataLength = (uint8_t)(nvm_storage_size - NVM_WorkPtr); + pOutputBuffer[NVMBACKUP_TX_STATUS_IDX] = (uint8_t)NVMBackupRestoreReturnValueEOF; /* Indicate at EOF */ + } + /* copy data into another buffer because write operation will be done in another task. */ + memcpy(tmp_buf, (uint8_t*)&pInputBuffer[NVMBACKUP_RX_DATA_IDX(addrSize)], dataLength); + NvmBackupRestore(NVM_WorkPtr , dataLength, tmp_buf); + /* fill output buffer */ + pOutputBuffer[NVMBACKUP_TX_DATA_LEN_IDX] = dataLength; + NvmBackupAddrSet( &(pOutputBuffer[NVMBACKUP_TX_ADDR_IDX]), addrSize, NVM_WorkPtr); + + } + /* reset data length because there is no data in output buffer. */ + dataLength = 0; + } + break; + + case NVMBackupRestoreOperationClose: /* close */ + { + /* Unlock NVM content, so everyone else can make changes again */ + // here we have to shut down RF and disable power management + /* TODO */ + if (NVMBackupRestoreOperationInProgress == NVMBackupRestoreOperationClose) + { + break; + } + if (NvmBackupClose()) + { + NVMBackupRestoreOperationInProgress = NVMBackupRestoreOperationClose; + } + else + { + pOutputBuffer[NVMBACKUP_TX_STATUS_IDX] = NVMBackupRestoreReturnValueError; /*report error we canot close backup restore feature*/ + } + } + break; + + default: + pOutputBuffer[NVMBACKUP_TX_STATUS_IDX] = NVMBackupRestoreReturnValueError; + break; + } + //build output buffer length + *pOutputLength = (uint8_t)(NVMBACKUP_STATUS_SIZE + NVMBACKUP_DATA_LEN_SIZE + addrSize + dataLength); +} diff --git a/src/zwave_ncp/nvm_backup_restore.h b/src/zwave_ncp/nvm_backup_restore.h new file mode 100644 index 00000000..42ef75e6 --- /dev/null +++ b/src/zwave_ncp/nvm_backup_restore.h @@ -0,0 +1,33 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#ifndef APPS_SERIALAPI_NVM_BACKUP_RESTROE_H_ +#define APPS_SERIALAPI_NVM_BACKUP_RESTROE_H_ + +#include +#include "SerialAPI.h" + +/** + * This function is used to check if the legacy nvm backup & restore command can be used. + * The legacy command cannot be used if address of the NVM are larger than 2 bytes. + * @return true or false depending on the NVM size + */ +bool NvmBackupLegacyCmdAvailable(void); + +/** + * Must be called upon receiving a "Serial API NVM Backup/restore commands". + * @param inputLength Length of data in input buffer. + * @param pInputBuffer Input buffer + * @param pOutputBuffer Output buffer + * @param pOutputLength Length of data in output buffer. + * @param extended Input Length of the address field + */ +void func_id_serial_api_nvm_backup_restore(uint8_t inputLength, + uint8_t* pInputBuffer, + uint8_t* pOutputBuffer, + uint8_t* pOutputLength, + bool extended); + +#endif /* APPS_SERIALAPI_NVM_BACKUP_RESTROE_H_ */ diff --git a/src/zwave_ncp/serialapi_file.c b/src/zwave_ncp/serialapi_file.c new file mode 100644 index 00000000..9338e55b --- /dev/null +++ b/src/zwave_ncp/serialapi_file.c @@ -0,0 +1,782 @@ +/** + * @file serialapi_file.c + * @copyright 2022 Silicon Laboratories Inc. + * @brief Z-Wave Switch On/Off Sample Application + * @details This sample application is a Z-Wave slave node which has an LED (D2 + * on ZDP03A) that can be turned on or off from another Z-Wave node by sending + * a Basic Set On or a Basic Set Off command. + * + * It can be included and excluded from a Z-Wave network by pressing S1 switch + * on the ZDP03A board 3 times. S2 switch toggles LED D2. S3 switch transmits + * a Node Information Frame (NIF). + * @author Someone who started this sample application at some point in time. + * @author Thomas Roll (TRO) + * @author Christian Salmony Olsen (COLSEN) + */ + +/****************************************************************************/ +/* INCLUDE FILES */ +/****************************************************************************/ + +#include +#include +#include "SizeOf.h" +#include +//#define DEBUGPRINT +//#include "DebugPrint.h" +#include "SyncEvent.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include "zw_version_config.h" + +#define APPLICATIONSIZE (4*1024) + +#define APPL_DATA_FILE_SIZE 512 + +#define APP_VERSION_7_15_3 0x00070F03 // 7.15.3 (NO_20DBM_SUPPORT) +#define APP_VERSION_7_18_1 0x00071201 /* 7.18.1 - The changes include the capability to set tx power to + * 20+ dBm over the serial link. */ +#define APP_VERSION_7_21_0 0x00071500 /* 7.21.0 - [FIX] save the node ID type. */ + +// Used by the application data file. +typedef struct SApplicationData +{ + uint8_t extNvm[APPL_DATA_FILE_SIZE]; +} SApplicationData; + /* listening | generic | specific | parmLength | nodeParms[] */ +typedef struct SApplicationSettings +{ + uint8_t listening; + uint8_t generic; + uint8_t specific; +} SApplicationSettings; + +typedef struct SApplicationCmdClassInfo +{ + uint8_t UnSecureIncludedCCLen; + uint8_t UnSecureIncludedCC[APPL_NODEPARM_MAX]; + uint8_t SecureIncludedUnSecureCCLen; + uint8_t SecureIncludedUnSecureCC[APPL_NODEPARM_MAX]; + uint8_t SecureIncludedSecureCCLen; + uint8_t SecureIncludedSecureCC[APPL_NODEPARM_MAX]; + +} SApplicationCmdClassInfo; + +typedef struct SApplicationConfiguration_v7_15_3 // Cannot pack this (change size) as it is already in the field. +{ + zpal_radio_region_t rfRegion; + int8_t iTxPower; // changed to zpal_tx_power_t { aka int16_t } in APP_VERSION_7_18_1 + int8_t ipower0dbmMeasured; // changed to zpal_tx_power_t { aka int16_t } in APP_VERSION_7_18_1 + uint8_t radio_debug_enable; + int16_t maxTxPower; // changed to zpal_tx_power_t { aka int16_t } in APP_VERSION_7_18_1 +} SApplicationConfiguration_v7_15_3; + +//declare the old structure only for the migration process. +//No variable should be declared with this type (excepted for migration process). +typedef struct __attribute__((packed)) SApplicationConfiguration_V7_18_1 +{ + zpal_radio_region_t rfRegion; + zpal_tx_power_t iTxPower; + zpal_tx_power_t ipower0dbmMeasured; + uint8_t radio_debug_enable; + zpal_tx_power_t maxTxPower; // For LR only +}SApplicationConfiguration_V7_18_1; + +typedef struct __attribute__((packed)) SApplicationConfiguration // Must be packet as it is saved on NVM. +{ + zpal_radio_region_t rfRegion; + zpal_tx_power_t iTxPower; + zpal_tx_power_t ipower0dbmMeasured; + uint8_t radio_debug_enable; + zpal_tx_power_t maxTxPower; // For LR only + eSerialAPISetupNodeIdBaseType nodeIdBaseType; +} SApplicationConfiguration; + +#define FILE_SIZE_APPLICATIONDATA (sizeof(SApplicationData)) +#define FILE_SIZE_APPLICATIONSETTINGS (sizeof(SApplicationSettings)) +#define FILE_SIZE_APPLICATIONCMDINFO (sizeof(SApplicationCmdClassInfo)) +#define FILE_SIZE_APPLICATIONCONFIGURATION (sizeof(SApplicationConfiguration)) + +static void WriteDefault(void); + +static void WriteDefaultApplicationConfiguration(void); +static bool ObjectExist(zpal_nvm_object_key_t key); + +bool SerialAPI_GetZWVersion(uint32_t * appVersion) +{ + return ZAF_nvm_read(ZAF_FILE_ID_APP_VERSION, appVersion, ZAF_FILE_SIZE_APP_VERSION) == ZPAL_STATUS_OK; +} + +bool SerialAPI_SetZWVersion(const uint32_t * appVersion) +{ + return ZAF_nvm_write(ZAF_FILE_ID_APP_VERSION, appVersion, sizeof(appVersion)) == ZPAL_STATUS_OK; +} + +static void +SerialAPI_FileSystemMigrationManagement(void) +{ + //Read present file system version file + uint32_t presentFilesysVersion = 0; + uint32_t expectedFilesysVersion = 0; // This will hold the file system version that current SW will support. + + SerialAPI_GetZWVersion(&presentFilesysVersion); + + expectedFilesysVersion = zpal_get_app_version(); + + if(expectedFilesysVersion < presentFilesysVersion) + { + //System downgrade. Should not be allowed. + assert(false); + } + else if(expectedFilesysVersion > presentFilesysVersion) // File system upgrade needed. Initiating file system migration... + { + /** + * Continuous migration until all needed migrations are performed, + * to lift from any version to the latest file system version. + */ + + // If current version is 7.15.2 or older then update the FILE_ID_APPLICATIONCONFIGURATION file to the current format + if ( presentFilesysVersion < APP_VERSION_7_15_3 ) + { + // Add code for migration of file system to version APP_VERSION_7_15_3 (7.15.3). + + //Get length of legacy file + size_t dataLen = 0; + ZAF_nvm_app_get_object_size(FILE_ID_APPLICATIONCONFIGURATION, &dataLen); + + //Read legacy file to first members of tApplicationConfiguration + SApplicationConfiguration_v7_15_3 tApplicationConfiguration = { .rfRegion = REGION_UNDEFINED }; + // Initialize, since zpal_nvm_read() might fail. + ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, dataLen); + + //Write default values to new members of tApplicationConfiguration and update the file. + tApplicationConfiguration.radio_debug_enable = 0; + tApplicationConfiguration.maxTxPower = 140; + zpal_status_t status = ZAF_nvm_app_write(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, + sizeof(tApplicationConfiguration)); + if (ZPAL_STATUS_OK == status) + { + presentFilesysVersion = APP_VERSION_7_15_3; + } + } + + // Migrate files from file system version APP_VERSION_7_15_3 to APP_VERSION_7_18_1. + if ( presentFilesysVersion < APP_VERSION_7_18_1 ) + { + SApplicationConfiguration_v7_15_3 tApplicationConfiguration_v7_15_3 = { .rfRegion = REGION_UNDEFINED }; + SApplicationConfiguration_V7_18_1 tApplicationConfiguration = { .rfRegion = REGION_UNDEFINED }; + zpal_status_t status; + + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration_v7_15_3, + sizeof(tApplicationConfiguration_v7_15_3)); + if (ZPAL_STATUS_OK != status) + { + WriteDefaultApplicationConfiguration(); + } + else + { + tApplicationConfiguration.rfRegion = tApplicationConfiguration_v7_15_3.rfRegion; + tApplicationConfiguration.iTxPower = tApplicationConfiguration_v7_15_3.iTxPower; + tApplicationConfiguration.ipower0dbmMeasured = tApplicationConfiguration_v7_15_3.ipower0dbmMeasured; + tApplicationConfiguration.radio_debug_enable = tApplicationConfiguration_v7_15_3.radio_debug_enable; + tApplicationConfiguration.maxTxPower = tApplicationConfiguration_v7_15_3.maxTxPower; + + status = ZAF_nvm_app_write(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, + sizeof(tApplicationConfiguration)); /* Do not use FILE_SIZE_APPLICATIONCONFIGURATION in + * migration functions, instead hard-code the size as + * sizes do change with FW upgrades. */ + if (ZPAL_STATUS_OK == status) + { + presentFilesysVersion = APP_VERSION_7_18_1; + } + } + + // Lifted to version APP_VERSION_7_18_1 + } + +#ifdef ZW_MIGRATION_FROM_7_20 + // Migrate files from file system version APP_VERSION_7_20_0 (same as 7_18_1) to APP_VERSION_7_21_0. + if ( presentFilesysVersion < APP_VERSION_7_21_0 ) + { + SApplicationConfiguration sAppCfgMigration = { .rfRegion = REGION_UNDEFINED }; + zpal_status_t status; + + //cannot migrate if the file system is older than V7.18.1. Other migration script should have been called before. + assert(APP_VERSION_7_18_1 <= presentFilesysVersion); + + /*New application configuration has only a new member (no change in the legacy part). So read the + legacy structure directly in the new one, then just set value for new member.*/ + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &sAppCfgMigration, + sizeof(SApplicationConfiguration_V7_18_1)); + if (ZPAL_STATUS_OK != status) + { + WriteDefaultApplicationConfiguration(); + } + else + { + //default value for new member. + sAppCfgMigration.nodeIdBaseType = SERIAL_API_SETUP_NODEID_BASE_TYPE_DEFAULT; + + status = ZAF_nvm_app_write(FILE_ID_APPLICATIONCONFIGURATION, &sAppCfgMigration, + sizeof(sAppCfgMigration)); /* Do not use FILE_SIZE_APPLICATIONCONFIGURATION in + * migration functions, instead hard-code the size as + * sizes do change with FW upgrades. */ + if (ZPAL_STATUS_OK == status) + { + presentFilesysVersion = APP_VERSION_7_21_0; + } + } + } +#endif /* ZW_MIGRATION_FROM_7_20 */ + + /* + * If this fails, some of the migrations were not performed due to earlier migrations that have failed. + */ + assert(APP_VERSION_7_21_0 <= presentFilesysVersion); + + /** + * @attention This implementation assumes that the build is going to update the ZAF_FILE_ID_APP_VERSION to the current! + */ + + /** + * Write the new file system version number to NMV. + */ + SerialAPI_SetZWVersion(&expectedFilesysVersion); + } +} + +uint8_t SerialApiFileInit(void) +{ + // Init application filesystem + bool initStatus = ZAF_nvm_app_init(); + if (!initStatus) + { + assert(false); //Assert has been kept for debugging , can be removed from production code. This error can only be caused by some internal flash HW failure + } + + initStatus = ZAF_nvm_init(); + if (!initStatus) + { + assert(false); //Assert has been kept for debugging , can be removed from production code. This error can only be caused by some internal flash HW failure + } + + uint32_t appVersion = 0; + bool status = SerialAPI_GetZWVersion(&appVersion); + + if (status) + { + if (zpal_get_app_version() != appVersion) + { + /** + * In case the file-system is older than supported by this version of the FW, then upgrade. + */ + SerialAPI_FileSystemMigrationManagement(); + } + } + else + { + //There are no files on first boot up. Write default files. + WriteDefault(); + return false; + } + + return true; +} + +static +bool ObjectExist(zpal_nvm_object_key_t key) +{ + zpal_status_t status; + size_t tDataLen; + + status = ZAF_nvm_app_get_object_size(key, &tDataLen); + if (ZPAL_STATUS_OK != status) + { + return false; + } + return true; +} + +/** + * @brief Reads application data from file system. + */ +uint8_t SerialApiNvmReadAppData(uint32_t offset, uint8_t* pAppData, uint32_t iLength) +{ + SApplicationData tApplicationData = { 0 }; + + uint8_t dataIsRead = false; + zpal_status_t status; + + if (ObjectExist(FILE_ID_APPLICATIONDATA)) + { + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONDATA, &tApplicationData, FILE_SIZE_APPLICATIONDATA); + if (ZPAL_STATUS_OK == status) + { + dataIsRead = true; + for (uint32_t i = 0; i < iLength; i++) + { + pAppData[i] = tApplicationData.extNvm[i+ offset]; + } + } + } + return dataIsRead; + +} + +/** + * @brief Writes application data to file system. + */ +uint8_t SerialApiNvmWriteAppData(uint32_t offset, const uint8_t* pAppData, uint32_t iLength) +{ + SApplicationData tApplicationData = { 0 }; + uint8_t dataIsWritten = false; + zpal_status_t status; + + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONDATA, &tApplicationData, FILE_SIZE_APPLICATIONDATA); + if (ZPAL_STATUS_OK == status) + { + memcpy((uint8_t *)&tApplicationData + offset, pAppData, iLength); + status = ZAF_nvm_app_write(FILE_ID_APPLICATIONDATA, &tApplicationData, FILE_SIZE_APPLICATIONDATA); + if (ZPAL_STATUS_OK == status) + { + dataIsWritten = true; + } + } + return dataIsWritten; +} + +uint8_t +SaveApplicationSettings(uint8_t bListening, + uint8_t bGeneric, + uint8_t bSpecific + ) +{ + SApplicationSettings tApplicationSettings = { 0 }; + uint8_t dataIsWritten = false; + zpal_status_t status; + + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONSETTINGS, &tApplicationSettings, FILE_SIZE_APPLICATIONSETTINGS); + if (ZPAL_STATUS_OK == status) + { + tApplicationSettings.listening = bListening; + tApplicationSettings.generic = bGeneric; + tApplicationSettings.specific = bSpecific; + status = ZAF_nvm_app_write(FILE_ID_APPLICATIONSETTINGS, &tApplicationSettings, FILE_SIZE_APPLICATIONSETTINGS); + if (ZPAL_STATUS_OK == status) + { + dataIsWritten = true; + } + } + return dataIsWritten; +} + + +uint8_t +ReadApplicationSettings(uint8_t* pListening, + uint8_t* pGeneric, + uint8_t* pSpecific + ) +{ + SApplicationSettings tApplicationSettings = { 0 }; + uint8_t dataIsRead = false; + zpal_status_t status; + + if (ObjectExist(FILE_ID_APPLICATIONSETTINGS)) + { + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONSETTINGS, &tApplicationSettings, FILE_SIZE_APPLICATIONSETTINGS); + if (ZPAL_STATUS_OK == status) + { + *pListening = tApplicationSettings.listening; + *pGeneric = tApplicationSettings.generic ; + *pSpecific = tApplicationSettings.specific; + dataIsRead = true; + } + } + return dataIsRead; + +} + + +uint8_t +SaveApplicationCCInfo (uint8_t bUnSecureIncludedCCLen, + const uint8_t* pUnSecureIncludedCC, + uint8_t bSecureIncludedUnSecureCCLen, + const uint8_t* pSecureIncludedUnSecureCC, + uint8_t bSecureIncludedSecureCCLen, + const uint8_t* pSecureIncludedSecureCC) +{ + SApplicationCmdClassInfo tApplicationCmdClassInfo = { 0 }; + uint8_t dataIsWritten = false; + zpal_status_t status; + + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCMDINFO, &tApplicationCmdClassInfo, FILE_SIZE_APPLICATIONCMDINFO); + if (ZPAL_STATUS_OK == status) + { + + tApplicationCmdClassInfo.UnSecureIncludedCCLen = bUnSecureIncludedCCLen; + tApplicationCmdClassInfo.SecureIncludedUnSecureCCLen = bSecureIncludedUnSecureCCLen; + tApplicationCmdClassInfo.SecureIncludedSecureCCLen = bSecureIncludedSecureCCLen; + + for (uint8_t i = 0; i < APPL_NODEPARM_MAX; i++) + { + if (i < bUnSecureIncludedCCLen) + { + tApplicationCmdClassInfo.UnSecureIncludedCC[i] = pUnSecureIncludedCC[i]; + } + else + { + tApplicationCmdClassInfo.UnSecureIncludedCC[i] = 0; + } + + if (i < bSecureIncludedUnSecureCCLen) + { + tApplicationCmdClassInfo.SecureIncludedUnSecureCC[i] = pSecureIncludedUnSecureCC[i]; + } + else + { + tApplicationCmdClassInfo.SecureIncludedUnSecureCC[i] = 0; + } + + if (i < bSecureIncludedSecureCCLen) + { + tApplicationCmdClassInfo.SecureIncludedSecureCC[i] = pSecureIncludedSecureCC[i]; + } + else + { + tApplicationCmdClassInfo.SecureIncludedSecureCC[i] = 0; + } + + } + status = ZAF_nvm_app_write(FILE_ID_APPLICATIONCMDINFO, &tApplicationCmdClassInfo, FILE_SIZE_APPLICATIONCMDINFO); + if (ZPAL_STATUS_OK == status) + { + dataIsWritten = true; + } + } + return dataIsWritten; + +} + + +uint8_t +ReadApplicationCCInfo (uint8_t* pUnSecureIncludedCCLen, + uint8_t* pUnSecureIncludedCC, + uint8_t* pSecureIncludedUnSecureCCLen, + uint8_t* pSecureIncludedUnSecureCC, + uint8_t* pSecureIncludedSecureCCLen, + uint8_t* pSecureIncludedSecureCC) +{ + SApplicationCmdClassInfo tApplicationCmdClassInfo = { 0 }; + uint8_t dataIsRead = false; + zpal_status_t status; + + if (ObjectExist(FILE_ID_APPLICATIONCMDINFO)) + { + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCMDINFO, &tApplicationCmdClassInfo, FILE_SIZE_APPLICATIONCMDINFO); + if (ZPAL_STATUS_OK == status) + { + dataIsRead = true; + *pUnSecureIncludedCCLen = tApplicationCmdClassInfo.UnSecureIncludedCCLen; + *pSecureIncludedUnSecureCCLen = tApplicationCmdClassInfo.SecureIncludedUnSecureCCLen; + *pSecureIncludedSecureCCLen = tApplicationCmdClassInfo.SecureIncludedSecureCCLen; + for (uint8_t i = 0; i < APPL_NODEPARM_MAX; i++) + { + if (i < *pUnSecureIncludedCCLen) + { + pUnSecureIncludedCC[i] = tApplicationCmdClassInfo.UnSecureIncludedCC[i] ; + } + else + { + pUnSecureIncludedCC[i] = 0; + } + + if (i < *pSecureIncludedUnSecureCCLen) + { + pSecureIncludedUnSecureCC[i] = tApplicationCmdClassInfo.SecureIncludedUnSecureCC[i]; + } + else + { + pSecureIncludedUnSecureCC[i] = 0; + } + + if (i < *pSecureIncludedSecureCCLen) + { + pSecureIncludedSecureCC[i] = tApplicationCmdClassInfo.SecureIncludedSecureCC[i]; + } + else + { + pSecureIncludedSecureCC[i] = 0; + } + + } + } + } + return dataIsRead; + +} + +uint8_t +SaveApplicationRfRegion(zpal_radio_region_t rfRegion) +{ + SApplicationConfiguration tApplicationConfiguration = { 0 }; + uint8_t dataIsWritten = false; + zpal_status_t status; + + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + tApplicationConfiguration.rfRegion = rfRegion; + status = ZAF_nvm_app_write(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + dataIsWritten = true; + } + } + return dataIsWritten; +} + +uint8_t +ReadApplicationRfRegion(zpal_radio_region_t* rfRegion) +{ + SApplicationConfiguration tApplicationConfiguration = { 0 }; + uint8_t dataIsRead = false; + zpal_status_t status; + + if (ObjectExist(FILE_ID_APPLICATIONCONFIGURATION)) + { + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + *rfRegion = tApplicationConfiguration.rfRegion; + dataIsRead = true; + } + } + return dataIsRead; + +} + +uint8_t +SaveApplicationNodeIdBaseType(eSerialAPISetupNodeIdBaseType nodeIdBaseType) +{ + SApplicationConfiguration tApplicationConfiguration = { .rfRegion = REGION_UNDEFINED }; + uint8_t dataIsWritten = false; + + if (ZPAL_STATUS_OK == ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION)) + { + tApplicationConfiguration.nodeIdBaseType = nodeIdBaseType; + if (ZPAL_STATUS_OK == ZAF_nvm_app_write(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION)) + { + dataIsWritten = true; + } + } + return dataIsWritten; +} + +uint8_t +ReadApplicationNodeIdBaseType(eSerialAPISetupNodeIdBaseType* nodeIdBaseType) +{ + SApplicationConfiguration tApplicationConfiguration = { .rfRegion = REGION_UNDEFINED }; + uint8_t dataIsRead = false; + + if (ObjectExist(FILE_ID_APPLICATIONCONFIGURATION) + && (ZPAL_STATUS_OK == ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION))) + { + *nodeIdBaseType = tApplicationConfiguration.nodeIdBaseType; + dataIsRead = true; + } + return dataIsRead; + +} + +uint8_t +SaveApplicationTxPowerlevel(zpal_tx_power_t ipower, zpal_tx_power_t power0dbmMeasured) +{ + SApplicationConfiguration tApplicationConfiguration = { 0 }; + uint8_t dataIsWritten = false; + zpal_status_t status; + + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + tApplicationConfiguration.iTxPower = ipower; + tApplicationConfiguration.ipower0dbmMeasured = power0dbmMeasured; + status = ZAF_nvm_app_write(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + dataIsWritten = true; + } + } + return dataIsWritten; +} + + +uint8_t +ReadApplicationTxPowerlevel(zpal_tx_power_t *ipower, zpal_tx_power_t *power0dbmMeasured) +{ + SApplicationConfiguration tApplicationConfiguration = { 0 }; + uint8_t dataIsRead = false; + zpal_status_t status; + + if (ObjectExist(FILE_ID_APPLICATIONCONFIGURATION)) + { + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + *ipower = tApplicationConfiguration.iTxPower; + *power0dbmMeasured = tApplicationConfiguration.ipower0dbmMeasured; + dataIsRead = true; + } + } + return dataIsRead; +} + + +uint8_t +SaveApplicationMaxLRTxPwr(zpal_tx_power_t maxTxPwr) +{ + SApplicationConfiguration tApplicationConfiguration = { 0 }; + uint8_t dataIsWritten = false; + zpal_status_t status; + + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + tApplicationConfiguration.maxTxPower = maxTxPwr; + status = ZAF_nvm_app_write(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + dataIsWritten = true; + } + } + return dataIsWritten; +} + + +uint8_t +ReadApplicationMaxLRTxPwr(zpal_tx_power_t *maxTxPwr) +{ + SApplicationConfiguration tApplicationConfiguration = { 0 }; + uint8_t dataIsRead = false; + zpal_status_t status; + + if (ObjectExist(FILE_ID_APPLICATIONCONFIGURATION)) + { + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + *maxTxPwr = tApplicationConfiguration.maxTxPower; + dataIsRead = true; + } + } + return dataIsRead; +} + + +uint8_t +SaveApplicationEnablePTI(uint8_t radio_debug_enable) +{ + SApplicationConfiguration tApplicationConfiguration = { 0 }; + uint8_t dataIsWritten = false; + zpal_status_t status; + + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + tApplicationConfiguration.radio_debug_enable = radio_debug_enable; + status = ZAF_nvm_app_write(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + dataIsWritten = true; + } + } + return dataIsWritten; +} + + +uint8_t +ReadApplicationEnablePTI(uint8_t *radio_debug_enable) +{ + SApplicationConfiguration tApplicationConfiguration = { 0 }; + uint8_t dataIsRead = false; + zpal_status_t status; + + if (ObjectExist(FILE_ID_APPLICATIONCONFIGURATION)) + { + status = ZAF_nvm_app_read(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, FILE_SIZE_APPLICATIONCONFIGURATION); + if (ZPAL_STATUS_OK == status) + { + *radio_debug_enable = tApplicationConfiguration.radio_debug_enable; + dataIsRead = true; + } + } + return dataIsRead; +} + + +uint32_t +ReadApplicationVersion(void) +{ + uint32_t appVersion = 0; + SerialAPI_GetZWVersion(&appVersion); + return appVersion; +} + +static void +WriteDefaultApplicationSettings(void) +{ + //Write default Application Settings file + SApplicationSettings tApplicationSettings = { 0 }; + ZAF_nvm_app_write(FILE_ID_APPLICATIONSETTINGS, &tApplicationSettings, sizeof(SApplicationSettings)); +} + +static void +WriteDefaultApplicationCmdClassInfo(void) +{ + //Write default ApplicationCmdClassInfo file + SApplicationCmdClassInfo tApplicationCmdClassInfo = { 0 }; + ZAF_nvm_app_write(FILE_ID_APPLICATIONCMDINFO, &tApplicationCmdClassInfo, sizeof(SApplicationCmdClassInfo)); +} + +static void +WriteDefaultApplicationData(void) +{ + //Write default Controller Info file + SApplicationData tApplicationData = { 0 }; + ZAF_nvm_app_write(FILE_ID_APPLICATIONDATA, &tApplicationData, sizeof(SApplicationData)); +} + +static void +WriteDefaultApplicationConfiguration(void) +{ + //Write default Application Configuration file + SApplicationConfiguration tApplicationConfiguration = { 0 }; + ZAF_nvm_app_write(FILE_ID_APPLICATIONCONFIGURATION, &tApplicationConfiguration, sizeof(SApplicationConfiguration)); +} + +static void +WriteDefaultApplicationFileSystemVersion(void) +{ + //Write Application filesystem version + uint32_t appVersion = (APP_VERSION << 16) | (APP_REVISION << 8) | APP_PATCH; + SerialAPI_SetZWVersion(&appVersion); +} + +static void +WriteDefault(void) +{ + WriteDefaultApplicationSettings(); + + WriteDefaultApplicationCmdClassInfo(); + + WriteDefaultApplicationData(); + + WriteDefaultApplicationConfiguration(); + + WriteDefaultApplicationFileSystemVersion(); +} diff --git a/src/zwave_ncp/serialapi_file.h b/src/zwave_ncp/serialapi_file.h new file mode 100644 index 00000000..42051aa2 --- /dev/null +++ b/src/zwave_ncp/serialapi_file.h @@ -0,0 +1,136 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + * @brief module that handle SerialAPI application data + * @details This module implement SerialAPI filesystem functions + */ + +#include +#include +#include +#include +#include "cmds_management.h" + +#define FILE_ID_APPLICATIONSETTINGS 102 +#define FILE_ID_APPLICATIONCMDINFO 103 +#define FILE_ID_APPLICATIONCONFIGURATION 104 +#define FILE_ID_APPLICATIONDATA 200 +#define FILE_ID_PROPRIETARY_1 300 + +/** + * @brief Initailize the serialAPI file system + * + * return false if application files was corrupted or didn't exist already, otherwise true + */ +uint8_t SerialApiFileInit(void); + +/** + * @brief Reads application data from file system. + */ +uint8_t SerialApiNvmReadAppData(uint32_t offset, uint8_t* pAppData, uint32_t iLength); + +/** + * @brief Writes application data to file system. + */ +uint8_t SerialApiNvmWriteAppData(uint32_t offset, const uint8_t* pAppData, uint32_t iLength); + +uint8_t +SaveApplicationSettings(uint8_t bListening, + uint8_t bGeneric, + uint8_t bSpecific); + +uint8_t +ReadApplicationSettings(uint8_t* pListening, + uint8_t* pGeneric, + uint8_t* pSpecific); + +/** + * @brief Writes the node cmd class information setting + */ +uint8_t +SaveApplicationCCInfo (uint8_t bUnSecureIncludedCCLen, + const uint8_t* pUnSecureIncludedCC, + uint8_t bSecureIncludedUnSecureCCLen, + const uint8_t* pSecureIncludedUnSecureCC, + uint8_t bSecureIncludedSecureCCLen, + const uint8_t* pSecureIncludedSecureCC); + +/** + * @brief read the node cmd class information setting + */ +uint8_t +ReadApplicationCCInfo (uint8_t* pUnSecureIncludedCCLen, + uint8_t* pUnSecureIncludedCC, + uint8_t* pSecureIncludedUnSecureCCLen, + uint8_t* pSecureIncludedUnSecureCC, + uint8_t* pSecureIncludedSecureCCLen, + uint8_t* pSecureIncludedSecureCC); + +/** + * @brief Writes the application configuration to file system + */ +uint8_t +SaveApplicationRfRegion(zpal_radio_region_t rfRegion); + +/** + * @brief Reads the application configuration from file system + */ +uint8_t +ReadApplicationRfRegion(zpal_radio_region_t* rfRegion); + +uint8_t +SaveApplicationNodeIdBaseType(eSerialAPISetupNodeIdBaseType nodeIdBaseType); + + +uint8_t +ReadApplicationNodeIdBaseType(eSerialAPISetupNodeIdBaseType* nodeIdBaseType); + + +/** + * @brief Writes the application Tx power configuration to file system + */ +uint8_t +SaveApplicationTxPowerlevel(zpal_tx_power_t ipower, zpal_tx_power_t power0dbmMeasured); + +/** + * @brief Reads the application Tx power configuration from file system + */ +uint8_t +ReadApplicationTxPowerlevel(zpal_tx_power_t *ipower, zpal_tx_power_t *power0dbmMeasured); + + +/** + * Writes the application Max LR tx power value configuration to file system + * + * @param maxTxPwr the LR max tx power value in deci + * @return value was saved correctly + */ +uint8_t +SaveApplicationMaxLRTxPwr(zpal_tx_power_t maxTxPwr); + +/** + * Reads the application Max LR tx power value configuration from file system + * + * @param maxTxPwr pointer to the LR max tx power value in deci + * @return value was read correctly + */ +uint8_t +ReadApplicationMaxLRTxPwr(zpal_tx_power_t *maxTxPwr); + +/** + * @brief Writes radio_debug_enable to file system + */ +uint8_t +SaveApplicationEnablePTI(uint8_t radio_debug_enable); + +/** + * @brief Reads radio_debug_enable from file system + */ +uint8_t +ReadApplicationEnablePTI(uint8_t *radio_debug_enable); + +/** + * @brief Reads the application version from NVM + */ +uint32_t +ReadApplicationVersion(void); diff --git a/src/zwave_ncp/slave_supported_func.h b/src/zwave_ncp/slave_supported_func.h new file mode 100644 index 00000000..797f9480 --- /dev/null +++ b/src/zwave_ncp/slave_supported_func.h @@ -0,0 +1,62 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include "common_supported_func.h" + +#define SUPPORT_GET_ROUTING_TABLE_LINE 0 /* ZW_GetRoutingInfo */ +#define SUPPORT_NVM_BACKUP_RESTORE 0 /* MemoryGetBuffer */ +#define SUPPORT_ZW_ADD_NODE_TO_NETWORK 0 /* ZW_AddNodeToNetwork */ +#define SUPPORT_ZW_ASSIGN_RETURN_ROUTE 0 /* ZW_AssignReturnRoute */ +#define SUPPORT_ZW_ASSIGN_PRIORITY_RETURN_ROUTE 0 /* ZW_AssignPriorityReturnRoute */ +#define SUPPORT_ZW_ASSIGN_SUC_RETURN_ROUTE 0 /* ZW_AssignSUCReturnRoute */ +#define SUPPORT_ZW_ASSIGN_PRIORITY_SUC_RETURN_ROUTE 0 /* ZW_AssignPrioritySUCReturnRoute */ +#define SUPPORT_ZW_CONTROLLER_CHANGE 0 /* ZW_ControllerChange */ +#define SUPPORT_ZW_DELETE_RETURN_ROUTE 0 /* ZW_DeleteReturnRoute */ +#define SUPPORT_ZW_DELETE_SUC_RETURN_ROUTE 0 /* ZW_DeleteSUCReturnRoute */ +#define SUPPORT_ZW_GET_CONTROLLER_CAPABILITIES 0 /* ZW_GetControllerCapabilities */ +#define SUPPORT_ZW_GET_PRIORITY_ROUTE 0 /* ZW_GetPriorityRoute */ +#define SUPPORT_ZW_SET_PRIORITY_ROUTE 0 /* ZW_SetPriorityRoute */ +#define SUPPORT_ZW_IS_FAILED_NODE_ID 0 /* ZW_isFailedNode */ +#define SUPPORT_ZW_REMOVE_FAILED_NODE_ID 0 /* ZW_RemoveFailedNode */ +#define SUPPORT_ZW_REMOVE_NODE_FROM_NETWORK 0 /* ZW_RemoveNodeFromNetwork */ +#define SUPPORT_ZW_REMOVE_NODE_ID_FROM_NETWORK 0 /* ZW_RemoveNodeIDFromNetwork */ +#define SUPPORT_ZW_REPLACE_FAILED_NODE 0 /* ZW_ReplaceFailedNode */ +#define SUPPORT_ZW_REPLICATION_COMMAND_COMPLETE 0 /* ZW_ReplicationReceiveComplete */ +#define SUPPORT_ZW_REPLICATION_SEND_DATA 0 /* ZW_ReplicationSend */ +#define SUPPORT_ZW_REQUEST_NODE_INFO 0 /* ZW_RequestNodeInfo */ +#define SUPPORT_ZW_REQUEST_NODE_NEIGHBOR_UPDATE 0 /* ZW_RequestNodeNeighborUpdate */ +#define SUPPORT_ZW_SEND_DATA_EX 1 /* ZW_SendDataEx */ +#define SUPPORT_ZW_SEND_DATA_MULTI_EX 1 /* ZW_SendDataMultiEx */ +#define SUPPORT_ZW_GET_SECURITY_KEYS 1 /* ZW_GetSecurityKeys */ +#define SUPPORT_ZW_SEND_SUC_ID 0 /* ZW_SendSUCID */ +#define SUPPORT_ZW_SEND_TEST_FRAME 0 /* ZW_SendTestFrame */ +#define SUPPORT_ZW_SET_ROUTING_MAX 0 /*notUsed*/ +#define SUPPORT_ZW_NVR_GET_VALUE 0 /* ZW_NVRGetValue */ +#define SUPPORT_ZW_INITIATE_SHUTDOWN 0 +#define SUPPORT_SERIAL_API_GET_LR_NODES 0 +#define SUPPORT_SERIAL_GET_LR_CHANNEL 0 +#define SUPPORT_SERIAL_SET_LR_CHANNEL 0 +#define SUPPORT_SERIAL_SET_LR_VIRTUAL_IDS 0 +#define SUPPORT_SERIAL_ENABLE_RADIO_PTI 0 + +/* */ +#define SUPPORT_SERIAL_API_GET_APPL_HOST_MEMORY_OFFSET 0 + +/**************************************************************************/ +/* Common for all slaves */ +/* SerialAPI functionality support definitions */ +#define SUPPORT_ZW_APPLICATION_CONTROLLER_UPDATE 0 + +/**************************************************************************/ +/* Slave enhanced */ +/* Specific SerialAPI functionality support definitions */ + +#define SUPPORT_ZW_GET_VIRTUAL_NODES 0 /* ZW_GetVirtualNodes */ +#define SUPPORT_ZW_IS_VIRTUAL_NODE 0 /* ZW_IsVirtualNode */ +#define SUPPORT_ZW_SEND_DATA_BRIDGE 0 /* ZW_SendData_Bridge */ +#define SUPPORT_ZW_SEND_DATA_MULTI_BRIDGE 0 /* ZW_SendDataMulti_Bridge */ +#define SUPPORT_ZW_SET_SLAVE_LEARN_MODE 0 /* ZW_SetSlaveLearnMode */ +#define SUPPORT_SERIAL_API_APPL_SLAVE_NODE_INFORMATION 0 +#define SUPPORT_ZW_SEND_SLAVE_NODE_INFORMATION 0 diff --git a/src/zwave_ncp/utils.c b/src/zwave_ncp/utils.c new file mode 100644 index 00000000..75eafc20 --- /dev/null +++ b/src/zwave_ncp/utils.c @@ -0,0 +1,287 @@ +/** + * @file utils.c + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include +#include +#include +#include +#include + +static TaskHandle_t task_handle; + +uint8_t GetCommandResponse(SZwaveCommandStatusPackage *pCmdStatus, EZwaveCommandStatusType cmdType) +{ + const SApplicationHandles * m_pAppHandles = ZAF_getAppHandle(); + TaskHandle_t m_pAppTaskHandle = GetTaskHandle(); + QueueHandle_t Queue = m_pAppHandles->ZwCommandStatusQueue; + for (uint8_t delayCount = 0; delayCount < 100; delayCount++) + { + for (UBaseType_t QueueElmCount = uxQueueMessagesWaiting(Queue); QueueElmCount > 0; QueueElmCount--) + { + if (xQueueReceive(Queue, (uint8_t*)pCmdStatus, 0)) + { + if (pCmdStatus->eStatusType == cmdType) + { + if (m_pAppTaskHandle && (0 < uxQueueMessagesWaiting(Queue))) + { + /* More elements in queue call xTaskNotify */ + __attribute__((unused)) BaseType_t Status = xTaskNotify(m_pAppTaskHandle, 1 << EAPPLICATIONEVENT_ZWCOMMANDSTATUS, eSetBits); + assert(Status == pdPASS); // We probably received a bad Task handle + } + return true; + } + else + { + /* Re-insert none-matching message into Queue */ + __attribute__((unused)) BaseType_t result = xQueueSendToBack(Queue, (uint8_t*)pCmdStatus, 0); + assert(pdTRUE == result); + } + } + } + vTaskDelay(10); + } + if (m_pAppTaskHandle && (0 < uxQueueMessagesWaiting(Queue))) + { + /* Only call xTaskNotify if still elements in queue */ + __attribute__((unused)) BaseType_t Status = xTaskNotify(m_pAppTaskHandle, 1 << EAPPLICATIONEVENT_ZWCOMMANDSTATUS, eSetBits); + assert(Status == pdPASS); // We probably received a bad Task handle + } + return false; +} + +uint8_t IsPrimaryController(void) +{ + const SApplicationHandles *m_pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_IS_PRIMARY_CTRL + }; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_IS_PRIMARY_CTRL)) + { + return cmdStatus.Content.IsPrimaryCtrlStatus.result; + } + assert(false); + return 0; +} + +uint8_t GetControllerCapabilities(void) +{ + const SApplicationHandles *m_pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_GET_CONTROLLER_CAPABILITIES + }; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { .eStatusType = EZWAVECOMMANDSTATUS_GET_CONTROLLER_CAPABILITIES }; + if (GetCommandResponse(&cmdStatus, cmdStatus.eStatusType)) + { + return cmdStatus.Content.GetControllerCapabilitiesStatus.result; + } + assert(false); + return 0; +} + +uint8_t QueueProtocolCommand(uint8_t *pCommand) +{ + const SApplicationHandles *m_pAppHandles = ZAF_getAppHandle(); + // Put the Command on queue (and dont wait for it, queue must be empty) + return (QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, pCommand, 0)); +} + +/** +* Aquire node information from protocol +* +* Method requires CommandStatus queue from protocol to be empty. +* Method requires CommandQueue to protocol to be empty. +* Method will cause assert on failure. +* +* @param[in] NodeId ID of node to get information about. +* @param[out] pNodeInfo Pointer to t_extNodeInfo struct where aquired node info can be stored. +*/ +void GetNodeInfo(uint16_t NodeId, t_ExtNodeInfo* pNodeInfo) +{ + const SApplicationHandles *m_pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage GetNodeInfoCommand = { + .eCommandType = EZWAVECOMMANDTYPE_NODE_INFO, + .uCommandParams.NodeInfo.NodeId = NodeId + }; + + // Put the Command on queue (and dont wait for it, queue must be empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, (uint8_t *)&GetNodeInfoCommand, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + // Wait for protocol to handle command (it shouldnt take long) + SZwaveCommandStatusPackage NodeInfo = { .eStatusType = EZWAVECOMMANDSTATUS_NODE_INFO}; + if (GetCommandResponse(&NodeInfo, NodeInfo.eStatusType)) + { + if (NodeInfo.Content.NodeInfoStatus.NodeId == NodeId) + { + memcpy(pNodeInfo, (uint8_t*)&NodeInfo.Content.NodeInfoStatus.extNodeInfo, sizeof(NodeInfo.Content.NodeInfoStatus.extNodeInfo)); + return; + } + } + assert(false); +} + +/** +* Aquire a list of included nodes IDS in the network from protocol +* +* Method requires CommandStatus queue from protocol to be empty. +* Method requires CommandQueue to protocol to be empty. +* Method will cause assert on failure. +* +* @param[out] node_id_list Pointer to bitmask list where aquired included nodes IDs saved +*/ +void Get_included_nodes(uint8_t* node_id_list) +{ + const SApplicationHandles *m_pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage GetIncludedNodesCommand = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_GET_INCLUDED_NODES}; + + // Put the Command on queue (and dont wait for it, queue must be empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, (uint8_t *)&GetIncludedNodesCommand, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + // Wait for protocol to handle command (it shouldnt take long) + SZwaveCommandStatusPackage includedNodes = { .eStatusType = EZWAVECOMMANDSTATUS_ZW_GET_INCLUDED_NODES }; + if (GetCommandResponse(&includedNodes, includedNodes.eStatusType)) + { + memcpy(node_id_list, (uint8_t*)includedNodes.Content.GetIncludedNodes.node_id_list, sizeof(NODE_MASK_TYPE)); + return; + } + assert(false); +} + + +/** +* Acquire a list of included long range nodes IDS in the network from protocol. +* +* Method requires CommandStatus queue from protocol to be empty. +* Method requires CommandQueue to protocol to be empty. +* Method will cause assert on failure. +* +* @param[out] node_id_list Pointer to bitmask list where aquired included nodes IDs saved +*/ +void Get_included_lr_nodes(uint8_t* node_id_list) +{ + const SApplicationHandles * m_pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage GetIncludedNodesCommand = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_GET_INCLUDED_LR_NODES + }; + + // Put the Command on queue (and don't wait for it, queue is most likely empty) + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, (uint8_t *)&GetIncludedNodesCommand, 0); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + // Wait for protocol to handle command (it shouldn't take long) + SZwaveCommandStatusPackage includedNodes = { 0 }; + if (GetCommandResponse(&includedNodes, EZWAVECOMMANDSTATUS_ZW_GET_INCLUDED_LR_NODES)) + { + memcpy(node_id_list, (uint8_t*)includedNodes.Content.GetIncludedNodesLR.node_id_list, sizeof(LR_NODE_MASK_TYPE)); + return; + } + assert(false); +} + + +void TriggerNotification(EApplicationEvent event) +{ + TaskHandle_t m_pAppTaskHandle = GetTaskHandle(); + if (m_pAppTaskHandle) + { + BaseType_t xHigherPriorityTaskWoken = pdFALSE; + + xTaskNotifyFromISR(m_pAppTaskHandle, + 1 << event, + eSetBits, + &xHigherPriorityTaskWoken + ); + /* If xHigherPriorityTaskWoken is now set to pdTRUE then a context switch + should be performed to ensure the interrupt returns directly to the highest + priority task. The macro used for this purpose is dependent on the port in + use and may be called portEND_SWITCHING_ISR(). */ + portYIELD_FROM_ISR( xHigherPriorityTaskWoken ); + } + +} + +#define LR_AUTO_CHANNEL_CONFIG_MASK 0xF0 +#define LR_CURRENT_ACTIVE_CHANNEL_MASK 0x0F + +void GetLongRangeChannel(uint8_t * channel_n, uint8_t *auto_channel_config) +{ + const SApplicationHandles * m_pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_GET_LR_CHANNEL + }; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + *auto_channel_config = 0; + *channel_n = 0; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_ZW_GET_LR_CHANNEL)) + { + *channel_n = cmdStatus.Content.GetLRChannel.result & LR_CURRENT_ACTIVE_CHANNEL_MASK; + *auto_channel_config = cmdStatus.Content.GetLRChannel.result & LR_AUTO_CHANNEL_CONFIG_MASK; + return; + } + assert(false); +} + +bool SetLongRangeChannel(uint8_t channel) +{ + const SApplicationHandles * m_pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_SET_LR_CHANNEL, + .uCommandParams.SetLRChannel.value = channel + }; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { 0 }; + if (GetCommandResponse(&cmdStatus, EZWAVECOMMANDSTATUS_ZW_SET_LR_CHANNEL)) + { + return cmdStatus.Content.SetLRChannel.result; + } + assert(false); + return 0; + +} + +void SetLongRangeVirtualNodes(uint8_t bitmask) +{ + const SApplicationHandles * m_pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_SET_LR_VIRTUAL_IDS, + .uCommandParams.SetLRVirtualNodeIDs.value = bitmask + }; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); +} + +uint8_t GetPTIConfig(void) +{ + const SApplicationHandles * m_pAppHandles = ZAF_getAppHandle(); + SZwaveCommandPackage cmdPackage = { + .eCommandType = EZWAVECOMMANDTYPE_ZW_GET_PTI_CONFIG + }; + __attribute__((unused)) EQueueNotifyingStatus QueueStatus = QueueNotifyingSendToBack(m_pAppHandles->pZwCommandQueue, (uint8_t *)&cmdPackage, 500); + assert(EQUEUENOTIFYING_STATUS_SUCCESS == QueueStatus); + SZwaveCommandStatusPackage cmdStatus = { .eStatusType = EZWAVECOMMANDSTATUS_ZW_GET_PTI_CONFIG }; + if (GetCommandResponse(&cmdStatus, cmdStatus.eStatusType)) + { + return cmdStatus.Content.GetPTIconfig.result; + } + assert(false); + return 0; +} + +void SetTaskHandle(TaskHandle_t new_task_handle) +{ + task_handle = new_task_handle; +} + +TaskHandle_t GetTaskHandle(void) +{ + return task_handle; +} diff --git a/src/zwave_ncp/utils.h b/src/zwave_ncp/utils.h new file mode 100644 index 00000000..bf34be70 --- /dev/null +++ b/src/zwave_ncp/utils.h @@ -0,0 +1,38 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#ifndef APPS_SERIALAPI_UTILS_H_ +#define APPS_SERIALAPI_UTILS_H_ + +#include +#include +#include + +uint8_t QueueProtocolCommand(uint8_t *pCommand); + +uint8_t GetCommandResponse(SZwaveCommandStatusPackage *pCmdStatus, EZwaveCommandStatusType cmdType); + +uint8_t IsPrimaryController(void); + +uint8_t GetControllerCapabilities(void); + +void GetNodeInfo(uint16_t NodeId, t_ExtNodeInfo* pNodeInfo); + +void Get_included_nodes(uint8_t* node_id_list); +void Get_included_lr_nodes(uint8_t* node_id_list); + +void TriggerNotification(EApplicationEvent event); + +void GetLongRangeChannel(uint8_t * channel_n, uint8_t *auto_channel_config); +bool SetLongRangeChannel(uint8_t channel); + +void SetLongRangeVirtualNodes(uint8_t bitmask); + +uint8_t GetPTIConfig(void); + +void SetTaskHandle(TaskHandle_t new_task_handle); +TaskHandle_t GetTaskHandle(void); + +#endif /* APPS_SERIALAPI_UTILS_H_ */ diff --git a/src/zwave_ncp/virtual_slave_node_info.c b/src/zwave_ncp/virtual_slave_node_info.c new file mode 100644 index 00000000..3853b093 --- /dev/null +++ b/src/zwave_ncp/virtual_slave_node_info.c @@ -0,0 +1,25 @@ +/** + * @file virtual_slave_node_info.c + * @copyright 2022 Silicon Laboratories Inc. + */ + +#include "virtual_slave_node_info.h" + +#ifdef ZW_CONTROLLER_BRIDGE + +uint8_t aVirtualSlaveCommandClasses[MAX_VIRTUAL_SLAVE_NODES][APPL_SLAVENODEPARM_MAX]; + +SVirtualSlaveNodeInfo_t aVirtualSlaveNodeInfo[MAX_VIRTUAL_SLAVE_NODES] = {{.bListening = true, + .NodeType.generic = GENERIC_TYPE_SWITCH_MULTILEVEL, + .NodeType.specific = SPECIFIC_TYPE_NOT_USED, + .CommandClasses.iListLength = 0, + .CommandClasses.pCommandClasses = &aVirtualSlaveCommandClasses[0][0]}}; +SVirtualSlaveNodeInfo_t *apVirtualSlaveNodeInfo[sizeof_array(aVirtualSlaveNodeInfo)] = {&aVirtualSlaveNodeInfo[0]}; + +const SVirtualSlaveNodeInfoTable_t VirtualSlaveNodeInfoTable = +{ + .iTableLength = sizeof_array(apVirtualSlaveNodeInfo), + .ppNodeInfo = (const SVirtualSlaveNodeInfo_t **)apVirtualSlaveNodeInfo +}; + +#endif // ifdef ZW_CONTROLLER_BRIDGE diff --git a/src/zwave_ncp/virtual_slave_node_info.h b/src/zwave_ncp/virtual_slave_node_info.h new file mode 100644 index 00000000..32fa8611 --- /dev/null +++ b/src/zwave_ncp/virtual_slave_node_info.h @@ -0,0 +1,26 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ + +#ifndef VIRTUAL_SLAVE_NODE_INFO_H_ +#define VIRTUAL_SLAVE_NODE_INFO_H_ + +#include +#include +#include "app.h" + +#ifdef ZW_CONTROLLER_BRIDGE +// Virtual slave node info storage +// array size is number of simultaneous virtual slaves supported + +#define MAX_VIRTUAL_SLAVE_NODES (1) + +extern uint8_t aVirtualSlaveCommandClasses[MAX_VIRTUAL_SLAVE_NODES][APPL_SLAVENODEPARM_MAX]; +extern SVirtualSlaveNodeInfo_t aVirtualSlaveNodeInfo[MAX_VIRTUAL_SLAVE_NODES]; +extern SVirtualSlaveNodeInfo_t *apVirtualSlaveNodeInfo[sizeof_array(aVirtualSlaveNodeInfo)]; +extern const SVirtualSlaveNodeInfoTable_t VirtualSlaveNodeInfoTable; + +#endif // ifdef ZW_CONTROLLER_BRIDGE + +#endif /* VIRTUAL_SLAVE_NODE_INFO_H_ */ diff --git a/src/zwave_ncp/zaf_config.h b/src/zwave_ncp/zaf_config.h new file mode 100644 index 00000000..7864decf --- /dev/null +++ b/src/zwave_ncp/zaf_config.h @@ -0,0 +1,400 @@ +/***************************************************************************//** + * # License + * Copyright 2024 Silicon Laboratories Inc. www.silabs.com + ******************************************************************************* + * + * The licensor of this software is Silicon Laboratories Inc. Your use of this + * software is governed by the terms of the Silicon Labs Master Software License + * Agreement (MSLA) available at + * https://www.silabs.com/about-us/legal/master-software-license-agreement + * By installing, copying or otherwise using this software, you agree to the + * terms of the MSLA. + * + ******************************************************************************/ + +#ifndef _ZAF_CONFIG_H_ +#define _ZAF_CONFIG_H_ + +// <<< Use Configuration Wizard in Context Menu >>> + +// Command Class Firmware Update - Bootloader update + +// The bootloader target id <1..255:1> +// If the bootloader update is enabled +// This determines which target id should be used by the bootloader firmware +// Default: 1 +#define ZAF_CONFIG_BOOTLOADER_TARGET_ID 1 + +// Indicates if the bootloader can be updated +// Includes the bootloader as a target +// Default: 1 +#define ZAF_CONFIG_BOOTLOADER_UPGRADABLE 1 + +// +// Command Class Firmware Update - Firmware targets + +// Number of firmware targets <0..10:1> +// Defines the number of supported firmware targets. Setting this number to more than 1 requires +// the application to implement CC_Version_GetFirmwareVersion_handler(). The default value is 1 +// because firmware target 0 is the Z-Wave application firmware (including Z-Wave stack). +// Default: 1 +#define ZAF_CONFIG_FIRMWARE_TARGET_COUNT 1 + +// +// Command Class ZwavePlusInfo Configuration + +// User Icon Type +// User Icon Type reported in Z-Wave Plus Info Report Command +// GENERIC_BARRIER +// GENERIC_CENTRAL_CONTROLLER +// GENERIC_DIMMER_WALL_SWITCH +// GENERIC_DISPLAY_SIMPLE +// GENERIC_DOOR_LOCK_KEYPAD +// GENERIC_ENTRY_CONTROL +// GENERIC_FAN_SWITCH +// GENERIC_GATEWAY +// GENERIC_IRRIGATION +// GENERIC_LIGHT_DIMMER_SWITCH +// GENERIC_ON_OFF_POWER_SWITCH +// GENERIC_ON_OFF_WALL_SWITCH +// GENERIC_POWER_STRIP +// GENERIC_REMOTE_CONTROL_AV +// GENERIC_REMOTE_CONTROL_MULTI_PURPOSE +// GENERIC_REMOTE_CONTROL_SIMPLE +// GENERIC_REPEATER +// GENERIC_SENSOR_MULTILEVEL +// GENERIC_SENSOR_NOTIFICATION +// GENERIC_SET_TOP_BOX +// GENERIC_SIREN +// GENERIC_SUB_ENERGY_METER +// GENERIC_SUB_SYSTEM_CONTROLLER +// GENERIC_THERMOSTAT +// GENERIC_THERMOSTAT_SETBACK_OBSOLETED +// GENERIC_TV +// GENERIC_VALVE_OPEN_CLOSE +// GENERIC_WALL_CONTROLLER +// GENERIC_WHOLE_HOME_METER_SIMPLE +// GENERIC_WINDOW_COVERING_ENDPOINT_AWARE +// GENERIC_WINDOW_COVERING_NO_POSITION_ENDPOINT +// GENERIC_WINDOW_COVERING_POSITION_ENDPOINT_AWARE +// SPECIFIC_DIMMER_WALL_SWITCH_FOUR_BUTTONS +// SPECIFIC_DIMMER_WALL_SWITCH_ONE_BUTTON +// SPECIFIC_DIMMER_WALL_SWITCH_ONE_ROTARY +// SPECIFIC_DIMMER_WALL_SWITCH_THREE_BUTTONS +// SPECIFIC_DIMMER_WALL_SWITCH_TWO_BUTTONS +// SPECIFIC_ENTRY_CONTROL_KEYPAD_0_9 +// SPECIFIC_ENTRY_CONTROL_RFID_TAG_READER_NO_BUTTON +// SPECIFIC_LIGHT_DIMMER_SWITCH_CEILING_OUTLET +// SPECIFIC_LIGHT_DIMMER_SWITCH_LAMP_POST_HIGH +// SPECIFIC_LIGHT_DIMMER_SWITCH_LAMP_POST_LOW +// SPECIFIC_LIGHT_DIMMER_SWITCH_PLUGIN +// SPECIFIC_LIGHT_DIMMER_SWITCH_WALL_LAMP +// SPECIFIC_LIGHT_DIMMER_SWITCH_WALL_OUTLET +// SPECIFIC_ON_OFF_POWER_SWITCH_CEILING_OUTLET +// SPECIFIC_ON_OFF_POWER_SWITCH_LAMP_POST_HIGH +// SPECIFIC_ON_OFF_POWER_SWITCH_LAMP_POST_LOW +// SPECIFIC_ON_OFF_POWER_SWITCH_PLUGIN +// SPECIFIC_ON_OFF_POWER_SWITCH_WALL_LAMP +// SPECIFIC_ON_OFF_POWER_SWITCH_WALL_OUTLET +// SPECIFIC_ON_OFF_WALL_SWITCH_DOOR_BELL +// SPECIFIC_ON_OFF_WALL_SWITCH_FOUR_BUTTONS +// SPECIFIC_ON_OFF_WALL_SWITCH_ONE_BUTTON +// SPECIFIC_ON_OFF_WALL_SWITCH_ONE_ROTARY +// SPECIFIC_ON_OFF_WALL_SWITCH_THREE_BUTTONS +// SPECIFIC_ON_OFF_WALL_SWITCH_TWO_BUTTONS +// SPECIFIC_POWER_STRIP_INDIVIDUAL_OUTLET +// SPECIFIC_REMOTE_CONTROL_SIMPLE_KEYFOB +// SPECIFIC_SENSOR_MULTILEVEL_AIR_FLOW +// SPECIFIC_SENSOR_MULTILEVEL_AIR_TEMPERATURE +// SPECIFIC_SENSOR_MULTILEVEL_ANGLE_POSITION +// SPECIFIC_SENSOR_MULTILEVEL_ATMOSPHERIC_PRESSURE +// SPECIFIC_SENSOR_MULTILEVEL_BAROMETRIC_PRESSURE +// SPECIFIC_SENSOR_MULTILEVEL_CO2_LEVEL +// SPECIFIC_SENSOR_MULTILEVEL_CURRENT +// SPECIFIC_SENSOR_MULTILEVEL_DEW_POINT +// SPECIFIC_SENSOR_MULTILEVEL_DIRECTION +// SPECIFIC_SENSOR_MULTILEVEL_DISTANCE +// SPECIFIC_SENSOR_MULTILEVEL_ELECTRICAL_CONDUCTIVITY +// SPECIFIC_SENSOR_MULTILEVEL_ELECTRICAL_RESISTIVITY +// SPECIFIC_SENSOR_MULTILEVEL_FREQUENCY +// SPECIFIC_SENSOR_MULTILEVEL_GENERAL_PURPOSE_VALUE +// SPECIFIC_SENSOR_MULTILEVEL_HUMIDITY +// SPECIFIC_SENSOR_MULTILEVEL_LOUDNESS +// SPECIFIC_SENSOR_MULTILEVEL_LUMINANCE +// SPECIFIC_SENSOR_MULTILEVEL_MOISTURE +// SPECIFIC_SENSOR_MULTILEVEL_MULTIDEVICE +// SPECIFIC_SENSOR_MULTILEVEL_POWER +// SPECIFIC_SENSOR_MULTILEVEL_RAIN_RATE +// SPECIFIC_SENSOR_MULTILEVEL_ROTATION +// SPECIFIC_SENSOR_MULTILEVEL_SEISMIC_INTENSITY +// SPECIFIC_SENSOR_MULTILEVEL_SEISMIC_MAGNITUDE +// SPECIFIC_SENSOR_MULTILEVEL_SOIL_TEMPERATURE +// SPECIFIC_SENSOR_MULTILEVEL_SOLOR_RADIATION +// SPECIFIC_SENSOR_MULTILEVEL_TANK_CAPACITY +// SPECIFIC_SENSOR_MULTILEVEL_TARGET_TEMPERATURE +// SPECIFIC_SENSOR_MULTILEVEL_TIDE_LEVEL +// SPECIFIC_SENSOR_MULTILEVEL_TIME +// SPECIFIC_SENSOR_MULTILEVEL_ULTRAVIOLET +// SPECIFIC_SENSOR_MULTILEVEL_VELOCITY +// SPECIFIC_SENSOR_MULTILEVEL_VOLTAGE +// SPECIFIC_SENSOR_MULTILEVEL_WATER_TEMPERATURE +// SPECIFIC_SENSOR_MULTILEVEL_WEIGHT +// SPECIFIC_SENSOR_NOTIFICATION_ACCESS_CONTROL +// SPECIFIC_SENSOR_NOTIFICATION_APPLIANCE +// SPECIFIC_SENSOR_NOTIFICATION_CLOCK +// SPECIFIC_SENSOR_NOTIFICATION_CO2_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_CO_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_EMERGENCY_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_GAS_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_HEAT_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_HOME_HEALTH +// SPECIFIC_SENSOR_NOTIFICATION_HOME_SECURITY +// SPECIFIC_SENSOR_NOTIFICATION_IRRIGATION +// SPECIFIC_SENSOR_NOTIFICATION_MULTIDEVICE +// SPECIFIC_SENSOR_NOTIFICATION_POWER_MANAGEMENT +// SPECIFIC_SENSOR_NOTIFICATION_SIREN +// SPECIFIC_SENSOR_NOTIFICATION_SMOKE_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_SYSTEM +// SPECIFIC_SENSOR_NOTIFICATION_WATER_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_WATER_VALVE +// SPECIFIC_SENSOR_NOTIFICATION_WEATHER_ALARM +// SPECIFIC_THERMOSTAT_LINE_VOLTAGE +// SPECIFIC_THERMOSTAT_SETBACK +// Default: ICON_TYPE_GENERIC_ON_OFF_POWER_SWITCH +#define ZAF_CONFIG_USER_ICON_TYPE ICON_TYPE_GENERIC_ON_OFF_POWER_SWITCH + +// Installer Icon Type +// Installer Icon Type reported in Z-Wave Plus Info Report Command +// GENERIC_BARRIER +// GENERIC_CENTRAL_CONTROLLER +// GENERIC_DIMMER_WALL_SWITCH +// GENERIC_DISPLAY_SIMPLE +// GENERIC_DOOR_LOCK_KEYPAD +// GENERIC_ENTRY_CONTROL +// GENERIC_FAN_SWITCH +// GENERIC_GATEWAY +// GENERIC_IRRIGATION +// GENERIC_LIGHT_DIMMER_SWITCH +// GENERIC_ON_OFF_POWER_SWITCH +// GENERIC_ON_OFF_WALL_SWITCH +// GENERIC_POWER_STRIP +// GENERIC_REMOTE_CONTROL_AV +// GENERIC_REMOTE_CONTROL_MULTI_PURPOSE +// GENERIC_REMOTE_CONTROL_SIMPLE +// GENERIC_REPEATER +// GENERIC_SENSOR_MULTILEVEL +// GENERIC_SENSOR_NOTIFICATION +// GENERIC_SET_TOP_BOX +// GENERIC_SIREN +// GENERIC_SUB_ENERGY_METER +// GENERIC_SUB_SYSTEM_CONTROLLER +// GENERIC_THERMOSTAT +// GENERIC_THERMOSTAT_SETBACK_OBSOLETED +// GENERIC_TV +// GENERIC_VALVE_OPEN_CLOSE +// GENERIC_WALL_CONTROLLER +// GENERIC_WHOLE_HOME_METER_SIMPLE +// GENERIC_WINDOW_COVERING_ENDPOINT_AWARE +// GENERIC_WINDOW_COVERING_NO_POSITION_ENDPOINT +// GENERIC_WINDOW_COVERING_POSITION_ENDPOINT_AWARE +// SPECIFIC_DIMMER_WALL_SWITCH_FOUR_BUTTONS +// SPECIFIC_DIMMER_WALL_SWITCH_ONE_BUTTON +// SPECIFIC_DIMMER_WALL_SWITCH_ONE_ROTARY +// SPECIFIC_DIMMER_WALL_SWITCH_THREE_BUTTONS +// SPECIFIC_DIMMER_WALL_SWITCH_TWO_BUTTONS +// SPECIFIC_ENTRY_CONTROL_KEYPAD_0_9 +// SPECIFIC_ENTRY_CONTROL_RFID_TAG_READER_NO_BUTTON +// SPECIFIC_LIGHT_DIMMER_SWITCH_CEILING_OUTLET +// SPECIFIC_LIGHT_DIMMER_SWITCH_LAMP_POST_HIGH +// SPECIFIC_LIGHT_DIMMER_SWITCH_LAMP_POST_LOW +// SPECIFIC_LIGHT_DIMMER_SWITCH_PLUGIN +// SPECIFIC_LIGHT_DIMMER_SWITCH_WALL_LAMP +// SPECIFIC_LIGHT_DIMMER_SWITCH_WALL_OUTLET +// SPECIFIC_ON_OFF_POWER_SWITCH_CEILING_OUTLET +// SPECIFIC_ON_OFF_POWER_SWITCH_LAMP_POST_HIGH +// SPECIFIC_ON_OFF_POWER_SWITCH_LAMP_POST_LOW +// SPECIFIC_ON_OFF_POWER_SWITCH_PLUGIN +// SPECIFIC_ON_OFF_POWER_SWITCH_WALL_LAMP +// SPECIFIC_ON_OFF_POWER_SWITCH_WALL_OUTLET +// SPECIFIC_ON_OFF_WALL_SWITCH_DOOR_BELL +// SPECIFIC_ON_OFF_WALL_SWITCH_FOUR_BUTTONS +// SPECIFIC_ON_OFF_WALL_SWITCH_ONE_BUTTON +// SPECIFIC_ON_OFF_WALL_SWITCH_ONE_ROTARY +// SPECIFIC_ON_OFF_WALL_SWITCH_THREE_BUTTONS +// SPECIFIC_ON_OFF_WALL_SWITCH_TWO_BUTTONS +// SPECIFIC_POWER_STRIP_INDIVIDUAL_OUTLET +// SPECIFIC_REMOTE_CONTROL_SIMPLE_KEYFOB +// SPECIFIC_SENSOR_MULTILEVEL_AIR_FLOW +// SPECIFIC_SENSOR_MULTILEVEL_AIR_TEMPERATURE +// SPECIFIC_SENSOR_MULTILEVEL_ANGLE_POSITION +// SPECIFIC_SENSOR_MULTILEVEL_ATMOSPHERIC_PRESSURE +// SPECIFIC_SENSOR_MULTILEVEL_BAROMETRIC_PRESSURE +// SPECIFIC_SENSOR_MULTILEVEL_CO2_LEVEL +// SPECIFIC_SENSOR_MULTILEVEL_CURRENT +// SPECIFIC_SENSOR_MULTILEVEL_DEW_POINT +// SPECIFIC_SENSOR_MULTILEVEL_DIRECTION +// SPECIFIC_SENSOR_MULTILEVEL_DISTANCE +// SPECIFIC_SENSOR_MULTILEVEL_ELECTRICAL_CONDUCTIVITY +// SPECIFIC_SENSOR_MULTILEVEL_ELECTRICAL_RESISTIVITY +// SPECIFIC_SENSOR_MULTILEVEL_FREQUENCY +// SPECIFIC_SENSOR_MULTILEVEL_GENERAL_PURPOSE_VALUE +// SPECIFIC_SENSOR_MULTILEVEL_HUMIDITY +// SPECIFIC_SENSOR_MULTILEVEL_LOUDNESS +// SPECIFIC_SENSOR_MULTILEVEL_LUMINANCE +// SPECIFIC_SENSOR_MULTILEVEL_MOISTURE +// SPECIFIC_SENSOR_MULTILEVEL_MULTIDEVICE +// SPECIFIC_SENSOR_MULTILEVEL_POWER +// SPECIFIC_SENSOR_MULTILEVEL_RAIN_RATE +// SPECIFIC_SENSOR_MULTILEVEL_ROTATION +// SPECIFIC_SENSOR_MULTILEVEL_SEISMIC_INTENSITY +// SPECIFIC_SENSOR_MULTILEVEL_SEISMIC_MAGNITUDE +// SPECIFIC_SENSOR_MULTILEVEL_SOIL_TEMPERATURE +// SPECIFIC_SENSOR_MULTILEVEL_SOLOR_RADIATION +// SPECIFIC_SENSOR_MULTILEVEL_TANK_CAPACITY +// SPECIFIC_SENSOR_MULTILEVEL_TARGET_TEMPERATURE +// SPECIFIC_SENSOR_MULTILEVEL_TIDE_LEVEL +// SPECIFIC_SENSOR_MULTILEVEL_TIME +// SPECIFIC_SENSOR_MULTILEVEL_ULTRAVIOLET +// SPECIFIC_SENSOR_MULTILEVEL_VELOCITY +// SPECIFIC_SENSOR_MULTILEVEL_VOLTAGE +// SPECIFIC_SENSOR_MULTILEVEL_WATER_TEMPERATURE +// SPECIFIC_SENSOR_MULTILEVEL_WEIGHT +// SPECIFIC_SENSOR_NOTIFICATION_ACCESS_CONTROL +// SPECIFIC_SENSOR_NOTIFICATION_APPLIANCE +// SPECIFIC_SENSOR_NOTIFICATION_CLOCK +// SPECIFIC_SENSOR_NOTIFICATION_CO2_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_CO_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_EMERGENCY_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_GAS_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_HEAT_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_HOME_HEALTH +// SPECIFIC_SENSOR_NOTIFICATION_HOME_SECURITY +// SPECIFIC_SENSOR_NOTIFICATION_IRRIGATION +// SPECIFIC_SENSOR_NOTIFICATION_MULTIDEVICE +// SPECIFIC_SENSOR_NOTIFICATION_POWER_MANAGEMENT +// SPECIFIC_SENSOR_NOTIFICATION_SIREN +// SPECIFIC_SENSOR_NOTIFICATION_SMOKE_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_SYSTEM +// SPECIFIC_SENSOR_NOTIFICATION_WATER_ALARM +// SPECIFIC_SENSOR_NOTIFICATION_WATER_VALVE +// SPECIFIC_SENSOR_NOTIFICATION_WEATHER_ALARM +// SPECIFIC_THERMOSTAT_LINE_VOLTAGE +// SPECIFIC_THERMOSTAT_SETBACK +// Default: ICON_TYPE_GENERIC_ON_OFF_POWER_SWITCH +#define ZAF_CONFIG_INSTALLER_ICON_TYPE ICON_TYPE_GENERIC_ON_OFF_POWER_SWITCH + +// +// Version Configuration + +// Hardware version <0..255:1> +// The Hardware Version field MUST report a value which is unique to this particular +// version of the product. It MUST be possible to uniquely determine the hardware +// characteristics from the Hardware Version field in combination with the Manufacturer +// ID, Product Type ID and Product ID fields of Manufacturer Specific Info Report +// of the Manufacturer Specific Command Class. +// This information allows a user to pick a firmware image version that is guaranteed +// to work with this particular version of the product. +// Note that the Hardware Version field is intended for the hardware version of the +// entire product, not just the version of the Z-Wave radio chip. +// Default: 1 +#define ZAF_CONFIG_HARDWARE_VERSION 1 + +// +// Command Class Manufacturer Specific + +// Manufacturer ID <0x0000..0xFFFF:0x1> +// The default value is set to 0x0000 which is Silicon Labs. +// The value must be updated according to the official list of manufacturers in the Z-Wave Alliance. +// Default: 0x0000 +#define ZAF_CONFIG_MANUFACTURER_ID 0x0000 + +// Product Type ID <0x0000..0xFFFF:0x1> +// Default is 4 which is a value chosen by Silabs. +// Silabs consider this to indicate that the device is a Z-Wave Plus Version 2 device. +// Default: 0x0004 +#define ZAF_CONFIG_PRODUCT_TYPE_ID 0x0004 + +// Product ID <0x0000..0xFFFF:0x1> +// Default is 0 which is invalid in the context of Silicon Labs Z-Wave apps. According to CC +// Manufacturer Specific specification, zero is a valid value and can be used as a product ID. +// Default: 0x0000 +#define ZAF_CONFIG_PRODUCT_ID 0x0000 + +// +// Device type + +// The generic type of a device. +// The generic type of a device. A certain device type requires a generic type, e.g., the Lock device type requires the generic type to be Entry Control. +// Find more info in the Z-Wave Plus v2 Device Type specification. +// AV Control Point +// Entry Control +// Generic Controller +// Meter +// Repeater End Device +// Sensor Multilevel +// Switch Binary +// Switch Multilevel +// Thermostat +// Wall Controller +// Sensor Notification +// Default: 0 +#define ZAF_CONFIG_GENERIC_TYPE 0 + +// The specific type of a device. +// The specific type of a device. A certain device type requires a specific type, e.g., the Lock device type requires the specific type to be Door Lock. +// Find more info in the Z-Wave Plus v2 Device Type specification. +// Specific type not used +// Door Lock +// Secure Gate +// Secure Barrier (open only) +// Secure Barrier (close only) +// Color Tunable Binary +// Color Tunable Multilevel +// Class A Motor Control +// Class B Motor Control +// Class C Motor Control +// Thermostat General Version 2 +// Sound Switch +// Secure Keypad +// Routing Sensor Multilevel +// Notification Sensor +// Repeater End Device +// Infrared Repeater +// Default: SPECIFIC_TYPE_NOT_USED +#define ZAF_CONFIG_SPECIFIC_TYPE SPECIFIC_TYPE_NOT_USED + +// +// Multi Channel Configuration + +// Number of end points <0..255:1> +// Default: 0 +#define ZAF_CONFIG_NUMBER_OF_END_POINTS 0 + +// +// Security Configuration + +// Request S0 network key +// Default: 0 +#define ZAF_CONFIG_REQUEST_KEY_S0 0 + +// Request S2 Unauthenticated network key +// Default: 0 +#define ZAF_CONFIG_REQUEST_KEY_S2_UNAUTHENTICATED 0 + +// Request S2 Authenticated network key +// Default: 0 +#define ZAF_CONFIG_REQUEST_KEY_S2_AUTHENTICATED 0 + +// Request S2 Access network key +// Default: 0 +#define ZAF_CONFIG_REQUEST_KEY_S2_ACCESS 0 + +// Application can only be controlled when included securely +// Default: 0 +#define ZAF_CONFIG_SECURE_ONLY 0 + +// + +// <<< end of configuration section >>> + +#endif /* _ZAF_CONFIG_H_ */ diff --git a/src/zwave_ncp/zaf_config_security.h b/src/zwave_ncp/zaf_config_security.h new file mode 100644 index 00000000..ebe22e80 --- /dev/null +++ b/src/zwave_ncp/zaf_config_security.h @@ -0,0 +1,37 @@ +/** + * @file + * @copyright 2022 Silicon Laboratories Inc. + */ +#ifndef ZAF_CONFIG_SECURITY_H_ +#define ZAF_CONFIG_SECURITY_H_ + +#include "zaf_config.h" +#include "ZW_security_api.h" + +#if ZAF_CONFIG_REQUEST_KEY_S0==1 +#define S0_BIT SECURITY_KEY_S0_BIT +#else +#define S0_BIT 0 +#endif + +#if ZAF_CONFIG_REQUEST_KEY_S2_UNAUTHENTICATED==1 +#define S2_UNAUTHENTICATED_BIT SECURITY_KEY_S2_UNAUTHENTICATED_BIT +#else +#define S2_UNAUTHENTICATED_BIT 0 +#endif + +#if ZAF_CONFIG_REQUEST_KEY_S2_AUTHENTICATED==1 +#define S2_AUTHENTICATED_BIT SECURITY_KEY_S2_AUTHENTICATED_BIT +#else +#define S2_AUTHENTICATED_BIT 0 +#endif + +#if ZAF_CONFIG_REQUEST_KEY_S2_ACCESS==1 +#define S2_ACCESS_BIT SECURITY_KEY_S2_ACCESS_BIT +#else +#define S2_ACCESS_BIT 0 +#endif + +#define ZAF_CONFIG_REQUESTED_SECURITY_KEYS (S0_BIT | S2_UNAUTHENTICATED_BIT | S2_AUTHENTICATED_BIT | S2_ACCESS_BIT) + +#endif /* ZAF_CONFIG_SECURITY_H_ */ diff --git a/src/zwave_ncp/zwave_ncp.slcp b/src/zwave_ncp/zwave_ncp.slcp new file mode 100644 index 00000000..f677e48e --- /dev/null +++ b/src/zwave_ncp/zwave_ncp.slcp @@ -0,0 +1,150 @@ +project_name: zwave_ncp +label: Z-Wave - NCP +category: Z-Wave|Apps +description: Z-Wave NCP firmware. Derived from the `zwave_ncp_serial_api_controller` example Gecko SDK project. +package: Z-Wave +quality: production +component: + # Z-Wave + - id: zw_role_type_central_static_controller + - id: zaf_ncp + - id: zw_core + - id: zw_appshw_serialapi + - id: zw_apputilities_minimal + - id: zw_app_timer_deep_sleep + - id: zw_api_zw + - id: zw_api_controller + - id: zw_dcdc_override + - id: ZW_MIGRATION_FROM_7_20 + # Platform + - id: emlib_letimer + - id: emlib_timer + - id: emlib_msc + - id: gpiointerrupt + - id: sl_system + - id: device_init + - id: mpu # disable execution from RAM +source: + - path: app_node_info.c + - path: cmd_handlers_invoker.c + - path: cmd_handlers.c + - path: cmd_get_capabilities.c + - path: cmds_dcdc.c # Proprietary commands for Silabs only + - path: cmds_power_management.c # Proprietary commands for Silabs only + - path: cmds_management.c + - path: cmds_rf.c + - path: cmds_security.c + - path: comm_interface.c + - path: nvm_backup_restore.c + - path: serialapi_file.c + - path: app.c + - path: utils.c + - path: virtual_slave_node_info.c + - path: main.c +include: + - path: . + file_list: + - path: app_node_info.h + - path: cmd_handlers.h + - path: cmds_management.h + - path: cmds_rf.h + - path: cmds_security.h + - path: comm_interface.h + - path: controller_supported_func.h + - path: nvm_backup_restore.h + - path: serialapi_file.h + - path: app.h + - path: common_supported_func.h + - path: slave_supported_func.h + - path: utils.h + - path: virtual_slave_node_info.h + - path: SerialAPI.h + - path: . + file_list: + - path: "zaf_config_security.h" +config_file: + # For series 2 + - path: zaf_config.h + file_id: zaf_config + condition: [device_series_2] +configuration: + - name: ZAF_CONFIG_GENERIC_TYPE + value: GENERIC_TYPE_STATIC_CONTROLLER + - name: ZAF_CONFIG_SPECIFIC_TYPE + value: SPECIFIC_TYPE_PC_CONTROLLER + - name: ZAF_CONFIG_PRODUCT_ID + value: 4 # Silicon Labs Z-Wave Serial API product ID + - name: NVM3_DEFAULT_MAX_OBJECT_SIZE + value: 1900 + - name: NVM3_DEFAULT_CACHE_SIZE + value: 100 + - name: SL_BOARD_ENABLE_VCOM + value: 1 + - name: SL_DEVICE_INIT_EMU_EM4_STATE + value: emuEM4Hibernate + - name: SL_DEVICE_INIT_EMU_EM4_RETAIN_LFRCO + value: 1 + - name: SL_DEVICE_INIT_EMU_EM4_PIN_RETENTION_MODE + value: emuPinRetentionLatch + - name: SL_IOSTREAM_USART_VCOM_CONVERT_BY_DEFAULT_LF_TO_CRLF + value: 1 + - name: SL_IOSTREAM_USART_VCOM_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION + value: 0 # UART RX shouldn't prevent EM2 + - name: SL_IOSTREAM_EUSART_VCOM_CONVERT_BY_DEFAULT_LF_TO_CRLF + value: 1 + - name: SL_IOSTREAM_EUSART_VCOM_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION + value: 0 # UART RX shouldn't prevent EM2 + - name: configUSE_IDLE_HOOK + value: 1 + - name: configTIMER_TASK_PRIORITY + value: 55 + - name: configMAX_SYSCALL_INTERRUPT_PRIORITY + value: 16 + condition: [device_series_2] + - name: configKERNEL_INTERRUPT_PRIORITY + value: 112 + condition: [device_series_2] + - name: configTIMER_QUEUE_LENGTH + value: 8 + - name: SL_DEVICE_INIT_DCDC_BYPASS + value: 1 + - name: SL_PSA_ITS_USER_MAX_FILES + value: 32 + condition: ["device_series_2", "device_security_vault"] + - name: SL_PSA_KEY_USER_SLOT_COUNT + value: 14 + condition: ["device_series_2", "device_security_vault"] + - name: SL_SLEEPTIMER_PERIPHERAL + value: SL_SLEEPTIMER_PERIPHERAL_BURTC + condition: ["device_series_2"] + - name: SL_STACK_SIZE + value: 1280 + - name: SL_HEAP_SIZE + value: 128 + - name: ZAF_CONFIG_INSTALLER_ICON_TYPE + value: 0 + - name: ZAF_APP_NAME + value: '"serial_api_controller"' + - name: SL_RAIL_UTIL_RAIL_POWER_MANAGER_INIT + value: 0 + +define: + - name: APP_PROPERTIES_CONFIG_FILE + value: + - name: LCD_PRESENT + value: 1 + +post_build: + profile: zwave_ncp_serial_api_controller + +filter: + - name: "Wireless Technology" + value: ["Z-Wave"] + - name: "Device Type" + value: ["NCP"] + - name: "Project Difficulty" + value: ["Beginner"] + +template_contribution: + - name: rodata_sections # Ensure memory section define by Z-Wave stack are placed in the rodata section + value: zw_cmd_handlers diff --git a/tools/build_project.py b/tools/build_project.py index a3a7961b..be0066b5 100755 --- a/tools/build_project.py +++ b/tools/build_project.py @@ -6,7 +6,6 @@ import re import ast import sys -import copy import json import time import shutil @@ -19,21 +18,8 @@ import subprocess import multiprocessing -from xml.etree import ElementTree from ruamel.yaml import YAML -# Matches all known chip and board names. Some varied examples: -# MGM210PB32JIA EFM32GG890F512 MGM12P22F1024GA EZR32WG330F128R69 EFR32FG14P231F256GM32 -CHIP_REGEX = re.compile(r"^(?:[a-z]+\d+){2,5}[a-z]*$", flags=re.IGNORECASE) -BOARD_REGEX = re.compile(r"^brd\d+[a-z](?:_.+)?$", flags=re.IGNORECASE) -GRAPH_COMPONENT_REGEX = re.compile(r"^(\w+)|- (\w+)", flags=re.MULTILINE) - -CHIP_SPECIFIC_COMPONENTS = { - "sl_system": "sl_system", - "sl_memory": "sl_memory", - # There are only a few components whose filename doesn't match the component name - "freertos": "freertos_kernel", -} SLC = ["slc", "--daemon", "--daemon-timeout", "1"] @@ -76,9 +62,7 @@ def get_toolchain_default_paths() -> list[pathlib.Path]: def get_sdk_default_paths() -> list[pathlib.Path]: """Return the path to the SDK.""" if sys.platform == "darwin": - return list( - pathlib.Path("~/SimplicityStudio/SDKs").expanduser().glob("simplicity_sdk*") - ) + return list(pathlib.Path("~/SimplicityStudio/SDKs").expanduser().glob("*_sdk*")) return [] @@ -140,48 +124,48 @@ def git(*args: str) -> str: return commit_id -def determine_chip_specific_config_filenames( - slcp_path: pathlib.Path, sdk: pathlib.Path -) -> list[str]: - """Determine the chip-specific config files to remove.""" - proc = subprocess.run( - SLC - + [ - "graph", - "--project-file", - str(slcp_path.absolute()), - "--sdk", - str(sdk.absolute()), - ], - cwd=str(slcp_path.parent), - check=True, - text=True, - capture_output=True, - ) +def load_sdks(paths: list[pathlib.Path]) -> dict[pathlib.Path, str]: + """Load the SDK metadata from the SDKs.""" + sdks = {} - all_components = {a or b for a, b in GRAPH_COMPONENT_REGEX.findall(proc.stdout)} + for sdk in paths: + sdk_file = next(sdk.glob("*_sdk.slcs")) - # Some configs don't seem to be present explicitly in the component graph - config_files = {"sl_memory_config.h"} + try: + sdk_meta = yaml.load(sdk_file.read_text()) + except FileNotFoundError: + LOGGER.warning("SDK %s is not valid, skipping", sdk) + continue - # List all of the SLCC files. There are neary 4,000. - slcc_paths = {slcc.stem.lower(): slcc for slcc in sdk.glob("**/*.slcc")} + sdk_id = sdk_meta["id"] + sdk_version = sdk_meta["sdk_version"] + sdks[sdk] = f"{sdk_id}:{sdk_version}" - for component_id in all_components: - if CHIP_REGEX.match(component_id) or BOARD_REGEX.match(component_id): - pass - elif component_id in CHIP_SPECIFIC_COMPONENTS: - component_id = CHIP_SPECIFIC_COMPONENTS[component_id] - else: - continue + return sdks - slcc = yaml.load(slcc_paths[component_id.lower()].read_text()) - for config_file in slcc.get("config_file", []): - path = pathlib.PurePosixPath(config_file["path"]).name - config_files.add(path) +def load_toolchains(paths: list[pathlib.Path]) -> dict[pathlib.Path, str]: + """Load the toolchain metadata from the toolchains.""" + toolchains = {} - return config_files + for toolchain in paths: + gcc_plugin_version_h = next( + toolchain.glob("lib/gcc/arm-none-eabi/*/plugin/include/plugin-version.h") + ) + version_info = {} + + for line in gcc_plugin_version_h.read_text().split("\n"): + # static char basever[] = "10.3.1"; + if line.startswith("static char") and line.endswith(";"): + name = line.split("[]", 1)[0].split()[-1] + value = ast.literal_eval(line.split(" = ", 1)[1][:-1]) + version_info[name] = value + + toolchains[toolchain] = ( + version_info["basever"] + "." + version_info["datestamp"] + ) + + return toolchains def main(): @@ -278,8 +262,6 @@ def main(): if args.build_dir is None: args.build_dir = pathlib.Path(f"build/{time.time():.0f}_{args.manifest.stem}") - LOGGER.info("Building in %s", args.build_dir.resolve()) - # argparse defaults should be replaced, not extended if args.sdks != get_sdk_default_paths(): args.sdks = args.sdks[len(get_sdk_default_paths()) :] @@ -289,35 +271,66 @@ def main(): manifest = yaml.load(args.manifest.read_text()) + # Ensure we can load the correct SDK and toolchain + sdks = load_sdks(args.sdks) + sdk, sdk_version = next( + (path, version) for path, version in sdks.items() if version == manifest["sdk"] + ) + sdk_name = sdk_version.split(":", 1)[0] + + toolchains = load_toolchains(args.toolchains) + toolchain = next( + path for path, version in toolchains.items() if version == manifest["toolchain"] + ) + for key, override in args.overrides: manifest[key] = override - # First, load the base project + # First, copy the base project into the build dir, under `template/` projects_root = pathlib.Path(__file__).parent.parent base_project_path = projects_root / manifest["base_project"] assert base_project_path.is_relative_to(projects_root) - (base_project_slcp,) = base_project_path.glob("*.slcp") - base_project = yaml.load(base_project_slcp.read_text()) - base_project_name = base_project_path.stem - output_project = copy.deepcopy(base_project) + build_template_path = args.build_dir / "template" - # Strip chip- and board-specific components to modify the base device type - output_project["component"] = [ - c - for c in output_project["component"] - if not CHIP_REGEX.match(c["id"]) and not BOARD_REGEX.match(c["id"]) - ] - output_project["component"].append({"id": manifest["device"]}) + LOGGER.info("Building in %s", args.build_dir.resolve()) + + if args.clean_build_dir: + with contextlib.suppress(OSError): + shutil.rmtree(args.build_dir) + + shutil.copytree( + base_project_path, + build_template_path, + dirs_exist_ok=True, + ignore=lambda dir, contents: [ + "autogen", + ".git", + ".settings", + ".projectlinkstore", + ".project", + ".pdm", + ".cproject", + ".uceditor", + ], + ) + + # We extend the base project with the manifest, since added components could have + # extra dependencies + (base_project_slcp,) = build_template_path.glob("*.slcp") + base_project_name = base_project_slcp.stem + base_project = yaml.load(base_project_slcp.read_text()) # Add new components - output_project["component"].extend(manifest.get("add_components", [])) - output_project["toolchain_settings"].extend(manifest.get("toolchain_settings", [])) + base_project["component"].extend(manifest.get("add_components", [])) + base_project.setdefault("toolchain_settings", []).extend( + manifest.get("toolchain_settings", []) + ) # Remove components for component in manifest.get("remove_components", []): try: - output_project["component"].remove(component) + base_project["component"].remove(component) except ValueError: LOGGER.warning( "Component %s is not present in manifest, cannot remove", component @@ -328,11 +341,11 @@ def main(): for input_config, output_config in [ ( manifest.get("configuration", {}), - output_project.setdefault("configuration", []), + base_project.setdefault("configuration", []), ), ( manifest.get("slcp_defines", {}), - output_project.setdefault("define", []), + base_project.setdefault("define", []), ), ]: for name, value in input_config.items(): @@ -348,115 +361,34 @@ def main(): # Otherwise, append it output_config.append({"name": name, "value": value}) - # Template variables for C defines - value_template_env = { - "git_repo_hash": get_git_commit_id(repo=pathlib.Path(__file__).parent.parent), - "manifest_name": args.manifest.stem, - } - - # Copy the base project into the output directory - if args.clean_build_dir: - with contextlib.suppress(OSError): - shutil.rmtree(args.build_dir) - - args.build_dir.mkdir(exist_ok=True, parents=True) - - shutil.copytree( - base_project_path, - args.build_dir, - dirs_exist_ok=True, - ignore=lambda dir, contents: [ - # XXX: pruning `autogen` is extremely important! - "autogen", - ".git", - ".settings", - ".projectlinkstore", - ".project", - ".pdm", - ".cproject", - ".uceditor", - ], - ) - - # Delete the original project file - (args.build_dir / base_project_slcp.name).unlink() - - # Write the new project SLCP file - with (args.build_dir / f"{base_project_name}.slcp").open("w") as f: - yaml.dump(output_project, f) + # Finally, write out the modified base project + with base_project_slcp.open("w") as f: + yaml.dump(base_project, f) # Create a GBL metadata file with (args.build_dir / "gbl_metadata.yaml").open("w") as f: yaml.dump(manifest["gbl"], f) - # Generate a build directory - cmake_build_root = args.build_dir / f"{base_project_name}_cmake" - shutil.rmtree(cmake_build_root, ignore_errors=True) - - # Find the SDK version required by the project - for sdk in args.sdks: - try: - sdk_meta = yaml.load((sdk / "simplicity_sdk.slcs").read_text()) - except FileNotFoundError: - LOGGER.warning("SDK %s is not valid, skipping", sdk) - continue - - assert base_project["sdk"]["id"] == "simplicity_sdk" - - LOGGER.info("SDK %s has version %s", sdk, sdk_meta["sdk_version"]) - - if base_project["sdk"]["version"] == sdk_meta["sdk_version"]: - LOGGER.info("Version is correct, picking %s", sdk) - break - else: - LOGGER.error("Project SDK version %s not found", base_project["sdk"]["version"]) - sys.exit(1) + # Next, generate a chip-specific project from the modified base project + print(f"Generating project for {manifest['device']}") - LOGGER.info("Building component graph and identifying board-specific files") - for name in determine_chip_specific_config_filenames( - slcp_path=base_project_slcp, sdk=sdk - ): - try: - (args.build_dir / f"config/{name}").unlink() - except FileNotFoundError: - pass - else: - LOGGER.info("Deleted device-specific config: %s", name) - - # Find the toolchain required by the project - slps_path = (args.build_dir / base_project_name).with_suffix(".slps") - slps_xml = ElementTree.parse(slps_path) - slps_toolchain_id = ( - slps_xml.getroot() - .find(".//properties[@key='projectCommon.toolchainId']") - .attrib["value"] - .split(":")[-1] + # fmt: off + subprocess.run( + SLC + + [ + "generate", + "--with", manifest["device"], + "--project-file", base_project_slcp.resolve(), + "--export-destination", args.build_dir.resolve(), + "--copy-proj-sources", + "--new-project", + "--toolchain", "toolchain_gcc", + "--sdk", sdk, + "--output-type", args.build_system, + ], + check=True, ) - - # Find the correct toolchain - for toolchain in args.toolchains: - gcc_plugin_version_h = next( - toolchain.glob("lib/gcc/arm-none-eabi/*/plugin/include/plugin-version.h") - ) - version_info = {} - - for line in gcc_plugin_version_h.read_text().split("\n"): - # static char basever[] = "10.3.1"; - if line.startswith("static char") and line.endswith(";"): - name = line.split("[]", 1)[0].split()[-1] - value = ast.literal_eval(line.split(" = ", 1)[1][:-1]) - version_info[name] = value - - toolchain_id = version_info["basever"] + "." + version_info["datestamp"] - - LOGGER.info("Toolchain %s has version %s", toolchain, toolchain_id) - - if toolchain_id == slps_toolchain_id: - LOGGER.info("Version is correct, picking %s", toolchain) - break - else: - LOGGER.error("Project toolchain version %s not found", slps_toolchain_id) - sys.exit(1) + # fmt: on # Make sure all extensions are valid for sdk_extension in base_project.get("sdk_extension", []): @@ -466,23 +398,11 @@ def main(): LOGGER.error("Referenced extension not present in SDK: %s", expected_dir) sys.exit(1) - subprocess.run( - SLC - + [ - "generate", - "--project-file", - (args.build_dir / f"{base_project_name}.slcp").resolve(), - "--export-destination", - args.build_dir.resolve(), - "--sdk", - sdk, - "--toolchain", - "toolchain_gcc", - "--output-type", - args.build_system, - ], - check=True, - ) + # Template variables for C defines + value_template_env = { + "git_repo_hash": get_git_commit_id(repo=pathlib.Path(__file__).parent.parent), + "manifest_name": args.manifest.stem, + } # Actually search for C defines within config unused_defines = set(manifest.get("c_defines", {}).keys()) @@ -512,8 +432,7 @@ def main(): # Make sure that we do not have conflicting defines provided over the command line assert not any( - c["name"] == define - for c in output_project.get("define", []) + c["name"] == define for c in base_project.get("define", []) ) new_config_h_lines[index - 1] = "#if 1" elif "#warning" in prev_line: @@ -549,15 +468,34 @@ def main(): LOGGER.error("Defines were unused, aborting: %s", unused_defines) sys.exit(1) + # Fix Gecko SDK bugs + sl_rail_util_pti_config_h = args.build_dir / "config/sl_rail_util_pti_config.h" + + # PTI seemingly cannot be excluded, even if it is disabled + if sl_rail_util_pti_config_h.exists(): + sl_rail_util_pti_config_h.write_text( + sl_rail_util_pti_config_h.read_text().replace( + '#warning "RAIL PTI peripheral not configured"\n', + '// #warning "RAIL PTI peripheral not configured"\n', + ) + ) + # Remove absolute paths from the build for reproducibility extra_compiler_flags = [ f"-ffile-prefix-map={str(src.absolute())}={dst}" for src, dst in { - sdk: "/simplicity_sdk", + sdk: f"/{sdk_name}", args.build_dir: "/src", toolchain: "/toolchain", }.items() - ] + ["-Wall", "-Wextra"] # , "-Werror"] + ] + [ + "-Wall", + "-Wextra", + "-Werror", + # XXX: Fails due to protocol/openthread/platform-abstraction/efr32/radio.c@RAILCb_Generic + # Remove once this is fixed in the SDK! + "-Wno-error=unused-but-set-variable", + ] output_artifact = (args.build_dir / "build/debug" / base_project_name).with_suffix( ".gbl" @@ -587,13 +525,12 @@ def main(): makefile.write_text(makefile_contents) + # fmt: off subprocess.run( - [ + [ "make", - "-C", - args.build_dir, - "-f", - f"{base_project_name}.Makefile", + "-C", args.build_dir, + "-f", f"{base_project_name}.Makefile", f"-j{multiprocessing.cpu_count()}", f"ARM_GCC_DIR={toolchain}", f"POST_BUILD_EXE={args.postbuild}", @@ -601,6 +538,7 @@ def main(): ], check=True, ) + # fmt: on # Read the metadata extracted from the source and build trees extracted_gbl_metadata = json.loads( diff --git a/tools/create_gbl.py b/tools/create_gbl.py index 86da00d3..4167c56a 100755 --- a/tools/create_gbl.py +++ b/tools/create_gbl.py @@ -147,14 +147,15 @@ def main(): # Prepare the GBL metadata metadata = { - "metadata_version": 1, + "metadata_version": 2, "sdk_version": slcp["sdk"]["version"], "fw_type": gbl_metadata.get("fw_type"), + "fw_variant": gbl_metadata.get("fw_variant"), "baudrate": gbl_metadata.get("baudrate"), } # Compute the dynamic metadata - gbl_dynamic = gbl_metadata.get("dynamic", []) + gbl_dynamic = [k for k, v in gbl_metadata.items() if v == "dynamic"] if "ezsp_version" in gbl_dynamic: gbl_dynamic.remove("ezsp_version") @@ -163,36 +164,16 @@ def main(): ) metadata["ezsp_version"] = zigbee_esf_props["version"][0] - if "ot_version" in gbl_dynamic: - gbl_dynamic.remove("ot_version") - ot_esf_props = parse_properties_file( - (gsdk_path / "protocol/openthread/esf.properties").read_text() - ) - metadata["ot_version"] = ot_esf_props["version"][0] - - if "ble_version" in gbl_dynamic: - gbl_dynamic.remove("ble_version") - sl_bt_version_h = parse_c_header_defines( - (gsdk_path / "protocol/bluetooth/inc/sl_bt_version.h").read_text() - ) - metadata["ble_version"] = ".".join( - [ - str(sl_bt_version_h["SL_BT_VERSION_MAJOR"]), - str(sl_bt_version_h["SL_BT_VERSION_MINOR"]), - str(sl_bt_version_h["SL_BT_VERSION_PATCH"]), - ] - ) - if "cpc_version" in gbl_dynamic: gbl_dynamic.remove("cpc_version") - sl_platform_version_h = parse_c_header_defines( - (gsdk_path / "platform/common/inc/sl_platform_version.h").read_text() + sl_gsdk_version_h = parse_c_header_defines( + (gsdk_path / "platform/common/inc/sl_gsdk_version.h").read_text() ) metadata["cpc_version"] = ".".join( [ - str(sl_platform_version_h["SL_PLATFORM_MAJOR_VERSION"]), - str(sl_platform_version_h["SL_PLATFORM_MINOR_VERSION"]), - str(sl_platform_version_h["SL_PLATFORM_PATCH_VERSION"]), + str(sl_gsdk_version_h["SL_GSDK_MAJOR_VERSION"]), + str(sl_gsdk_version_h["SL_GSDK_MINOR_VERSION"]), + str(sl_gsdk_version_h["SL_GSDK_PATCH_VERSION"]), ] ) @@ -208,6 +189,20 @@ def main(): "CPC_SECONDARY_APP_VERSION_SUFFIX" ] + if "zwave_version" in gbl_dynamic: + gbl_dynamic.remove("zwave_version") + zwave_props = parse_properties_file( + next((gsdk_path / "protocol/z-wave/").glob("*.properties")).read_text() + ) + metadata["zwave_version"] = zwave_props["version"][0] + + if "ot_rcp_version" in gbl_dynamic: + gbl_dynamic.remove("ot_rcp_version") + openthread_config_h = parse_c_header_defines( + (project_root / "config/sl_openthread_generic_config.h").read_text() + ) + metadata["ot_rcp_version"] = openthread_config_h["PACKAGE_STRING"] + if "gecko_bootloader_version" in gbl_dynamic: gbl_dynamic.remove("gecko_bootloader_version") btl_config_h = parse_c_header_defines(