Giter Site home page Giter Site logo

mtb-example-btsdk-hid-ble-rcu's Introduction

LE Remote Control Sample Application

Overview

The LE RCU reference remote application is a single-chip SoC compliant with the HID over GATT Profile (HOGP). Supported features include key, and microphone (voice over HOGP).

During initialization, the app registers with the LE stack, the AIROC™ HID Device Library, and keyscan and external HW peripherals to receive various notifications including bonding complete, connection status change, peer GATT requests/commands, and interrupts for key pressed/released. After successful pairing, press or release any key, and a key report will be sent to the host. On connection up or battery level changed, a battery report will be sent to the host. When the battery level is below shutdown voltage, the device will critical shutdown. When the user presses and holds the audio key, voice streaming starts until the user releases the microphone key.

Features demonstrated

  • GATT database and Device configuration initialization
  • Registration with the LE stack for various events
  • Sending HID reports to the host
  • Processing write requests from the host
  • Low power management
  • Over the air firmware update (OTAFU)

Instructions

To demonstrate the app, walk through the following steps:

  1. Plug the 20835 Remote Control HW into your computer.
  2. Build and download the application to the Remote Control HW. In case if the device cannot be detected for programming after several trials, it could mean the firmware is corrupted and the device is not functional. In this case, we need a way to recover the device. Place a push button between GND and SPI_MOSI pin at the PUART connector. To recover the device, unplug the device first. While pressing the button (shorting GND and SPI_MODI pin), powering up the device by step 1 to plug the device. Then, the device should be in programming mode and ready for step 2.
  3. Unplug and re-plug the HW to reset the device. Right after reset, the red LED should do a fast blink 5 times to indicate the device is reset and the application is running.
  4. Put the device into pairing mode by press the HOME key and hold for 10 seconds. The red LED should be turned on while holding the HOME key and counting. After 10 seconds expires, the red LED should be turned off and the green LED will start slow blinking to indicate the device is in pairing mode. This procedure will also erase prior paired host information.
  5. Pair the remote to a host (Windows, Android, or iOS).
  6. Once connected, it becomes the remote control of the host. The basic keys, such as navigation keys, should be supported by most OS systems; however, some keys, such as Menu, Home key function may not be supported by every OS. The audio function is very host dependent. The encryption method also needs to match. For example, to work with Android TV, ENABLE_ANDROID_AUDIO flag must be enabled in the makefile. It will use ADPCM encoding. For this remote, we use analog MIC, therefore, ENABLE_DIGITAL_MIC should be turned off.

Using the ClientControl tool: NOTE: Make sure the compile flag "TESTING_USING_HCI=1" is enabled in the application makefile. This allows the ClientControl host PC application to control the device via the HCI_UART port.

  1. Run ClientControl.exe. In ModusToolbox™, select the CYW920835REFRCU application project first. Under "Tools" in the IDE "QuickPanel" section, click on "ClientControl" to launch the application.
  2. Choose 3M as the baud rate and select the serial port in the ClientControl tool window.
  3. Establish communication between ClientControl and the device. Power cycle the remote (unplug and plug the device) and within 2 seconds, open the port. When the device is communicating with ClientControl, the "HIDD device" page tabs should become available. In case if the open was not opened within 2 seconds, the communication may not come up. In this case, close the port and do step 3 again. An alternate way to bring up the communication is to install a reset button between TP1 and Ground (TP22). Close the port first and press the reset button instead of power cycling the device. If the port is not closed, the reset may cause a core dump; however, as long as the HID tab can be enabled, proceed to step 4.
  4. Click "Enter Pairing Mode" or "Connect" to start LE advertising, then pair with a host.
  5. Once connected, it becomes the remote control of the TV. Use left, right, up, down, ESC, Enter keys to navigate the host. Use the audio button (click and hold) to stream audio. Since this remote does not support motion and IR, those buttons take no action.

Application Settings

  • TESTING_USING_HCI

    • Use this option for testing with ClientControl. The ClientControl UI can be used to provide input. When this option is enabled, the device will not enter SDS/ePDS for power saving.
  • OTA_FW_UPGRADE

    • Use this option for enabling firmware upgrade over the Air (OTA) capability. The host pier tool applications in wiced_btsdk\tools\btsdk-peer-apps-ota can be used to upgrade OTA firmware image. The OTA firmware image with extention .ota.bin is created under built folder.
  • OTA_SEC_FW_UPGRADE

    • Use this option for secure OTA firmware upgrade. OTA_FW_UPGRADE option must be enabled for this option to take effect. The OTA firmware image with extention .ota.bin.signed must be used for OTA firmware upgrade. Please follow the instruction in wiced_btsdk\tools\btsdk-peer-apps-ota\readme.txt to create .ota.bin.signed file image.
  • AUTO_RECONNECT

    • Use this option to enable auto-reconnect. When enabled, the device will automatically try to reconnect when the link is disconnected. When this option is disabled, the device will enter sleep when the link is disconnected to conserve power.
  • ENDLESS_ADV

    • Use this option to enable disconnected endless advertisements. When the device is in an advertisement state, the advertisement will not expire when this option is turned on. Otherwise, the advertisement expires in 60 sec to conserve power. When both AUTO_RECONNECT and ENDLESS_ADV are turn on, once the device is paired, it will always attempt to reconnect to the host forever. Thus, when host is not available, the battery can drain quickly.
  • SKIP_PARAM_UPDATE

    • Use this option to skip sending link parameter update request. When this option is disabled, if the peer device (central) assigned link parameter is not within the device's preferred range, the device will send a request for the desired link parameter change. This option can be enabled to stop the device from sending the request and accept the given link parameter as is.

      • Background - In some OS (peer host), after the link is up, it continuously sends different parameters of LINK_PARAM_CHANGE over and over for some time. When the parameter is not in our device preferred range, the firmware was rejecting and renegotiating for a new preferred parameter. It can lead up to endless and unnecessary overhead in link parameter change. Instead of continually rejecting the link parameter, by using this option, we accept the peer requested link parameter as is, and start a timer to send the final link parameter change request later when the peer host settles down in link parameter change.
  • START_ADV_ON_POWERUP

    • Use this option to start advertising after power-up (cold boot). By enabling this option, after power-up, the device will automatically try to connect to the paired host if it is already paired. If it is not paired, it will enter discovery mode for pairing.
  • ENABLE_CONNECTED_ADV

    • Use this option to allow advertisement for new host pairing while connected to a host.
  • ASSYMETRIC_PERIPHERAL_LATENCY

    • Use this option to enable asymmetric peripheral latency.

      • Background - In the early days, some HID host devices always rejected the HID peripheral's link parameter update request. Because of this, the HID device will end up consuming high power when peripheral latency was short. To work around this issue, we use Asymmetric Peripheral Latency method to save power by waking up only at multiple times of the communication anchor point. When this option is enabled:

      • We do not send LL_CONNECTION_PARAM_REQ.

      • We simply start Asymmetric Peripheral Latency by waking up at multiple times of given peripheral latency.

      • Since this is not a standard protocol, we do not recommend enabling this option unless if it is necessary to save power to work around some HID hosts.

  • AUDIO=XXXX

    • Use this option to enable audio. Where XXXX is:

      •        leave empty to disable audio
        
      • OPUS use OPUS CELT encoder
      • GOOGLE04 use ADPCM encoder, Google Voice 0.4
      • GOOGLE use ADPCM encoder, Google Voice 1.0
      • MSBC use mSBC encoder

Please note that mSBC or OPUS encoding for audio can be testing only if the host supports the encoding. There is no known off shelf products can be used for testing without customization.

  • PDM
    • Use this option to enable/disable digital microphone (PDM=1/0). AUDIO option must be enabled for this option to take effect.
    • When enabling digital MIC in CYW920835M2EVB-01 platform, since the hardware pin is shared with LEDs, make sure SW4 is switched to DMIC and the compiler option LED is disabled.

Note on behavior with Win10:

  1. Voice -- acting as 'Search'. On pressing and releasing the 'Audio' key, the 'Find' window opens. Pressing and releasing the 'Audio' button again enables Windows search.
  2. When a document is open, pressing and releasing 'right', 'left', 'up', 'down' and 'Enter' keys work.
  3. On pressing and releasing the 'Home' key, the default browser opens.
  4. On pressing and releasing 'Power', 'Back' and, 'Menu' keys, there is no response at host side.
  5. When audio is streaming for music stored locally, only the 'Play' and 'Pause' keys work. 'Fast Forward', 'Rewind', 'Vol+', 'Vol-' and 'Mute' keys do not work.
  6. When streaming from YouTube, 'Right' and 'Left' keys work as 'Fast Forward' and 'Rewind' respectively. 'Up' and 'Down' keys work as Volume Up and Volume Down. 'Fast Forward', 'Play/Stop' 'Rewind' brings up the Media panel, but only 'Play/Stop' will work.

Note on behavior with iPhone:

  1. Voice -- acting as 'Search'.
  2. Navigation keys -- Enter key should work in a text editor (such as email editing).
  3. Back -- acting as 'Cancel' (For example, in the email editor, it will cancel editing).
  4. Home, Menu -- work as Home button.
  5. Rewind, play/stop, and fast forward keys work on YouTube while playing a video.
  6. Power, Vol+, Vol-, Mute keys have no action.

Note on testing keys using ClientControl:

When testing with keys using ClientControl with key buttons, the device should be paired with a separated PC that is not running ClientControl. The reason is because when clicking a key, '1', for example, the key '1' will be send to host immediately. At that moment, since ClientControl is the active window, the key will be sent to ClientControl application and get ingored. Thus, it cannot be be sent to the other application, Notepad, for example, that expecting the key.

BTSTACK version

BTSDK AIROC™ chips contain the embedded AIROC™ Bluetooth® stack, BTSTACK. Different chips use different versions of BTSTACK, so some assets may contain variant sets of files targeting the different versions in COMPONENT_btstack_vX (where X is the stack version). Applications automatically include the appropriate folder using the COMPONENTS make variable mechanism, and all BSPs declare which stack version should be used in the BSP .mk file, with a declaration such as:

COMPONENTS+=btstack_v1
or:
COMPONENTS+=btstack_v3

Common application settings

Application settings below are common for all BTSDK applications and can be configured via the makefile of the application or passed in via the command line.

BT_DEVICE_ADDRESS

Set the BDA (Bluetooth® Device Address) for your device. The address is 6 bytes, for example, 20819A10FFEE. By default, the SDK will set a BDA for your device by combining the 7 hex digit device ID with the last 5 hex digits of the host PC MAC address.

UART

Set to the UART port you want to use to download the application. For example 'COM6' on Windows or '/dev/ttyWICED_HCI_UART0' on Linux or '/dev/tty.usbserial-000154' on macOS. By default, the SDK will auto-detect the port.

ENABLE_DEBUG

For HW debugging, configure ENABLE_DEBUG=1. See the document AIROC™-Hardware-Debugging for more information. This setting configures GPIO for SWD.

  • CYW920819EVB-02/CYW920820EVB-02: SWD signals are shared with D4 and D5, see SW9 in schematics.

  • CYBT-213043-MESH/CYBT-213043-EVAL/CYBT-253059-EVAL: SWD signals are routed to P12=SWDCK and P13=SWDIO. Use expansion connectors to connect VDD, GND, SWDCK, and SWDIO to your SWD Debugger probe.

  • CYBT-223058-EVAL/CYW920835M2EVB-01/CYBT-243053-EVAL/CYBLE-343072-EVAL-M2B/CYBLE-333074-EVAL-M2B/CYBLE-343072-MESH: SWD signals are routed to P02=SWDCK and P03=SWDIO. Use expansion connectors to connect VDD, GND, SWDCK, and SWDIO to your SWD Debugger probe.

  • CYBT-263065-EVAL/CYBT-273063-EVAL: SWD signals are routed to P02=SWDCK and P04=SWDIO. Use expansion connectors to connect VDD, GND, SWDCK, and SWDIO to your SWD Debugger probe.

  • CYBT-343026-EVAL/CYBT-353027-EVAL/CYBT-333047-EVAL: SWD signals are routed to P11=SWDCK and P15=SWDIO. Use expansion connectors to connect VDD, GND, SWDCK, and SWDIO to your SWD Debugger probe.

  • CYBT-413055-EVAL/CYBT-413061-EVAL: SWD signals are routed to P16=SWDCK and P17=SWDIO. Use expansion connectors to connect VDD, GND, SWDCK, and SWDIO to your SWD Debugger probe.

  • CYW989820EVB-01: SWDCK (P02) is routed to the J13 DEBUG connector, but not SWDIO. Add a wire from J10 pin 3 (PUART CTS) to J13 pin 2 to connect GPIO P10 to SWDIO.

  • CYW920719B2Q40EVB-01: PUART RX/TX signals are shared with SWDCK and SWDIO. Remove RX and TX jumpers on J10 when using SWD. PUART and SWD cannot be used simultaneously on this board unless these pins are changed from the default configuration.

  • CYW920721M2EVK-02/CYW920721M2EVB-03: The default setup uses P03 for SWDIO and P05 for SWDCK. Check the position of SW15 if using JLink with the DEBUG connector.

  • CYW920706WCDEVAL: SWD debugging requires fly-wire connections. The default setup P15 (J22 pin 3 or J24 pin 1) for SWDIO and P11 (J23 pin 5 or J22 pin 4) for SWDCK.

  • CYW920736M2EVB-01: SWD hardware debugging requires fly-wire connections. The only option is using P14 for SWDCK and P15 for SWDIO. These route to Arduino header J2, A1 and A0. These can be fly-wired to Arduino header J4, D4 and D5. From there the signals connect to the KitProg3 SWD bridge. In addition, the debug macros (SETUP_APP_FOR_DEBUG_IF_DEBUG_ENABLED and BUSY_WAIT_TILL_MANUAL_CONTINUE_IF_DEBUG_ENABLED) are placed in sparinit.c in code common to all applications for this device. Most applications for this device call bleprofile_GPIOInit() in subsequent code, overwriting the SWD pin configuration. To use hardware debugging after the call to bleprofile_GPIOInit(), place the debug macros in code after that call.

  • CYW943012B2EVK-01: SWD signals are shared with D4 and D5.

  • CYW920820M2EVB-01 & CYW920819M2EVB-01: The default setup uses P03 for SWDIO and P02 for SWDCK. Check the position of SW15 if using JLink with the DEBUG connector.

  • CYW989820M2EVB-01: SWD hardware debugging requires a fly-wire connection to use P14 for SWDIO. P2 is connected directly to SWDCK / ARD_D4. Fly-wire P14 / ARD_D8 on J3.10 to J4.3 / ARD_D5 to connect SWDIO.

  • SWD hardware debugging is not supported on the following:

    • CYW920721M2EVK-01
    • CYW920835REF-RCU-01
    • CYW9M2BASE-43012BT
    • CYBT-423054-EVAL
    • CYBT-423060-EVAL
    • CYBT-483056-EVAL
    • CYBT-483062-EVAL
    • CYW955572BTEVK-01
    • CYW943022BTEVK-01
DIRECT_LOAD

BTSDK chips support downloading applications either to FLASH storage or to RAM storage. Some chips support only one or the other, and some chips support both.

If a chip only supports one or the other, this variable is not applicable, applications will be downloaded to the appropriate storage supported by the device.

If a chip supports both FLASH and RAM downloads, the default is to download to FLASH, and the DIRECT_LOAD make variable may be set to 1 in the application makefile (or in the command line make command) to override the default and download to RAM.

Currently, the following chips support both FLASH and RAM download and can set DIRECT_LOAD=1 if desired:

  • CYW20835
  • CYW20706

Building and downloading code examples

Using the ModusToolbox™ Eclipse IDE

  1. Install ModusToolbox™ 2.4.1 (or higher).
  2. In the ModusToolbox™ Eclipse IDE, click the New Application link in the Quick Panel (or, use File > New > ModusToolbox IDE Application).
  3. Pick your board for BTSDK under AIROC™ Bluetooth® BSPs.
  4. Select the application in the IDE.
  5. In the Quick Panel, select Build to build the application.
  6. To program the board (download the application), select Program in the Launches section of the Quick Panel.

Using command line

  1. Install ModusToolbox™ 2.4.1 (or higher).
  2. On Windows, use Cygwin from \ModusToolbox\tools_2.x\modus-shell\Cygwin.bat to build apps.
  3. Use the tool 'project-creator-cli' under \ModusToolbox\tools_2.x\project-creator\ to create your application.

    project-creator-cli --board-id (BSP) --app-id (appid) -d (dir)
    See 'project-creator-cli --help' for useful options to list all available BSPs, and all available apps per BSP.
    For example:
    project-creator-cli --app-id mtb-example-btsdk-empty --board-id CYW920706WCDEVAL -d .

  4. To build the app call make build. For example:

    cd mtb-examples-btsdk-empty
    make build

  5. To program (download to) the board, call:

    make qprogram

  6. To build and program (download to) the board, call:

    make program

    Note: make program = make build + make qprogram

If you have issues downloading to the board, follow the steps below:

  • Press and hold the 'Recover' button on the board.
  • Press and hold the 'Reset' button on the board.
  • Release the 'Reset' button.
  • After one second, release the 'Recover' button.

Note: this is only applicable to boards that download application images to FLASH storage. Boards that only support RAM download (DIRECT_LOAD) such as CYW9M2BASE-43012BT or CYW943022BTEVK-01 can be power cycled to boot from ROM.

Over The Air (OTA) Firmware Upgrade

Applications that support OTA upgrade can be updated via the peer OTA app in:

<Workspace Dir>\mtb_shared\wiced_btsdk\tools\btsdk-peer-apps-ota

See the readme.txt file located in the above folder for instructions.
To generate the OTA image for the app, configure OTA_FW_UPGRADE=1 in the app makefile, or append OTA_FW_UPGRADE=1 to a build command line, for example:

make PLATFORM=CYW920706WCDEVAL OTA_FW_UPGRADE=1 build

This will the generate <app>.bin file in the 'build' folder.

SDK software features

  • Dual-mode Bluetooth® stack included in the ROM (BR/EDR and LE)
  • Bluetooth® stack and profile level APIs for embedded Bluetooth® application development
  • AIROC™ HCI protocol to simplify host/MCU application development
  • APIs and drivers to access on-board peripherals
  • Bluetooth® protocols include GAP, GATT, SMP, RFCOMM, SDP, AVDT/AVCT, LE Mesh
  • LE and BR/EDR profile APIs, libraries, and sample apps
  • Support for Over-The-Air (OTA) upgrade
  • Device Configurator for creating custom pin mapping
  • Bluetooth® Configurator for creating LE GATT Database
  • Peer apps based on Android, iOS, Windows, etc. for testing and reference
  • Utilities for protocol tracing, manufacturing testing, etc.
  • Documentation for APIs, datasheets, profiles, and features
  • BR/EDR profiles: A2DP, AVRCP, HFP, HSP, HID, SPP, MAP, PBAP, OPP
  • LE profiles: Mesh profiles, HOGP, ANP, BAP, HRP, FMP, IAS, ESP, LE COC
  • Apple support: Apple Media Service (AMS), Apple Notification Center Service (ANCS), iBeacon, Homekit, iAP2
  • Google support: Google Fast Pair Service (GFPS), Eddystone
  • Amazon support: Alexa Mobile Accessories (AMA)

Note: this is a list of all features and profiles supported in BTSDK, but some AIROC™ devices may only support a subset of this list.

List of boards available for use with BTSDK

Folder structure

All BTSDK code examples need the 'mtb_shared\wiced_btsdk' folder to build and test the apps. 'wiced_btsdk' includes the 'dev-kit' and 'tools' folders. The contents of the 'wiced_btsdk' folder will be automatically populated incrementally as needed by the application being used.

dev-kit

This folder contains the files that are needed to build the embedded Bluetooth® apps.

  • baselib: Files for chips supported by BTSDK. For example CYW20819, CYW20719, CYW20706, etc.

  • bsp: Files for BSPs (platforms) supported by BTSDK. For example CYW920819EVB-02, CYW920706WCDEVAL etc.

  • btsdk-include: Common header files needed by all apps and libraries.

  • btsdk-tools: Build tools needed by BTSDK.

  • libraries: Profile libraries used by BTSDK apps such as audio, LE, HID, etc.

tools

This folder contains tools and utilities need to test the embedded Bluetooth® apps.

  • btsdk-host-apps-bt-ble: Host apps (Client Control) for LE and BR/EDR embedded apps, demonstrates the use of AIROC™ HCI protocol to control embedded apps.

  • btsdk-host-peer-apps-mesh: Host apps (Client Control) and Peer apps for embedded Mesh apps, demonstrates the use of AIROC™ HCI protocol to control embedded apps, and configuration and provisioning from peer devices.

  • btsdk-peer-apps-ble: Peer apps for embedded LE apps.

  • btsdk-peer-apps-ota: Peer apps for embedded apps that support Over The Air Firmware Upgrade.

  • btsdk-utils: Utilities used in BTSDK such as BTSpy, wmbt, and ecdsa256.

See README.md in the sub-folders for more information.

Software Tools

The following tool applications are installed on your computer either with ModusToolbox™, or by creating an application in the workspace that can use the tool.

BTSpy:

BTSpy is a trace viewer utility that can be used with AIROC™ Bluetooth® platforms to view protocol and application trace messages from the embedded device. The utility is located in the folder below. For more information, see readme.txt in the same folder.
This utility can be run directly from the filesystem, or it can be run from the Tools section of the ModusToolbox™ QuickPanel, or by right-clicking a project in the Project Explorer pane and selecting the ModusToolbox™ context menu.
It is supported on Windows, Linux and macOS.
Location: <Workspace Dir>\wiced_btsdk\tools\btsdk-utils\BTSpy

Bluetooth® Classic and LE Profile Client Control:

This application emulates host MCU applications for LE and BR/EDR profiles. It demonstrates AIROC™ Bluetooth® APIs. The application communicates with embedded apps over the "WICED HCI UART" interface. The application is located in the folder below. For more information, see readme.txt in the same folder.
This utility can be run directly from the filesystem, or it can be run from the Tools section of the ModusToolbox™ QuickPanel, or by right-clicking a project in the Project Explorer pane and selecting the ModusToolbox™ context menu.
It is supported on Windows, Linux, and macOS.
Location: <Workspace Dir>\wiced_btsdk\tools\btsdk-host-apps-bt-ble\client_control

LE Mesh Client Control:

Similar to the above app, this application emulates host MCU applications for LE Mesh models. It can configure and provision mesh devices and create mesh networks. The application is located in the folder below. For more information, see readme.txt in the same folder.
This utility can be run directly from the filesystem, or it can be run from the Tools section of the ModusToolbox™ QuickPanel (if a mesh-capable project is selected in the Project Explorer pane), or by right-clicking a mesh-capable project in the Project Explorer pane and selecting the ModusToolbox™ context menu.
The full version is provided for Windows (VS_ClientControl) supporting all Mesh models.
A limited version supporting only the Lighting model (QT_ClientControl) is provided for Windows, Linux, and macOS.
Location: <Workspace Dir>\wiced_btsdk\tools\btsdk-host-peer-apps-mesh\host

Peer apps:

Applications that run on Windows, iOS or Android and act as peer Bluetooth® apps to demonstrate specific profiles or features, communicating with embedded apps over the air.
LE apps location: <Workspace Dir>\wiced_btsdk\tools\btsdk-peer-apps-ble
LE Mesh apps location: <Workspace Dir>\wiced_btsdk\tools\btsdk-host-peer-apps-mesh\peer
OTA apps location: <Workspace Dir>\wiced_btsdk\tools\btsdk-peer-apps-ota

Device Configurator:

Use this GUI tool to create source code for a custom pin mapping for your device. Run this tool from the Tools section of the ModusToolbox™ QuickPanel, or by right-clicking a project in the Project Explorer pane and selecting the ModusToolbox™ context menu.
It is supported on Windows, Linux and macOS.
Note: The pin mapping is based on wiced_platform.h for your board.
Location: <Install Dir>\tools_2.x\device-configurator

Note: Not all BTSDK chips support Device Configurator. BSPs using the following devices do not currently support Device Configurator: CYW20706, CYW20736

Bluetooth® Configurator:

Use this GUI tool to create and configure the LE GATT Database and the BR/EDR SDP Database, generated as source code for your application.
Run this tool from the Tools section of the ModusToolbox™ QuickPanel, or by right-clicking a project in the Project Explorer pane and selecting the ModusToolbox™ context menu.
It is supported on Windows, Linux and macOS.
Location: <Install Dir>\tools_2.x\bt-configurator

Tracing

To view application traces, there are 2 methods available. Note that the application needs to configure the tracing options.

  1. "WICED Peripheral UART" - Open this port on your computer using a serial port utility such as TeraTerm or PuTTY (usually using 115200 baud rate for non-Mesh apps, and 921600 for Mesh apps).
  2. "WICED HCI UART" - Open this port on your computer using the Client Control application mentioned above (usually using 3M baud rate). Then run the BTSpy utility mentioned above.

Using BSPs (platforms)

BTSDK BSPs are located in the \mtb_shared\wiced_btsdk\dev-kit\bsp\ folder by default.

a. Selecting an alternative BSP

The application makefile has a default BSP. See "TARGET". The makefile also has a list of other BSPs supported by the application. See "SUPPORTED_TARGETS". To select an alternative BSP, use Library Manager from the Quick Panel to deselect the current BSP and select an alternate BSP. Then right-click the newly selected BSP and choose 'Set Active'. This will automatically update TARGET in the application makefile.

b. Custom BSP

To create a custom BSP from a BSP template for BTSDK devices, see the following KBA article: KBA238530

Using libraries

The libraries needed by the app can be found in in the mtb_shared\wiced_btsdk\dev-kit\libraries folder. To add an additional library to your application, launch the Library Manager from the Quick Panel to add a library. Then update the makefile variable "COMPONENTS" of your application to include the library. For example:
COMPONENTS += fw_upgrade_lib

Documentation

BTSDK API documentation is available online

Note: For offline viewing, git clone the documentation repo

BTSDK Technical Brief and Release Notes are available online


The Bluetooth® word mark and logos are registered trademarks owned by Bluetooth SIG, Inc., and any use of such marks by Infineon is under license.

mtb-example-btsdk-hid-ble-rcu's People

Contributors

jimtrudeau avatar cygitlab-user avatar

Stargazers

Naveen Sakthivel avatar

Watchers

James Cloos avatar Steve Rae avatar  avatar Saumitra Chafekar avatar Vairamuthu Ramasamy avatar  avatar Artem Yushev avatar Srikanth Neerella avatar Anjana Muralidharan  avatar  avatar Jeetendra Ashok avatar  avatar Volodymyr Medvid avatar Meenakshi Sundaram Ravindran avatar Winston Fernandes avatar Dheeraj Kamath avatar Rakshith Mb avatar Rakesh B G avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.