Logo
ModusToolbox™ Software

 Home
 Community

ModusToolbox™ Software Logo
  • Getting Started with ModusToolbox™
    • Tools package release notes
      • 1. Primary changes
        • 1.1 Expanded device support
        • 1.2 Update to Infineon
        • 1.3 XMC™ simulation tool support
        • 1.4 Application categories in Project Creator
        • 1.5 Improved Machine Learning capabilities
        • 1.6 Single copy of KitProg3 firmware
        • 1.7 Qt software update
        • 1.8 Update shipping toolchain to GNU C/C++ (GCC) 10.3
        • 1.9 External memory via SFDP
        • 1.10 Eclipse IDE Improvements
          • 1.10.1 Integrated Terminal
          • 1.10.2 Import Application shortcut
        • 1.11 Improved custom BSP process
        • 1.12 Configurator updates
      • 2. What’s included
        • 2.1 Supported tool chains
        • 2.2 Supported boards
        • 2.3 Open source
      • 3. Design impact
        • 3.1 New device-configurator-cli executable
        • 3.2 GCC 10 backward-compatibility issue for BTSDK
      • 4. Known issues/limitations
        • 4.1 Installation
        • 4.2 Project Creator
        • 4.3 Proxy
        • 4.4Building/programming/debugging
        • 4.5 Eclipse IDE
        • 4.6 Library Manager
        • 4.7 Device Configurator
        • 4.8 CAPSENSE™ Tuner
        • 4.9 Machine Learning
        • 4.10 Documentation
      • Revision history
    • Installation Guide
      • 1. General information
        • 1.1 System requirements
        • 1.2 Uninstall Beta versions
      • 2. Step 1: Download the software
        • 2.1 ModusToolbox™ patches
        • 2.2 Pre-requisites
        • 2.3 SEGGER J-Link
      • 3. Step 2: Install ModusToolbox™ software
        • 3.1 Installing in non-default location
        • 3.2 Installing with previous versions
        • 3.3 Windows
        • 3.4 Linux
        • 3.5 macOS
      • 4. Step 3: Run the Eclipse IDE
      • 5. Default versus advanced Windows installation
      • 6. Installing with spaces in user home directory
        • 6.1 Step 1: Install at a custom path.
        • 6.2 Step 2: Create a variable to specify the path to Tools.
        • 6.3 Step 3: Create a variable to specify the path to cache.
        • 6.4 Step 4: Specify the custom path to use for offline content and manifest.loc.
          • 6.4.1 Offline content path
          • 6.4.2 manifest.loc
      • Revision history
    • ModusToolbox™ user guide
      • About this document
        • Version
        • Scope and purpose
        • Intended audience
        • Document conventions
      • 1 Introduction
        • 1.1 what-is-modustoolbox-software
          • 1.1.1 Supported devices
          • 1.1.2 Development tools
          • 1.1.2 Run-time software
        • 1.2 Partner ecosystems
      • 2 Getting started
        • 2.1 Install and configure software
          • 2.1.1 GUI set-up instructions
          • 2.1.2 CLI set-up instructions
        • 2.2 Get help
          • 2.2.1 GUI Documentation
            • 2.2.1.1 Eclipse IDE
            • 2.2.1.1 Configurator and tool guides
          • 2.2.2. Command line documentation
            • 2.2.2.1 make help
            • 2.2.2.2 CLI tools
        • 2.3 Create applications
          • 2.3.1 Project Creator tools
            • 2.3.1.1 Project Creator GUI
            • 2.3.1.2 project-creator-cli
          • 2.3.2 git clone
          • 2.3.3 Typical application contents
            • 2.3.3.1 Application directory
            • 2.3.3.2 mtb_shared directory
        • 2.4 Update BSPs and libraries
          • 2.4.1 Library Manager
          • 2.4.2 make getlibs
        • 2.5 Configure settings for devices, peripherals, and libraries
          • 2.5.1 Configurator GUI tools
          • 2.5.2 Configurator CLI tools
        • 2.6 Write application code
        • 2.7 Build, program, and debug
          • 2.7.1 Use Eclipse IDE
          • 2.7.2 Export to another IDE
          • 2.7.3 Use command line
            • 2.7.3.1 make build
            • 2.7.3.2 make program
            • 2.7.3.3 make debug/qdebug/attach
      • 3 ModusToolbox™ software overview
        • 3.1 Application layers
          • 3.1.1 HAL
          • 3.1.2 PDL
          • 3.1.3 Configurators
        • 3.2 Installation resources
          • 3.2.1 Directory structure
          • 3.2.2 Documentation
            • 3.2.2.1 Release notes
            • 3.2.2.2 Top-level documents
            • 3.2.2.3 Document index page
          • 3.2.3 IDE support
          • 3.2.4 Tools
            • 3.2.4.1 Configurators
            • 3.2.4.2 Other tools
            • 3.2.4.3 Utilities
            • 3.2.4.4 Build system infrastructure
            • 3.2.4.5 Program and debug support
        • 3.3 Code examples
        • 3.4 BSPs & libraries
          • 3.4.1 BSPs
        • 3.5 Libraries
        • 3.6 Product versioning
          • 3.6.1 General philosophy
          • 3.6.2 Tools package versioning
          • 3.6.3 Multiple tools versions installed
          • 3.6.4 Specifying alternate tools version
            • 3.6.4.1 Environment variable
            • 3.6.4.2 Specific project Makefile
          • 3.6.5 Tools and configurators versioning
            • 3.6.5.1 Configurator messages
          • 3.6.6 GitHub libraries versioning
          • 3.6.7 Dependencies between libraries
            • 3.6.7.1 Dependencies via .mtb files
            • 3.6.7.2 Regular C dependencies via #include
      • 4 ModusToolbox™ build system
        • 4.1 Overview
        • 4.2 Application types
        • 4.3 BSPs
        • 4.4 make getlibs
          • 4.4.1 repos
        • 4.5 Adding source files
          • 4.5.1 Auto-discovery
            • 4.5.1.1 .cyignore
            • 4.5.1.2 TOOLCHAIN_<NAME>
            • 4.5.1.3 TARGET_<NAME>
            • 4.5.1.4 CONFIG_<NAME>
            • 4.5.1.5 COMPONENT_<NAME>
            • 4.5.1.6 BSP makefile
            • 4.5.1.7 Multi-project application with imported BSP
        • 4.6 Pre-builds and post-builds
        • 4.7 Program and debug
        • 4.8 Available make targets
          • 4.8.1 General make targets
          • 4.8.2 IDE make targets
          • 4.8.3 Tools make targets
          • 4.8.4 Utility make targets
        • 4.9 Available make variables
          • 4.9.1 Basic configuration make variables
          • 4.9.2 Advanced configuration make variables
          • 4.9.3 BSP make variables
          • 4.9.4 Getlibs make variables
          • 4.9.5 Path make variables
          • 4.9.6 Miscellaneous make variables
      • 5 Board support packages
        • 5.1 Overview
        • 5.2 What’s in a BSP
          • 5.2.1 COMPONENT_BSP_DESIGN_MODUS
          • 5.2.2 COMPONENT
          • 5.2.3 deps subdirectory
          • 5.2.4 docs subdirectory
          • 5.2.5 Support files
          • 5.2.6 <BSP_NAME>.mk
          • 5.2.7 locate_recipe.mk
          • 5.2.8 README/RELEASE.md
          • 5.2.9 BTSDK-specific BSP files
        • 5.3 Creating your own BSP
        • 5.4 Modifying the BSP configuration for a single application
      • 6 Manifest files
        • 6.1 Overview
        • 6.2 Create your own manifest
          • 6.2.1 Overriding the standard super-manifest
          • 6.2.2 Secondary super-manifest
          • 6.2.3 Processing
          • 6.2.4 Conflicting data
        • 6.3 Using offline content
        • 6.4 Access private repositories
      • 7 Using applications with third-party tools
        • 7.1 Import to Eclipse
        • 7.2 Exporting to supported IDEs
          • 7.2.1 Overview
          • 7.2.2 Export to VS Code
            • 7.2.2.1 Prerequisites
            • 7.2.2.2 Process example
            • 7.2.2.3 To debug using KitProg3/MiniProg4
            • 7.2.2.4 To debug using J-Link
          • 7.2.3 Export IAR EWARM (Windows only)
            • 7.2.3.1 Prerequisites
            • 7.2.3.2 Process example
            • 7.2.3.3 To use KitProg3/MiniProg4
            • 7.2.3.4 To use MiniProg4 with PSoC™ 6 single core and PSoC™ 6 256K
            • 7.2.3.5 To use J-Link
          • 7.2.4 Export to Keil µVision 5 (Windows only)
            • 7.2.4.1 Prerequisites
            • 7.2.4.2 Process example
            • 7.2.4.3 To use KitProg3/MiniProg4, CMSIS-DAP, and ULink2 debuggers
            • 7.2.4.4 To use J-Link debugger
            • 7.2.4.5 Program external memory
            • 7.2.4.6 Erase external memory
        • 7.3 Generating files for XMC™ Simulator tool
      • Revision history
    • Eclipse IDE
      • Quick Start Guide
        • 1 Download/Install/Run Eclipse IDE
        • 2 Create new application
          • 2.1 Step 1: Open Project Creator tool
          • 2.2 Step 2: Choose Board Support Package (BSP)
          • 2.3 Step 3: Select application
          • 2.4 Step 4: Create application
        • 3. Add/modify application code
        • 4. View device resources
        • 5. Build the Application
        • 6. Program the Device
          • 6.1 Connect the Kit
          • 6.2 Program
        • 7 Debug the program
          • Revision history
      • User Guide
        • About this document
          • Version
          • Scope and purpose
          • Intended audience
          • Document conventions
          • Reference documents
          • 1 Getting started
            • 1.1 Launch Eclipse IDE
            • 1.2 Open Project Creator tool
            • 1.3 Create an application
            • 1.4 Build application
            • 1.5 Program application
            • 1.6 Export/share application
            • 1.7 Import application/code example
            • 1.8 Search online for code examples
            • 1.9 Search online for libraries/BSPs
            • 1.10 Access training material
          • 2 IDE description
            • 2.1 Project Explorer
            • 2.2 Quick Panel
          • 3 Configure applications
            • 3.1 Modify code
            • 3.2 Use configurators
            • 3.3 Use tools
            • 3.4 Use integrated terminal
            • 3.5 Refresh Quick Panel
            • 3.6 Rename application
            • 3.7 Restore shared directory
          • 4 Build applications
            • 4.1 Build with Make
            • 4.2 Build with IDE
            • 4.3 GCC version
          • 5 Program and debug
            • 5.1 PSoC™ MCU programming/debugging
            • 5.2 AIROC™ Bluetooth® programming/debugging
            • 5.3 Mbed OS programming/debugging
          • 6 Mbed OS to ModusToolbox™ flow
            • 6.1 Install and configure Mbed CLI
            • 6.2 Switch Kit to DAPLink mode
            • 6.3 Create application in Mbed CLI
            • 6.4 Compile application in Mbed CLI (optional)
            • 6.5 Export application from Mbed CLI
            • 6.6 Import Mbed OS application into Eclipse IDE
            • 6.7 Configure Eclipse IDE
            • 6.8 Build, program, debug application
            • 6.9 Using MiniProg4 in DAPLink mode
          • Revision history
      • Eclipse IDE Survival Guide
        • Project Management
          • Parts of the code example’s readme file are hard to read in the IDE. How do I fix that?
          • How do I set up the IDE to use my preferred markdown editor?
          • How do I find the right Eclipse panel or option when I don’t know where anything is?
          • How do I rename an application?
          • How do I share a project?
          • What is a workspace?
          • How do I create a new/empty workspace?
          • How do I change workspaces?
          • What is a perspective and how does the IDE use them?
          • How can I change to a different perspective?
          • How can I make my own perspective?
          • How do I remove or delete a project from the project explorer?
          • What are workspace settings?
          • How do I share workspace settings across workspaces?
          • What is a working set and why would I want to use one?
          • How do I create a working set?
          • How do I set up dependencies between projects?
          • What does it mean to close a project, and how do I do it?
          • What is the difference between a local file and a linked file, and how do I tell which is which?
          • How do I link to files instead of duplicating files in each project that uses them?
          • How do I launch multiple instances of Eclipse on macOS?
          • Can I use an Eclipse IDE with a version control system?
        • Editor
          • How do I show line numbers?
          • How do I search across all files in a project or workspace?
          • How do I go from a file listed in the project explorer to the actual file in the file system?
          • I have multiple files of the same name open in the editor. How do I tell which project each one belongs to?
        • Build System
          • How do I build an application?
          • What does Build All build?
          • How do I add middleware or a library to a project?
          • How do I set up an application to run on a different kit?
          • What is the project’s makefile and what does it do?
          • Where do I find build settings?
          • What is a build configuration?
          • Where do I specify compiler symbols and defines?
          • How can I tell if a build was successful?
          • How do I terminate a build?
          • I have an error that a symbol (e.g. bool or uint32_t) could not be resolved. What’s going on and what do I do about it?
        • Program/Debug
          • What are run and debug configurations?
          • Where can I view the run and debug configurations?
          • My launch configurations disappeared, what do I do?
          • I copied my project, and now it has two sets of launch configurations. How do I fix that?
          • How do I start a debug session?
          • When I try to program or debug I get a connection error. What do I do?
          • How do I step through assembly code?
          • I like the Debug perspective better. How do I use it by default when I debug?
          • When debugging, how do I see variables, registers, and memory?
          • How do I see local variables?
          • How do I see global variables?
          • How do I see Peripheral registers?
          • How do I edit the values of the variables?
          • When I start a debug session, an editor window appears that tells me there is a break at an address with no debug information available. But the debug* session starts fine. What’s going on and what do I do about it?
          • When I terminate a debug session, the processor stops. How do I stop debugging but leave the processor running
          • How do I remove terminated debug sessions from the Debug view?
          • How do I start debugging without downloading the executable again?
        • Related Categories:
        • Document History
    • Training material
  • Code Examples
  • Feature Guides
    • Security
      • Secure Boot SDK User Guide
        • 1 Introduction
          • Where to Get the Secure Boot SDK
          • Using this Guide
          • Definition of Terms
          • Revision History
        • 2 Overview
          • Secure Boot SDK Components
          • How Does the Secure Boot SDK Work?
          • What is Provisioning?
            • Transferring RoT
            • Injecting User Assets
            • Re-provisioning User Assets
          • Cypress Secure Bootloader
          • CySecureTools Installation and Documentation
            • Linux
            • macOS
            • Linux
            • Mac OS
        • ModusToolbox – Provisioning Flow
          • Prerequisites
            • ModusToolbox Installation
            • CySecureTools Installation
          • Device Provisioning
            • A. Create Blinky LED FreeRTOS Application Project
            • B. Set Up CySecureTools Workspace
            • C Generate new keys
            • D. (Optional) Run Entrance Exam
            • E. Perform Provisioning
          • Device Re-provisioning
          • ModusToolbox Secure Image Generation
          • Build and Run the Application
          • Debug the application
          • Re-provisioning After Failure
        • 4 Mbed OS – Provisioning Flow
          • Prerequisites
          • Device Provisioning
            • A. Set Up Mbed OS Example Project Folder:
            • B. Generate New Keys:
            • C. Run Entrance Exam (Optional)
            • D. Perform provisioning
          • Device Re-provisioning
          • Building the Mbed OS Blinky Application
          • Debugging Application Code
            • Prerequisites
            • Create Empty C/C++ Application
            • Configure PyOCD GDB Server Path
            • Setting up ‘Program’ PyOCD configuration
            • Setting up ‘Debug’ PyOCD configuration
            • Setting up ‘Erase’ PyOCD configuration
          • Mbed OS Secure Image Generation
          • Signing Generic Images
        • 5 CySecureTools Design
          • CySecureTools Component Diagram
          • CySecureTools Design
            • Creating a Provisioning Packet
          • Understanding the Default Policy
            • Policy and Configuration Limitations
            • Boot&Upgrade Policy
            • Debug Policy
            • External Clock Policy
            • Cypress Bootloader
            • CySecureTools Misc Assets
          • Provisioning JWT packet Reference
            • 1. prov_cmd.jwt
            • 2. prov_identity.jwt
            • 3. cy_auth.jwt
            • 4. rot_auth.jwt
            • 5. prov_req.jwt
            • 6. boot_upgrade.JSON
            • 7. debug.JSON
      • Secure Policy Configurator guide
        • 1 Overview
        • 2 Installation
          • 2.1 Configuring cysecuretools location
        • 3 Quick start
          • 3.1 Create an application
          • 3.2 Launch the Configurator
          • 3.3 Create a policy file
          • 3.4 Provision a device
        • 4 Launch the “Secure Policy” Configurator
          • 4.1 make command
          • 4.2 Eclipse IDE
          • 4.3 Executable (GUI)
        • 5 GUI description
          • 5.1 Menus
            • 5.1.1 File
            • 5.1.2 Edit
            • 5.1.3 View
            • 5.1.4 Execut
            • 5.1.5 Help
          • 5.2 Toolbar
          • 5.3 Tabs
          • 5.4 Notice List
          • 5.5 Log
          • 5.6 Keys tab
            • 5.6.1 ID
            • 5.6.2 Description
            • 5.6.3 Path
          • 5.7 Configuration tabs
            • 5.7.1 Single-Image
            • 5.7.2 Single-Image Swap mode
            • 5.7.3 Multi-Image CM4 Configuration
            • 5.7.4 Multi-Image CM0+ Configuration
            • 5.7.5 Multi-Image Swap mode
          • 5.8 Configuration parameters
            • 5.8.1 Boot image (Primary Slot)
            • 5.8.2 Version control
            • 5.8.2 Start WDT
            • 5.8.4 Upgrade image (Secondary Slot)
            • 5.8.5 Upgrade enabled
            • 5.8.6 Encrypt upgrade image
            • 5.8.7 Protected SRAM (Configuration and CM0+tabs)
          • 5.9 Certificates tab
            • 5.9.1 Add certificate
        • 6 Advanced dialog
          • 6.1 SysAP Options
            • 6.1.1 Permissions
            • 6.1.2 Enable flash reads
            • 6.1.3 Enable flash writes
          • 6.2 RMA Options
            • 6.2.1 RMA allowed
            • 6.2.2 Destroy flash region
            • 6.2.3 Flash start address
            • 6.2.4 Flash size (bytes)
          • 6.3 Startup Options
            • 6.3.1 Startup clock
            • 6.3.2 Debug listen window
          • 6.4 Bootloader Options
            • 6.4.1 Bootloader mode
            • 6.4.2. Signing key
            • 6.4.3 HEX file
            • 6.4.4 JWT file
            • 6.4.5 Status partition (Swap mode)
            • 6.4.6 Scratch area (Swap mode)
          • 6.5 Reprovisioning Options
          • 6.6 Start WDT in CM0+ (bootloader)
            • 6.6.1 WDT timeout (ms)
        • 7 Version changes
        • Revision history
      • PSoC™ 64 Secure Blinky LED Example
      • SHA2 with Cryptographic Hardware Block Example
      • AES Encryption/Decryption Example
      • cysecuretools
    • AIROC™ Bluetooth®
      • AN210781 - Getting Started with PSoC™ 6 MCU with Bluetooth® Low Energy Connectivity
        • 1. Introduction
          • 1.1 Prerequisites
            • 1.1.1 Hardware
            • 1.1.2 Software
        • 2 Development Ecosystem
          • 2.1 PSoC Resources
          • 2.2 Firmware/Application Development
            • 2.2.1 PSoC Creator
            • 2.2.2 Peripheral Driver Library ( PDL)
          • 2.3 Support for Other IDEs
            • 2.3.1 Using PSoC Creator to Target Another IDE
          • 2.4 RTOS Support
          • 2.5 Debugging
          • 2.6 CY8CKIT-062-BLE PSoC 6 BLE Pioneer Kit
          • 2.7 CySmart Host Emulation Tool and Mobile Applications
        • 3 Device Features
        • 4 Development Setup
        • 5 My First PSoC 6 MCU Design With BLE
          • 5.1 Using These Instructions
          • 5.2 Before You Begin
          • 5.3 About the Design
          • 5.4 Part 1: Create a New Project from Scratch
          • 5.5 Part 2: Implement the Design
          • 5.6 Part 3: Generate Source Code
          • 5.7 Part 4: Write the Firmware
          • 5.8 Part 5: Build the Project, Program the Device
          • 5.9 Part 6: Test Your Design
        • 6 Summary
        • 7 Related Application Notes and Code Examples
        • Appendix A. Glossary
        • Appendix B. BLE Protocol
          • B.1 Overview
          • B.2 Physical Layer (PHY)
          • B.3 Link Layer (LL)
          • B.4 Host Control Interface (HCI)
          • B.5 Logical Link Control and Adaptation Protocol (L2CAP)
          • B.6 Security Manager (SM)
          • B.7 Attribute Protocol (ATT)
            • B.7.1 Attribute Hierarchy
            • B.7.2 Attribute Operations
          • B.8 Generic Attribute Profile (GATT)
          • B.9 Generic Access Profile (GAP)
        • Appendix C. Device Features
          • C.1 System Wide Resources
            • C.1.1 CPU Subsystem: CM 4 and CM 0
            • C.1.2 IPC
            • C.1.3 Memory System
            • C.1.4 DMA
            • C.1.5 Clocking System
            • C.1.6 System Interrupts
            • C.1.7 Power Supply and Monitoring
            • C.1.8 Power Modes
          • C.2 Secure Boot
          • C.3 Programmable Digital Peripherals
            • C.3.1 UDB
            • C.3.2 Programmable TCPWM
            • C.3.3 SCB
            • C.3.4 BLESS
            • C.3.5 Audio Subsystem
            • C.3.6 Serial Memory Interface
            • C.3.7 e FUSE
            • C.3.8 Segment LCD
          • C.4 Programmable Analog Peripherals
            • C.4.1 Continuous Time Block Opamps
            • C.4.2 Low - Pow er Comparator
            • C.4.3 SAR ADC
            • C.4.4 DAC
            • C.4.5 CapSense
          • C.5 Programmable GPIOs
        • Appendix D. Cypress IoT Development Tools
          • D.1 CY8CKIT-062-BLE PSoC 6 BLE Pioneer Kit
          • D.2 CySmart Host Emulation Tool
          • D.3 CySmart Mobile App
        • Document History
      • BLE GATT Throughput Example
      • BLE Environmental Sensing Profile Example
      • BLE GAP Peripheral - GATT Client with Current Time Service
      • BLE GAP Peripheral - GATT Server with Current Time Service
      • BLE Beacon Example
      • BLE Battery Server
      • AN215671 - PSoC™ 6 MCU - Firmware Design for BLE Applications
        • 1 Introduction
        • 2 PSoC Resources
        • 3 BLE Protocol Implementation in PSoC 6 BLE
          • 3.1 BLE Host
            • 3.1.1 Generic Access Profile (GAP)
            • 3.1.2 Generic Attribute Profile (GATT)
            • 3.1.3 ATT Protocol – Organizing the Data
          • 3.2 BLE Controller
            • 3.2.1 Managing Multiple Connections
        • 4 Developing a BLE Application: Firmware Flow
          • 4.1 Implementing Low-Power BLE Design
          • 4.2 Implementing a Secure BLE Design
            • 4.2.1 Configuring Security Features Using the BLE Component Security Mode and Security Level
            • 4.2.2 Establishing Secure BLE Link : Firmware Flow
          • 4.3 Additional BLE Design Considerations
        • 5 BLE Design Examples
          • 5.1 Multi-Master Multi-Slave: Implementing Four BLE Slaves
            • 5.1.1 About the Design
          • 5.2 Multi-Master Multi-Slave: Implementing Three BLE Masters and One BLE Slave
            • 5.2.1 About the Design
        • 6 Summary
        • 7. Related Documents
        • Document History
    • AIROC™ Wi-Fi
      • AnyCloud Users Guide
        • 1 Overview
        • 2 Getting started
        • 3 Library Descriptions and Documentation
          • 3.1 Wi-Fi Middleware Core (wifi-mw-core)
          • 3.2 Wi-Fi Connection Manager (WCM)
          • 3.3 Wi-Fi Host Driver (WHD)
          • 3.4 anycloud-ota
          • 3.5 MQTT
          • 3.6 Secure Sockets
          • 3.7 lwIP
            • 3.7.1 TCP and UDP
          • 3.8 MbedTLS
          • 3.9 Low Power Assistant (LPA)
          • 3.10 HTTP Server & HTTP Client
          • 3.11 FreeRTOS
          • 3.12 Command Console
          • 3.13 Enterprise Security
          • 3.14 Azure C SDK port library
          • 3.15 Trusted Firmware-M
          • 3.16 Bluetooth® Libraries
          • 3.17 Smart CoEX
          • 3.18 Connectivity Middleware Tools
            • 3.18.1 Wi-Fi Bluetooth® Tester
            • 3.18.2 WLAN Manufacturing Test Application
            • 3.18.3 Wi-Fi Cert Tester Tool
            • 3.18.4 Bluetooth® MFG tester
        • 4 Library Dependencies
          • 4.1 Library Manager
          • 4.2 Adding Libraries
          • 4.3 Library Reference Tables
            • 4.3.1 PSoC™ 6 Base Libraries
            • 4.3.2 PSoC™ 6 Middleware
        • 5 Library Configuration Files
          • 5.1 Wi-Fi Middleware Core
            • 5.1.1 Optimizing Smaller Memory Devices
          • 5.2 MQTT
          • 5.3 OTA
        • 6 Supported Devices
        • 7 Working with Examples
        • 8 Adding and Configuring Low Power
        • 9 Adding and configuring Bluetooth®
      • AnyCloud Code Examples
      • Wi-Fi Connections
        • Wi-Fi Scan Example
        • Provisioning with BLE
        • Provisioning with WPS
      • Firmware Updates
        • OTA Firmware Update with MQTT
        • OTA Firmware Update
          • Over The Air (OTA) Update Library
            • API Reference
      • IoT Protocols
        • MQTT Client Example
        • TCP Client Example
        • TCP Server Examaple
        • Secure TCP Client Example
        • Secure TCP Server Example
        • UDP Client Example
        • UDP Server Example
        • HTTPS Server Example
    • CAPSENSE™
      • CAPSENSE™ Configurator Guide
        • 1 Overview
          • 1.1 Supported middleware
        • 2 Launch the CAPSENSE™ Configurator
          • 2.1 From the Device Configurator
          • 2.2 make command
          • 2.3 Eclipse IDE
          • 2.4 Executable (GUI)
          • 2.5 Executable (CLI)
        • 3 Quick start
        • 4 Code generation
        • 5 GUI description
          • 5.1 Menus
            • 5.1.1 File
            • 5.1.2 Edit
            • 5.1.3 View
            • 5.1.4 Help
          • 5.2 Notice List
        • 6 Tabs
          • 6.1 Basic tab
          • 6.2 Advanced tab
            • 6.2.1 General subtab
            • 6.2.2 CSD Settings subtab
            • 6.2.4 Widget Details subtab
          • 6.3 Pins tab [CSD HW]
          • 6.4 Scan Configuration tab [MSC HW]
            • 6.4.1 Widgets Explorer
            • 6.4.2 Widgets configuration pane
            • 6.4.3 Summary Table
            • 6.4.4 Detailed Report
        • 7 Version changes
        • Revision history
      • CAPSENSE™ Tuner Guide
        • 1 Overview
        • 2 Launch the CAPSENSE™ Tuner
          • 2.1 From the Device Configurator
          • 2.2 make command
          • 2.3 Eclipse IDE
          • 2.4 Executable (GUI)
          • 2.5 From the Command Line
        • 3 Quick start
        • 4. GUI description
          • 4.1 Menus
            • 4.1.1 File
            • 4.1.2 Edit
            • 4.1.3 View
            • 4.1.4 Communication
            • 4.1.5 Tools
            • 4.1.6 Help
          • 4.2 Toolbar
          • 4.3 Widget Explorer pane
          • 4.4 Widget/Sensor parameters pane
          • 4.5 Tabs
          • 4.6 Status bar
            • 4.6.1 I2C interface
            • 4.6.2 UART interface
        • 5 Tuner Communication Setup
        • 6 Widget View tab
          • 6.1 Touch Signal Graph
          • 6.2 Toolbar
        • 7 Graph View tab
          • 7.1 Toolbar
          • 7.2 Graph functionality
        • 8 SNR Measurement tab
          • 8.1 SNR options
          • 8.2 SNR Measurement procedure
        • 9 Touchpad View tab
          • 9.1 Toolbar
          • 9.2 Widget selection
          • 9.3 Display settings
          • 9.4 Show signal
          • 9.5 Touch report
        • 10 Gesture View tab
          • 10.1 Toolbar
          • 10.2 Widget selection
          • 10.3 Image pane
          • 10.4 Gesture Monitor
          • 10.5 Gesture Event history
        • 11 Tuner Configuration options
          • 11.1 Display options
            • 11.1.1 Theme
          • 11.2 SNR options
          • 11.3 Logging options
        • 12 Troubleshooting
        • Version changes
        • Revision history
      • CAPSENSE™ Middleware
        • CapSense Middleware Library
        • API Reference
          • High-level Functions
          • Low-level Functions
          • CapSense Data Structure
            • CapSense Structures
            • Gesture Structures
          • Enumerated Types
          • Macros
            • General Macros
            • Middleware State Macros
            • Status Macros
            • Settings Macros
            • Pin-related Macros
            • Processing Macros
            • Touch-related Macros
            • Gesture Macros
            • Miscellaneous Macros
            • Built-in Self-test Macros
          • Callbacks
      • CAPSENSE™ Tuner Client over BLE Example
      • CAPSENSE™ Tuner Server over BLE Example
      • CAPSENSE™ Buttons and Slider Example
      • CAPSENSE™ FreeRTOS Example
      • CAPSENSE™ Buttons BLE Example
      • PSoC™ 4 and PSoC™ 6 MCU CAPSENSE™ Design Guide
        • 1. Introduction
          • 1.1 Abstract
          • 1.2 Introduction
          • 1.3 CapSense Features
          • 1.4 PSoC 4 and PSoC 6 MCU CapSense Plus Features
          • 1.5 CapSense Design Flow
        • 2. CapSense Technology
          • 2.1 CapSense Fundamentals
          • 2.2 Capacitive Touch Sensing Method
          • 2.3 Signal-to-Noise Ratio
          • 2.4 CapSense Widgets
          • 2.5 Liquid Tolerance
            • 2.5.1 Liquid Tolerance for Self-Capacitance Sensing
            • 2.5.2 Liquid Tolerance for Mutual-Capacitance Sensing
            • 2.5.3 Effect of Liquid Properties on Liquid-Tolerance Performance
        • 3. PSoC 4 and PSoC 6 MCU CapSense
          • 3.1 CapSense CSD Sensing Method
          • 3.2 CapSense CSX Sensing Method
          • 3.3 CapSense Architecture in PSoC 4 S-Series, PSoC 4100S Plus, PSoC 4100PS, and PSoC 6 MCU
          • 3.4 CapSense in PSoC 4xxxM/4xxxL-Series
        • 4 CapSense Design and Development Tools
          • 4.1 PSoC Creator
          • 4.2 ModusToolbox
          • 4.3 Hardware Kits
        • 5. CapSense Performance Tuning
          • 5.1 Selecting between SmartSense and Manual Tuning
          • 5.2 SmartSense
          • 5.3 Manual Tuning
        • 7. Design Considerations
          • 7.1 Firmware
          • 7.3.2 Overlay Thickness
          • 7.3.3 Overlay Adhesives
          • 7.4 PCB Layout Guidelines
          • 7.4.1 Sensor CP
          • 7.4.2 Board Layers
          • 7.4.3 Button Design
          • 7.4.3.1 Self-Capacitance Button Design
          • 7.4.4 Slider Design
          • Slider-Segment Shape, Width, and Air Gap
          • 7.4.4.4 Routing Slider Segment Trace
          • 7.4.5 Sensor and Device Placement
          • 7.4.6 Trace Length and Width
          • 7.4.7 Trace Routing
          • 7.4.8 Crosstalk Solutions
          • 7.4.9 Vias
          • 7.4.10 Ground Plane
          • 7.4.12 Layout Guidelines for Liquid Tolerance
          • 7.4.13 Schematic Rule Checklist
        • 8 CapSense Plus
    • Low Power Development
      • Low Power Assistant
        • Low Power Assist
          • LPA Utility API
      • WLAN Low Power Example
      • TCP Keepalive Offload Example
      • Power Mode Switching Example
      • AN219528 - PSoC™ 6 MCU Low-Power modes and Power reduction techniques
        • 1.Introduction
        • 2.Power Modes
          • 2.1 Power Mode Transitions
          • 2.2 CPU Sleep and Wakeup Instructions
          • 2.3 Low-Power Assistant
            • 2.3.1 Low-Power Assistant Features
            • 2.3.2 PSoC 6 MCU Device LPA Settings
            • 2.3.3 Connectivity Device LPA Settings
          • 2.4 Subsystem Availability and Power Consumption
            • 2.4.1 Subsystem Availability
            • 2.4.2 Approximating Power Consumption
            • 2.4.3 Power Estimator
          • 2.5 Example Case Scenarios
          • 2.6 System Power Management (SysPm) Library
            • 2.6.1 Overview
            • 2.6.2 Mode Transition Functions
        • 3. PSoC 6 MCU Power Management Techniques
          • 3.1 Core Voltage Selection
            • 3.1.1 Linear Regulator and Buck Regulator
          • 3.2 ULP Mode Clock
          • 3.3 Backup Power Domain
            • 3.3.1 Vbackup Supply
            • 3.3.2 Backup Domain Reset
            • 3.3.3 External PMIC Control
            • 3.3.4 Wakeup Sources
            • 3.3.5 Backup Data Registers
        • 4.Other Power Saving Techniques
          • 4.1 Use PSoC 6 MCU to Gate Current Paths
          • 4.2 Disable Unused Blocks
          • 4.3 Use DMA to Move Data
          • 4.4 Periodic Wakeup Timers
          • 4.5 Disabling PSoC CPUs
          • 4.6 Splitting Tasks Between the CPUs
          • 4.7 Clocks
          • 4.8 GPIOs
          • 4.9 SRAM
          • 4.10 TCPWM
          • 4.11 SCB
          • 4.12 Audio Subsystem
          • 4.13 USB
          • 4.14 Low-Power Comparator
          • 4.15 SAR ADC
          • 4.16 Voltage DAC
          • 4.17 Opamp
        • 5. Power Measurement
          • 5.1 Measuring Current with a DMM
          • 5.2 Approximating Power Consumption
        • 6.Power Supply Protection System
          • 6.1 Hardware Control
            • 6.1.1 Brownout Detect (BOD)
            • 6.1.2 Low-Voltage Detect (LVD)
            • 6.1.3 Overvoltage Detect (OVD)
        • 7.Summary
        • 8. References
        • 9.Power Modes Summary
          • 9.1 Power Modes and Wakeup Source
        • 10.Subsystem Availability
          • 10.1 Resources Available in Different Power Modes
        • 11. Callback Function Examples
          • 11.1 Register Callback Functions
          • 11.2 Implement Custom Callback Functions
        • 12. Code Examples
          • 12.1 CE219881 - PSoC 6 MCU Switching Between Power Modes
          • 12.2 CE218129 - PSoC 6 MCU Wakeup from Hibernate Using a Low-Power Comparator
          • 12.3 CE218542 - PSoC 6 MCU Custom Tick Timer Using RTC Alarm Interrupt
          • 12.4 CE226306 - PSoC 6 MCU Power Measurements
      • AN227910 - Low-Power System Design with CYW43012 and PSoC™ 6 MCU
        • 1 Introduction
        • 2.Low-power Overview
          • 2.1 CYW43012 Power Modes
          • 2.2 PSoC 6 MCU Power Modes
          • 2.3 CYW43012 Power-Related Hardware Signals
          • 2.4 Power Mode Transition
        • 3 WLAN Power Optimization Techniques
          • 3.1 IEEE 802.11 (Wi-Fi) Power Saving
          • 3 . 1 . 1 Beacon Interval
          • 3 . 1 . 2 Listen Interval
          • 3 . 1 . 3 DTIM Period
          • 3 . 1 . 4 Power Saving Methods
          • 3.1.4.1 Power Save Poll
          • 3.1.4.2 802.11 Power Save Without Poll
          • 3.1.4.3 Association Timeout Limit
          • 3 . 1 . 5 802 . 11ac - Friendly Features
        • 3.2 Wi-Fi Power Save Implementation
          • 3 . 2 . 1 WHD Pow er Save Interface
          • 3 . 2 . 2 Cyclic Timers in Netw ork Stack
        • 3.3 Host Offloads to WLAN Device
          • 3 . 3 . 1 ARP Offload
          • 3 . 3 . 2 Packet Filter Offload
          • 3.3.2.1 Network Layer or EtherType filter
          • 3.3.2.2 Transport Layer/IP Protocols
          • 3.3.2.3 Applications Layer/TCP and UDP Port Numbers
        • 4 Bluetooth Power Optimization Techniques
          • 4.1 Advertisement Events
        • 4.2 Connection Events
          • 4 . 2 . 1 Connection Interval
          • 4 . 2 . 2 Use Slave Latency
          • 4 . 2 . 3 Connection Parameter Update in Mbed OS
        • 5 PSoC 6 MCU Power Optimization Techniques
          • 5.1 Core voltage and Operating Frequency
          • 5.2 Reducing Leakage in Deep Sleep
          • 5.3 RTOS Tickless Mode
          • 5.4 Additional Power Optimization Techniques
        • 6 Low Power Assistant (LPA)
          • 6.1 LPA Configuration
          • 6.2 Using LPA in Mbed OS
        • 7 Power Measurement Using CY8CKIT-062S2-43012
          • 7.1 Hardware setup
          • 7.2 mbed-os-example-wlan-lowpower
          • 7.3 mbed-os-example-wlan-offload-arp
        • 8 Summary
        • 9 Related Documents
  • API Reference
    • RTOS Libraries
      • RTOS Abstraction Layer
        • RTOS Abstraction Layer
        • API Reference
          • Common
            • RTOS Specific Types and Defines
          • Mutex
          • Queue
          • Semaphore
          • Threads
          • Time
          • Timer
          • Worker Thread Utility
      • FreeRTOS
        • FreeRTOS
        • Clib-Support
          • CLib FreeRTOS Support
      • CMSIS
    • PSoC™ Base Libraries
      • corelib
        • Core Library
        • API Reference
          • Result Type
          • Utilities
      • mtb-hal-cat1
        • Hardware Abstraction Layer
        • HAL API Reference
          • HAL General Types/Macros
            • Result Type
            • General Types
            • Overrideable Macros
            • Implementation Specific Types
          • HAL Driver Availability
          • HAL Drivers
            • ADC (Analog to Digital Converter)
            • Clock
            • COMP (Analog Comparator)
            • CRC (Cyclic Redundancy Check)
            • DAC (Digital to Analog Converter)
            • DMA (Direct Memory Access)
            • EZI2C (Inter-Integrated Circuit)
            • Flash (Flash System Routine)
            • System Power Management
            • GPIO (General Purpose Input Output)
            • HWMGR (Hardware Manager)
            • I2C (Inter-Integrated Circuit)
            • I2S (Inter-IC Sound)
            • INTERCONNECT (Internal digital routing)
            • Keyscan
            • LPTimer (Low-Power Timer)
            • Opamp (Operational Amplifier)
            • PDM/PCM (Pulse-Density Modulation to Pulse-Code Modulation Converter)
            • PWM (Pulse Width Modulator)
            • QSPI (Quad Serial Peripheral Interface)
            • Quadrature Decoder
            • RTC (Real-Time Clock)
            • SDHC (SD Host Controller)
            • SDIO (Secure Digital Input Output)
            • SPI (Serial Peripheral Interface)
            • System
            • TDM (Time Division Multiplexed)
            • Timer (Timer/Counter)
            • TRNG (True Random Number Generator)
            • UART (Universal Asynchronous Receiver-Transmitter)
            • USB Device
            • WDT (Watchdog Timer)
          • CAT1 (PSoC 6) Implementation Specific
            • Deprecated
            • Clocks
            • COMP (CTB Opamps)
            • COMP (LP Comparator block)
            • DMA (Direct Memory Access)
            • CAT1 Specific Hardware Types
            • Interconnect (Internal Digital Routing)
            • Pins
            • System Power Management
            • Timer (Timer/Counter)
            • Triggers
            • TRNG (True Random Number Generator)
            • WDT (Watchdog Timer)
            • ADC (Analog Digital Converter)
            • ADC (Analog Digital Converter)
            • COMP (Analog Comparator)
            • DAC
            • I2S (Inter-IC Sound)
            • LPTIMER
            • Opamp
            • PDM/PCM (Pulse Density Modulation to Pulse Code Modulation Converter)
            • PWM (Pulse Width Modulator)
            • QuadDec (Quadrature Decoder)
            • RTC (Real Time Clock)
            • SDHC (SD Host Controller)
            • TDM (Time Division Multiplexing)
            • UDB SDIO (Secure Digital Input Output)
      • PSoC™ 6 PDL
        • MTB CAT1 Peripheral driver library Documentation
        • Introducing MTB CAT1A
        • Getting Started
        • PDL API Reference
          • BLE ECO (BLE ECO Clock)
            • Functions
            • Enumerated Types
            • Macros
          • CAN FD (CAN with Flexible Data-Rate)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • Crypto (Cryptography)
            • Client-Server Model
            • Direct Crypto Core Access
            • Common Data Structures
            • Common Enumerated Types
          • CSD (CapSense Sigma Delta)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • CTB (Continuous Time Block)
            • Macros
            • Functions
            • Global Variables
            • Data Structures
            • Enumerated Types
          • CTDAC (Continuous Time Digital to Analog Converter)
            • Macros
            • Functions
            • Global Variables
            • Data Structures
            • Enumerated Types
          • DMA (Direct Memory Access)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • DMAC (Direct Memory Access Controller)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • eFuse (Electronic Fuses)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • Flash (Flash System Routine)
            • Macros
            • Functions
            • Enumerated Types
          • GPIO (General Purpose Input Output)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • I2S (Inter-IC Sound)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • IPC (Inter Process Communication)
            • IPC driver layer (IPC_DRV)
            • IPC semaphores layer (IPC_SEMA)
            • IPC pipes layer (IPC_PIPE)
            • IPC bluetooth sub-system layer (IPC_BTSS)
          • LPComp (Low Power Comparator)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • LVD (Low-Voltage-Detect)
            • Macros
            • Functions
            • Enumerated Types
          • MCWDT (Multi-Counter Watchdog)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • PDM_PCM (PDM-PCM Converter)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • PRA (Protected Register Access)
            • Macros
            • Functions
            • Enumerated Types
            • Data Structures
          • Profile (Energy Profiler)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • Prot (Protection Unit)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • RTC (Real-Time Clock)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • SAR (SAR ADC Subsystem)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • SCB (Serial Communication Block)
            • Common
            • EZI2C (SCB)
            • I2C (SCB)
            • SPI (SCB)
            • UART (SCB)
          • SD Host (SD Host Controller)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • SegLCD (Segment LCD)
            • Macros
            • Functions
            • Data Structures
            • Global Data
            • Enumerated Types
          • SmartIO (Smart I/O)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • SMIF (Serial Memory Interface)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • Startup (System Configuration Files)
            • Macro
            • Functions
            • Global Variables
          • SysAnalog (System Analog Reference Block)
            • Macros
            • Functions
            • Global Variables
            • Data Structures
            • Enumerated Types
          • SysClk (System Clock)
            • Macros
            • General Enumerated Types
            • External Clock Source (EXTCLK)
            • External Crystal Oscillator (ECO)
            • Clock Path Source
            • Frequency Locked Loop (FLL)
            • Phase Locked Loop (PLL)
            • Internal Low-Speed Oscillator (ILO)
            • Precision Internal Low-Speed Oscillator (PILO)
            • Clock Measurement
            • Clock Trim (ILO, PILO)
            • Low Power Callback
            • Watch Crystal Oscillator (WCO)
            • High-Frequency Clocks
            • Fast Clock
            • Peripheral Clock
            • Peripherals Clock Dividers
            • Slow Clock
            • Alternative High-Frequency Clock
            • Low-Frequency Clock
            • Timer Clock
            • Pump Clock
            • Backup Domain Clock
            • Medium Frequency Domain Clock
          • SysInt (System Interrupt)
            • Macros
            • Global variables
            • Functions
            • Data Structures
            • Enumerated Types
          • SysLib (System Library)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • SysPm (System Power Management)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • SysTick (ARM System Timer)
            • Macros
            • Functions
            • Data Structures
          • TCPWM (Timer Counter PWM)
            • Common
            • Timer/Counter (TCPWM)
            • PWM (TCPWM)
            • Quadrature Decoder (TCPWM)
            • Shift Register (TCPWM)
          • TrigMux (Trigger Multiplexer)
            • Macros
            • Functions
            • Enumerated Types
          • USBFS (USB Full-Speed Device)
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
          • WDT (Watchdog Timer)
            • Macros
            • Functions
        • Online Documentation
        • Additional Resources
        • MISRA-C:2004 Compliance
        • Device Catalog
          • List of Devices
          • Device Catalog
      • PSoC™ 6 Base Examples
        • GPIO Interrupt Example
        • Multi-Counter Watchdog Timer (MCWDT) Example
        • Watchdog Timer (WDT) Example
        • Fault Handling Example
        • Real Time Clock Example
        • PDM/PCM Example
        • Square Wave PWM using TCPWM Example
        • PWM Ramp using SmartIO Example
        • True Random Number Generator Example
        • SHA2 with Cryptographic Hardware Block Example
        • AES Encryption/Decryption Example
        • Dual Core IPC Semephore Example
        • Dual Core IPC Pipes Example
        • I2S Audio Codec Example
        • PDM to I2S Routing Example
        • Serial Communications Block SPI with DMA Example
        • UART using DMA Example
        • HAL UART Example
        • SPI Master Example
        • I2C Master Example
        • I2C Slave Callback Example
        • I2C Master with EzI2C Client
      • PSoC™ 6 Prebuilt Images
      • ModusToolbox™ QSPI Configurator guide
        • 1. Overview
          • 1.1 Supported software
        • 2. Launch the QSPI Configurator
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 From the Device Configurator
          • 2.4 Executable (CLI)
          • 2.5 Executable (GUI)
        • 3. Quick start
        • 4. Code generation
          • 4.1 Files used by the configuration tool
        • 5. GUI description
          • 5.1 Menus
            • 5.1.1 File
            • 5.1.2 Edit
            • 5.1.3 View
            • 5.1.4 Options
            • 5.1.5 Help
          • 5.2 Toolbar
          • 5.3 Target device family
          • 5.4 Flashloader Directory
          • 5.5 QSPI configuration fields
          • 5.6 Edit memory file fields
        • 6. Create new memory file
          • 6.1 Memory database
        • 7. XML schemas
          • 7.1 *.cyqspi schema
          • 7.2 *.cymem schema
        • 8. Version changes
        • Revision history
      • ModusToolbox™ Smart I/O Configurator guide
        • 1. Overview
        • 2. Launch the Smart I/O Configurator
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 From the Device Configurator
          • 2.4 Executable (GUI)
        • 3. Quick start
        • 4.GUI Description
          • 4.1 Menus
            • 4.1.1 File
            • 4.1.2 View
            • 4.1.3 Help
          • 4.2 Tabs
            • 4.2.1 Routing tab
            • 4.2.2 Data Unit tab
            • 4.2.3 LUT tabs
        • 5. Functional Description
          • 5.1 Routing Fabric
            • 5.1.1 Single Source LUT Input
            • 5.1.2 SCB Restriction
          • 5.2 Clock and Reset behavior
            • 5.2.1 Signal synchronization requirement
          • 5.3 LUT combinatorial feedback
        • 6. Version changes
      • ModusToolbox™ Device Configurator Guide
        • Version
        • Scope and purpose
        • Intended audience
        • Document conventions
        • Abbreviations and definitions
        • Reference documents
        • Overview
        • 2 Launch the Device Configurator
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 Executable (GUI)
            • Launch the Device Configurator
          • 2.4 Open configuration file
          • 2.5 Create new configuration
          • 2.6 Executable (CLI)
        • 3 Quick start
        • 4 Code generation
        • 5 GUI description
          • 5.1 Menus
          • 5.2 Device tabs
          • 5.3 Resource tabs
          • 5.4 Panes
          • 5.5 Icons
        • Resources tabs
          • Peripherals
          • 6.2 Pins
          • 6.3 Analog-Routing tab
            • Resources tabs
          • 6.4 System tab
          • 6.5 Peripheral-Clocks tab
          • 6.6 DMA tab
        • Panes
          • 7.1 Parameters pane
          • Notice List
          • Code Preview pane
        • Version changes
          • Revision history
      • stdio UART Support
        • Retarget IO (retarget-io)
        • Retarget IO API Reference
    • PSoC™ Middleware
      • USB
        • ModusToolbox™ software USB Configurator guide
          • 1. Overview
            • 1.1 Supported middleware
          • 2. Launch the USB Configurator
            • 2.1 make command
            • 2.2 Eclipse IDE
            • 2.3 Executable (GUI)
            • 2.4 Executable (CLI)
          • 3. Quick start
          • 4. Code generation
          • 5. GUI description
            • 5.1 Menus
          • 6. Toolbars
            • 6.1 Descriptor toolbar
            • 6.2 HID Report toolbar
            • 6.3 Array editor toolbar
          • 7. Panes
            • 7.1 Device Descriptors Tree pane
            • 7.2 Parameters pane
          • 8. Notice List
          • 9. Supported descriptors
          • 10. Known issues, limitations, and workarounds
          • 11. Version changes
        • USB
          • Cypress USB Device Middleware Library 2.0
          • API Reference
            • Device
            • Audio Class
            • CDC Class
            • HID Class
        • Audio Recorder Example
        • HID Mouse Example
        • Mass Storage Example
        • Generic HID Example
        • CDC Serial Port Example
        • Audio Device and HID Consumer Control Example
        • Mass Storage File System Example
      • Memory
        • ModusToolbox™ Device Firmware Update Host tool guide
          • Version
          • Scope and purpose
          • Intended audience
          • Document conventions
          • Reference documents
          • Overview
          • Example code
          • Walkthrough
          • Launch the DFU Host tool
            • make command
            • Eclipse IDE
            • Executable (GUI)
            • Executable (CLI)
          • GUI description
            • Main window
            • Port configuration
            • Log
            • Errors
          • CLI description
            • Command-line flags
            • CLI example
          • Troubleshooting
          • Version changes
            • Revision history
        • SPI Flash
          • Serial Flash
          • API Reference
        • Device Firmware Update
          • Device Firmware Update
          • API Reference
            • Macros
            • Functions
            • Global Variables
            • Data Structures
            • Enumerated Types
          • MISRA-C:2012 Compliance
        • Emulated EEPROM
          • Cypress Em_EEPROM Middleware Library
          • API Reference
            • Macros
            • Functions
            • Data Structures
            • Enumerated Types
        • Emulated EEPROM Example
        • ModusToolbox™ QSPI Configurator Guide
          • Overview
          • Launch the QSPI Configurator
            • As a Stand-Alone Tool
            • From the Device Configurator
            • From the Eclipse IDE
            • From the Command Line
          • Quick Start
          • Code Generation
          • Files Used by the Configuration Tool
          • GUI Description
            • Menus
            • Toolbar
            • QSPI Configuration Fields
            • Edit Memory File Fields
          • Memory Database
            • Notes:
          • Create New Memory File
          • Migration of Configuration File Format
            • From the Eclipse IDE
            • Without the Eclipse IDE
          • Patching Flashloaders
          • XML Schemas
            • *.cyqspi Schema
            • *.cymem Schema
          • References
          • Version Changes
        • QSPI FRAM Example
        • QSPI NOR Flash Example
        • QSPI Flash with Serial Memory Interface (SMIF) Example
        • External Flash Execute In Place Example
      • Sensing
        • Thermistor
          • Thermistor (Temperature Sensor)
          • API Reference
        • CAPSENSE™
          • CAPSENSE™ Configurator Guide
            • 1 Overview
            • 2 Launch the CAPSENSE™ Configurator
            • 3 Quick start
            • 4 Code generation
            • 5 GUI description
            • 6 Tabs
            • 7 Version changes
            • Revision history
          • CAPSENSE™ Tuner Guide
            • 1 Overview
            • 2 Launch the CAPSENSE™ Tuner
            • 3 Quick start
            • 4. GUI description
            • 5 Tuner Communication Setup
            • 6 Widget View tab
            • 7 Graph View tab
            • 8 SNR Measurement tab
            • 9 Touchpad View tab
            • 10 Gesture View tab
            • 11 Tuner Configuration options
            • 12 Troubleshooting
            • Version changes
            • Revision history
          • CAPSENSE™ Middleware
            • CapSense Middleware Library
            • API Reference
          • CAPSENSE™ Tuner Client over BLE Example
          • CAPSENSE™ Tuner Server over BLE Example
          • CAPSENSE™ Buttons and Slider Example
          • CAPSENSE™ FreeRTOS Example
          • CAPSENSE™ Buttons BLE Example
        • ADC using CSDADC
          • Cypress CSDADC Middleware Library
          • API Reference
            • Macros
            • Enumerated types
            • Data Structures
            • Functions
            • Callback
        • IDAC using CSDIDAC
          • CSDIDAC Middleware Library
          • API Reference
            • Macros
            • Enumerated Types
            • Data Structures
            • Functions
        • Light Sensor
          • API Reference
        • BMI-160 Inertial Measurement Unit
          • BMI-160 Inertial Measurement Unit
          • API Reference
        • BME 680 Atmospheric Sensor
          • BME 680 Atmospheric Sensor
          • API Reference
        • CSD ADC Example
      • Display
        • emWin Graphics Library
          • SEGGER emWin Graphics Library 5.48.1
          • emWin User Guide
          • SEGGER emWin Web Page
          • emWin OLED Example
          • emWin Eink Example
        • RGB LED
          • RGB LED
          • API Reference
        • ModusToolbox™ SegLCD Configurator guide
          • 1. Overview
            • 1.1 Supported software
          • 2. Launch the SegLCD Configurator
            • 2.1 From the Device Configurator
            • 2.2 make command
            • 2.3 Eclipse IDE
            • 2.4 Executable (GUI)
            • 2.5 Executable (CLI)
          • 3. Quick start
          • 4. Code generation
          • 5. GUI description
            • 5.1 Menus
            • 5.2 Toolbar
          • 6. Display Editor
            • 6.1 Display Editor toolbar
            • 6.2 Display row
          • 7. Display view
          • 8. Mapping table
            • 8.1 Connect/Disconnect display pixel
            • 8.2 Change pixel name
          • 9. Notice List**
          • 10. Known issues, limitations, and workarounds
          • 11. Version changes
      • Bluetooth® Low Energy
        • ModusToolbox® Bluetooth Configurator Guide
          • Version
          • Scope and purpose
          • Intended audience
          • Document conventions
          • Abbreviations and definitions
          • Reference documents
          • Overview
            • Supported devices and libraries
            • SIG-adopted profiles and services
            • Custom profiles
          • Launch the Bluetooth® Сonfigurator
            • make command
            • Eclipse IDE
            • Executable (GUI)
            • Executable (CLI)
          • Quick start
          • Code generation
            • CYW20xxx
            • CYW43xxx
            • CYW55xxx
            • PSoC 6-BLE
          • GUI description
            • Menus
            • Toolbar
            • Tab components
            • Notice List
            • Status bar
          • Parameters configuration
            • General tab (CYW20xxx, CYW55xxx)
            • General tab (PSoC 6-BLE)
            • General LE tab (CYW43xxx, CYW55xxx)
            • GATT Settings tab (all devices)
            • L2CAP Settings tab (CYW43xxx, CYW55xxx, PSoC 6-BLE)
            • Link Layer Settings (PSoC 6-BLE)
            • Service Discovery Settings tab (CYW20xxx, CYW55xxx) (Beta)
          • Version changes
            • Revision history
        • ModusToolbox™ Machine Learning Configurator guide
          • 1. Overview
            • 1.1 Supported library
          • 2. Launch the ML Configurator
            • 2.1 make command
            • 2.2 Eclipse IDE
            • 2.3 Executable (CLI)
            • 2.4 Executable (GUI)
          • 3. Quick start
          • 4. GUI description
            • 4.1 Menus
            • 4.2 Project elements
            • 4.3 Model elements
            • 4.4 Generate source button
            • 4.5 Validate in Desktop button
            • 4.6 Validate on Target button
            • 4.7 Output messages
            • 4.8 Status bar
            • 4.9 Validation dialog
          • 5. Version changes
        • BLESS
          • Cypress PSoC 6 Bluetooth® Low Energy Middleware Library 3.50
          • General Description
          • Quick Start Guide
          • Configuration Considerations
          • Supported Software and Tools
          • More Information
          • Industry Standards
          • Changelog
          • API Reference
            • BLE Common API
            • BLE Service-Specific API
        • WICED Bluetooth® Host Stack
          • ble
            • Overview
            • API Reference
          • Dual-Mode
            • Overview
            • API Reference
        • BLE GATT Throughput Example
        • BLE Find Me Profile Example
        • BLE GATT Battery Level Service Example
      • Kits Support Middleware
        • CY8CKIT-028-EPD
          • CY8CKIT-028-EPD shield support library
          • API Reference
            • Shield
            • Pins
            • Microphone
            • Motion Sensor
            • Temperature Sensor
            • E-Ink Display
          • E2271CS021 EInk Controller (display-eink-e2271cs021)
          • E2271CS021 EInk Controller API Reference
        • CY8CKIT-028-TFT
          • Shield Library (CY8CKIT-028-TFT)
          • API Reference
            • Shield
            • Pins
            • Microphone
            • Audio Codec
            • Light Sensor
            • Motion Sensor
            • TFT Display
          • AK4954A Audio Codec
            • Audio Codec
            • Audio Codec API Reference
          • Display 2.4 Inch TFT LCD (ST7789V)
            • API Reference
          • Light Sensor Functions
            • API Reference
        • CY8CKIT-032
          • CY8CKIT-032 shield support library
          • API Reference
            • Pins
            • Analog Front End
            • OLED Display
          • DSSD1306 OLED Controller (display-oled-ssd1306)
            • OLED Display (SSD1306)
            • API Reference
    • Wi-Fi Middleware
      • WiFi Host Driver Board Support Package Integration
        • WiFi Host Driver Board Support Package Integration
        • API Reference
          • Buffer management
          • WiFi Initialization
      • Wi-Fi Base
        • Overview
        • API Reference
          • lwIP and WHD port
            • Enumerated Types
            • Port Functions
            • Port Structures
            • EAPOL Functions
          • CY generic lwIP WHD glue results/error codes
          • Optimization of Wi-Fi Middleware Core
      • Wi-Fi Connection Manager Library
        • Overview
        • API Reference
          • Message Sequence Charts
          • Macros
            • WCM results/error codes
          • Enumerated Types
          • Typedefs
          • Structures
            • cy_wcm_wps_config_t
            • cy_wcm_config_t
            • cy_wcm_ip_address_t
            • cy_wcm_event_data_t
            • cy_wcm_ap_credentials_t
            • cy_wcm_ip_setting_t
            • cy_wcm_connect_params_t
            • cy_wcm_scan_filter_t
            • cy_wcm_scan_result_t
            • cy_wcm_wps_device_detail_t
            • cy_wcm_wps_credential_t
            • cy_wcm_associated_ap_info_t
            • cy_wcm_wlan_statistics_t
            • cy_wcm_custom_ie_info_t
            • cy_wcm_ap_config_t
          • Functions
      • HTTPS Server
        • Overview
        • API Reference
          • C API
            • Structures & Enumerations
            • Macros
            • Functions
          • C++ Class Interface
            • HTTPServer Class Reference
      • HTTP Client
        • HTTP Client Middleware Library
          • Overview
          • API Reference
            • C APIs
      • Low Power Assistant
        • Low Power Assistant Middleware Library 3.0.0
          • LPA Utility API
      • OTA Firmware Update
        • Over The Air (OTA) Update Library
          • API Reference
            • Cypress Over The Air (OTA) API
      • MQTT
        • Overview
        • API Reference
          • C APIs
            • Structures and Enumerations
            • Macros
            • Functions
      • Secure Sockets
        • Overview
        • API Reference
          • Secure Sockets API
            • Message Sequence Charts
            • Macros
            • Typedefs
            • Enumerated types
            • Structures
            • Functions
          • TLS API
            • Enumerations
            • Typedefs
            • Structures
            • Functions
      • lwlP
      • mbedTLS
      • Wi-Fi Host Driver (WHD)
        • Wi-Fi Host Driver (WHD) Documentation
        • Modules
          • WHD Event handling API
          • WHD Buffer Interface API
            • whd_buffer_funcs
          • WHD Network Interface API
            • whd_netif_funcs
          • WHD Resource API
            • whd_resource_source
          • WHD Wi-Fi API
            • WHD Wi-Fi Management API
            • WHD Wi-Fi join, Scan and Halt API
            • WHD Wi-Fi Utility API
            • WHD Wi-Fi SoftAP API
            • WHD Wi-Fi Power Save API
            • WHD Wi-Fi IOCTL Set/Get API
            • WHD Wi-Fi Debug API
          • WHD Bus API
        • Data Structures
          • Data Fields
            • Variables
        • Files
          • File List
          • Globals
            • All
            • Functions
            • Typedefs
            • Enumerations
            • Enumerator
            • Macros
      • UDB based SDIO WiFi Host Driver
        • UDB SDIO for Wi-Fi Host Driver
        • API Reference
          • Pin States
          • Pin Mappings
          • Macros
          • Functions
          • UDB_SDIO
            • Macros
            • Functions
            • Data Structures
      • Connectivity Middleware Utilities Library
        • Overview
        • API Reference
          • Common middleware utilities
            • Middleware utilities enumerated types
            • Logging utilities
            • JSON parser utilities
            • Linked list utilities
            • Network helper utilities
            • String conversion utilities
  • Development Tools Guide
    • General Tools
      • Project Creator Guide
        • 1. Overview
          • 1.1 Manifest files
          • 1.2 Created application(s)
          • 1.3 Library management flows
        • 2. Launch the Project Creator
          • 2.1 From Eclipse IDE
          • 2.2 As a stand-alone GUI tool
          • 2.3 As a command-line tool
        • 3. GUI description
          • 3.1 Menus
          • 3.2 Choose BSP page
          • 3.3 Select application page
          • 3.4 Create an application
        • 4. CLI description
        • 5. Version changes
        • Revision history
      • Library Manager User Guide
        • 1. Overview
          • 1.1 Version
            • 1.1.1 Dynamic
            • 1.1.2 Fixed
          • 1.2 Manifests
          • 1.3 MTB flow
            • 1.3.1 .mtb file
            • 1.3.2 Direct dependency
            • 1.3.3 Indirect dependency
            • 1.3.4 Shared
            • 1.3.5 Local
          • 1.4 LIB flow
        • 2. Launch the Library Manager
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 Stand-alone GUI mode
          • 2.4 Offline mode
          • 2.5 Non-GUI command line interface (CLI)
        • 3. Working with BSPs/libraries (MTB flow)
          • 3.1 Update indirect dependency libraries
          • 3.2 Add/remove BSPs
          • 3.3 Select Active BSP
          • 3.4 Share/unshare BSPs and libraries
          • 3.5 Change BSP/library version
        • 4. Working with BSPs/libraries (LIB flow)
          • 4.1 Adding BSPs/libraries
          • 4.2 Remove BSPs/libraries
          • 4.3 Update shared BSPs/libraries
          • 4.4 Change BSP/library version
        • 5. GUI description
          • 5.1 Menus
          • 5.2 Fields
          • 5.3 Tabs
            • 5.3.1 Shared check box (MTB flow)
            • 5.3.2 BSP and library versions
          • 5.4 Buttons
          • 5.5 Message console
          • 5.6 Status indicator
        • 6. Manual library management
          • 6.1 Acquiring a library (MTB flow)
          • 6.2 Acquiring dependencies (MTB flow)
            • 6.2.1 import_deps
            • 6.2.2 lib2mtbx
          • 6.3 Acquiring a library (LIB flow)
          • 6.4 Acquiring dependencies (LIB flow)
        • 7. Tool change description
        • Revision history
      • Creating custom BSP
        • BSP contents
          • Configuration files
          • Startup and Linker scripts
          • BSP makefile
          • Dependencies
        • Custom BSP process
          • Create application
          • Generate custom TARGET
        • Customize created BSP
          • Startup and Linker scripts
          • Customizing device configuration
          • Adding or removing dependencies
        • Change connectivity device
          • Modifying the CUSTOM_BSP_NAME.mk
          • Modifying design.modus
        • Remove connectivity device
          • Modifying the CUSTOM_BSP_NAME.mk
          • Modifying the design.modus
        • Library compartmentalization
          • Bluetooth® library
          • Wi-Fi Host Driver
            • firmware directory
            • nvram directory
      • Managing the Makefile for ModusToolbox™ software v2.x
        • What is the Makefile and how do I use it?
        • Which Makefile should I edit, the one in the code example or the one in the project directory?
        • What build system does ModusToolbox™ software use?
        • How do I add files to the project so that auto-discovery finds them?
        • How can I add a path that contains spaces?
        • How can I use an absolute path when the variable value requires a relative path?
        • How are slashes handled by the build system?
        • How do I make sure auto-discovery ignores certain files?
        • How do I add an external library using a .lib/.mtb text file?
          • Using the .mtb file (Recommended):
          • Using the .lib file:
        • How do I add an external library by specifying files and file paths?
        • How do I add a precompiled binary to my project?
        • How do I specify a set of build tools?
        • How do I tell the build system where custom build tools are?
        • How do I pass compiler flags?
        • How do I create a custom build configuration?
        • How do I pass linker flags?
        • How do I use a custom linker script?
        • How do I specify a pre-build or post-build task?
        • How do I build a static library?
        • What is a COMPONENT?
        • How do I create a custom COMPONENT and add it to the application?
        • How do I disable a COMPONENT?
        • How do I override the default design.modus file in a BSP?
        • How do I create my own BSP?
        • How do I use a custom BSP for my application?
          • Related Categories:
    • BSP configurators
      • QSPI Configurator Guide
        • 1. Overview
          • 1.1 Supported software
        • 2. Launch the QSPI Configurator
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 From the Device Configurator
          • 2.4 Executable (CLI)
          • 2.5 Executable (GUI)
        • 3. Quick start
        • 4. Code generation
          • 4.1 Files used by the configuration tool
        • 5. GUI description
          • 5.1 Menus
            • 5.1.1 File
            • 5.1.2 Edit
            • 5.1.3 View
            • 5.1.4 Options
            • 5.1.5 Help
          • 5.2 Toolbar
          • 5.3 Target device family
          • 5.4 Flashloader Directory
          • 5.5 QSPI configuration fields
          • 5.6 Edit memory file fields
        • 6.Create new memory file
          • 6.1 Memory database
        • 7. XML schemas
          • 7.1 *.cyqspi schema
          • 7.2 *.cymem schema
        • 8. Version changes
      • Smart I/O Configurator Guide
        • 1. Overview
        • 2. Launch the Smart I/O Configurator
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 From the Device Configurator
          • 2.4 Executable (GUI)
        • 3. Quick start
        • 4. GUI Description
          • 4.1 Menus
            • 4.1.1 File
            • 4.1.2 View
            • 4.1.3 Help
          • 4.2 Tabs
            • 4.2.1 Routing tab
            • 4.2.2 Data Unit tab
            • 4.2.3 LUT tabs
        • 5. Functional Description
          • 5.1 Routing Fabric
            • 5.1.1 Single Source LUT Input
            • 5.1.2 SCB Restriction
          • 5.2 Clock and Reset behavior
            • 5.2.1 Signal synchronization requirement
          • 5.3 LUT combinatorial feedback
        • 6. Version changes
      • Device Configurator Guide
        • 1 Overview
        • 2 Launch the Device Configurator
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 Executable (GUI)
          • 2.4 Open configuration file
          • 2.5 Create new configuration
          • 2.6 Executable (CLI)
        • 3 Quick start
        • 4 Code generation
        • 5 GUI description
          • 5.1 Menus
          • 5.2 Device tabs
          • 5.3 Resource tabs
          • 5.4 Panes
          • 5.5 Icons
        • 6 Resources tabs
          • 6.1 Peripherals
          • 6.2 Pins
          • 6.3 Analog-Routing tab
            • Resources tabs
          • 6.4 System tab
          • 6.5 Peripheral-Clocks tab
          • 6.6 DMA tab
        • 7 Panes
          • 7.1 Parameters pane
          • 7.2 Notice List
          • 7.3 Code Preview pane
        • 8 Version changes
          • Revision history
      • CAPSENSE™ Configurator Guide
        • 1 Overview
          • 1.1 Supported middleware
        • 2 Launch the CAPSENSE™ Configurator
          • 2.1 From the Device Configurator
          • 2.2 make command
          • 2.3 Eclipse IDE
          • 2.4 Executable (GUI)
          • 2.5 Executable (CLI)
        • 3 Quick start
        • 4 Code generation
        • 5 GUI description
          • 5.1 Menus
            • 5.1.1 File
            • 5.1.2 Edit
            • 5.1.3 View
            • 5.1.4 Help
          • 5.2 Notice List
        • 6 Tabs
          • 6.1 Basic tab
          • 6.2 Advanced tab
            • 6.2.1 General subtab
            • 6.2.2 CSD Settings subtab
            • 6.2.4 Widget Details subtab
          • 6.3 Pins tab [CSD HW]
          • 6.4 Scan Configuration tab [MSC HW]
            • 6.4.1 Widgets Explorer
            • 6.4.2 Widgets configuration pane
            • 6.4.3 Summary Table
            • 6.4.4 Detailed Report
        • 7 Version changes
        • Revision history
      • CAPSENSE™ Tuner Guide
        • 1 Overview
        • 2 Launch the CAPSENSE™ Tuner
          • 2.1 From the Device Configurator
          • 2.2 make command
          • 2.3 Eclipse IDE
          • 2.4 Executable (GUI)
          • 2.5 From the Command Line
        • 3 Quick start
        • 4. GUI description
          • 4.1 Menus
            • 4.1.1 File
            • 4.1.2 Edit
            • 4.1.3 View
            • 4.1.4 Communication
            • 4.1.5 Tools
            • 4.1.6 Help
          • 4.2 Toolbar
          • 4.3 Widget Explorer pane
          • 4.4 Widget/Sensor parameters pane
          • 4.5 Tabs
          • 4.6 Status bar
            • 4.6.1 I2C interface
            • 4.6.2 UART interface
        • 5 Tuner Communication Setup
        • 6 Widget View tab
          • 6.1 Touch Signal Graph
          • 6.2 Toolbar
        • 7 Graph View tab
          • 7.1 Toolbar
          • 7.2 Graph functionality
        • 8 SNR Measurement tab
          • 8.1 SNR options
          • 8.2 SNR Measurement procedure
        • 9 Touchpad View tab
          • 9.1 Toolbar
          • 9.2 Widget selection
          • 9.3 Display settings
          • 9.4 Show signal
          • 9.5 Touch report
        • 10 Gesture View tab
          • 10.1 Toolbar
          • 10.2 Widget selection
          • 10.3 Image pane
          • 10.4 Gesture Monitor
          • 10.5 Gesture Event history
        • 11 Tuner Configuration options
          • 11.1 Display options
            • 11.1.1 Theme
          • 11.2 SNR options
          • 11.3 Logging options
        • 12 Troubleshooting
        • Version changes
        • Revision history
    • Library Configurators
      • Secure Policy Configurator guide
        • About this document
        • 1 Overview
        • 2 Installation
          • 2.1 Configuring cysecuretools location
        • 3 Quick start
          • 3.1 Create an application
          • 3.2 Launch the Configurator
          • 3.3 Create a policy file
          • 3.4 Provision a device
        • 4 Launch the “Secure Policy” Configurator
          • 4.1 make command
          • 4.2 Eclipse IDE
          • 4.3 Executable (GUI)
        • 5 GUI description
          • 5.1 Menus
            • 5.1.1 File
            • 5.1.2 Edit
            • 5.1.3 View
            • 5.1.4 Execut
            • 5.1.5 Help
          • 5.2 Toolbar
          • 5.3 Tabs
          • 5.4 Notice List
          • 5.5 Log
          • 5.6 Keys tab
            • 5.6.1 ID
            • 5.6.2 Description
            • 5.6.3 Path
          • 5.7 Configuration tabs
            • 5.7.1 Single-Image
            • 5.7.2 Single-Image Swap mode
            • 5.7.3 Multi-Image CM4 Configuration
            • 5.7.4 Multi-Image CM0+ Configuration
            • 5.7.5 Multi-Image Swap mode
          • 5.8 Configuration parameters
            • 5.8.1 Boot image (Primary Slot)
            • 5.8.2 Version control
            • 5.8.2 Start WDT
            • 5.8.4 Upgrade image (Secondary Slot)
            • 5.8.5 Upgrade enabled
            • 5.8.6 Encrypt upgrade image
            • 5.8.7 Protected SRAM (Configuration and CM0+tabs)
          • 5.9 Certificates tab
            • 5.9.1 Add certificate
        • 6 Advanced dialog
          • 6.1 SysAP Options
            • 6.1.1 Permissions
            • 6.1.2 Enable flash reads
            • 6.1.3 Enable flash writes
          • 6.2 RMA Options
            • 6.2.1 RMA allowed
            • 6.2.2 Destroy flash region
            • 6.2.3 Flash start address
            • 6.2.4 Flash size (bytes)
          • 6.3 Startup Options
            • 6.3.1 Startup clock
            • 6.3.2 Debug listen window
          • 6.4 Bootloader Options
            • 6.4.1 Bootloader mode
            • 6.4.2. Signing key
            • 6.4.3 HEX file
            • 6.4.4 JWT file
            • 6.4.5 Status partition (Swap mode)
            • 6.4.6 Scratch area (Swap mode)
          • 6.5 Reprovisioning Options
          • 6.6 Start WDT in CM0+ (bootloader)
            • 6.6.1 WDT timeout (ms)
        • 7 Version changes
        • Revision history
      • EZ-PD™ Configurator Guide
        • About this document
        • 1. Launch the EZ-PD™ Configurator
          • 1.1 make command
          • 1.2 Eclipse IDE
          • 1.3 Executable (CLI)
          • 1.4 Executable (GUI)
        • 2 Quick start
        • 3. GUI description
          • 3.1 Menus
            • 3.1.1 File
            • 3.1.2 Edit
            • 3.1.3 View
            • 3.1.4 Help
          • 3.2 Toolbar
          • 3.3 Port tabs
          • 3.4 Parameter categories
          • 3.5 Parameters and values
            • 3.5.1 Port Information
            • 3.5.2 PDO
            • 3.5.3 EPR Configuration
            • 3.5.4 SCEDB Configuration
          • 3.6 Notice List
        • 4 Version changes
        • Revision history
      • Bluetooth® Configurator Guide
        • Version
        • Scope and purpose
        • Intended audience
        • Document conventions
        • Abbreviations and definitions
        • Reference documents
        • 1 Overview
          • 1.1 Supported devices and libraries
          • 1.2 SIG-adopted profiles and services
          • 1.3 Custom profiles
        • 2 Launch the Bluetooth® Сonfigurator
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 Executable (GUI)
          • 2.4 Executable (CLI)
        • 3 Quick start
        • 4 Code generation
          • 4.1 CYW20xxx
          • 4.2 CYW43xxx
          • 4.3 CYW55xxx
          • 4.4 PSoC 6-BLE
        • 5 GUI description
          • 5.1 Menus
          • 5.2 Toolbar
          • 5.3 Tab components
          • 5.4 Notice List
          • 5.5 Status bar
        • 6 Parameters configuration
          • 6.1 General tab (CYW20xxx, CYW55xxx)
          • 6.2 General tab (PSoC 6-BLE)
          • 6.3 General LE tab (CYW43xxx, CYW55xxx)
          • 6.4 GATT Settings tab (all devices)
          • 6.5 GAP Settings tab (CYW43xxx, CYW55xxx, PSoC 6-BLE)
            • PSoC 6-BLE:
            • CYW43xxx, CYW55xxx:
          • 6.6 L2CAP Settings tab (CYW43xxx, CYW55xxx, PSoC 6-BLE)
          • 6.7 Link Layer Settings (PSoC 6-BLE)
          • 6.8 Service Discovery Settings tab (CYW20xxx, CYW55xxx) (Beta)
        • 7 Version changes
          • Revision history
      • Machine Learning Configurator Guide
        • 1. Overview
          • 1.1 Supported library
        • 2. Launch the ML Configurator
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 Executable (CLI)
          • 2.4 Executable (GUI)
        • 3. Quick start
        • 4. GUI description
          • 4.1 Menus
            • 4.1.1 File
            • 4.1.2 Edit
            • 4.1.3 Help
          • 4.2 Project elements
            • 4.2.1 Output file prefix
            • 4.2.2 Output folder
          • 4.3 Model elements
            • 4.3.1 Pretrained model
            • 4.3.2 Framework
            • 4.3.3 Advanced scratch memory optimization
          • 4.4 Generate source button
          • 4.5 Validate in Desktop button
          • 4.6 Validate on Target button
          • 4.7 Output messages
          • 4.8 Status bar
          • 4.9 Validation dialog
            • 4.9.1 COM port
            • 4.9.2 Dataset structure
            • 4.9.3 Sample count
            • 4.9.4 Path
            • 4.9.5 Feature columns/number of columns
            • 4.9.6 Target columns/number of columns
            • 4.9.7 Quantization
            • 4.9.8 Validate button
            • 4.9.9 Table
            • 4.9.10 Graph
            • 4.9.11 Results
        • 5. Version changes
      • Segment LCD Configurator Guide
        • 1. Overview
          • 1.1 Supported software
        • 2. Launch the SegLCD Configurator
          • 2.1 From the Device Configurator
          • 2.2 make command
          • 2.3 Eclipse IDE
          • 2.4 Executable (GUI)
          • 2.5 Executable (CLI)
        • 3. Quick start
        • 4. Code generation
        • 5. GUI description
          • 5.1 Menus
            • 5.1.1 File
            • 5.1.2 Edit
            • 5.1.3 View
            • 5.1.4 Help
          • 5.2 Toolbar
        • 6. Display Editor
          • 6.1 Display Editor toolbar
          • 6.2 Display row
            • 6.2.1 Name
            • 6.2.2 Type
            • 6.2.3 Symbols
        • 7. Display view
        • 8. Mapping table
          • 8.1 Connect/Disconnect display pixel
          • 8.2 Change pixel name
        • 9. Notice List
        • 10. Known issues, limitations, and workarounds
        • 11. Version changes
      • USB Configurator Guide
        • 1. Overview
          • 1.1 Supported middleware
        • 2. Launch the USB Configurator
          • 2.1 make command
          • 2.2 Eclipse IDE
          • 2.3 Executable (GUI)
          • 2.4 Executable (CLI)
        • 3. Quick start
        • 4. Code generation
        • 5. GUI description
          • 5.1 Menus
            • 5.1.1 File
            • 5.1.2 Edit
            • 5.1.3 View
            • 5.1.4 Help
        • 6. Toolbars
          • 6.1 Descriptor toolbar
          • 6.2 HID Report toolbar
          • 6.3 Array editor toolbar
        • 7. Panes
          • 7.1 Device Descriptors Tree pane
          • 7.2 Parameters pane
        • 8. Notice List
        • 9. Supported descriptors
        • 10. Known issues, limitations, and workarounds
        • 11. Version changes
    • MCU Tools
      • Device Firmware Update
        • Device Firmware Update
        • API Reference
          • Macros
            • User Config Macros
            • DFU State
            • DFU Commands
            • Read/Write Data IO Control Values
            • Response Size
          • Functions
          • Global Variables
            • External ELF file symbols
          • Data Structures
          • Enumerated Types
        • MISRA-C:2012 Compliance
  • Hardware Reference
    • Datasheets and Technical Reference Manuals
      • PSoC™ 61 MCU: CY8C61x6, and CY8C61x7 Datasheet
      • PSoC™ 61 Architecture Technical Reference Manual
      • PSoC™ 61 Register Technical Reference Manual
      • PSoC™ 62 MCU: CY8C62x6, and CY8C62x7 Datasheet
      • PSoC™ 62 MCU: CY8C62x8, and CY8C62xA Datasheet
      • PSoC™ 62 MCU: CY8C62x5 Datasheet
      • PSoC™ 62 with up to 512KB Flash, 256KB SRAM and 64 GPIOs Architecture Technical Reference Manual
      • PSoC™ 62 with up to 512KB Flash, 256KB SRAM and 64 GPIOs Registers Technical Reference Manual
      • PSoC™ 62 with up to 1MB Flash, 288KB SRAM and 104 GPIOs Architecture Technical Reference Manual
      • PSoC™ 62 with up to 1MB Flash, 288KB SRAM and 104 GPIOs Registers Technical Reference Manual
      • PSoC™ 62 with up to 2MB Flash, 1MB SRAM and 102 GPIOs Architecture Technical Reference Manual
      • PSoC™ 62 with up to 2MB Flash, 1MB SRAM and 102 GPIOs Registers Technical Reference Manual
      • PSoC™ 63 MCU: CY8C63x6, and CY8C63x7 Datasheet
      • PSoC™ 6 MCU: PSoC™ 63 with Bluetooth® Low Energy Architecture Technical Reference Manual
      • PSoC™ 6 MCU: PSoC™ 63 with Bluetooth® Low Energy Register Technical Reference Manual
      • PSoC™ 64 MCU: CYB0644XXZI-S2D44 Datasheet (Preliminary)
      • PSoC™ 64 MCU: CYB06447BZI-D54 Datasheet (Preliminary)
      • PSoC™ 64 MCU: CYB06447BZI-BLDX Datasheet (Preliminary)
      • PSoC™ 64 MCU: CYB06445LQI-S3D42 Datasheet (Preliminary)
      • PSoC™ 64 MCU: CYS0644xxZI-S2D44 Datasheet (Preliminary)
    • Supported Boards
      • CY8CKIT-062-BLE Board Support Package (BSP)
        • CY8CKIT-062-BLE BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Arduino Header Pins
            • J2 Header Pins
            • Capsense
            • WCO
          • Pin States
          • Errors
          • Functions
      • CY8CKIT-062-WIFI-BT Board Support Package (BSP)
        • CY8CKIT-062-WIFI-BT BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Arduino Header Pins
            • J2 Header Pins
            • Capsense
            • WCO
          • Pin States
          • Errors
          • Functions
          • Bluetooth Configuration Structure
      • CY8CKIT-062S2-43012 Board Support Package (BSP)
        • CY8CKIT-062S2-43012 BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Arduino Header Pins
            • J2 Header Pins
            • Capsense
            • WCO
          • Pin States
          • Errors
          • Functions
          • Bluetooth Configuration Structure
      • CY8CKIT-062S4 Board Support Package (BSP)
        • CY8CKIT-062S4 BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Arduino Header Pins
            • J2 Header Pins
            • Capsense
            • WCO
          • Pin States
          • Errors
          • Functions
      • CY8CKIT-064B0S2-4343W Board Support Package (BSP)
        • CY8CKIT-064B0S2-4343W BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Arduino Header Pins
            • J2 Header Pins
            • Capsense
            • WCO
          • Pin States
          • Errors
          • Functions
          • Bluetooth Configuration Structure
      • CY8CKIT-064S0S2-4343W Board Support Package (BSP)
        • CY8CKIT-064S0S2-4343W BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Arduino Header Pins
            • J2 Header Pins
            • Capsense
            • WCO
          • Pin States
          • Errors
          • Functions
          • Bluetooth Configuration Structure
      • CY8CPROTO-062-4343W Board Support Package (BSP)
        • CY8CPROTO-062-4343W BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Capsense
            • WCO
          • Pin States
          • Errors
          • Functions
          • Bluetooth Configuration Structure
      • CY8CPROTO-062S3-4343W Board Support Package (BSP)
        • CY8CPROTO-062S3-4343W BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Capsense
            • WCO
          • Pin States
          • Errors
          • Functions
          • Bluetooth Configuration Structure
      • CY8CPROTO-063-BLE Board Support Package (BSP)
        • CY8CPROTO-063-BLE BSP
        • BSP Overview
        • BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
          • Pin States
          • Error Codes
          • Functions
      • CY8CPROTO-064B0S1-BLE Board Support Package (BSP)
        • CY8CPROTO-064B0S1-BLE BSP
        • BSP Overview
        • BSP Settings
        • BSP API Reference
          • BSP API Reference
            • LED Pins
            • Button Pins
            • Communication Pins
            • WCO
          • Pin States
          • Error Codes
          • Functions
      • CY8CPROTO-064B0S3 Board Support Package (BSP)
        • CY8CPROTO-064B0S3 BSP
        • BSP Overview
        • BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • WCO
          • Pin States
          • Error Codes
          • Functions
      • CY8CPROTO-064S1-SB Board Support Package (BSP)
        • CY8CPROTO-064S1-SB BSP
        • BSP Overview
        • BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • WCO
          • Pin States
          • Functions
      • CYBLE-416045-EVAL Board Support Package (BSP)
        • CYBLE-416045-EVAL BSP
        • BSP Overview
        • BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Arduino Header Pins
            • J2 Header Pins
            • J6 Header Pins
          • Pin States
          • Error Codes
          • Functions
      • CYW9P62S1-43012EVB-01 Board Support Package (BSP)
        • CYW9P62S1-43012EVB-01 BSP
        • BSP Overview
        • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Arduino Header Pins
            • Capsense
            • WCO
          • Pin States
          • Error Codes
          • Functions
          • Bluetooth Configuration Structure
      • CYW9P62S1-43438EVB-01 Board Support Package (BSP)
        • CYW9P62S1-43438EVB-01 BSP
        • BSP Overview
        • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
            • Arduino Header Pins
            • J2 Header Pins
            • Capsense
            • WCO
          • Pin States
          • Error Codes
          • Functions
          • Bluetooth Configuration Structure
      • CYSBSYSKIT-01 Board Support Package (BSP)
        • CYSBSYSKIT-01 BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
        • BSP API Reference
          • Pin Mappings
            • LED Pins
            • Button Pins
            • Communication Pins
          • Pin States
      • TARGET_PSOC6-GENERIC Board Support Package (BSP)
        • PSOC6-GENERIC BSP
        • BSP Overview
          • ModusToolbox Board Support Package (BSP) Overview
        • BSP Settings
          • Peripheral Default BSP Settings
            • Peripheral Default HAL Settings:
        • BSP API Reference
          • Pin Mappings
            • Communication Pins
          • Pin States
          • Error Codes
          • Functions
ModusToolbox™ Software

Logical Link Control and Adaptation Protocol (L2CAP)¶

API Reference


  • Common
  • BR/EDR
  • BLE
group l2cap

Logical Link Control and Adaptation Layer Protocol, referred to as L2CAP, provides connection oriented and connectionless data services to upper layer protocols with protocol multiplexing capability and segmentation and reassembly operation.

L2CAP connection result codes

L2CAP connection result codes.

L2CAP_CONN_OK

Connection OK.

L2CAP_CONN_PENDING

Connection Pending.

L2CAP_CONN_NO_PSM

Connection NO PSM.

L2CAP_CONN_SECURITY_BLOCK

Connection Security Block.

L2CAP_CONN_NO_RESOURCES

Connection NO Resource.

L2CAP_CONN_BAD_CTLR_ID

Bad Controller ID.

note

AMP related

L2CAP_BLE_CONN_BAD_AUTHENT

BLE Connection Bad Authentication.

L2CAP_BLE_CONN_BAD_AUTHORIZ

BLE Connection Bad Autherization.

L2CAP_BLE_CONN_BAD_KEY_SIZE

BLE Connection Bad key size.

L2CAP_BLE_CONN_BAD_ENCRYPT

BLE Connection Bad Encryption.

L2CAP ECRB Result Code

L2CAP ECRB Result Code

L2CAP_ECRB_ALL_CONNS_SUCCESSFUL

All Connections Successful.

L2CAP_ECRB_ALL_CONNS_REFUSED

All Connections Refused.

L2CAP_ECRB_SOME_CONNS_REFUSED

Some Connections Refused.

L2CAP_ECRB_INSUFF_AUTHENTICATION

Insufficient Authentication.

L2CAP_ECRB_INSUFF_AUTHORIZATION

Insufficient Autherization.

L2CAP_ECRB_INSUFF_KEY_SIZE

Insufficient Key size.

L2CAP_ECRB_INSUFF_ENCRYPTION

Insufficient Encryption.

L2CAP_ECRB_INVALID_SOURCE_CID

Invalid Source CID.

L2CAP_ECRB_SOURCE_CID_IN_USE

Source CID in Used.

L2CAP_ECRB_UNACCEPTABLE_PARAMS

Unacceptable Params.

L2CAP_ECRB_INVALID_PARAMS

Invalid Params.

L2CAP_ECRB_RECONFIG_SUCCESSFUL

Reconfiguration Successful.

L2CAP_ECRB_RECONFIG_FAIL_BAD_MTU

Reconfiguration fail : Bad MTU.

L2CAP_ECRB_RECONFIG_FAIL_BAD_MPS

Reconfiguration fail : Bad MPS.

L2CAP_ECRB_RECONFIG_FAIL_BAD_DCID

Reconfiguration fail : Bad DCID.

L2CAP_ECRB_RECONFIG_FAIL_OTHER

Reconfiguration fail : Other Reason.

L2CAP_ECRB_NOT_SUPPORTED_BY_PEER

Not Supported by Peer.

L2CAP ping result

Ping result codes.

L2CAP_PING_RESULT_OK

Ping reply received OK.

L2CAP_PING_RESULT_NO_LINK

Link could not be setup.

L2CAP_PING_RESULT_NO_RESPONSE

Remote L2CAP did not reply.

L2CAP data write result

Result codes for wiced_bt_l2cap_data_write()

L2CAP_DATAWRITE_FAILED

If data not accepted and error.

L2CAP_DATAWRITE_SUCCESS

If data accepted.

L2CAP_DATAWRITE_CONGESTED

if data accepted and the channel is congested

L2CAP data write flags

Flushable/Non Flushable flags parameter used in a call wiced_bt_l2cap_data_write()

L2CAP_FLUSHABLE_MASK

L2CAP Flushable mask.

L2CAP_NON_FLUSHABLE_PACKET

Non Flushable flag.

L2CAP_FLUSHABLE_PACKET

Flushable flag.

L2CAP PSM

Validity check for PSM. PSM values must be odd. Also, all PSM values must be assigned such that the least significant bit of the most sigificant octet equals zero.

L2C_INVALID_PSM(psm)

Returns true on invalid PSM.

L2C_IS_VALID_PSM(psm)

Returns true on valid PSM.

L2CAP channel configuration

L2CAP channel configured field bitmap. Used for wiced_bt_l2cap_ch_cfg_bits_t

L2CAP_CH_CFG_MASK_MTU

MTU channel configuration bit mask.

L2CAP_CH_CFG_MASK_QOS

QOS channel configuration bit mask.

L2CAP_CH_CFG_MASK_FLUSH_TO

Flush to channel configuration bit mask.

L2CAP_CH_CFG_MASK_FCR

FCR channel configuration bit mask.

L2CAP_CH_CFG_MASK_FCS

FCS channel configuration bit mask.

L2CAP_CH_CFG_MASK_EXT_FLOW_SPEC

Extended flow specification channel configuration bit mask.

L2CAP FCR Mode

L2CAP FCR mode configuring options and allowed modes bit mask. From below, first 3 used as a field wiced_bt_l2cap_fcr_options_t::mode and reamining used as a bit mask field wiced_bt_l2cap_ertm_information_t::allowed_modes

L2CAP_FCR_BASIC_MODE¶

Basic mode (no FCR)

L2CAP_FCR_ERTM_MODE¶

ERTM mode.

L2CAP_FCR_STREAM_MODE¶

Streaming mode.

L2CAP_FCR_CHAN_OPT_BASIC¶

Basic mode (no FCR) bit mask.

L2CAP_FCR_CHAN_OPT_ERTM¶

ERTM mode bit mask.

L2CAP_FCR_CHAN_OPT_STREAM¶

Streaming mode bit mask.

L2CAP_FCR_CHAN_OPT_ALL_MASK¶

Mask for all modes Basic, ERTM and Streaming.

L2CAP flush channels

L2CAP flush channel and num_to_flush parameter used in a call wiced_bt_l2cap_flush_channel()

L2CAP_FLUSH_CHANNELS_ALL¶

To flush all queued buffers.

L2CAP_FLUSH_CHANNELS_GET¶

To get queued buffers to flush.

L2CAP role

L2CAP role and new_role parameter used in a call wiced_bt_l2cap_set_desire_role()

note

L2CAP_ROLE_SCATTERNET_ALLOWED bit is used to prevent l2CAP to Automatically perform role switch (for both Incoming and outgoing) ACL connections.

L2CAP_ROLE_PERIPHERAL¶

L2CAP Peripheral role.

L2CAP_ROLE_CENTRAL¶

L2CAP Central role.

L2CAP_ROLE_ALLOW_SWITCH¶

set this bit to allow switch at create conn

L2CAP_ROLE_DISALLOW_SWITCH¶

set this bit to disallow switch at create conn

L2CAP_ROLE_CHECK_SWITCH¶

To check the switch to allow or disallow.

L2CAP_ROLE_SCATTERNET_ALLOWED¶

set this bit to allow scatternet

L2CAP ACL Priority Value

Values for priority parameter to wiced_bt_l2cap_set_acl_priority() and wiced_bt_l2cap_set_acl_priority_ext().

L2CAP_PRIORITY_NORMAL¶

Set ACL priority as normal.

L2CAP_PRIORITY_HIGH¶

Set ACL priority as high.

L2CAP ACL Priority Direction

Values for direction parameter to wiced_bt_l2cap_set_acl_priority_ext()

L2CAP_DIRECTION_IGNORE¶

Set ACL priority direction as ignore.

L2CAP_DIRECTION_DATA_SOURCE¶

Set ACL priority direction as source.

L2CAP_DIRECTION_DATA_SINK¶

Set ACL priority direction as sink.

L2CAP transmission channel priority

L2CAP channel transmission priority. Used for wiced_bt_l2cap_chnl_priority_t

L2CAP_CHNL_PRIORITY_HIGH¶

Transmission priority as high for a channel (FCR Mode)

L2CAP_CHNL_PRIORITY_MEDIUM¶

Transmission priority as medium for a channel (FCR Mode)

L2CAP_CHNL_PRIORITY_LOW¶

Transmission priority as low for a channel (FCR Mode)

L2CAP LE PSM

Validity check for LE_PSM. Fixed LE_PSMs are in the range 0x0001 - 0x007F. Dynamic LE_PSM are in the range 0x0080 - 0x00FF. The values 0x0000 and 0x0100 - 0xFFFF are reserved.

MINIMIUM_DYNAMIC_LE_PSM

First application dynamic PSM allowed.

MAXIMUM_LE_PSM

LE PSM range limit.

L2C_BLE_INVALID_PSM(le_psm)

Returns true on invalid LE PSM.

L2C_BLE_IS_VALID_PSM(le_psm)

Returns true on valid LE PSM.

Defines

L2CAP_ECRB_MAX_CHANNELS_PER_CMD

ECRB Max Channels per Command.

L2CAP_ECRB_MIN_MTU

ECRB Min MTU.

L2CAP_ECRB_MIN_MPS

ECRB Min MPS.

L2CAP_MINIMUM_OFFSET

Minimum offset that L2CAP needs in a buffer.

This is made up of HCI type(1), len(2), handle(2), L2CAP len(2), CID(2), control(2) and SDU length(2)

L2CAP_BLE_CONN_MIN_OFFSET

HCI type(1), len(2), handle(2), L2CAP len(2) and CID(2)

L2CAP_DEFAULT_BLE_CB_POOL_ID

Use the default HCI ACL buffer pool.

L2CAP_BLE_COC_SDU_OFFSET

to provide upper layer some minimal offset possibly required to process incoming packets

L2CAP_BROADCAST_MIN_OFFSET

Minimum offset for broadcast needs another two bytes for the PSM.

Typedefs

typedef uint16_t wiced_bt_l2cap_ch_cfg_bits_t

Channel configuration fields in bit map.

Refer L2CAP channel configuration

typedef uint8_t wiced_bt_l2cap_chnl_priority_t¶

Values for priority parameter to wiced_bt_l2cap_set_tx_priority().

Refer L2CAP channel transmission priority

void() wiced_bt_l2cap_connected_cback_t (wiced_bt_device_address_t bd_addr, uint16_t local_cid, uint16_t peer_mtu)

Connection established callback prototype.

Parameters
  • bd_addr – : BD Address of remote

  • local_cid – : Local CID assigned to the connection

  • peer_mtu – : Peer MTU

Returns

void

void() wiced_bt_l2cap_disconnect_indication_cback_t (uint16_t local_cid, wiced_bool_t ack)

Disconnect indication callback prototype.

Parameters
  • local_cid – : Local CID

  • ack – : Boolean whether upper layer should ack this

Returns

void

void() wiced_bt_l2cap_disconnect_confirm_cback_t (uint16_t local_cid, uint16_t result)

Disconnect confirm callback prototype.

Parameters
  • local_cid – : Local CID

  • result – : Result

Returns

void

void() wiced_bt_l2cap_data_indication_cback_t (uint16_t local_cid, tDRB *p_drb)

Data received indication callback prototype.

Parameters
  • local_cid – : Local CID

  • p_buff – : Pointer to the data

  • buf_len – : Length of the data

Returns

void

void() wiced_bt_l2cap_tx_complete_cback_t (uint16_t local_cid, void *p_data)

Transmit complete callback protype.

This callback is optional. If set, L2CAP will call it when packets are sent or flushed. If the count is 0xFFFF, it means all packets are sent for that CID (eRTM mode only).

Parameters
  • local_cid – : Local CID

  • p_buff – : Pointer to the data that was sent

Returns

void

void() wiced_bt_l2cap_fixed_chnl_cback_t (wiced_bt_device_address_t bd_addr, wiced_bool_t connected, uint16_t reason, wiced_bt_transport_t transport)

Fixed channel connected and disconnected.

Parameters
  • bd_addr – : BD Address of remote

  • connected – : TRUE if channel is connected, FALSE if disconnected

  • reason – : Reason for connection failure

  • transport – : Bluetooth Transport (BR/EDR or LE)

Returns

void

void() wiced_bt_l2cap_fixed_data_cback_t (wiced_bt_device_address_t bd_addr, uint8_t *p_data, uint16_t data_len)

Signalling data received.

Parameters
  • bd_addr – : BD Address of remote

  • p_buff – : Pointer to data

  • data_len – : Data length

Returns

void

void() wiced_bt_l2cap_le_connect_indication_cback_t (wiced_bt_device_address_t bd_addr, uint16_t local_cid, uint16_t psm, uint8_t id, uint16_t mtu_peer)

LE Connection indication callback prototype.

Parameters
  • bd_addr – : BD Address of remote

  • local_cid – : Local CID assigned to the connection

  • psm – : PSM that the remote wants to connect to

  • id – : Identifier that the remote sent

  • mtu_peer – : MTU of the peer

Returns

void

void() wiced_bt_l2cap_drb_release_cb (tDRB *p_drb)

User DRB may be released callback prototype.

This function address is passed in when the user provides a DRB for an eRTM or LE-COC channel. It is called when the DRB can be released, i.e. at the end of the connection.

Parameters

p_drb – : Address of the DRB that can be released

Returns

void

void() wiced_bt_l2cap_le_connect_confirm_cback_t (uint16_t local_cid, uint16_t result, uint16_t mtu_peer)

LE Connection confirmation callback prototype.

Parameters
  • local_cid – : Local CID

  • result – : Result - 0 = connected, non-zero means failure reason

  • mtu_peer – : MTU of the peer

Returns

void

struct wiced_bt_l2cap_fcr_options_t
#include <>

Structure for Enhanced Retransmission Mode Options Refer to Volume 3, Part A, section 5.4 of BT Core specification for details.

Public Members

uint8_t mode

Requested mode of link.

L2CAP FCR mode

uint8_t tx_window_size

Maximum transmit window size (1..63)

uint8_t max_transmit

Maximum number of trasmission attempts.

uint16_t rtrans_timeout_ms

Retransmission timeout (msecs)

uint16_t monitor_timeout_ms

Monitor timeout (msecs)

uint16_t max_rx_pdu_size

Maximum PDU payload size.

struct wiced_bt_l2cap_cfg_information_t
#include <>

Define a structure to hold the configuration parameters.

Since the parameters are optional, for each parameter there is a boolean to use to signify its presence or absence. Refer to Volume 3, Part A, section 5.4 of BT Core specification for details

Public Members

uint16_t result

Only used in confirm messages.

wiced_bool_t mtu_present

TRUE if MTU option present.

uint16_t mtu

Maximum transmission unit size.

wiced_bool_t qos_present

QoS configuration present.

wiced_bt_flow_spec_t qos

QoS configuration.

wiced_bool_t flush_timeout_present

TRUE if flush option present.

uint16_t flush_timeout

Flush timeout value (1 msec increments)

wiced_bool_t fcr_present

TRUE if Enhanced retransmission & flow control option present.

wiced_bt_l2cap_fcr_options_t fcr

Enhanced flow control and retransmission parameters.

wiced_bool_t fcs_present

TRUE if Frame check sequence option present.

uint8_t fcs

‘0’ if desire is to bypass FCS, otherwise ‘1’

uint16_t flags

bit 0: 0-no continuation, 1-continuation

struct wiced_bt_l2cap_ertm_information_t¶
#include <>

Structure that applications use to create or accept connections with enhanced retransmission mode.

Public Members

uint8_t preferred_mode¶

Preferred mode: ERTM, Streaming, or Basic.

uint8_t allowed_modes¶

Bitmask for allowed modes.

Refer bit mask values in L2CAP FCR mode

struct wiced_bt_l2cap_appl_information_t
#include <>

Define the structure that applications use to register with L2CAP.

This structure includes callback functions. All functions MUST be provided. Additionally, if registering client for dynamic PSM, connect_ind_cb() must be NULL since dynamic PSMs use this as a flag for “virtual PSM”.

Public Members

wiced_bt_l2cap_connected_cback_t *connected_cback

BR/EDR connected event.

wiced_bt_l2cap_disconnect_indication_cback_t *disconnect_indication_cback

BR/EDR disconnect indication event.

wiced_bt_l2cap_disconnect_confirm_cback_t *disconnect_confirm_cback

BR/EDR disconnect confirmation event.

wiced_bt_l2cap_data_indication_cback_t *data_indication_cback

BR/EDR data received indication.

wiced_bt_l2cap_tx_complete_cback_t *tx_complete_cback

BR/EDR transmit complete event.

uint16_t mtu

Maximum transmission unit size.

uint8_t security_required

Security requirement.

uint8_t qos_present

QoS configuration present.

uint8_t flush_timeout_present

TRUE if flush option present.

uint8_t fcs_present

TRUE if Frame check sequence option present.

uint8_t is_ob_only

Set to TRUE if registration is for outbound only to a dynamic PSM.

wiced_bt_flow_spec_t qos

QoS configuration.

uint16_t flush_timeout

Flush timeout value (1 msec increments)

uint8_t fcr_allowed_modes

Set to 0 or L2CAP_FCR_CHAN_OPT_BASIC for no FCR.

wiced_bt_l2cap_fcr_options_t fcr

Enhanced flow control and retransmission parameters.

uint8_t fcs

‘0’ if desire is to bypass FCS, otherwise ‘1’

struct wiced_bt_l2cap_le_appl_information_t
#include <>

Define the structure that applications use to register with LE L2CAP.

This structure includes callback functions. All functions MUST be provided, with the exception of the “connect pending” callback. Additionally, if registering client for dynamic PSM, connect_ind_cb() must be NULL since dynamic PSMs use this as a flag for “virtual PSM”.

Public Members

wiced_bt_l2cap_le_connect_indication_cback_t *le_connect_indication_cback

LE connect indication event.

wiced_bt_l2cap_le_connect_confirm_cback_t *le_connect_confirm_cback

LE connect confirm event.

wiced_bt_l2cap_disconnect_indication_cback_t *disconnect_indication_cback

LE disconnect indication event.

wiced_bt_l2cap_disconnect_confirm_cback_t *disconnect_confirm_cback

LE disconnect confirm event.

wiced_bt_l2cap_data_indication_cback_t *data_indication_cback

LE data received indication.

wiced_bt_l2cap_tx_complete_cback_t *le_tx_complete_cback

LE tx complete.

wiced_bt_l2cap_drb_release_cb *le_release_drb_cb

LE DRB can be released.

struct wiced_bt_l2cap_fixed_chnl_reg_t
#include <>

Fixed channel registration info (the callback addresses and channel config)

Public Members

uint16_t channel_id

Fixed channel ID.

uint16_t default_idle_timeout

default idle timeout

wiced_bt_l2cap_fixed_chnl_cback_t *fixed_conn_cback

Connected callback.

wiced_bt_l2cap_fixed_data_cback_t *fixed_data_cback

Data received callback.

wiced_bt_l2cap_tx_complete_cback_t *fixed_tx_complete_cback

TX complete callback.

Next Previous

© 1999 - 2022 Infineon Technologies AG
Usage of this website is subject to our Usage Terms    > Imprint    > Contacts    > Privacy Policy    > Glossary

Switch Version v: latest
Versions
latest
Downloads
ModusToolbox™ Software
Project Home
Builds