Imported more library files

Not compiling currently
This commit is contained in:
2025-04-12 23:37:19 +01:00
parent 264a3462e0
commit 9d06f983af
2518 changed files with 1021900 additions and 52 deletions

130
config/CHIPProjectConfig.h Normal file
View File

@@ -0,0 +1,130 @@
/*
*
* Copyright (c) 2020 Project CHIP Authors
* Copyright (c) 2019 Google LLC.
* All rights reserved.
*
* 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
*
* http://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.
*/
/**
* @file
* Example project configuration file for CHIP.
*
* This is a place to put application or project-specific overrides
* to the default configuration values for general CHIP features.
*
*/
#pragma once
// Use a default pairing code if one hasn't been provisioned in flash.
#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE
#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE 20202021
#endif
#ifndef CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR
#define CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR 0xF00
#endif
// For convenience, Chip Security Test Mode can be enabled and the
// requirement for authentication in various protocols can be disabled.
//
// WARNING: These options make it possible to circumvent basic Chip security functionality,
// including message encryption. Because of this they MUST NEVER BE ENABLED IN PRODUCTION BUILDS.
//
#define CHIP_CONFIG_SECURITY_TEST_MODE 0
/**
* CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID
*
* 0xFFF1: Test vendor
*/
#define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID 0xFFF1
/**
* CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID
*
* 0x8005: example Lighting app
*/
#define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID 0x8005
/**
* CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION
*
* The hardware version number assigned to device or product by the device vendor. This
* number is scoped to the device product id, and typically corresponds to a revision of the
* physical device, a change to its packaging, and/or a change to its marketing presentation.
* This value is generally *not* incremented for device software versions.
*/
#define CHIP_DEVICE_CONFIG_DEVICE_HARDWARE_VERSION 1
/**
* CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
*
* A uint32_t identifying the software version running on the device.
*/
/* The SoftwareVersion attribute of the Basic cluster. */
#ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION
#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION 0x0001
#endif
/**
* CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE
*
* Enable support for Chip-over-BLE (CHIPoBLE).
*/
#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1
/**
* CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC
*
* Enables synchronizing the device's real time clock with a remote Chip Time service
* using the Chip Time Sync protocol.
*/
#define CHIP_DEVICE_CONFIG_ENABLE_CHIP_TIME_SERVICE_TIME_SYNC 0
/**
* CHIP_DEVICE_CONFIG_TEST_SERIAL_NUMBER
*
* Enables the use of a hard-coded default serial number if none
* is found in Chip NV storage.
*/
#define CHIP_DEVICE_CONFIG_TEST_SERIAL_NUMBER "TEST_SN"
/**
* CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS
*
* Enable recording UTC timestamps.
*/
#define CHIP_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS 1
/**
* CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE
*
* A size, in bytes, of the individual debug event logging buffer.
*/
#define CHIP_DEVICE_CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE (512)
/**
* @def CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL
*
* @brief
* Active retransmit interval, or time to wait before retransmission after
* subsequent failures in milliseconds.
*
* This is the default value, that might be adjusted by end device depending on its
* needs (e.g. sleeping period) using Service Discovery TXT record CRA key.
*
*/
#define CHIP_CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL (2000_ms32)

428
config/SEGGER_RTT_Conf.h Normal file
View File

@@ -0,0 +1,428 @@
/*********************************************************************
* 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 <intrinsics.h>
#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 <machine.h>
#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 ****************************/

View File

@@ -0,0 +1,24 @@
#ifndef APP_APPBUILDCONFIG_H_
#define APP_APPBUILDCONFIG_H_
// <<< Use Configuration Wizard in Context Menu >>>
// <i> Default: 1
// <q CHIP_CONFIG_PERSIST_SUBSCRIPTIONS> Matter Persistent Subscriptions
#define CHIP_CONFIG_PERSIST_SUBSCRIPTIONS 1
// <i> Default: 1
// <q CHIP_CONFIG_SUBSCRIPTION_TIMEOUT_RESUMPTION> Matter Subscription Timeout Resumption
#define CHIP_CONFIG_SUBSCRIPTION_TIMEOUT_RESUMPTION 1
// <i> Default: 1
// <q CHIP_CONFIG_ENABLE_READ_CLIENT> Read Client
#define CHIP_CONFIG_ENABLE_READ_CLIENT 1
// <i> Default: 1
// <q CHIP_CONFIG_ENABLE_SESSION_RESUMPTION> Session Resumption
#define CHIP_CONFIG_ENABLE_SESSION_RESUMPTION 1
// <<< end of configuration section >>>
#endif // APP_APPBUILDCONFIG_H_

View File

@@ -0,0 +1,33 @@
#ifndef SL_MATTER_ICD_SERVER_BUILDCONFIG_H
#define SL_MATTER_ICD_SERVER_BUILDCONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <q ICD_REPORT_ON_ENTER_ACTIVE_MODE> Matter Report on Entering Active
// <i> Default: 0
#define ICD_REPORT_ON_ENTER_ACTIVE_MODE 0
// <q ICD_ENFORCE_SIT_SLOW_POLL_LIMIT> Matter ICD Slow Polling Limit Enforcement
// <i> Default: 0
#define ICD_ENFORCE_SIT_SLOW_POLL_LIMIT 0
// <q ICD_MAX_NOTIFICATION_SUBSCRIBERS> Matter Max Notification Subscribers <1-5>
// <i> Default: 1
#define ICD_MAX_NOTIFICATION_SUBSCRIBERS 1
// <q CHIP_CONFIG_ENABLE_ICD_LIT> Matter LIT Configurations
// <i> Default: 0
#define CHIP_CONFIG_ENABLE_ICD_LIT 0
// <q CHIP_CONFIG_ENABLE_ICD_CIP> Matter Check in Sender
// <i> Default: 0
#define CHIP_CONFIG_ENABLE_ICD_CIP 0
// <q CHIP_CONFIG_ENABLE_ICD_UAT> Matter UAT
// <i> Default: 0
#define CHIP_CONFIG_ENABLE_ICD_UAT 0
// <<< end of configuration section >>>
#endif // SL_MATTER_ICD_SERVER_BUILDCONFIG_H

View File

@@ -0,0 +1,65 @@
/***************************************************************************//**
* @file
* @brief Application Properties Header File
*******************************************************************************
* # License
* <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>>
// <h>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
// <o SL_APPLICATION_VERSION> Version number for this application
// <0-4294967295:1>
// <i> 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 }
// </h>
#endif // APP_PROPERTIES_CONFIG_H

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--Custom BLE GATT-->
<gatt gatt_caching="true" generic_attribute_service="true" header="gatt_db.h" name="Custom BLE GATT" out="gatt_db.c" prefix="gattdb_">
<!--Generic Access-->
<service advertise="false" name="Generic Access" requirement="mandatory" sourceId="org.bluetooth.service.generic_access" type="primary" uuid="1800">
<informativeText>Abstract: The generic_access service contains generic information about the device. All available Characteristics are readonly. </informativeText>
<!--Device Name-->
<characteristic const="false" id="device_name" name="Device Name" sourceId="org.bluetooth.characteristic.gap.device_name" uuid="2A00">
<informativeText/>
<value length="13" type="utf-8" variable_length="false">Empty Example</value>
<properties>
<read authenticated="false" bonded="false" encrypted="false"/>
<write authenticated="false" bonded="false" encrypted="false"/>
</properties>
</characteristic>
<!--Appearance-->
<characteristic const="true" name="Appearance" sourceId="org.bluetooth.characteristic.gap.appearance" uuid="2A01">
<informativeText>Abstract: The external appearance of this device. The values are composed of a category (10-bits) and sub-categories (6-bits). </informativeText>
<value length="2" type="hex" variable_length="false">0000</value>
<properties>
<read authenticated="false" bonded="false" encrypted="false"/>
</properties>
</characteristic>
</service>
<!--Device Information-->
<service advertise="false" name="Device Information" requirement="mandatory" sourceId="org.bluetooth.service.device_information" type="primary" uuid="180A">
<informativeText>Abstract: The Device Information Service exposes manufacturer and/or vendor information about a device. Summary: This service exposes manufacturer information about a device. The Device Information Service is instantiated as a Primary Service. Only one instance of the Device Information Service is exposed on a device. </informativeText>
<!--Manufacturer Name String-->
<characteristic const="true" name="Manufacturer Name String" sourceId="org.bluetooth.characteristic.manufacturer_name_string" uuid="2A29">
<informativeText>Abstract: The value of this characteristic is a UTF-8 string representing the name of the manufacturer of the device. </informativeText>
<value length="12" type="utf-8" variable_length="false">Silicon Labs</value>
<properties>
<read authenticated="false" bonded="false" encrypted="false"/>
</properties>
</characteristic>
<!--Model Number String-->
<characteristic const="true" name="Model Number String" sourceId="org.bluetooth.characteristic.model_number_string" uuid="2A24">
<informativeText>Abstract: The value of this characteristic is a UTF-8 string representing the model number assigned by the device vendor. </informativeText>
<value length="10" type="utf-8" variable_length="false">Blue Gecko</value>
<properties>
<read authenticated="false" bonded="false" encrypted="false"/>
</properties>
</characteristic>
<!--System ID-->
<characteristic const="true" name="System ID" sourceId="org.bluetooth.characteristic.system_id" uuid="2A23">
<informativeText>Abstract: The SYSTEM ID characteristic consists of a structure with two fields. The first field are the LSOs and the second field contains the MSOs. This is a 64-bit structure which consists of a 40-bit manufacturer-defined identifier concatenated with a 24 bit unique Organizationally Unique Identifier (OUI). The OUI is issued by the IEEE Registration Authority (http://standards.ieee.org/regauth/index.html) and is required to be used in accordance with IEEE Standard 802-2001.6 while the least significant 40 bits are manufacturer defined. If System ID generated based on a Bluetooth Device Address, it is required to be done as follows. System ID and the Bluetooth Device Address have a very similar structure: a Bluetooth Device Address is 48 bits in length and consists of a 24 bit Company Assigned Identifier (manufacturer defined identifier) concatenated with a 24 bit Company Identifier (OUI). In order to encapsulate a Bluetooth Device Address as System ID, the Company Identifier is concatenated with 0xFFFE followed by the Company Assigned Identifier of the Bluetooth Address. For more guidelines related to EUI-64, refer to http://standards.ieee.org/develop/regauth/tut/eui64.pdf. Examples: If the system ID is based of a Bluetooth Device Address with a Company Identifier (OUI) is 0x123456 and the Company Assigned Identifier is 0x9ABCDE, then the System Identifier is required to be 0x123456FFFE9ABCDE. </informativeText>
<value length="6" type="hex" variable_length="false">000102030405</value>
<properties>
<read authenticated="false" bonded="false" encrypted="false"/>
</properties>
</characteristic>
</service>
<!--CHIPoBLE-->
<service advertise="false" name="CHIPoBLE" requirement="mandatory" sourceId="custom.type" type="primary" uuid="fff6">
<informativeText>Custom service</informativeText>
<!--CHIPoBLEChar_Rx-->
<characteristic const="false" id="CHIPoBLEChar_Rx" name="CHIPoBLEChar_Rx" sourceId="custom.type" uuid="18EE2EF5-263D-4559-959F-4F9C429F9D11">
<informativeText>Custom characteristic</informativeText>
<value length="247" type="hex" variable_length="true">00</value>
<properties>
<read authenticated="false" bonded="false" encrypted="false"/>
<write authenticated="false" bonded="false" encrypted="false"/>
</properties>
</characteristic>
<!--CHIPoBLEChar_Tx-->
<characteristic const="false" id="CHIPoBLEChar_Tx" name="CHIPoBLEChar_Tx" sourceId="custom.type" uuid="18EE2EF5-263D-4559-959F-4F9C429F9D12">
<informativeText>Custom characteristic</informativeText>
<value length="247" type="hex" variable_length="true">00</value>
<properties>
<read authenticated="false" bonded="false" encrypted="false"/>
<write authenticated="false" bonded="false" encrypted="false"/>
<write_no_response authenticated="false" bonded="false" encrypted="false"/>
<indicate authenticated="false" bonded="false" encrypted="false"/>
</properties>
</characteristic>
<characteristic const="false" id="CHIPoBLEChar_C3" name="CHIPoBLEChar_C3" sourceId="custom.type" uuid="64630238-8772-45F2-B87D-748A83218F04">
<informativeText>Custom characteristic</informativeText>
<value length="512" type="hex" variable_length="true">00</value>
<properties>
<read authenticated="false" bonded="false" encrypted="false"/>
<write authenticated="false" bonded="false" encrypted="false"/>
<write_no_response authenticated="false" bonded="false" encrypted="false"/>
<indicate authenticated="false" bonded="false" encrypted="false"/>
</properties>
</characteristic>
</service>
</gatt>

View File

@@ -0,0 +1,56 @@
/***************************************************************************//**
* @file
* @brief Configuration header of Bootloader Interface
*******************************************************************************
* # License
* <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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
#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_9)
#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 1
#endif
#endif // !BOOTLOADER_APPLOADER
#endif // BTL_INTERFACE_CFG_H

View File

@@ -0,0 +1,321 @@
/***************************************************************************//**
* @file
* @brief Configuration header of Bootloader Interface
*******************************************************************************
* # License
* <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>>
// <h> Bootloader Interface Trust Zone Security State Configuration
// <q BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION> Disable multi tiered fallback logic
// <i> The fault handling logic as well as the USART auto-detection logic will be disabled.
// <i> The re-configuration of SMU will be handled by querying the running bootloader
// <i> for the peripheral list. Querying the peripheral list is supported from the bootloader
// <i> version 2.0.0. Check for the BOOTLOADER_CAPABILITY_PERIPHERAL_LIST capability to
// <i> see if the running bootloader supports querying the peripheral list.
#define BOOTLOADER_DISABLE_OLD_BOOTLOADER_MITIGATION 0
// <q BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING> Disable peripheral access fault handling
// <i> The fault handling triggered by an erroneous access of peripherals will be disabled.
// <i>
// <i> This should be disabled iff all the peripherals that are in use by the bootloader
// <i> have been properly configured by the "Manually override security state of peripherals" option.
#define BOOTLOADER_DISABLE_NVM3_FAULT_HANDLING 0
// <e BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE> Manually override the security state of peripherals in use by the bootloader
// <i> Default: 0.
// <i> Manually override the security state of peripherals. Choose the peripherals touched
// <i> by the customized code to have a valid secure access state before interacting with the bootloader
// <i> In practice, this means that the chosen peripherals will be available at the secure address,
// <i> which is accessible by the bootloader. Once the application is entered back the secure access state
// <i> is changed back to the original state.
// <i>
// <i> The USART auto-detection logic that detects which, if any, USART is in use by the bootloader
// <i> will be disabled. Make sure to choose the correct USART used by the bootloader.
#define BOOTLOADER_MANUAL_OVERRIDE_SECURITY_STATE 0
// <q> EMU
// <i> Update secure access state of EMU before calling into bootloader
#define BOOTLOADER_PPUSATD0_EMU 0
// <q> CMU
// <i> Update secure access state of CMU before calling into bootloader
#define BOOTLOADER_PPUSATD0_CMU 0
// <q> HFRCO0
// <i> Update secure access state of HFRCO0 before calling into bootloader
#define BOOTLOADER_PPUSATD0_HFRCO0 0
// <q> FSRCO
// <i> Update secure access state of FSRCO before calling into bootloader
#define BOOTLOADER_PPUSATD0_FSRCO 0
// <q> DPLL0
// <i> Update secure access state of DPLL0 before calling into bootloader
#define BOOTLOADER_PPUSATD0_DPLL0 0
// <q> LFXO
// <i> Update secure access state of LFXO before calling into bootloader
#define BOOTLOADER_PPUSATD0_LFXO 0
// <q> LFRCO
// <i> Update secure access state of LFRCO before calling into bootloader
#define BOOTLOADER_PPUSATD0_LFRCO 0
// <q> ULFRCO
// <i> Update secure access state of ULFRCO before calling into bootloader
#define BOOTLOADER_PPUSATD0_ULFRCO 0
// <q> MSC
// <i> Update secure access state of MSC before calling into bootloader
#define BOOTLOADER_PPUSATD0_MSC 0
// <q> ICACHE0
// <i> Update secure access state of ICACHE0 before calling into bootloader
#define BOOTLOADER_PPUSATD0_ICACHE0 0
// <q> PRS
// <i> Update secure access state of PRS before calling into bootloader
#define BOOTLOADER_PPUSATD0_PRS 0
// <q> GPIO
// <i> Update secure access state of GPIO before calling into bootloader
#define BOOTLOADER_PPUSATD0_GPIO 0
// <q> LDMA
// <i> Update secure access state of LDMA before calling into bootloader
#define BOOTLOADER_PPUSATD0_LDMA 0
// <q> LDMAXBAR
// <i> Update secure access state of LDMAXBAR before calling into bootloader
#define BOOTLOADER_PPUSATD0_LDMAXBAR 0
// <q> TIMER0
// <i> Update secure access state of TIMER0 before calling into bootloader
#define BOOTLOADER_PPUSATD0_TIMER0 0
// <q> TIMER1
// <i> Update secure access state of TIMER1 before calling into bootloader
#define BOOTLOADER_PPUSATD0_TIMER1 0
// <q> TIMER2
// <i> Update secure access state of TIMER2 before calling into bootloader
#define BOOTLOADER_PPUSATD0_TIMER2 0
// <q> TIMER3
// <i> Update secure access state of TIMER3 before calling into bootloader
#define BOOTLOADER_PPUSATD0_TIMER3 0
// <q> TIMER4
// <i> Update secure access state of TIMER4 before calling into bootloader
#define BOOTLOADER_PPUSATD0_TIMER4 0
// <q> USART0
// <i> Update secure access state of USART0 before calling into bootloader
#define BOOTLOADER_PPUSATD0_USART0 0
// <q> BURTC
// <i> Update secure access state of BURTC before calling into bootloader
#define BOOTLOADER_PPUSATD0_BURTC 0
// <q> I2C1
// <i> Update secure access state of I2C1 before calling into bootloader
#define BOOTLOADER_PPUSATD0_I2C1 0
// <q> CHIPTESTCTRL
// <i> Update secure access state of CHIPTESTCTRL before calling into bootloader
#define BOOTLOADER_PPUSATD0_CHIPTESTCTRL 0
// <q> SYSCFGCFGNS
// <i> Update secure access state of SYSCFGCFGNS before calling into bootloader
#define BOOTLOADER_PPUSATD0_SYSCFGCFGNS 0
// <q> SYSCFG
// <i> Update secure access state of SYSCFG before calling into bootloader
#define BOOTLOADER_PPUSATD0_SYSCFG 0
// <q> BURAM
// <i> Update secure access state of BURAM before calling into bootloader
#define BOOTLOADER_PPUSATD0_BURAM 0
// <q> GPCRC
// <i> Update secure access state of GPCRC before calling into bootloader
#define BOOTLOADER_PPUSATD0_GPCRC 0
// <q> DCDC
// <i> Update secure access state of DCDC before calling into bootloader
#define BOOTLOADER_PPUSATD0_DCDC 0
// <q> HOSTMAILBOX
// <i> Update secure access state of HOSTMAILBOX before calling into bootloader
#define BOOTLOADER_PPUSATD0_HOSTMAILBOX 0
// <q> EUSART1
// <i> Update secure access state of EUSART1 before calling into bootloader
#define BOOTLOADER_PPUSATD0_EUSART1 0
// <q> SYSRTC
// <i> Update secure access state of SYSRTC before calling into bootloader
#define BOOTLOADER_PPUSATD0_SYSRTC 0
// <q> KEYSCAN
// <i> Update secure access state of KEYSCAN before calling into bootloader
#define BOOTLOADER_PPUSATD1_KEYSCAN 0
// <q> DMEM
// <i> Update secure access state of DMEM before calling into bootloader
#define BOOTLOADER_PPUSATD1_DMEM 0
// <q> RADIOAES
// <i> Update secure access state of RADIOAES before calling into bootloader
#define BOOTLOADER_PPUSATD1_RADIOAES 0
// <q> SMU
// <i> Update secure access state of SMU before calling into bootloader
#define BOOTLOADER_PPUSATD1_SMU 0
// <q> SMUCFGNS
// <i> Update secure access state of SMUCFGNS before calling into bootloader
#define BOOTLOADER_PPUSATD1_SMUCFGNS 0
// <q> LETIMER0
// <i> Update secure access state of LETIMER0 before calling into bootloader
#define BOOTLOADER_PPUSATD1_LETIMER0 0
// <q> IADC0
// <i> Update secure access state of IADC0 before calling into bootloader
#define BOOTLOADER_PPUSATD1_IADC0 0
// <q> ACMP0
// <i> Update secure access state of ACMP0 before calling into bootloader
#define BOOTLOADER_PPUSATD1_ACMP0 0
// <q> ACMP1
// <i> Update secure access state of ACMP1 before calling into bootloader
#define BOOTLOADER_PPUSATD1_ACMP1 0
// <q> AMUXCP0
// <i> Update secure access state of AMUXCP0 before calling into bootloader
#define BOOTLOADER_PPUSATD1_AMUXCP0 0
// <q> VDAC0
// <i> Update secure access state of VDAC0 before calling into bootloader
#define BOOTLOADER_PPUSATD1_VDAC0 0
// <q> VDAC1
// <i> Update secure access state of VDAC1 before calling into bootloader
#define BOOTLOADER_PPUSATD1_VDAC1 0
// <q> PCNT
// <i> Update secure access state of PCNT before calling into bootloader
#define BOOTLOADER_PPUSATD1_PCNT 0
// <q> HFRCO1
// <i> Update secure access state of HFRCO1 before calling into bootloader
#define BOOTLOADER_PPUSATD1_HFRCO1 0
// <q> HFXO0
// <i> Update secure access state of HFXO0 before calling into bootloader
#define BOOTLOADER_PPUSATD1_HFXO0 0
// <q> I2C0
// <i> Update secure access state of I2C0 before calling into bootloader
#define BOOTLOADER_PPUSATD1_I2C0 0
// <q> WDOG0
// <i> Update secure access state of WDOG0 before calling into bootloader
#define BOOTLOADER_PPUSATD1_WDOG0 0
// <q> WDOG1
// <i> Update secure access state of WDOG1 before calling into bootloader
#define BOOTLOADER_PPUSATD1_WDOG1 0
// <q> EUSART0
// <i> Update secure access state of EUSART0 before calling into bootloader
#define BOOTLOADER_PPUSATD1_EUSART0 0
// <q> SEMAILBOX
// <i> Update secure access state of SEMAILBOX before calling into bootloader
#define BOOTLOADER_PPUSATD1_SEMAILBOX 0
// <q> MVP
// <i> Update secure access state of MVP before calling into bootloader
#define BOOTLOADER_PPUSATD1_MVP 0
// <q> AHBRADIO
// <i> Update secure access state of AHBRADIO before calling into bootloader
#define BOOTLOADER_PPUSATD1_AHBRADIO 0
// </e>
// </h>
// <<< 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

View File

@@ -0,0 +1,23 @@
/***************************************************************************//**
* @file circular_queue_config.h
* @brief Configuration file for circular queue.
* @copyright Copyright 2015 Silicon Laboratories, Inc. www.silabs.com
******************************************************************************/
#ifndef __CIRCULAR_QUEUE_CONFIG_H__
#define __CIRCULAR_QUEUE_CONFIG_H__
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Circular Queue Configuration
// <o CIRCULAR_QUEUE_LEN_MAX> Max Queue Length
// <0-256:1>
// <i> Default: 5
#ifndef CIRCULAR_QUEUE_LEN_MAX
#define CIRCULAR_QUEUE_LEN_MAX 16
#endif
// </h>
// <<< end of configuration section >>>
#endif // __CIRCULAR_QUEUE_CONFIG_H__

File diff suppressed because it is too large Load Diff

26
config/dmadrv_config.h Normal file
View File

@@ -0,0 +1,26 @@
#ifndef DMADRV_CONFIG_H
#define DMADRV_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <o EMDRV_DMADRV_DMA_IRQ_PRIORITY> DMA interrupt priority <0-15>
// <i> Priority of the DMA interrupt. Smaller number equals higher priority.
// <i> Default: 8
#define EMDRV_DMADRV_DMA_IRQ_PRIORITY 8
// <o EMDRV_DMADRV_DMA_CH_COUNT> Number of available channels <1-8>
// <i> Number of DMA channels supported by the driver. A lower channel count
// <i> will reduce RAM memory footprint. The default is to support all channels
// <i> on the device.
// <i> Default: 8
#define EMDRV_DMADRV_DMA_CH_COUNT 8
// <o EMDRV_DMADRV_DMA_CH_PRIORITY> Number of fixed priority channels
// <i> This will configure channels [0, CH_PRIORITY - 1] as fixed priority,
// <i> and channels [CH_PRIORITY, CH_COUNT] as round-robin.
// <i> Default: 0
#define EMDRV_DMADRV_DMA_CH_PRIORITY 0
// <<< end of configuration section >>>
#endif // DMADRV_CONFIG_H

View File

@@ -0,0 +1,13 @@
#ifndef MATTER_TRACING_BUILD_CONFIG_H_
#define MATTER_TRACING_BUILD_CONFIG_H_
// <<< Use Configuration Wizard in Context Menu >>>
// <q MATTER_TRACING_ENABLED> Matter Report on Entering Active
// <i> Default: 0
#define MATTER_TRACING_ENABLED 0
// <<< end of configuration section >>>
#endif // MATTER_TRACING_BUILD_CONFIG_H_

View File

@@ -0,0 +1,45 @@
#ifndef NVM3_DEFAULT_CONFIG_H
#define NVM3_DEFAULT_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <h>NVM3 Default Instance Configuration
#ifndef NVM3_DEFAULT_CACHE_SIZE
// <o NVM3_DEFAULT_CACHE_SIZE> NVM3 Default Instance Cache Size
// <i> Number of NVM3 objects to cache. To reduce access times this number
// <i> should be equal to or higher than the number of NVM3 objects in the
// <i> default NVM3 instance.
// <i> Default: 200
#define NVM3_DEFAULT_CACHE_SIZE 200
#endif
#ifndef NVM3_DEFAULT_MAX_OBJECT_SIZE
// <o NVM3_DEFAULT_MAX_OBJECT_SIZE> NVM3 Default Instance Max Object Size
// <i> Max NVM3 object size that can be stored.
// <i> Default: 254
#define NVM3_DEFAULT_MAX_OBJECT_SIZE 254
#endif
#ifndef NVM3_DEFAULT_REPACK_HEADROOM
// <o NVM3_DEFAULT_REPACK_HEADROOM> NVM3 Default Instance User Repack Headroom
// <i> Headroom determining how many bytes below the forced repack limit the user
// <i> repack limit should be placed. The default is 0, which means the user and
// <i> forced repack limits are equal.
// <i> Default: 0
#define NVM3_DEFAULT_REPACK_HEADROOM 0
#endif
#ifndef NVM3_DEFAULT_NVM_SIZE
// <o NVM3_DEFAULT_NVM_SIZE> NVM3 Default Instance Size
// <i> Size of the NVM3 storage region in flash. This size should be aligned with
// <i> the flash page size of the device.
// <i> Default: 40960
#define NVM3_DEFAULT_NVM_SIZE 40960
#endif
// </h>
// <<< end of configuration section >>>
#endif // NVM3_DEFAULT_CONFIG_H

187
config/pin_config.h Normal file
View File

@@ -0,0 +1,187 @@
#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]$
// $[TIMER0]
// [TIMER0]$
// $[TIMER1]
// [TIMER1]$
// $[TIMER2]
// [TIMER2]$
// $[TIMER3]
// [TIMER3]$
// $[TIMER4]
// [TIMER4]$
// $[USART0]
// [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 CTS on PB02
#ifndef EUSART0_CTS_PORT
#define EUSART0_CTS_PORT SL_GPIO_PORT_B
#endif
#ifndef EUSART0_CTS_PIN
#define EUSART0_CTS_PIN 2
#endif
// EUSART0 RX on PA06
#ifndef EUSART0_RX_PORT
#define EUSART0_RX_PORT SL_GPIO_PORT_A
#endif
#ifndef EUSART0_RX_PIN
#define EUSART0_RX_PIN 6
#endif
// EUSART0 TX on PA05
#ifndef EUSART0_TX_PORT
#define EUSART0_TX_PORT SL_GPIO_PORT_A
#endif
#ifndef EUSART0_TX_PIN
#define EUSART0_TX_PIN 5
#endif
// [EUSART0]$
// $[PTI]
// PTI DFRAME on PC07
#ifndef PTI_DFRAME_PORT
#define PTI_DFRAME_PORT SL_GPIO_PORT_C
#endif
#ifndef PTI_DFRAME_PIN
#define PTI_DFRAME_PIN 7
#endif
// PTI DOUT on PC06
#ifndef PTI_DOUT_PORT
#define PTI_DOUT_PORT SL_GPIO_PORT_C
#endif
#ifndef PTI_DOUT_PIN
#define PTI_DOUT_PIN 6
#endif
// [PTI]$
// $[MODEM]
// [MODEM]$
// $[CUSTOM_PIN_NAME]
#ifndef _PORT
#define _PORT SL_GPIO_PORT_A
#endif
#ifndef _PIN
#define _PIN 0
#endif
// [CUSTOM_PIN_NAME]$
#endif // PIN_CONFIG_H

View File

@@ -0,0 +1 @@
{version:'1.0.0'}

View File

170
config/psa_crypto_config.h Normal file
View File

@@ -0,0 +1,170 @@
#ifndef PSA_CRYPTO_CONFIG_H
#define PSA_CRYPTO_CONFIG_H
// -----------------------------------------------------------------------------
// User exposed config options
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Key management configuration
// <o SL_PSA_KEY_USER_SLOT_COUNT> PSA User Maximum Open Keys Count <0-128>
// <i> Maximum amount of keys that the user application will have open
// <i> simultaneously. In context of PSA Crypto, an open key means any key
// <i> either stored in RAM (lifetime set to PSA_KEY_LIFETIME_VOLATILE), or
// <i> used as part of a cryptographic operation.
// <i> When using a key for a multi-part (setup/update/finish) operation, a key
// <i> is considered to be open from the moment the operation is successfully
// <i> setup, until it finishes or aborts.
// <i> When an application tries to open more keys than this value accounts for,
// <i> the PSA API may return PSA_ERROR_INSUFFICIENT_MEMORY. Keep in mind that
// <i> other software included in the application (e.g. wireless protocol stacks)
// <i> also can have a need to have open keys in PSA Crypto. This could lead to
// <i> a race condition when the application key slot count is set too low for
// <i> the actual usage of the application, as a software stack may not fail
// <i> gracefully in case an application opens more than its declared amount of
// <i> keys, thereby precluding the stack from functioning.
// <i> Default: 4
#define SL_PSA_KEY_USER_SLOT_COUNT (4)
// <o SL_PSA_ITS_USER_MAX_FILES> PSA Maximum User Persistent Keys Count <0-1024>
// <i> Maximum amount of keys (or other files) that can be stored persistently
// <i> by the application through the PSA interface, when persistent storage
// <i> support for PSA Crypto is included in the project.
// <i> Due to caching logic, this setting does have an impact on static RAM usage.
// <i> Note that this number is added to the potential requirements from other
// <i> software components in the project, such that the total amount of keys
// <i> which can be stored through the ITS backend can be higher than what is
// <i> configured here.
// <i>
// <i> WARNING: When changing this setting on an application that is already
// <i> deployed, and thus will get the change through an application upgrade,
// <i> care should be taken to ensure that the setting is only ever increased,
// <i> and never decreased. Decreasing this setting might cause previously
// <i> stored keys/files to become inaccessible.
// <i>
// <i> It is not possible to change this setting when using V3 ITS Driver.
// <i> The file-storage indexing is dependent on the maximum number of files,
// <i> and if SL_PSA_ITS_USER_MAX_FILES is changed, ITS should be cleared and
// <i> all files need to be stored again.
// <i> Default: 128
#define SL_PSA_ITS_USER_MAX_FILES (128)
// <o SL_PSA_ITS_SUPPORT_V1_DRIVER> Enable V1 Format Support For ITS Files <0-1>
// <i> Devices that used PSA ITS together with gecko_sdk_3.1.x or earlier
// <i> might have keys (or other files) stored in V1 format.
// <i> If no v1 files are used, its support can be disabled for space
// <i> optimization.
// <i> Default: 0
#define SL_PSA_ITS_SUPPORT_V1_DRIVER 0
// <o SL_PSA_ITS_SUPPORT_V2_DRIVER> Enable V2 ITS Driver Support <0-1>
// <i> Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys
// <i> (or other files) stored using different address range. Enabling this
// <i> config option adds upgrade code which converts V2 (and V1 if
// <i> supported) format ITS keys/files to the latest V3 format. Update is
// <i> fully automatic, needs to be run once and require extra flash space of
// <i> approximately the size of the largest key.
// <i> V1 ITS driver support can be disabled if the device has never used ITS
// <i> driver before in GSDK 4.1.x and earlier, or the keys has been already
// <i> migrated.
// <i> Default: 0
#define SL_PSA_ITS_SUPPORT_V2_DRIVER 0
// <o SL_PSA_ITS_SUPPORT_V3_DRIVER> Enable support for V3 ITS Driver <0-1>
// <i> Devices that have used GSDK 4.1.x and earlier, and used ITS have the keys
// <i> (or other files) stored using different address range. In rare case
// <i> that those devices have full nvm3 and not enough space for the
// <i> upgrade, (that requires an extra space to store largest key in memory
// <i> twice), this config option can disable v3 driver and use v2 one.
// <i> To upgrade the device, make space for the upgrade, and enable v3 driver again.
// <i>
// <i> WARNING: When using V3 driver, it is not possible to increase or decrease
// <i> the value of SL_PSA_ITS_USER_MAX_FILES. If the change of
// <i> SL_PSA_ITS_USER_MAX_FILES is required, ITS should be cleared and
// <i> all files need to be stored again.
// <i> Default: 1
#define SL_PSA_ITS_SUPPORT_V3_DRIVER 1
// <o SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG> Built-in AES Key Mode of Operation
// <PSA_ALG_CTR=> CTR Mode
// <PSA_ALG_CFB=> CFB Mode
// <PSA_ALG_OFB=> OFB Mode
// <PSA_ALG_ECB_NO_PADDING=> ECB Mode
// <PSA_ALG_CBC_NO_PADDING=> CBC Mode (no padding)
// <PSA_ALG_CBC_PKCS7=> CBC Mode (PKCS#7 padding)
// <i> PSA Crypto only allows one specific usage algorithm per built-in key ID.
// <i> Default: PSA_ALG_CTR
#define SL_SE_BUILTIN_KEY_AES128_ALG_CONFIG (PSA_ALG_CTR)
#ifndef SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG
// <o SL_CRYPTOACC_BUILTIN_KEY_PUF_ALG> Built-in PUF Key Algorithm
// <PSA_ALG_PBKDF2_AES_CMAC_PRF_128=> PBKDF2 (CMAC-AES-128-PRF)
// <PSA_ALG_CMAC=> CMAC
// <i> PSA Crypto only allows one specific usage algorithm per built-in key ID.
// <i> It is recommended to only use the PUF key for deriving further key
// <i> material.
// <i> 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
// </h>
// <h> Power optimization configuration
// <e SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP> Store already-generated random bytes before putting the device to sleep
// <i> Using the hardware TRNG (for example through psa_generate_random()) will
// <i> consume a non-negligible amount of power. A start-up routine must pass
// <i> and a relatively large minimum amount of random bytes will be generated.
// <i> Use cases where the device is frequently entering EM2/EM3 and thereafter
// <i> consumes a small amount of data from the TRNG may benefit from buffering
// <i> the existing random bytes before putting the device to sleep. These
// <i> buffered bytes are then consumed until exhaustion before the TRNG needs
// <i> to be initialized and used again.
// <i>
// <i> NOTE: this configuration option is only applicable for devices with a
// <i> Virtual Secure Engine (VSE), and requires the 'Power Manager' component
// <i> to be included in the project.
// <i>
// <i> Default: 0
#define SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP (0)
// <o SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP> Number of random words to buffer before putting the device to sleep <1-63>
// <i> This option can be used to decrease the amount of random words that
// <i> (if enabled) are buffered before the device enters EM2/EM3. Lowering this
// <i> number will result in less static RAM usage, but also means that the TRNG
// <i> potentially has to be initialized more times--leading to increased power
// <i> consumption. By default this option in configured to buffer as much TRNG
// <i> data as possible (limited by the depth of the TRNG FIFO).
// <i>
// <i> NOTE: this configuration option is only applicable when
// <i> SL_VSE_BUFFER_TRNG_DATA_DURING_SLEEP is enabled.
// <i>
// <i> Default: 63
#define SL_VSE_MAX_TRNG_WORDS_BUFFERED_DURING_SLEEP (63)
// </e>
// </h>
// <<< 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

View File

@@ -0,0 +1,57 @@
/***************************************************************************//**
* @brief Unified radio scheduler priority configuration for 802.15.4 stacks
*
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 __SL_802154_RADIO_PRIORITY_CONFIG_H__
#define __SL_802154_RADIO_PRIORITY_CONFIG_H__
// <<< Use Configuration Wizard in Context Menu >>>
// <h> 802.15.4 Radio Priorities
// <o SL_802154_RADIO_PRIO_TX_MIN> TX priority minimum
// <1-255:1>
// <i> Default: 100
// <i> The 802.15.4 TX priority for the first try of a TX message
#define SL_802154_RADIO_PRIO_TX_MIN 100
// <o SL_802154_RADIO_PRIO_TX_STEP> TX priority step
// <1-50:1>
// <i> Default: 2
// <i> The delta by which the TX priority for 802.15.4 stacks decrements for each retry of the packet
#define SL_802154_RADIO_PRIO_TX_STEP 2
// <o SL_802154_RADIO_PRIO_TX_MAX> TX priority maximum
// <1-255:1>
// <i> Default: 80
// <i> The highest 802.15.4 TX priority of a message. TX priorities are elevated based on number of retries and the step value specified
#define SL_802154_RADIO_PRIO_TX_MAX 80
// <o SL_802154_RADIO_PRIO_ACTIVE_RX_VALUE> Active RX priority
// <1-255:1>
// <i> Default: 255
// <i> The 802.15.4 active RX priority. Active RX is when the device is receiving a packet
#define SL_802154_RADIO_PRIO_ACTIVE_RX_VALUE 255
// <o SL_802154_RADIO_PRIO_BACKGROUND_RX_VALUE> Background RX priority
// <1-255:1>
// <i> Default: 255
// <i> The 802.15.4 background RX priority. Background RX is the general, passive receive state when the device is not transmitting anything
#define SL_802154_RADIO_PRIO_BACKGROUND_RX_VALUE 255
// </h>
// <<< end of configuration section >>>
#endif //__SL_802154_RADIO_PRIORITY_CONFIG_H__

View File

@@ -0,0 +1,45 @@
/***************************************************************************//**
* @file
* @brief Bluetooth Advertiser configuration
*******************************************************************************
* # License
* <b>Copyright 2023 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>>
// <o SL_BT_CONFIG_USER_ADVERTISERS> Max number of advertising sets reserved for user <0-255>
// <i> Default: 1
// <i> 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.
// <i>
// <i> 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.
// <i>
// <i> 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 (1)
// <<< end of configuration section >>>
#endif

View File

@@ -0,0 +1,175 @@
/***************************************************************************//**
* @file
* @brief Bluetooth Stack configuration
*******************************************************************************
* # License
* <b>Copyright 2023 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_BLUETOOTH_CONFIG_H
#define SL_BLUETOOTH_CONFIG_H
#if defined(SL_COMPONENT_CATALOG_PRESENT)
#include "sl_component_catalog.h"
#endif
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Bluetooth Stack Configuration
#ifdef SL_CATALOG_BLUETOOTH_FEATURE_CONNECTION_PRESENT
#include "sl_bluetooth_connection_config.h"
#else
#define SL_BT_CONFIG_MAX_CONNECTIONS (0)
#endif
// Max number of connections reserved by user application and components
#define SL_BT_CONFIG_MAX_CONNECTIONS_SUM (SL_BT_CONFIG_MAX_CONNECTIONS + SL_BT_COMPONENT_CONNECTIONS)
#ifdef SL_CATALOG_BLUETOOTH_FEATURE_ADVERTISER_PRESENT
#include "sl_bluetooth_advertiser_config.h"
#else
#define SL_BT_CONFIG_USER_ADVERTISERS (0)
#endif
#define SL_BT_CONFIG_MAX_ADVERTISERS (SL_BT_CONFIG_USER_ADVERTISERS + SL_BT_COMPONENT_ADVERTISERS)
// <o SL_BT_CONFIG_MAX_SOFTWARE_TIMERS> Max number of software timers <0-16>
// <i> Default: 4
// <i> Define the number of software timers the application needs. Each timer needs resources from the stack to be implemented. Increasing amount of soft timers may cause degraded performance in some use cases.
#define SL_BT_CONFIG_MAX_SOFTWARE_TIMERS (4)
// <o SL_BT_CONFIG_BUFFER_SIZE> Buffer memory size for Bluetooth stack
// <i> Default: 3150
// <i> Define buffer memory size for running Bluetooth stack and buffering data over Bluetooth connections,
// <i> advertising and scanning. The default value is an estimation for achieving adequate throughput
// <i> and supporting multiple simultaneous connections. Consider increasing this value for
// <i> higher data throughput over connections, advertising or scanning long advertisement data.
#define SL_BT_CONFIG_BUFFER_SIZE (3150)
// <e SL_BT_CONFIG_SET_CUSTOM_ADDRESS_FROM_NVM3> Enable using a custom Bluetooth address stored in NVM3
// <i> Enable or disable using a custom Bluetooth address stored the Bluetooth space of NVM3. When enabled,
// <i> the Bluetooth stack sets the address as the Bluetooth identity address of the device if a valid address
// <i> is found in NVM3.
// <i> Default: 1
#define SL_BT_CONFIG_SET_CUSTOM_ADDRESS_FROM_NVM3 (1)
// </e>
// <e SL_BT_CONFIG_SET_CTUNE_FROM_NVM3> Enable setting the HFXO CTUNE with a value stored in the Bluetooth space of NVM3.
// <i> Enable or disable setting the HFXO CTUNE with a value stored in the Bluetooth space of NVM3. When enabled, the
// <i> Bluetooth stack sets the HFXO CTUNE at Bluetooth starting phase if a CTUNE value is found in NVM3. This
// <i> operation will override the CTUNE that is set to with the value stored in the MFG_CTUNE token or the
// <i> configuration value in the Clock Manager.
// <i> Setting the HFXO CTUNE with this method is deprecated. Currently the functionality is provided for keeping
// <i> backwards compatibility with legacy SDKs, and the support will be discontinued in future SDK releases.
// <i> The recommended method is to store CTUNE value in the MFG_CTUNE token.
// <i> Default: 0
#define SL_BT_CONFIG_SET_CTUNE_FROM_NVM3 (0)
// </e>
// </h> End Bluetooth Stack Configuration
// <h> TX Power Levels
// <o SL_BT_CONFIG_MIN_TX_POWER> Minimum radiated TX power level in 0.1dBm unit
// <i> Default: -30 (-3 dBm)
// <i> Configure the minimum radiated TX power level for Bluetooth connections and DTM testing.
// <i> This configuration is used for power control on Bluetooth connections
// <i> if the LE Power Control feature is enabled.
// <i> When this configuration is passed into stack initialization, the stack
// <i> will select the closest value that the device supports.
// <i> API sl_bt_system_get_tx_power_setting() can be used to query the selected value.
#define SL_BT_CONFIG_MIN_TX_POWER (-30)
// <o SL_BT_CONFIG_MAX_TX_POWER> Maximum radiated TX power level in 0.1dBm unit
// <i> Default: 80 (8 dBm)
// <i> Configure the maximum radiated TX power level for Bluetooth connections,
// <i> advertising, scanning and DTM testing.
// <i> When this configuration is passed into stack initialization, the stack
// <i> will select the closest value that the device supports.
// <i> API sl_bt_system_get_tx_power_setting() can be used to query the selected value.
#define SL_BT_CONFIG_MAX_TX_POWER (80)
// </h> End TX Power Levels
// <h> RF Path
// <o SL_BT_CONFIG_RF_PATH_GAIN_TX> RF TX path gain in 0.1dBm unit
// <i> Default: 0
// <i> The Bluetooth stack takes TX RF path gain into account when adjusting transmitter
// <i> output power. Power radiated from the antenna then matches the application request.
// <i> A negative value indicates some power loss in the path. For example,
// <i> with radiated TX power set to +10 dBm and this configuration to -10
// <i> (i.e., 1 dBm loss), the transmitter output power will be set to +11 dBm.
#define SL_BT_CONFIG_RF_PATH_GAIN_TX (0)
// <o SL_BT_CONFIG_RF_PATH_GAIN_RX> RF RX path gain in 0.1dBm unit
// <i> Default: 0
// <i> RX RF path gain is used to compensate the RSSI reports from the Bluetooth Stack.
#define SL_BT_CONFIG_RF_PATH_GAIN_RX (0)
// </h> End RF Path
// <<< end of configuration section >>>
/**
* By default, Bluetooth requires accurate LF clock for EM2. If the component
* catalog presents, an inaccurate LF clock for EM2 can be used if the Bluetooth
* connection, periodic advertising and periodic advertising synchronization
* features are known to not present.
*/
#define BT_EM2_LFCLK_REQ_FLAG 0
#if defined(SL_COMPONENT_CATALOG_PRESENT)
#if !defined(SL_CATALOG_BLUETOOTH_FEATURE_CONNECTION_PRESENT) \
&& !defined(SL_CATALOG_BLUETOOTH_FEATURE_PERIODIC_ADV_PRESENT) \
&& !defined(SL_CATALOG_BLUETOOTH_FEATURE_SYNC_PRESENT)
#undef BT_EM2_LFCLK_REQ_FLAG
#define BT_EM2_LFCLK_REQ_FLAG SL_BT_CONFIG_FLAG_INACCURATE_LFCLK_EM2
#endif
#endif // SL_COMPONENT_CATALOG_PRESENT
#ifdef SL_CATALOG_KERNEL_PRESENT
#define SL_BT_CONFIG_FLAGS (SL_BT_CONFIG_FLAG_RTOS | BT_EM2_LFCLK_REQ_FLAG)
#else
#define SL_BT_CONFIG_FLAGS (BT_EM2_LFCLK_REQ_FLAG)
#endif // SL_CATALOG_KERNEL_PRESENT
#include "sl_bt_stack_config.h"
#define SL_BT_CONFIG_DEFAULT \
{ \
.config_flags = SL_BT_CONFIG_FLAGS, \
.bluetooth.max_buffer_memory = SL_BT_CONFIG_BUFFER_SIZE, \
.scheduler_callback = NULL, \
.stack_schedule_callback = NULL, \
.gattdb = &gattdb, \
.max_timers = SL_BT_CONFIG_MAX_SOFTWARE_TIMERS, \
.rf.tx_gain = SL_BT_CONFIG_RF_PATH_GAIN_TX, \
.rf.rx_gain = SL_BT_CONFIG_RF_PATH_GAIN_RX, \
.rf.tx_min_power = SL_BT_CONFIG_MIN_TX_POWER, \
.rf.tx_max_power = SL_BT_CONFIG_MAX_TX_POWER, \
}
#endif // SL_BLUETOOTH_CONFIG_H

View File

@@ -0,0 +1,48 @@
/***************************************************************************//**
* @file
* @brief Bluetooth Connection configuration
*******************************************************************************
* # License
* <b>Copyright 2023 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>>
// <o SL_BT_CONFIG_MAX_CONNECTIONS> Max number of connections reserved for user <0-32>
// <i> Default: 4
// <i> Define the number of connections the application needs.
#define SL_BT_CONFIG_MAX_CONNECTIONS (4)
// <o SL_BT_CONFIG_CONNECTION_DATA_LENGTH> Preferred maximum TX payload octets <27-251>
// <i> Default: 251
// <i> Define the preferred maximum TX payload octets that will be used on connections.
// <i> This value is set to the controller as the default suggested data length when
// <i> Bluetooth stack is started.
#define SL_BT_CONFIG_CONNECTION_DATA_LENGTH (251)
// <<< end of configuration section >>>
#endif

View File

@@ -0,0 +1,130 @@
/***************************************************************************//**
* @file
* @brief Board Control
*******************************************************************************
* # License
* <b>Copyright 2022 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_BOARD_CONTROL_CONFIG_H
#define SL_BOARD_CONTROL_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <q SL_BOARD_ENABLE_SENSOR_RHT> Enable Relative Humidity and Temperature sensor
// <i> Default: 0
#define SL_BOARD_ENABLE_SENSOR_RHT 0
// <q SL_BOARD_ENABLE_SENSOR_HALL> Enable Hall Effect sensor
// <i> Default: 0
#define SL_BOARD_ENABLE_SENSOR_HALL 0
// <q SL_BOARD_ENABLE_SENSOR_PRESSURE> Enable Barometric Pressure sensor
// <i> Default: 0
#define SL_BOARD_ENABLE_SENSOR_PRESSURE 0
// <q SL_BOARD_ENABLE_SENSOR_LIGHT> Enable Light sensor
// <i> Default: 0
#define SL_BOARD_ENABLE_SENSOR_LIGHT 0
// <q SL_BOARD_ENABLE_SENSOR_IMU> Enable Inertial Measurement Unit
// <i> Default: 0
#define SL_BOARD_ENABLE_SENSOR_IMU 0
// <q SL_BOARD_ENABLE_SENSOR_MICROPHONE> Enable Microphone
// <i> Default: 0
#define SL_BOARD_ENABLE_SENSOR_MICROPHONE 0
// <q SL_BOARD_DISABLE_MEMORY_SPI> Disable SPI Flash
// <i> Default: 1
#define SL_BOARD_DISABLE_MEMORY_SPI 1
// <<< end of configuration section >>>
// <<< sl:start pin_tool >>>
// <gpio> SL_BOARD_ENABLE_SENSOR_RHT
// $[GPIO_SL_BOARD_ENABLE_SENSOR_RHT]
#ifndef SL_BOARD_ENABLE_SENSOR_RHT_PORT
#define SL_BOARD_ENABLE_SENSOR_RHT_PORT SL_GPIO_PORT_C
#endif
#ifndef SL_BOARD_ENABLE_SENSOR_RHT_PIN
#define SL_BOARD_ENABLE_SENSOR_RHT_PIN 9
#endif
// [GPIO_SL_BOARD_ENABLE_SENSOR_RHT]$
// <gpio> SL_BOARD_ENABLE_SENSOR_HALL
// $[GPIO_SL_BOARD_ENABLE_SENSOR_HALL]
#ifndef SL_BOARD_ENABLE_SENSOR_HALL_PORT
#define SL_BOARD_ENABLE_SENSOR_HALL_PORT SL_GPIO_PORT_C
#endif
#ifndef SL_BOARD_ENABLE_SENSOR_HALL_PIN
#define SL_BOARD_ENABLE_SENSOR_HALL_PIN 9
#endif
// [GPIO_SL_BOARD_ENABLE_SENSOR_HALL]$
// <gpio> SL_BOARD_ENABLE_SENSOR_PRESSURE
// $[GPIO_SL_BOARD_ENABLE_SENSOR_PRESSURE]
#ifndef SL_BOARD_ENABLE_SENSOR_PRESSURE_PORT
#define SL_BOARD_ENABLE_SENSOR_PRESSURE_PORT SL_GPIO_PORT_C
#endif
#ifndef SL_BOARD_ENABLE_SENSOR_PRESSURE_PIN
#define SL_BOARD_ENABLE_SENSOR_PRESSURE_PIN 9
#endif
// [GPIO_SL_BOARD_ENABLE_SENSOR_PRESSURE]$
// <gpio> SL_BOARD_ENABLE_SENSOR_LIGHT
// $[GPIO_SL_BOARD_ENABLE_SENSOR_LIGHT]
#ifndef SL_BOARD_ENABLE_SENSOR_LIGHT_PORT
#define SL_BOARD_ENABLE_SENSOR_LIGHT_PORT SL_GPIO_PORT_C
#endif
#ifndef SL_BOARD_ENABLE_SENSOR_LIGHT_PIN
#define SL_BOARD_ENABLE_SENSOR_LIGHT_PIN 9
#endif
// [GPIO_SL_BOARD_ENABLE_SENSOR_LIGHT]$
// <gpio> SL_BOARD_ENABLE_SENSOR_IMU
// $[GPIO_SL_BOARD_ENABLE_SENSOR_IMU]
#ifndef SL_BOARD_ENABLE_SENSOR_IMU_PORT
#define SL_BOARD_ENABLE_SENSOR_IMU_PORT SL_GPIO_PORT_C
#endif
#ifndef SL_BOARD_ENABLE_SENSOR_IMU_PIN
#define SL_BOARD_ENABLE_SENSOR_IMU_PIN 9
#endif
// [GPIO_SL_BOARD_ENABLE_SENSOR_IMU]$
// <gpio> SL_BOARD_ENABLE_SENSOR_MICROPHONE
// $[GPIO_SL_BOARD_ENABLE_SENSOR_MICROPHONE]
#ifndef SL_BOARD_ENABLE_SENSOR_MICROPHONE_PORT
#define SL_BOARD_ENABLE_SENSOR_MICROPHONE_PORT SL_GPIO_PORT_C
#endif
#ifndef SL_BOARD_ENABLE_SENSOR_MICROPHONE_PIN
#define SL_BOARD_ENABLE_SENSOR_MICROPHONE_PIN 8
#endif
// [GPIO_SL_BOARD_ENABLE_SENSOR_MICROPHONE]$
// <<< sl:end pin_tool >>>
#endif // SL_BOARD_CONTROL_CONFIG_H

View File

@@ -0,0 +1,52 @@
/***************************************************************************//**
* @file
* @brief Configuration of the Bluetooth host stack system adaptation layer
*******************************************************************************
* # License
* <b>Copyright 2023 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_HOST_ADAPTATION_CONFIG_H
#define SL_BT_HOST_ADAPTATION_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Bluetooth Host Adaptation Configuration
// <o SL_BT_HOST_ADAPTATION_RADIO_IRQ_PRIORITY> Radio interrupt priority in baremetal applications <1..7:1>
// <i> Default: 4
// <i> Define the ISR priority for radio interrupts in baremetal applications. The Bluetooth host stack sets this priority when the Bluetooth stack is started.
#define SL_BT_HOST_ADAPTATION_RADIO_IRQ_PRIORITY (4)
// <o SL_BT_HOST_ADAPTATION_LINKLAYER_IRQ_PRIORITY> Linklayer interrupt priority in baremetal applications <1..7:1>
// <i> Default: 4
// <i> Define the ISR priority for linklayer interrupts in baremetal applications. The Bluetooth host stack sets this priority when the Bluetooth stack is started.
#define SL_BT_HOST_ADAPTATION_LINKLAYER_IRQ_PRIORITY (5)
// </h> Bluetooth Host Adaptation Configuration
// <<< end of configuration section >>>
#endif // SL_BT_HOST_ADAPTATION_CONFIG_H

View File

@@ -0,0 +1,44 @@
/***************************************************************************//**
* @file
* @brief Bluetooth RTOS configuration
*******************************************************************************
* # License
* <b>Copyright 2023 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_RTOS_CONFIG_H
#define SL_BT_RTOS_CONFIG_H
#include <em_device.h>
#if defined(_SILICON_LABS_32B_SERIES_2)
#include "sl_bt_rtos_config_s2.h"
#elif defined(_SILICON_LABS_32B_SERIES_3)
#include "sl_bt_rtos_config_s3.h"
#else
#error "Device not supported"
#endif
#endif // SL_BT_RTOS_CONFIG_H

View File

@@ -0,0 +1,84 @@
/***************************************************************************//**
* @file
* @brief Bluetooth RTOS configuration
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_RTOS_CONFIG_S2_H
#define SL_BT_RTOS_CONFIG_S2_H
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Priority Configuration for Bluetooth RTOS Tasks
// <o SL_BT_RTOS_LINK_LAYER_TASK_PRIORITY> Bluetooth link layer task priority
// <i> Default: 52 (CMSIS-RTOS2 osPriorityRealtime4)
// <i> Define the priority of the Bluetooth link layer task. This must be a valid
// <i> priority value from CMSIS-RTOS2 osPriority_t definition. The link layer
// <i> task must have the highest priority in these three Bluetooth RTOS tasks.
#define SL_BT_RTOS_LINK_LAYER_TASK_PRIORITY (52)
// <o SL_BT_RTOS_LINK_LAYER_TASK_STACK_SIZE> Bluetooth link layer task stack size in bytes
// <i> Default: 1000
// <i> Define the stack size of the Bluetooth link layer task. The value is in bytes
// <i> and will be word aligned when it is applied at the task creation.
#define SL_BT_RTOS_LINK_LAYER_TASK_STACK_SIZE (1000)
// <o SL_BT_RTOS_HOST_STACK_TASK_PRIORITY> Bluetooth host stack task priority
// <i> Default: 51 (CMSIS-RTOS2 osPriorityRealtime3)
// <i> Define the priority of the Bluetooth host stack task. This must be a
// <i> valid priority value from CMSIS-RTOS2 osPriority_t definition.
#define SL_BT_RTOS_HOST_STACK_TASK_PRIORITY (51)
// <o SL_BT_RTOS_HOST_STACK_TASK_STACK_SIZE> Bluetooth host stack task stack size in bytes
// <i> Default: 2000
// <i> Define the stack size of the Bluetooth host stack task. The value is in bytes
// <i> and will be word aligned when it is applied at the task creation.
#define SL_BT_RTOS_HOST_STACK_TASK_STACK_SIZE (2000)
// <o SL_BT_RTOS_EVENT_HANDLER_TASK_PRIORITY> Bluetooth event handler task priority
// <i> Default: 50 (CMSIS-RTOS2 osPriorityRealtime2)
// <i> Define the priority of the Bluetooth event handler task. This must be a
// <i> valid priority value from CMSIS-RTOS2 osPriority_t definition. The event
// <i> handler task must have the lowest priority in these three Bluetooth RTOS tasks.
// <i> The event task is not created and this configuration is unused if the
// <i> Bluetooth Event System IPC component is included in the application
#define SL_BT_RTOS_EVENT_HANDLER_TASK_PRIORITY (50)
// <o SL_BT_RTOS_EVENT_HANDLER_STACK_SIZE> Bluetooth event handler task stack size in bytes
// <i> Default: 1000
// <i> Define the stack size of the Bluetooth event handler task. The value is in bytes
// <i> and will be word aligned when it is applied at the task creation.
// <i> The event task is not created and this configuration is unused if the
// <i> Bluetooth Event System IPC component is included in the application
#define SL_BT_RTOS_EVENT_HANDLER_STACK_SIZE 1536
// </h> End Priority Configuration for Bluetooth RTOS Tasks
// <<< end of configuration section >>>
#endif // SL_BT_RTOS_CONFIG_S2_H

View File

@@ -0,0 +1,44 @@
/*******************************************************************************
* @file
* @brief OpenThread Green Power configuration file.
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>> -----------------
// <e> Rx Offset time
// The rx offset time for the bidirectional message.
//
#define GP_RX_OFFSET_IN_MICRO_SECONDS 21000
// </e>
// <e> TX Timeout
// Tx timeout after which the gp outgoing packet is invalid.
//
#define GP_TX_MAX_TIMEOUT_IN_MICRO_SECONDS 5000000
// </e>
// <<< end of configuration section >>>

73
config/sl_matter_config.h Normal file
View File

@@ -0,0 +1,73 @@
#ifndef SL_MATTER_CONFIG_H
#define SL_MATTER_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <o SL_MATTER_STACK_LOCK_TRACKING_MODE> Stack Lock Tracking Mode
// <SL_MATTER_STACK_LOCK_TRACKING_NONE=> None
// <SL_MATTER_STACK_LOCK_TRACKING_LOG=> Log
// <SL_MATTER_STACK_LOCK_TRACKING_FATAL=> Fatal
// <i> Default: SL_MATTER_STACK_LOCK_TRACKING_FATAL
#define SL_MATTER_STACK_LOCK_TRACKING_MODE SL_MATTER_STACK_LOCK_TRACKING_FATAL
// <o SL_MATTER_LOG_LEVEL> Log Level
// <SL_MATTER_LOG_NONE=> None
// <SL_MATTER_LOG_ERROR=> Error
// <SL_MATTER_LOG_PROGRESS=> Progress
// <SL_MATTER_LOG_DETAIL=> Detailed log (debug)
// <SL_MATTER_LOG_AUTOMATION=> Automation
// <i> Default: SL_MATTER_LOG_DETAIL
#ifndef SL_MATTER_LOG_LEVEL
#define SL_MATTER_LOG_LEVEL SL_MATTER_LOG_DETAIL
#endif
// <q SILABS_LOG_ENABLED> Enable Silabs specific log used in matter
// <i> Default: 1
#ifndef SILABS_LOG_ENABLED
#define SILABS_LOG_ENABLED 1
#endif
// <q HARD_FAULT_LOG_ENABLE> Enable hard fault logging
// <i> Default: 1
#ifndef HARD_FAULT_LOG_ENABLE
#define HARD_FAULT_LOG_ENABLE 1
#endif
// <o CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION> Device software version
// <i> Default: 1
#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION 1
// <s.128 CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING> Device software version string
#define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING "1"
// <o CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION> Device hardware version
// <i> Default: 1
#define CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION 1
// <q SL_MATTER_CLI_ARG_PARSER> Enable CLI Argument Parser
// <i> Default: 1
#ifndef SL_MATTER_CLI_ARG_PARSER
#define SL_MATTER_CLI_ARG_PARSER 1
#endif
// <o CHIP_DEVICE_CONFIG_MAX_DISCOVERED_IP_ADDRESSES> Define the default number of ip addresses to discover
// <i> Default: 5
#define CHIP_DEVICE_CONFIG_MAX_DISCOVERED_IP_ADDRESSES 5
// <o KVS_MAX_ENTRIES> Maximum amount of KVS Entries
// <i> Default: 255
#define KVS_MAX_ENTRIES 255
// <q CHIP_CONFIG_SYNCHRONOUS_REPORTS_ENABLED> Synchronous Reports
// <i> Default: 0
#define CHIP_CONFIG_SYNCHRONOUS_REPORTS_ENABLED 0
// <o SL_MATTER_DEFERRED_ATTRIBUTE_STORE_DELAY_MS> Delay before the deferred attribute are stored in nvm
// <i> Default: 2000
#ifndef SL_MATTER_DEFERRED_ATTRIBUTE_STORE_DELAY_MS
#define SL_MATTER_DEFERRED_ATTRIBUTE_STORE_DELAY_MS 2000
#endif
// <<< end of configuration section >>>
#endif // SL_MATTER_CONFIG_H

View File

@@ -0,0 +1,12 @@
#ifndef SL_MATTER_OTA_CONFIG_H
#define SL_MATTER_OTA_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <o OTA_PERIODIC_TIMEOUT> OTA Requestor periodic timeout
// <d> Default: 86400
#define OTA_PERIODIC_TIMEOUT 86400
// <<< end of configuration section >>>
#endif // SL_MATTER_OTA_CONFIG_H

View File

@@ -0,0 +1,16 @@
#ifndef SL_MATTER_PROVISION_H
#define SL_MATTER_PROVISION_H
// <<< Use Configuration Wizard in Context Menu >>>
// <q ENABLE_EXAMPLE_CREDENTIALS> With this flag enabled if the attestation certificates are not present in non-volatile memory, the device will use the hardcoded test certificates. The flag should be disabled in production builds.
// <i> Default: 1
#define ENABLE_EXAMPLE_CREDENTIALS 1
// <<< end of configuration section >>>
#if ENABLE_EXAMPLE_CREDENTIALS
#define CHIP_DEVICE_CONFIG_ENABLE_EXAMPLE_CREDENTIALS 1
#endif
#endif // SL_MATTER_PROVISION_H

127
config/sl_mbedtls_config.h Normal file
View File

@@ -0,0 +1,127 @@
#ifndef SL_MBEDTLS_CONFIG_H
#define SL_MBEDTLS_CONFIG_H
// -----------------------------------------------------------------------------
// User exposed config options
// <<< Use Configuration Wizard in Context Menu >>>
// <h> TLS/DTLS configuration
// <o MBEDTLS_SSL_CIPHERSUITES> Complete list of ciphersuites to use, in order of preference.
// <i> Default: MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8
// <i> Complete list of ciphersuites to use, in order of preference.
// <i> The value of this configuration should be updated for the application needs.
#define MBEDTLS_SSL_CIPHERSUITES MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8
// <o SL_MBEDTLS_SSL_IN_CONTENT_LEN> Maximum TLS/DTLS fragment length in bytes (input).
// <i> Default: 768
// <i> The size configured here determines the size of the internal I/O
// <i> buffer used in mbedTLS when receiving data.
#define SL_MBEDTLS_SSL_IN_CONTENT_LEN 768
// <o SL_MBEDTLS_SSL_OUT_CONTENT_LEN> Maximum TLS/DTLS fragment length in bytes (output).
// <i> Default: 768
// <i> The size configured here determines the size of the internal I/O
// <i> buffer used in mbedTLS when sending data.
#define SL_MBEDTLS_SSL_OUT_CONTENT_LEN 768
// <q SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH> Enable support for RFC 6066 max_fragment_length extension in SSL.
// <i> Default: 1
// <i> Enable support for RFC 6066 max_fragment_length extension in SSL.
#define SL_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1
// <q SL_MBEDTLS_SSL_EXPORT_KEYS> Enable support for exporting key block and master secret.
// <i> Default: 1
// <i> Enable support for exporting key block and master secret.
// <i> This is required for certain users of TLS, e.g. EAP-TLS.
#define SL_MBEDTLS_SSL_EXPORT_KEYS 1
// <q SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED> Enable the PSK based ciphersuite modes in SSL / TLS.
// <i> Default: 0
// <i> Enable the PSK based ciphersuite modes in SSL / TLS.
#define SL_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED 1
// <q SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED> Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS.
// <i> Default: 0
// <i> Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS.
#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED 0
// <q SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED> Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS.
// <i> Default: 0
// <i> Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS.
#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED 0
// <q SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED> Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS.
// <i> Default: 0
// <i> Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS.
#define SL_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED 0
// <q SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED> Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS.
// <i> Default: 0
// <i> Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS.
#define SL_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED 0
// <q SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING> Enable parsing of the compressed curves.
// <i> Default: 0
// <i> Enable parsing of the compressed curves.
#define SL_MBEDTLS_ECP_ENABLE_COMPRESSED_CURVE_PARSING 0
// <q SL_MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS> Assume all buffers passed to PSA functions are owned exclusively by the PSA function.
// <i> Default: 0
// <i> This option may be enabled if all buffers passed to any PSA function reside
// <i> in memory that is accessible only to the PSA function during its execution.
// <i> This option MUST be disabled whenever buffer arguments are in memory shared
// <i> with an untrusted party, for example where arguments to PSA calls are passed
// <i> across a trust boundary.
#define SL_MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS 1
// </h>
// <h> RSA configuration
// <q SL_MBEDTLS_RSA_NO_CRT> Disable use of the Chinese Remainder Theorem for RSA.
// <i> Default: 0
// <i> Disable use of the Chinese Remainder Theorem for RSA private key
// <i> computations.
#define SL_MBEDTLS_RSA_NO_CRT 0
// </h>
// <h> Miscellaneous configuration
// <q SL_MBEDTLS_DRIVERS_ENABLED> Enable Silicon Labs' Mbed TLS- and PSA Crypto drivers.
// <i> Default: 1
// <i> Enable drivers for hardware acceleration (Mbed TLS and PSA Crypto) and
// <i> secure key handling (PSA Crypto).
#define SL_MBEDTLS_DRIVERS_ENABLED 1
// </h>
// <<< 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

View File

@@ -0,0 +1,72 @@
#ifndef SL_MBEDTLS_DEVICE_CONFIG_H
#define SL_MBEDTLS_DEVICE_CONFIG_H
// -----------------------------------------------------------------------------
// User exposed config options
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Secure Engine (SE) version configuration
// <o SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2> Support SE firmware versions older than 1.2.2 <0-1>
// <i> Enable software fallback for ECDH and ECC public key validation on xG21
// <i> devices running SE firmware versions lower than 1.2.2.
// <i>
// <i> Due to other stability concerns, it is strongly recommended to upgrade
// <i> these devices to the latest firmware revision instead of turning on
// <i> software fallback support.
// <i>
// <i> Not having fallback support will make ECDH operations, as well as PSA
// <i> Crypto public key import, return an error code on affected devices.
// <i>
// <i> Default: 0
#define SL_SE_SUPPORT_FW_PRIOR_TO_1_2_2 0
// <o SL_SE_ASSUME_FW_AT_LEAST_1_2_2> Assume an SE firmware version newer than 1.2.2 <0-1>
// <i> For enhanced performance: if it is guaranteed that all devices on which
// <i> this library will run are updated to at least SE FW 1.2.2, then turning
// <i> on this option will remove certain fallback checks, thereby reducing the
// <i> amount of processing required for ECDH and public key verification
// <i> operations.
// <i> Default: 0
#define SL_SE_ASSUME_FW_AT_LEAST_1_2_2 0
// <o SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA> Assume an SE firmware version that is unaffected by Ed25519 errata <0-1>
// <i> For minimal code size and performance savings: if it is guaranteed that
// <i> none of the devices running this library has SE FWs in the range
// <i> [1.2.2, 1.2.8], then enabling this option will disable runtime version
// <i> checks.
// <i> Default: 0
#define SL_SE_ASSUME_FW_UNAFFECTED_BY_ED25519_ERRATA 0
// </h>
// <<< 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

11
config/sl_memory_config.h Normal file
View File

@@ -0,0 +1,11 @@
#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

View File

@@ -0,0 +1,67 @@
/***************************************************************************//**
* @file
* @brief SL_MX25_FLASH_SHUTDOWN_USART Config
*******************************************************************************
* # License
* <b>Copyright 2020 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_MX25_FLASH_SHUTDOWN_CONFIG_H
#define SL_MX25_FLASH_SHUTDOWN_CONFIG_H
// <<< sl:start pin_tool >>>
// {eusart signal=TX,RX,SCLK} SL_MX25_FLASH_SHUTDOWN
// [EUSART_SL_MX25_FLASH_SHUTDOWN]
#define SL_MX25_FLASH_SHUTDOWN_PERIPHERAL EUSART1
#define SL_MX25_FLASH_SHUTDOWN_PERIPHERAL_NO 1
// EUSART1 TX on PC03
#define SL_MX25_FLASH_SHUTDOWN_TX_PORT SL_GPIO_PORT_C
#define SL_MX25_FLASH_SHUTDOWN_TX_PIN 3
// EUSART1 RX on PC02
#define SL_MX25_FLASH_SHUTDOWN_RX_PORT SL_GPIO_PORT_C
#define SL_MX25_FLASH_SHUTDOWN_RX_PIN 2
// EUSART1 SCLK on PC01
#define SL_MX25_FLASH_SHUTDOWN_SCLK_PORT SL_GPIO_PORT_C
#define SL_MX25_FLASH_SHUTDOWN_SCLK_PIN 1
// [EUSART_SL_MX25_FLASH_SHUTDOWN]
// <gpio> SL_MX25_FLASH_SHUTDOWN_CS
// $[GPIO_SL_MX25_FLASH_SHUTDOWN_CS]
#ifndef SL_MX25_FLASH_SHUTDOWN_CS_PORT
#define SL_MX25_FLASH_SHUTDOWN_CS_PORT SL_GPIO_PORT_C
#endif
#ifndef SL_MX25_FLASH_SHUTDOWN_CS_PIN
#define SL_MX25_FLASH_SHUTDOWN_CS_PIN 0
#endif
// [GPIO_SL_MX25_FLASH_SHUTDOWN_CS]$
// <<< sl:end pin_tool >>>
#endif // SL_MX25_FLASH_SHUTDOWN_CONFIG_H

View File

@@ -0,0 +1,36 @@
/*******************************************************************************
* @file
* @brief OpenThread Bluetooth CLI configuration file.
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>> -----------------
//
// <e> Bluetooth CLI
#define SL_OPENTHREAD_BLE_CLI_ENABLE 1
// </e>
// <<< end of configuration section >>>

View File

@@ -0,0 +1,405 @@
/*******************************************************************************
* @file
* @brief OpenThread stack configuration file.
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>> -----------------
//
// <h> Default OpenThread Stack Configuration
// <h> Thread Stack Protocol Version
// <o OPENTHREAD_CONFIG_THREAD_VERSION>
// <OT_THREAD_VERSION_1_1=> Thread 1.1
// <OT_THREAD_VERSION_1_2=> Thread 1.2
// <OT_THREAD_VERSION_1_3=> Thread 1.3
// <OT_THREAD_VERSION_1_4=> Thread 1.4
// <i> Current Default: OT_THREAD_VERSION_1_4
#ifndef OPENTHREAD_CONFIG_THREAD_VERSION
#define OPENTHREAD_CONFIG_THREAD_VERSION OT_THREAD_VERSION_1_4
#endif
// </h>
#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2)
// <h> The following features require at least Thread Stack Protocol Version 1.2
// <q> Backbone Router
#ifndef OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE
#define OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 0
#endif
// <q> CSL Auto Synchronization using data polling
#ifndef OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE
#define OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE 1
#endif
// <q> CSL (Coordinated Sampled Listening) Debug
#ifndef OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE
#define OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE 0
#endif
// <q> CSL (Coordinated Sampled Listening) Receiver
#ifndef OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE
#define OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE 1
#endif
// <o SL_OPENTHREAD_CSL_TX_UNCERTAINTY> 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
// <q> DUA (Domain Unicast Address)
#ifndef OPENTHREAD_CONFIG_DUA_ENABLE
#define OPENTHREAD_CONFIG_DUA_ENABLE 1
#endif
// <q> Link Metrics Initiator
#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE
#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_INITIATOR_ENABLE 1
#endif
// <q> Link Metrics Subject
#ifndef OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE
#define OPENTHREAD_CONFIG_MLE_LINK_METRICS_SUBJECT_ENABLE 1
#endif
// <q> Multicast Listener Registration
#ifndef OPENTHREAD_CONFIG_MLR_ENABLE
#define OPENTHREAD_CONFIG_MLR_ENABLE 1
#endif
// </h>
#endif // OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2
#if (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_3)
// <h> The following features require at least Thread Stack Protocol Version 1.3
// <q> DNS Client
#ifndef OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE
#define OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE 1
#endif
// <q> DNS-SD Server
#ifndef OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE
#define OPENTHREAD_CONFIG_DNSSD_SERVER_ENABLE 0
#endif
// <q> Service Registration Protocol (SRP) Client
#ifndef OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE
#define OPENTHREAD_CONFIG_SRP_CLIENT_ENABLE 1
#endif
// <q> Service Registration Protocol (SRP) Server
#ifndef OPENTHREAD_CONFIG_SRP_SERVER_ENABLE
#define OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 0
#endif
// <q> TCP API
#ifndef OPENTHREAD_CONFIG_TCP_ENABLE
#define OPENTHREAD_CONFIG_TCP_ENABLE 0
#endif
// <q> DNS Client over TCP
#ifndef OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE
#define OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE 0
#endif
// <q> Thread over Infrastructure (NCP only)
#ifndef OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE
#define OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE 0
#endif
// </h>
#endif // OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_3
// <e> Border Agent
#ifndef OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE
#define OPENTHREAD_CONFIG_BORDER_AGENT_ENABLE 0
#endif
// </e>
// <e> Border Router
#ifndef OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
#define OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 0
#endif
// </e>
// <e> Channel Manager
#ifndef OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
#define OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE 0
#endif
// </e>
// <e> Channel Monitor
#ifndef OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
#define OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE 0
#endif
// </e>
// <e OPENTHREAD_CONFIG_COMMISSIONER_ENABLE> Commissioner
#ifndef OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
#define OPENTHREAD_CONFIG_COMMISSIONER_ENABLE 0
#endif
// <o OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES> Max Joiner Entries
// <i> The maximum number of Joiner entries maintained by the Commissioner.
// <d> 2
#ifndef OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES
#define OPENTHREAD_CONFIG_COMMISSIONER_MAX_JOINER_ENTRIES 2
#endif
// </e>
// <e> COAP API
#ifndef OPENTHREAD_CONFIG_COAP_API_ENABLE
#define OPENTHREAD_CONFIG_COAP_API_ENABLE 0
#endif
// </e>
// <e> COAP Observe (RFC7641) API
#ifndef OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE
#define OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE 0
#endif
// </e>
// <e> COAP Secure API
#ifndef OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE
#define OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 0
#endif
// </e>
// <e> DHCP6 Client
#ifndef OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE
#define OPENTHREAD_CONFIG_DHCP6_CLIENT_ENABLE 0
#endif
// </e>
// <e> DHCP6 Server
#ifndef OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE
#define OPENTHREAD_CONFIG_DHCP6_SERVER_ENABLE 0
#endif
// </e>
// <e> ECDSA (Elliptic Curve Digital Signature Algorithm) (Required for Matter support)
#ifndef OPENTHREAD_CONFIG_ECDSA_ENABLE
#define OPENTHREAD_CONFIG_ECDSA_ENABLE 1
#endif
// </e>
// <e> External Heap
#ifndef OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE
#define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 1
#endif
// </e>
// <e> IPv6 Fragmentation
#ifndef OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE
#define OPENTHREAD_CONFIG_IP6_FRAGMENTATION_ENABLE 0
#endif
// </e>
// <e> 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
// </e>
// <e> 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
// </e>
// <e> Jam Detection
#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 0
#endif
// </e>
// <e> Joiner
#ifndef OPENTHREAD_CONFIG_JOINER_ENABLE
#define OPENTHREAD_CONFIG_JOINER_ENABLE 0
#endif
// </e>
// <e> Link Raw Service
#ifndef OPENTHREAD_CONFIG_LINK_RAW_ENABLE
#define OPENTHREAD_CONFIG_LINK_RAW_ENABLE 0
#endif
// </e>
// <e> MAC Filter
#ifndef OPENTHREAD_CONFIG_MAC_FILTER_ENABLE
#define OPENTHREAD_CONFIG_MAC_FILTER_ENABLE 0
#endif
// </e>
// <e> MLE Long Routes extension (experimental)
#ifndef OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE
#define OPENTHREAD_CONFIG_MLE_LONG_ROUTES_ENABLE 0
#endif
// </e>
// <e> MultiPAN RCP
#ifndef OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE
#define OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE 0
#endif
// </e>
// <e> Multiple OpenThread Instances
#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE
#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 0
#endif
// </e>
// <e> Multiple Static Instance Support
#ifndef OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE
#define OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 0
#endif
// </e>
// <e> Number of OpenThread Instances For Static Buffer Allocation
#ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM
#define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM 2
#endif
// </e>
// <e> 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
// </e>
// <e> OTNS (OpenThread Network Simulator)
#ifndef OPENTHREAD_CONFIG_OTNS_ENABLE
#define OPENTHREAD_CONFIG_OTNS_ENABLE 0
#endif
// </e>
// <e> Ping Sender Module
#ifndef OPENTHREAD_CONFIG_PING_SENDER_ENABLE
#define OPENTHREAD_CONFIG_PING_SENDER_ENABLE 1
#endif
// </e>
// <e> Power Calibration Module (RCP only configuration)
#ifndef OPENTHREAD_CONFIG_POWER_CALIBRATION_ENABLE
#define OPENTHREAD_CONFIG_POWER_CALIBRATION_ENABLE 0
#endif
// </e>
// <e> Platform UDP
#ifndef OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE
#define OPENTHREAD_CONFIG_PLATFORM_UDP_ENABLE 0
#endif
// </e>
// <e> Reference Device for Thread Test Harness
#ifndef OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
#define OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 0
#endif
// </e>
// <e> Service Entries in Thread Network Data
#ifndef OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
#define OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 0
#endif
// </e>
// <e> RAM (volatile-only storage)
#ifndef OPENTHREAD_SETTINGS_RAM
#define OPENTHREAD_SETTINGS_RAM 0
#endif
// </e>
// <e> SLAAC Addresses
#ifndef OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
#define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1
#endif
// </e>
// <e> SNTP Client
#ifndef OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE
#define OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE 0
#endif
// </e>
// <e> TMF Network Diagnostic client API
#ifndef OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE
#define OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE 1
#endif
// </e>
// <e> Time Synchronization Service
#define OPENTHREAD_CONFIG_TIME_SYNC_ENABLE 0
// </e>
// <e> UDP Forward
#ifndef OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE
#define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 0
#endif
// </e>
// <e> Enable Mac beacon payload parsing support
#ifndef OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE
#define OPENTHREAD_CONFIG_MAC_BEACON_PAYLOAD_PARSING_ENABLE 1
#endif
// </e>
// <e> Max raw power calibration length.
#ifndef SL_OPENTHREAD_RAW_POWER_CALIBRATION_LENGTH
#define SL_OPENTHREAD_RAW_POWER_CALIBRATION_LENGTH 4
#endif
// </e>
// <e> Max FEM config setting length.
#ifndef SL_OPENTHREAD_FEM_SETTING_LENGTH
#define SL_OPENTHREAD_FEM_SETTING_LENGTH 4
#endif
// </e>
// <i> The maximum number of RX buffers to use in the radio driver.
// <d> 16
#ifndef SL_OPENTHREAD_RADIO_RX_BUFFER_COUNT
#define SL_OPENTHREAD_RADIO_RX_BUFFER_COUNT 16
#endif
// </h>
// <h> Logging
// <o OPENTHREAD_CONFIG_LOG_OUTPUT> LOG_OUTPUT
// <OPENTHREAD_CONFIG_LOG_OUTPUT_NONE => NONE
// <OPENTHREAD_CONFIG_LOG_OUTPUT_APP => APP
// <OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED => PLATFORM_DEFINED
// <i> Default: OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED
#ifndef OPENTHREAD_CONFIG_LOG_OUTPUT
#define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_APP
#endif
// <q> DYNAMIC_LOG_LEVEL
#ifndef OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE
#define OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE 0
#endif
// <e> Enable Logging
#define OPENTHREAD_FULL_LOGS_ENABLE 0
#if OPENTHREAD_FULL_LOGS_ENABLE
// <h> Note: Enabling higher log levels, which include logging packet details, can cause delays which may result in join failures.
// <o OPENTHREAD_CONFIG_LOG_LEVEL> LOG_LEVEL
// <OT_LOG_LEVEL_NONE => NONE
// <OT_LOG_LEVEL_CRIT => CRIT
// <OT_LOG_LEVEL_WARN => WARN
// <OT_LOG_LEVEL_NOTE => NOTE
// <OT_LOG_LEVEL_INFO => INFO
// <OT_LOG_LEVEL_DEBG => DEBG
// <i> Default: OT_LOG_LEVEL_DEBG
#ifndef OPENTHREAD_CONFIG_LOG_LEVEL
#define OPENTHREAD_CONFIG_LOG_LEVEL OT_LOG_LEVEL_DEBG
#endif
// <q> CLI
#ifndef OPENTHREAD_CONFIG_LOG_CLI
#define OPENTHREAD_CONFIG_LOG_CLI 1
#endif
// <q> PKT_DUMP
#ifndef OPENTHREAD_CONFIG_LOG_PKT_DUMP
#define OPENTHREAD_CONFIG_LOG_PKT_DUMP 1
#endif
// <q> PLATFORM
#ifndef OPENTHREAD_CONFIG_LOG_PLATFORM
#define OPENTHREAD_CONFIG_LOG_PLATFORM 1
#endif
// <q> PREPEND_LEVEL
#ifndef OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL
#define OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL 1
#endif
#endif // OPENTHREAD_FULL_LOGS_ENABLE
// <e> Log crash dump after initialization
#ifndef OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE
#define OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE 0
#endif
// </e>
// </h>
// </e>
// </h>
// <<< end of configuration section >>>
#endif // _SL_OPENTHREAD_FEATURES_CONFIG_H

View File

@@ -0,0 +1,175 @@
/*******************************************************************************
* @file
* @brief OpenThread generic configuration file.
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */
/* Define to 1 if you have the <inttypes.h> 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 <memory.h> 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 <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> 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.6.1.0_GitHub-7f6723ffb"
/* 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.6.1.0_GitHub-7f6723ffb"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
#define VERSION "2.6.1.0_GitHub-7f6723ffb"
/* 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 <sys/synch.h>,
<pthread.h>, or <semaphore.h> 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 <sys/synch.h>,
<pthread.h>, or <semaphore.h> 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 <sys/synch.h>,
<pthread.h>, or <semaphore.h> 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 */

View File

@@ -0,0 +1,45 @@
/*******************************************************************************
* @file
* @brief OpenThread radio configuration file.
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_RADIO_CONFIG_H
#define _SL_OPENTHREAD_RADIO_CONFIG_H
//-------- <<< Use Configuration Wizard in Context Menu >>> -----------------
//
// <h> Default EFR32 Radio Configuration
// <o SL_OPENTHREAD_RECEIVE_SENSITIVITY> Recieve Sensitivity [dBm]
#define SL_OPENTHREAD_RECEIVE_SENSITIVITY -100 // dBm
// <o SL_OPENTHREAD_RSSI_AVERAGING_TIME> RSSI Average Time [us]
#define SL_OPENTHREAD_RSSI_AVERAGING_TIME 16 // us
// <o SL_OPENTHREAD_RSSI_AVERAGING_TIMEOUT> RSSI Average Timeout [us]
#define SL_OPENTHREAD_RSSI_AVERAGING_TIMEOUT 300 // us
// </h>
// <<< end of configuration section >>>
#endif // _SL_OPENTHREAD_RADIO_CONFIG_H

View File

@@ -0,0 +1,101 @@
/*******************************************************************************
* @file
* @brief OpenThread RTOS configuration file.
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>> -----------------
//
// <h> Priority Configuration for OpenThread RTOS Stack Task
// <o SL_OPENTHREAD_RTOS_STACK_TASK_PRIORITY> OpenThread stack task priority
// <i> Default: 24 (CMSIS-RTOS2 osPriorityNormal)
// <i> Defines OpenThread stack task priority. This must be a valid priority value
// <i> from CMSIS-RTOS2 osPriority_t definition.
#define SL_OPENTHREAD_RTOS_STACK_TASK_PRIORITY (24)
// </h>
// <h> Priority Configuration for OpenThread App Task
// <o SL_OPENTHREAD_RTOS_APP_TASK_PRIORITY> OpenThread task priority
// <i> Default: 23 (CMSIS-RTOS2 osPriorityBelowNormal7)
// <i> Defines OpenThread App task priority. This must be a valid priority value
// <i> from CMSIS-RTOS2 osPriority_t definition.
#define SL_OPENTHREAD_RTOS_APP_TASK_PRIORITY (23)
// </h>
// <h> Priority Configuration for OpenThread RTOS Stack Task
// <o SL_OPENTHREAD_RTOS_SERIAL_TASK_PRIORITY> OpenThread serial task prority
// <i> Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal)
// <i> Defines OpenThread serial task priority. This must be a valid priority value
// <i> from CMSIS-RTOS2 osPriority_t definition.
#define SL_OPENTHREAD_RTOS_SERIAL_TASK_PRIORITY (16)
// <o SL_OPENTHREAD_STACK_TASK_MEM_SIZE> OpenThread stack task stack size in bytes <1000-20000>
// <i> Default: 4608
// <i> Defines the stack size of the OpenThread RTOS stack task. The value is in bytes and
// <i> and will be word aligned when it is applied at the task creation.
#ifndef SL_OPENTHREAD_STACK_TASK_MEM_SIZE
#if defined(_SILICON_LABS_32B_SERIES_3)
#define SL_OPENTHREAD_STACK_TASK_MEM_SIZE (6144)
#else
#define SL_OPENTHREAD_STACK_TASK_MEM_SIZE (4608)
#endif
#endif
// <o SL_OPENTHREAD_APP_TASK_MEM_SIZE> OpenThread app task stack size in bytes <1000-20000>
// <i> Default: 4608
// <i> Defines the stack size of the OpenThread RTOS app task. The value is in bytes and
// <i> and will be word aligned when it is applied at the task creation.
#define SL_OPENTHREAD_APP_TASK_MEM_SIZE (4608)
// <o SL_OPENTHREAD_SERIAL_TASK_MEM_SIZE> OpenThread serial task stack size in bytes <1000-20000>
// <i> Default: 3072
// <i> Defines the stack size of the OpenThread RTOS serial task. The value is in bytes and
// <i> and will be word aligned when it is applied at the task creation.
#define SL_OPENTHREAD_SERIAL_TASK_MEM_SIZE (3072)
// </h>
// <h> Priority Configuration for OpenThread RTOS Stack Task
// <o SL_OPENTHREAD_RTOS_SERIAL_TASK_PRIORITY> OpenThread serial task prority
// <i> Default: 16 (CMSIS-RTOS2 osPriorityBelowNormal)
// <i> Defines OpenThread serial task priority. This must be a valid priority value
// <i> from CMSIS-RTOS2 osPriority_t definition.
#define SL_OPENTHREAD_RTOS_SERIAL_TASK_PRIORITY (16)
// </h>
// <h> App Task
// <i> Enable default App task
// <i> Default: On
#define SL_OPENTHREAD_ENABLE_APP_TASK 0
// </h>
// <h> Serial task
// <i> Enable Serial task
// <i> Default: On
#define SL_OPENTHREAD_ENABLE_SERIAL_TASK (1)
// </h>
// <<< end of configuration section >>>

View File

@@ -0,0 +1,81 @@
/***************************************************************************//**
* @file
* @brief Power Amplifier configuration file.
*******************************************************************************
* # License
* <b>Copyright 2020 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>>
// <h>PA configuration
// <o SL_RAIL_UTIL_PA_POWER_DECI_DBM> Initial PA Power (deci-dBm, 100 = 10.0 dBm)
// <i> Default: 100
#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100
// <o SL_RAIL_UTIL_PA_RAMP_TIME_US> PA Ramp Time (microseconds)
// <0-65535:1>
// <i> Default: 10
#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10
// <o SL_RAIL_UTIL_PA_VOLTAGE_MV> Milli-volts on PA supply pin (PA_VDD)
// <0-65535:1>
// <i> Default: 3300
#define SL_RAIL_UTIL_PA_VOLTAGE_MV 1800
// <o SL_RAIL_UTIL_PA_SELECTION_2P4GHZ> 2.4 GHz PA Selection
// <RAIL_TX_POWER_MODE_2P4GIG_HIGHEST=> Highest Possible
// <RAIL_TX_POWER_MODE_2P4GIG_HP=> High Power (chip-specific)
// <RAIL_TX_POWER_MODE_2P4GIG_LP=> Low Power
// <RAIL_TX_POWER_MODE_NONE=> Disable
// <i> Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST
#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST
// <o SL_RAIL_UTIL_PA_SELECTION_SUBGHZ> Sub-1 GHz PA Selection
// <RAIL_TX_POWER_MODE_NONE=> Disable
// <i> Default: RAIL_TX_POWER_MODE_NONE
#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE
// <s.50 SL_RAIL_UTIL_PA_CURVE_HEADER> Header file containing custom PA curves
// <i> Default: "pa_curves_efr32.h"
#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h"
// <s.50 SL_RAIL_UTIL_PA_CURVE_TYPES> Header file containing PA curve types
// <i> Default: "pa_curve_types_efr32.h"
#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h"
// <q SL_RAIL_UTIL_PA_CALIBRATION_ENABLE> Enable PA Calibration
// <i> Default: 1
#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 1
// </h>
// <<< end of configuration section >>>
#endif // SL_RAIL_UTIL_PA_CONFIG_H

View File

@@ -0,0 +1,44 @@
/***************************************************************************//**
* @file
* @brief RAIL power manager configuration file.
*******************************************************************************
* # License
* <b>Copyright 2020 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>>
// <h> RAIL power manager configuration
// <o SL_RAIL_UTIL_RAIL_POWER_MANAGER_INIT> Enable RAIL power manager initialization
// <i> Default: 1
#define SL_RAIL_UTIL_RAIL_POWER_MANAGER_INIT 1
// </h>
// <<< end of configuration section >>>
#endif // SL_RAIL_UTIL_POWER_MANAGER_INIT_CONFIG_H

View File

@@ -0,0 +1,82 @@
/***************************************************************************//**
* @file
* @brief Packet Trace Information configuration file.
*******************************************************************************
* # License
* <b>Copyright 2020 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>>
// <h> PTI Configuration
// <o SL_RAIL_UTIL_PTI_MODE> PTI mode
// <RAIL_PTI_MODE_UART=> UART
// <RAIL_PTI_MODE_UART_ONEWIRE=> UART onewire
// <RAIL_PTI_MODE_SPI=> SPI
// <RAIL_PTI_MODE_DISABLED=> Disabled
// <i> Default: RAIL_PTI_MODE_UART
#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_UART
// <o SL_RAIL_UTIL_PTI_BAUD_RATE_HZ> PTI Baud Rate (Hertz)
// <147800-20000000:1>
// <i> Default: 1600000
#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 1600000
// </h>
// <<< end of configuration section >>>
// <<< sl:start pin_tool >>>
// <pti signal=DOUT,(DFRAME),(DCLK)> SL_RAIL_UTIL_PTI
// $[PTI_SL_RAIL_UTIL_PTI]
#ifndef SL_RAIL_UTIL_PTI_PERIPHERAL
#define SL_RAIL_UTIL_PTI_PERIPHERAL PTI
#endif
// PTI DOUT on PC06
#ifndef SL_RAIL_UTIL_PTI_DOUT_PORT
#define SL_RAIL_UTIL_PTI_DOUT_PORT SL_GPIO_PORT_C
#endif
#ifndef SL_RAIL_UTIL_PTI_DOUT_PIN
#define SL_RAIL_UTIL_PTI_DOUT_PIN 6
#endif
// PTI DFRAME on PC07
#ifndef SL_RAIL_UTIL_PTI_DFRAME_PORT
#define SL_RAIL_UTIL_PTI_DFRAME_PORT SL_GPIO_PORT_C
#endif
#ifndef SL_RAIL_UTIL_PTI_DFRAME_PIN
#define SL_RAIL_UTIL_PTI_DFRAME_PIN 7
#endif
// [PTI_SL_RAIL_UTIL_PTI]$
// <<< sl:end pin_tool >>>
#endif // SL_RAIL_UTIL_PTI_CONFIG_H

View File

@@ -0,0 +1,44 @@
/***************************************************************************//**
* @file
* @brief RSSI configuration header file.
*******************************************************************************
* # License
* <b>Copyright 2020 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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 >>>
// <h> RSSI Offset Configuration
// <o SL_RAIL_UTIL_RSSI_OFFSET> Software RSSI offset value
// <i> Default: 0
#define SL_RAIL_UTIL_RSSI_OFFSET 0
// </h>
// <<< end of configuration section >>>
#endif // SL_RAIL_UTIL_RSSI_CONFIG_H

View File

@@ -0,0 +1,48 @@
/***************************************************************************//**
* @file
* @brief
*******************************************************************************
* # License
* <b>Copyright 2023 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_10_DBM
#ifdef __cplusplus
}
#endif
#endif // SL_RAIL_UTIL_SEQUENCER_H

View File

@@ -0,0 +1,61 @@
/***************************************************************************//**
* @file
* @brief Simple Button Driver User Config
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_SIMPLE_BUTTON_BTN0_CONFIG_H
#define SL_SIMPLE_BUTTON_BTN0_CONFIG_H
#include "sl_gpio.h"
#include "sl_simple_button.h"
// <<< Use Configuration Wizard in Context Menu >>>
// <o SL_SIMPLE_BUTTON_BTN0_MODE>
// <SL_SIMPLE_BUTTON_MODE_INTERRUPT=> Interrupt
// <SL_SIMPLE_BUTTON_MODE_POLL_AND_DEBOUNCE=> Poll and Debounce
// <SL_SIMPLE_BUTTON_MODE_POLL=> Poll
// <i> Default: SL_SIMPLE_BUTTON_MODE_INTERRUPT
#define SL_SIMPLE_BUTTON_BTN0_MODE SL_SIMPLE_BUTTON_MODE_INTERRUPT
// <<< end of configuration section >>>
// <<< sl:start pin_tool >>>
// <gpio> SL_SIMPLE_BUTTON_BTN0
// $[GPIO_SL_SIMPLE_BUTTON_BTN0]
#ifndef SL_SIMPLE_BUTTON_BTN0_PORT
#define SL_SIMPLE_BUTTON_BTN0_PORT SL_GPIO_PORT_B
#endif
#ifndef SL_SIMPLE_BUTTON_BTN0_PIN
#define SL_SIMPLE_BUTTON_BTN0_PIN 2
#endif
// [GPIO_SL_SIMPLE_BUTTON_BTN0]$
// <<< sl:end pin_tool >>>
#endif // SL_SIMPLE_BUTTON_BTN0_CONFIG_H

View File

@@ -0,0 +1,61 @@
/***************************************************************************//**
* @file
* @brief Simple Button Driver User Config
*******************************************************************************
* # License
* <b>Copyright 2024 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_SIMPLE_BUTTON_BTN1_CONFIG_H
#define SL_SIMPLE_BUTTON_BTN1_CONFIG_H
#include "sl_gpio.h"
#include "sl_simple_button.h"
// <<< Use Configuration Wizard in Context Menu >>>
// <o SL_SIMPLE_BUTTON_BTN1_MODE>
// <SL_SIMPLE_BUTTON_MODE_INTERRUPT=> Interrupt
// <SL_SIMPLE_BUTTON_MODE_POLL_AND_DEBOUNCE=> Poll and Debounce
// <SL_SIMPLE_BUTTON_MODE_POLL=> Poll
// <i> Default: SL_SIMPLE_BUTTON_MODE_INTERRUPT
#define SL_SIMPLE_BUTTON_BTN1_MODE SL_SIMPLE_BUTTON_MODE_INTERRUPT
// <<< end of configuration section >>>
// <<< sl:start pin_tool >>>
// <gpio> SL_SIMPLE_BUTTON_BTN1
// $[GPIO_SL_SIMPLE_BUTTON_BTN1]
#ifndef SL_SIMPLE_BUTTON_BTN1_PORT
#define SL_SIMPLE_BUTTON_BTN1_PORT SL_GPIO_PORT_B
#endif
#ifndef SL_SIMPLE_BUTTON_BTN1_PIN
#define SL_SIMPLE_BUTTON_BTN1_PIN 3
#endif
// [GPIO_SL_SIMPLE_BUTTON_BTN1]$
// <<< sl:end pin_tool >>>
#endif // SL_SIMPLE_BUTTON_BTN1_CONFIG_H

View File

@@ -0,0 +1,60 @@
/***************************************************************************//**
* @file
* @brief Simple Led Driver Configuration
*******************************************************************************
* # License
* <b>Copyright 2019 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_SIMPLE_LED_LED0_CONFIG_H
#define SL_SIMPLE_LED_LED0_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Simple LED configuration
// <o SL_SIMPLE_LED_LED0_POLARITY>
// <SL_SIMPLE_LED_POLARITY_ACTIVE_LOW=> Active low
// <SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH=> Active high
// <i> Default: SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH
#define SL_SIMPLE_LED_LED0_POLARITY SL_SIMPLE_LED_POLARITY_ACTIVE_LOW
// </h> end led configuration
// <<< end of configuration section >>>
// <<< sl:start pin_tool >>>
// <gpio> SL_SIMPLE_LED_LED0
// $[GPIO_SL_SIMPLE_LED_LED0]
#ifndef SL_SIMPLE_LED_LED0_PORT
#define SL_SIMPLE_LED_LED0_PORT SL_GPIO_PORT_D
#endif
#ifndef SL_SIMPLE_LED_LED0_PIN
#define SL_SIMPLE_LED_LED0_PIN 2
#endif
// [GPIO_SL_SIMPLE_LED_LED0]$
// <<< sl:end pin_tool >>>
#endif // SL_SIMPLE_LED_LED0_CONFIG_H

View File

@@ -0,0 +1,60 @@
/***************************************************************************//**
* @file
* @brief Simple Led Driver Configuration
*******************************************************************************
* # License
* <b>Copyright 2019 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_SIMPLE_LED_LED1_CONFIG_H
#define SL_SIMPLE_LED_LED1_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Simple LED configuration
// <o SL_SIMPLE_LED_LED1_POLARITY>
// <SL_SIMPLE_LED_POLARITY_ACTIVE_LOW=> Active low
// <SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH=> Active high
// <i> Default: SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH
#define SL_SIMPLE_LED_LED1_POLARITY SL_SIMPLE_LED_POLARITY_ACTIVE_LOW
// </h> end led configuration
// <<< end of configuration section >>>
// <<< sl:start pin_tool >>>
// <gpio> SL_SIMPLE_LED_LED1
// $[GPIO_SL_SIMPLE_LED_LED1]
#ifndef SL_SIMPLE_LED_LED1_PORT
#define SL_SIMPLE_LED_LED1_PORT SL_GPIO_PORT_A
#endif
#ifndef SL_SIMPLE_LED_LED1_PIN
#define SL_SIMPLE_LED_LED1_PIN 4
#endif
// [GPIO_SL_SIMPLE_LED_LED1]$
// <<< sl:end pin_tool >>>
#endif // SL_SIMPLE_LED_LED1_CONFIG_H

View File

@@ -0,0 +1,60 @@
/***************************************************************************//**
* @file
* @brief Simple Led Driver Configuration
*******************************************************************************
* # License
* <b>Copyright 2019 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_SIMPLE_LED_LED2_CONFIG_H
#define SL_SIMPLE_LED_LED2_CONFIG_H
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Simple LED configuration
// <o SL_SIMPLE_LED_LED2_POLARITY>
// <SL_SIMPLE_LED_POLARITY_ACTIVE_LOW=> Active low
// <SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH=> Active high
// <i> Default: SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH
#define SL_SIMPLE_LED_LED2_POLARITY SL_SIMPLE_LED_POLARITY_ACTIVE_LOW
// </h> end led configuration
// <<< end of configuration section >>>
// <<< sl:start pin_tool >>>
// <gpio> SL_SIMPLE_LED_LED2
// $[GPIO_SL_SIMPLE_LED_LED2]
#ifndef SL_SIMPLE_LED_LED2_PORT
#define SL_SIMPLE_LED_LED2_PORT SL_GPIO_PORT_B
#endif
#ifndef SL_SIMPLE_LED_LED2_PIN
#define SL_SIMPLE_LED_LED2_PIN 0
#endif
// [GPIO_SL_SIMPLE_LED_LED2]$
// <<< sl:end pin_tool >>>
#endif // SL_SIMPLE_LED_LED2_CONFIG_H

View File

@@ -0,0 +1,131 @@
/***************************************************************************//**
* @file
* @brief UARTDRV_EUSART Config
*******************************************************************************
* # License
* <b>Copyright 2019 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_UARTDRV_EUSART_VCOM_CONFIG_H
#define SL_UARTDRV_EUSART_VCOM_CONFIG_H
#include "em_eusart.h"
// <<< Use Configuration Wizard in Context Menu >>>
// <h> EUSART settings
// <o SL_UARTDRV_EUSART_VCOM_BAUDRATE> Baud rate
// <i> Default: 115200
#define SL_UARTDRV_EUSART_VCOM_BAUDRATE 115200
// <o SL_UARTDRV_EUSART_VCOM_LF_MODE> Low frequency mode
// <true=> True
// <false=> False
#define SL_UARTDRV_EUSART_VCOM_LF_MODE false
// <o SL_UARTDRV_EUSART_VCOM_PARITY> Parity mode to use
// <eusartNoParity=> No Parity
// <eusartEvenParity=> Even parity
// <eusartOddParity=> Odd parity
// <i> Default: eusartNoParity
#define SL_UARTDRV_EUSART_VCOM_PARITY eusartNoParity
// <o SL_UARTDRV_EUSART_VCOM_STOP_BITS> Number of stop bits to use.
// <eusartStopbits0p5=> 0.5 stop bits
// <eusartStopbits1=> 1 stop bits
// <eusartStopbits1p5=> 1.5 stop bits
// <eusartStopbits2=> 2 stop bits
// <i> Default: eusartStopbits1
#define SL_UARTDRV_EUSART_VCOM_STOP_BITS eusartStopbits1
// <o SL_UARTDRV_EUSART_VCOM_FLOW_CONTROL_TYPE> Flow control method
// <uartdrvFlowControlNone=> None
// <uartdrvFlowControlSw=> Software XON/XOFF
// <uartdrvFlowControlHw=> nRTS/nCTS hardware handshake
// <uartdrvFlowControlHwUart=> UART peripheral controls nRTS/nCTS
// <i> Default: uartdrvFlowControlHwUart
#define SL_UARTDRV_EUSART_VCOM_FLOW_CONTROL_TYPE uartdrvFlowControlNone
// <o SL_UARTDRV_EUSART_VCOM_OVERSAMPLING> Oversampling selection
// <eusartOVS16=> 16x oversampling
// <eusartOVS8=> 8x oversampling
// <eusartOVS6=> 6x oversampling
// <eusartOVS4=> 4x oversampling
// <eusartOVS0=> Oversampling disabled
// <i> Default: eusartOVS16
#define SL_UARTDRV_EUSART_VCOM_OVERSAMPLING eusartOVS16
// <o SL_UARTDRV_EUSART_VCOM_MVDIS> Majority vote disable for 16x, 8x and 6x oversampling modes
// <eusartMajorityVoteEnable=> False
// <eusartMajorityVoteDisable=> True
// <i> Default: eusartMajorityVoteEnable
#define SL_UARTDRV_EUSART_VCOM_MVDIS eusartMajorityVoteEnable
// <o SL_UARTDRV_EUSART_VCOM_RX_BUFFER_SIZE> Size of the receive operation queue
// <i> Default: 6
#define SL_UARTDRV_EUSART_VCOM_RX_BUFFER_SIZE 6
// <o SL_UARTDRV_EUSART_VCOM_TX_BUFFER_SIZE> Size of the transmit operation queue
// <i> Default: 6
#define SL_UARTDRV_EUSART_VCOM_TX_BUFFER_SIZE 6
// </h>
// <<< end of configuration section >>>
// <<< sl:start pin_tool >>>
// <eusart signal=TX,RX,(CTS),(RTS)> SL_UARTDRV_EUSART_VCOM
// $[EUSART_SL_UARTDRV_EUSART_VCOM]
#ifndef SL_UARTDRV_EUSART_VCOM_PERIPHERAL
#define SL_UARTDRV_EUSART_VCOM_PERIPHERAL EUSART0
#endif
#ifndef SL_UARTDRV_EUSART_VCOM_PERIPHERAL_NO
#define SL_UARTDRV_EUSART_VCOM_PERIPHERAL_NO 0
#endif
// EUSART0 TX on PA05
#ifndef SL_UARTDRV_EUSART_VCOM_TX_PORT
#define SL_UARTDRV_EUSART_VCOM_TX_PORT SL_GPIO_PORT_A
#endif
#ifndef SL_UARTDRV_EUSART_VCOM_TX_PIN
#define SL_UARTDRV_EUSART_VCOM_TX_PIN 5
#endif
// EUSART0 RX on PA06
#ifndef SL_UARTDRV_EUSART_VCOM_RX_PORT
#define SL_UARTDRV_EUSART_VCOM_RX_PORT SL_GPIO_PORT_A
#endif
#ifndef SL_UARTDRV_EUSART_VCOM_RX_PIN
#define SL_UARTDRV_EUSART_VCOM_RX_PIN 6
#endif
// EUSART0 CTS on PB02
#ifndef SL_UARTDRV_EUSART_VCOM_CTS_PORT
#define SL_UARTDRV_EUSART_VCOM_CTS_PORT SL_GPIO_PORT_B
#endif
#ifndef SL_UARTDRV_EUSART_VCOM_CTS_PIN
#define SL_UARTDRV_EUSART_VCOM_CTS_PIN 2
#endif
// [EUSART_SL_UARTDRV_EUSART_VCOM]$
// <<< sl:end pin_tool >>>
#endif // SL_UARTDRV_EUSART_VCOM_CONFIG_H

View File

@@ -0,0 +1,10 @@
#ifndef SLI_PSA_BUILTIN_CONFIG_H
#define SLI_PSA_BUILTIN_CONFIG_H
// Modify this file to allow/disallow PSA crypto fallback software implementations
#undef MBEDTLS_PSA_BUILTIN_ALG_ECB_NO_PADDING
#undef MBEDTLS_PSA_BUILTIN_ALG_CMAC
#endif // SLI_PSA_BUILTIN_CONFIG_H

114
config/uartdrv_config.h Normal file
View File

@@ -0,0 +1,114 @@
/***************************************************************************//**
* @file
* @brief UARTDRV configuration file.
*******************************************************************************
* # License
* <b>Copyright 2018 Silicon Laboratories Inc. www.silabs.com</b>
*******************************************************************************
*
* 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_UARTDRV_CONFIG_H__
#define __SILICON_LABS_UARTDRV_CONFIG_H__
/***************************************************************************//**
* @addtogroup uartdrv
* @{
******************************************************************************/
/// Size of the receive operation queue.
/// @details
/// The maximum number of receive operations that can be queued up for one
/// driver instance before @ref UARTDRV_Receive() returns
/// @ref ECODE_EMDRV_UARTDRV_QUEUE_FULL.
/// @note
/// This macro is not used by the UARTDRV itself, but is intended to be used
/// with the @ref DEFINE_BUF_QUEUE macro by the user of the driver to allocate
/// instances of the @ref UARTDRV_Buffer_FifoQueue_t struct.
#if !defined(EMDRV_UARTDRV_MAX_CONCURRENT_RX_BUFS)
#define EMDRV_UARTDRV_MAX_CONCURRENT_RX_BUFS 6
#endif
/// Size of the transmit operation queue.
/// @details
/// The maximum number of transmit operations that can be queued up for one
/// driver instance before @ref UARTDRV_Transmit() returns
/// @ref ECODE_EMDRV_UARTDRV_QUEUE_FULL.
/// @note
/// This macro is not used by the UARTDRV itself, but is intended to be used
/// with the @ref DEFINE_BUF_QUEUE macro by the user of the driver to allocate
/// instances of the @ref UARTDRV_Buffer_FifoQueue_t struct.
#if !defined(EMDRV_UARTDRV_MAX_CONCURRENT_TX_BUFS)
#define EMDRV_UARTDRV_MAX_CONCURRENT_TX_BUFS 6
#endif
// <<< Use Configuration Wizard in Context Menu >>>
// <h> UARTDRV Settings
/// Set to 1 to include flow control support
#if !defined(EMDRV_UARTDRV_FLOW_CONTROL_ENABLE)
// <o EMDRV_UARTDRV_FLOW_CONTROL_ENABLE> Flow control support
// <1=> Enable
// <0=> Disable
// <i> Default: 1
#define EMDRV_UARTDRV_FLOW_CONTROL_ENABLE 1
#endif
/// Maximum number of driver instances.
#if !defined(EMDRV_UARTDRV_MAX_DRIVER_INSTANCES)
// <o EMDRV_UARTDRV_MAX_DRIVER_INSTANCES> Maximum number of driver instances
// <i> This maximum only applies when UARTDRV_FLOW_CONTROL_ENABLE = 1
// <i> Default: 4
#define EMDRV_UARTDRV_MAX_DRIVER_INSTANCES 4
#endif
/// UART software flow control code: request peer to start TX
#if !defined(UARTDRV_FC_SW_XON)
// <o UARTDRV_FC_SW_XON> UART software flow control code: request peer to start TX
// <i> Default: 0x11
#define UARTDRV_FC_SW_XON 0x11
#endif
/// UART software flow control code: request peer to stop TX
#if !defined(UARTDRV_FC_SW_XOFF)
// <o UARTDRV_FC_SW_XOFF> UART software flow control code: request peer to stop TX
// <i> Default: 0x13
#define UARTDRV_FC_SW_XOFF 0x13
#endif
/// UART enable reception when sleeping.
#if !defined(UARTDRV_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION)
// <o UARTDRV_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION> Enable reception when sleeping
// <i> Enable reception when sleeping will use the power manager and add EM1
// <i> requirement during receive operations that use DMA.
// <1=> Enable
// <0=> Disable
// <i> Default: 1
#define UARTDRV_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION 1
#endif
//</h>
// <<< end of configuration section >>>
/** @} (end addtogroup uartdrv) */
#endif /* __SILICON_LABS_UARTDRV_CONFIG_H__ */