ATBTLC1000 BluSDK v5.0 Release Release Notes Description This document details the release notes for ATBTLC1000 BluSDK v5.0. Table of Contents 1 BluSDK Software Architecture Overview ................................................................... 4 2 Supported Hardware Platforms and IDEs ................................................................ 5 3 BluSDK Release contents ........................................................................................... 6 3.1 BluSDK Firmware contents ................................................................................................................... 8 4 BluSDK Release features .......................................................................................... 11 5 Release Revision History .......................................................................................... 13 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 6 Known issues ............................................................................................................ 19 6.1 6.2 7 BluSDK v5.0 ........................................................................................................................................ 13 5.1.1 Major New Features ............................................................................................................... 13 5.1.2 Major improvements and bug fixes ......................................................................................... 13 BluSDK v4.0 ........................................................................................................................................ 13 5.2.1 Major New Features ............................................................................................................... 13 5.2.2 Major improvements and bug fixes ......................................................................................... 15 BluSDK v3.0 ........................................................................................................................................ 15 5.3.1 Major New Features ............................................................................................................... 15 BluSDK v2.3 ........................................................................................................................................ 16 5.4.1 Major New Features ............................................................................................................... 16 BluSDK v2.2 ........................................................................................................................................ 16 5.5.1 Major New Features ............................................................................................................... 16 5.5.2 Major improvements and bug fixes ......................................................................................... 16 BluSDK v2.1 ........................................................................................................................................ 16 5.6.1 Major New Features ............................................................................................................... 16 5.6.2 Major improvements and bug fixes ......................................................................................... 16 BluSDK v2.0 ........................................................................................................................................ 17 5.7.1 Major New Features ............................................................................................................... 17 5.7.2 Major improvements and bug fixes ......................................................................................... 17 Previous Release History - BluSDK v1.x ............................................................................................. 18 BluSDK Software................................................................................................................................. 19 Mobile Applications ............................................................................................................................. 19 Limitations ................................................................................................................. 20 7.1 7.2 BluSDK Software................................................................................................................................. 20 Mobile Applications ............................................................................................................................. 20 8 Additional Information/Pre-requisites ...................................................................... 22 9 Power save measure settings................................................................................... 23 9.1 9.2 9.3 Hardware Setup .................................................................................................................................. 23 1. Board Wiring ........................................................................................................................... 23 2. Connection ............................................................................................................................. 24 3. Trouble shooting (optionally) .................................................................................................. 24 Power measure with Data Visualizer ................................................................................................... 25 Average Advertisement Current .......................................................................................................... 25 10 Annexure -1 - Atmel BluSDK Change Log ............................................................... 25 10.1 BluSDK Module Changes.................................................................................................................... 26 2 2 ATBTLC1000 BluSDK v5.0 Release Notes Table 10-1. New features in the APIs ..................................................................................... 26 10.2 BLE Library API – New Features ........................................................................................................ 29 Table 10-2. New features in the APIs ..................................................................................... 29 10.3 Differences between Atmel BLE APIs - BluSDK 5.0 vs BluSDK 4.0 ................................................... 29 Table 10-3. Modified APIs .................................................................................................... 29 Table 10-4. Modified Structures............................................................................................ 29 11 Annexure -2 - Hardware UART Flow Control Settings ............................................ 30 11.1 BTLC1000 Hardware Flow control 4-Wire Mode E-Fuse Write Procedure.......................................... 32 12 Annexure -3 - ASF installation instructions for AS 7.0 ........................................... 35 12.1 Installation Steps for VSIX File ............................................................................................................ 35 13 ATMEL EVALUATION BOARD/KIT IMPORTANT NOTICE AND DISCLAIMER ........ 38 Atmel BluSDK v5.0 Release Notes 3 3 1 BluSDK Software Architecture Overview 4 4 ATBTLC1000 BluSDK v5.0 Release Notes 2 Supported Hardware Platforms and IDEs BluSDK – supported hardware and IDEs Platform MCU Supported BLE device Supported evaluation kits Supported IDEs SAM L21 (MCU) ATSAML21J18B ATBTLC1000 ATBTLC1000-XSTK (ATSAML21-XPRO-B + ATBTLC1000 XPRO) Atmel Studio v7.0 IAR Embedded Workbench for ARM 7.40.5* SAM L21 (MCU) ATSAML21J18A ATBTLC1000 ATSAML21 XPRO + ATBTLC1000 XPRO Atmel Studio v7.0 IAR Embedded Workbench for ARM 7.40.3.8938 or above SAM D21 (MCU) ATSAMD21J18A ATBTLC1000 ATSAMD21-XPRO + ATBTLC1000 XPRO Atmel Studio v7.0 IAR Embedded Workbench for ARM 7.40.3.8938 or above SAM G55 (MCU) ATSAMG55J19 ATBTLC1000 ATSAMG55-XPRO + ATBTLC1000 XPRO Atmel Studio v7.0 IAR Embedded Workbench for ARM 7.40.3.8938 or above SAM 4S (MCU) ATSAM4SD32C ATBTLC1000 ATSAM4S-XPRO + ATBTLC1000 XPRO Atmel Studio v7.0 IAR Embedded Workbench for ARM 7.40.3.8938 or above * Support for ATSAML21J18B (SAML21 Rev B) device has been added in IAR for ARM version 7.40.5 Atmel BluSDK v5.0 Release Notes 5 5 3 BluSDK Release contents Folder Name Description Atmel Adapter Layer API Documentation HW Design Guide Software Development Guide Platform Porting Guide BLE Example Application Getting Started Guide - Includes Getting started guides for following example application 1. Proximity Monitor Profile Example(pxp_monitor) 2. Proximity Reporter Profile Example(pxp_reporter) 3. Apple Notification Centre Service Example(ancs) 4. Battery Service Example(battery_info) 5. Observer Example(ble_observer) 6. Device Information Service Example(device_info) 7. Health Thermometer Profile Example(htpt_temperature_sensor) 8. Time Information Profile Example(time_information) Documentation 9. Scan Parameter Example(scan_parameter) 10. Simple Broadcaster Example(simple_broadcaster) 11. Simple BLE Connection Example(simple_btlc1000_connection) 12. HID Keyboard Example(hid_device_keyboard) 13. HID Mouse Example(hid_mouse_keyboard) 14. DTM Application Example(ble_dtm) 15. Alert Notification Profile Example(alert_notification) 16. Blood Pressure Profile Example(blood_pressure) 17. Custom Profile Example(custom_serial_chat) 18. Find me Profile Example(find_me) 19. Heart Rate Profile Example(hr_sensor) 20. Phone Alert Status Profile Exmaple(phone_alert_status) 21. BLE Startup Template(startup_template) 22. Multi Role Multi Connect Example(multi_role_multi_connect) 6 6 ATBTLC1000 BluSDK v5.0 Release Notes Folder Name Description Example BLE Apps, BLE Profiles, BLE Services are fully integrated in ASF. For Atmel Studio: Download ASF update v3.30 or higher from Atmel Gallery. Refer to Annexure -3 ASF installation instructions for AS 7.0 Firmware For standalone version of ASF package for GCC & IAR: 1. Download Package: BluSDK5.0 standalone package from (version 3.30 or higher) http://www.atmel.com/tools/avrsoftwareframework.aspx 2. Extract package Downloaded standalone archive 3. On extraction of ASF standalone archive the BluSDK SW components can be found under: \thirdparty\wireless\ble_sdk Contains the following mobile applications: Mobile Application PC Application - Atmel SmartConnect Android application can be downloaded from the following URL:[https://play.google.com/store/apps/details?id=com.atmel.bleanalyser&hl= en] - Atmel Beacon Radar Android application - Atmel SmartConnect iOS application can be downloaded from the following URL:[ https://itunes.apple.com/us/app/atmel-smartconnect/id1041425299?ls=1&mt=8 ] - Atmel Beacon Radar iOS application can be downloaded from the following URL: [ https://itunes.apple.com/us/app/atmel-beacon-radar/id989086488?mt=8 ] Wireless Composer [BLE Performance Analyzer] BTLC1000 EFuse Block Program [Programming BTLC1000 eFuse] DTM Tool Atmel BluSDK v5.0 Release Notes 7 7 3.1 BluSDK Firmware contents BluSDK firmware builds and runs on a MCU host (supported platform). This ASF VSIX Installer has the following structure (accessible from ASF Wizard). The Getting Started guide for each profile example provide more information on how to find the example project using the ASF Example Project Wizard, build, flash and execute the software. Folder Name Description BLE Example Application Profiles and Services Contains following example Applications 1. Proximity Monitor Profile Example(pxp_monitor) 2. Proximity Reporter Profile Example(pxp_reporter) 3. Apple Notification Centre Service Example(ancs) 4. Battery Service Example(battery_info) 5. Observer Example(ble_observer) 6. Device Information Service Example(device_info) 7. Health Thermometer Profile Example(htpt_temperature_sensor) 8. Time Information Profile Example(time_information) 9. Scan Parameter Example(scan_parameter) apps 10. Simple Broadcaster Example(simple_broadcaster) 11. Simple BLE Connection Example(simple_btlc1000_connection) 12. HID Keyboard Example(hid_device_keyboard) 13. HID Mouse Example(hid_mouse_keyboard) 14. DTM Application Example(ble_dtm) 15. Alert Notification Profile Example(alert_notification) 16. Blood Pressure Profile Example(blood_pressure) 17. Custom Profile Example(custom_serial_chat) 18. Find me Profile Example(find_me) 19. Heart Rate Profile Example(hr_sensor) 20. Phone Alert Status Profile Exmaple(phone_alert_status) 21. BLE Startup Template(startup_template) 22. Multi Role Multi Connect Example(multi_role_multi_connect) 8 8 ATBTLC1000 BluSDK v5.0 Release Notes Folder Name Description Contains the following BLE Profiles. ble_profiles - Alert Notification - ANCS - Proximity Monitor - Proximity Reporter - Time Information - HID over GATT profile (HOGP) - Phone Alert Status - Blood Pressure - Heart Rate - Find me - Custom Serial Chat Contains the BLE Services. ble_services - Alert Notification Service - BLE Manager-Common BLE Event Frame Work - Apple Alert Notification Service (ANCS) - Battery Service (BAS) - Current Time Service(CTS) - Device Information Service (DIS) - Immediate Alert Service (IAS) - Link Loss Service (LLS) - Scan Parameter Service (SPS) - Tx Power Service (TXPS) - HID Device (HOGP Service) - Blood Pressure - Custom Serial Chat Service - Heart Rate Service - Next DST Service - Phone Alert Service - Reference Time Service Inc Top level includes for the delivered libraries, and Platform API’s Lib IAR and GCC compiler based Adaptor Library for Cortex M0+ and Cortex M4 MCU’s Atmel BluSDK v5.0 Release Notes 9 9 Folder Name 10 Description services Application level services and Platform level - console, serial driver, serial_fifo, timer, serial bridge src Platform abstraction implementation for Atmel BLE Adapter Library utils Utility functions used by BluSDK components (Eg: DBG_LOG, DBG_LOG_DEV etc..) 1 ATBTLC1000 BluSDK v5.0 Release Notes 0 4 BluSDK Release features BluSDK 5.0 release supports the following profiles and services. Profiles o Alert Notification o Apple Alert Notification Center Service o Blood Pressure o Custom Serial Chat o Find Me Target o Heart Rate o HOGP (HID Over GATT Profile) o Health Thermometer o Phone Alert Status o Scan Parameters o Time Information Services Support o Alert Notification Service o BLE Manager-Common BLE Event framework o Apple Alert Notification Service (ANCS) o Battery Service (BAS) o Current Time Service(CTS) o Device Information Service (DIS) o Immediate Alert Service (IAS) o Link Loss Service (LLS) o Scan Parameter Service (SPS) o Tx Power Service (TXPS) o HID Device (HOGP Service) o Blood Pressure o Custom Serial Chat Service o Heart Rate Service o Next DST Service o Phone Alert Service o Reference Time Service Mobile Applications: o Atmel SmartConnect Mobile Application for Android: Health Thermometer Proximity Monitor Blood Pressure Atmel BluSDK v5.0 Release Notes 11 1 1 o o Alert Notification Time Information Scan Parameters Find Me Heart Rate Battery Device Information Service Atmel SmartConnect Mobile Application for iOS Health Thermometer Proximity Monitor Blood Pressure Scan Parameters Find Me Heart Rate Battery Device Information Service Atmel Beacon Radar (Android and iOS) Example applications are provided for the profile/services mentioned above and are available for Atmel SAML21/SAML21 Rev B/SAMG55/SAMD21/SAM4S MCU platforms. 12 1 ATBTLC1000 BluSDK v5.0 Release Notes 2 5 Release Revision History 5.1 BluSDK v5.0 5.1.1 Major New Features BluSDK Software: 1. Added support for SAM4S Platform. 2. Added support for periodic temperature and voltage calibration for every 2 seconds. 3. Added Tx-Fm calibration on cold-boot. 4. Added one time 26MHz RC calibration to enable injection locking. 5. Added 3 new APIs for Calibration: a. - at_ble_calib_config() b. - at_ble_calib_get_temp() c. - at_ble_calib_get_voltage() 6. Changed Hardware Flowcontrol compilation flag selection during runtime. 7. Platform modularization to make the Library as an independent module. 8. Added support for wireless composer – BLE Performance Analyzer in Atmel Studio 7.0 wherein DTM Tx Power set and CW Tone has been incorporated 5.1.2 Major improvements and bug fixes 1. UART FLOW CONTROL 2-Wire Mode has been removed, due to instability between Host and BTLC1000 communication. 2. Fixed issue for Encryption without MITM (No Authentication and No Authorization) and insufficient key permissions. 3. Fixed 6-Wiremode UART Initialization issue on SAMG55 serial_drv.c 4. Storing the LTK of peer device for encryption. 5. DTM instability issue fixed. 6. Mobile Application: Atmel SmartConnect for Android: a. Bug fixes in Scan Param profile and battery service b. Support for tablets that do not have android.hardware.TELEPHONY feature. 5.2 BluSDK v4.0 5.2.1 Major New Features BluSDK Software: 1. Support for Features like Multi-Role/Multi-Connect to maintain both central and peripheral role simultaneously and multiple connections for various applications. 2. Support for Wireless Composer – BLE Performance Analyzer in Atmel Studio 7.0 3. Support for configurable UART FLOW CONTROL modes like 6_WIRE (for 2 stage UART communication for FLOW CONTROL support), 4_WIRE (single UART with FLOW CONTROL) and NO FLOW CONTROL. Atmel BluSDK v5.0 Release Notes 13 1 3 Mobile Application: 1. Enhanced: Atmel SmartConnect (Version 2.0) tablet application for iOS and Android Atmel Adapter Library: 1. Added support for ULP (Ultra Low Power) 2. Support for configurable UART HARDWARE FLOW CONTROL for BTLC1000 Important Note: 1. This SDK package is only compatible with the revised ATBTLC1000 XPRO extension boards. The revised boards can be identified with a green dot on the front and a yellow wire on the back (as shown in below picture). The revised boards have the CHIP_ENABLE pin re-mapped to allow use UART flow control on the extension header. 2. For example projects/apps using SAML21, please make sure to plug the ATBTLC1000 XPRO extension board to EXT1 only. 14 1 ATBTLC1000 BluSDK v5.0 Release Notes 4 5.2.2 Major improvements and bug fixes 1. GAP advertisement has been moved from all profiles/services/application to ”ble_manager”. 2. Generic BLE event handling call back mechanism. 5.3 BluSDK v3.0 5.3.1 Major New Features BluSDK Software: 1. Support for new profiles Blood Pressure, Heart Rate Monitor, Phone Alert Status, Time Information, Custom Serial Chat, Find Me, and Alert Notification on SAML21/SAMD21/SAMG55 Platforms. 2. Support for new services Alert Notification, Blood Pressure, Custom Serial Chat, Current Time, Heart Rate, Next Daylight Saving Time, Phone Alert, and Reference Time on SAML21/SAML21 Rev B/SAMD21/SAMG55 Platforms. 3. Support for Wireless Composer – BLE Performance Analyzer 4. BLE Startup Template example Mobile Application 1. Enhanced: Atmel SmartConnect mobile application for iOS and Android Atmel Adapter Library: 1. Enhanced: New version of adapter library upgraded and compatible to ATBTLC1000 RevB1 running a BLE 4.1 stack (Refer to Annexure for more details) Documentation: 1. Updated Atmel BLE API Reference Manual 2. Updated Atmel BLE API Software Development User Guide 3. Updated Atmel BLE Platform Porting Guide 4. Enhanced Getting Started User Guide documents for each example application Important Note: 1. Is recommended to use ATBTLC1000 XPRO extension board delivered with the starter kit (ATBTLC1000-XSTK) for running the example applications delivered as part of the SDK. 2. User must plug the ATBTLC1000 XPRO extension in EXT2 of SAML21 Xplained Pro. Atmel BluSDK v5.0 Release Notes 15 1 5 5.4 BluSDK v2.3 5.4.1 Major New Features BluSDK Software: 4. Support for Direct Test Mode on SAML21/SAMD21/SAMG55 Platforms Important Note: 3. It is recommended to use BTLC1000 XPRO extension board delivered with the starter kit for running the example applications delivered as part of the SDK. 4. User must plug the BTLC1000 XPRO extension in EXT2 of SAML21. 5.5 BluSDK v2.2 5.5.1 Major New Features BluSDK Software: 5. Support for Atmel BTLC1000 - XSTK (Starter Kit) a. Addition of support SAML21 MCU platform Important Note: 5. It is recommended to use BTLC1000 XPRO extension board delivered with the starter kit for running the example applications delivered as part of the SDK. 6. User must plug the BTLC1000 XPRO extension in EXT2 of SAML21. 5.5.2 Major improvements and bug fixes 1. Documentation update: Applicable to all ‘Getting Started’ documentation – adding setup information and details for using BTLC1000/SAML21 starter kit 5.6 BluSDK v2.1 5.6.1 Major New Features BluSDK Software: 1. HID Keyboard Example Application 2. HID Mouse Example Application 5.6.2 Major improvements and bug fixes 1. Adaptor Library adds support for report reference descriptor(refer structure: at_ble_characteristic_gen_t) i. Descriptor value set API added(refer API: at_ble_descriptor_value_set) ii. Descriptor value get API added(refer API: at_ble_descriptor_value_get) iii. New data structure added to hold the descriptor and presentation format. 2. Added new adaptor API for common service definition of both primary and secondary service.(refer API: at_ble_service_define) 16 1 ATBTLC1000 BluSDK v5.0 Release Notes 6 5.7 BluSDK v2.0 5.7.1 Major New Features BluSDK Software: 1. ANCS Profile Example Application 2. Time Profile Example Application 3. Proximity Monitor Example Application 4. Proximity Reporter Example Application 5. Observer Mode Example Application 6. Broadcaster Mode Example Application 7. Battery Service Example Application 8. Scan Parameter Service Example Application 9. Device Information Service Example Application 10. BLE Manager – Common event handling support 11. BLE – Services and Profiles are converted as pluggable components Mobile Application: 1. New: Atmel SmartBLU iOS Application supporting Proximity Monitor 2. New: Atmel SmartBLU Android Application supporting: i. HTPT Profile ii. Proximity Monitor 5.7.2 Major improvements and bug fixes HTPT Disable and Enable Notification for temperature send support added to HTP application Atmel BluSDK v5.0 Release Notes 17 1 7 5.8 Previous Release History - BluSDK v1.x Fix/Update Description BluSDK v1.3 Release Major new features: * [BLUSDK-17] - Support added for BTLC1000 A5 (ES2) and BTLC1000 A3 (ES1) devices in a single Library * [BLUSDK-5] 1. Health Thermometer Profile example using BTLC1000 board and IO1 Sensor board on both SAMD21 and SAMG55 2. Simple BTLC1000 Connection example which advertises iBeacon data on both SAMD21 and SAMG55 3. Adds support for BTLC1000 A5 devices (ES2) - BTLC1000 not able to recover during power on * [BLUSDK-27] - IAR Support for HTP BluSDK [Note: this feature will ONLY be available as part of standalone ASF public release] * [BLUSDK-28] - Support Atmel Studio 7.0 * [BLUSDK-29] - Serial buffer mechanism between BTLC1000 and Host * [BLUSDK-30] - Floating point conversion from IEEE754 to IEEE11073 for precision temperature measurement Major improvements and bug fixes: * [BLUSDK-24] - Addresses disconnection issue after pairing fails in HTP * [BLUSDK-31] - Delay utility for initialization * [BLUSDK-32] - Random temperature type and temperature measurement location change during button press * [BLUSDK-33] - BTLC1000 chip id version display in console * [BLUSDK-34] - BTLC1000 BD Address display in console BluSDK v1.2 Release BUG Fix: D21 Clock Drift Issue with respect to temperature 18 Major improvements and bug fixes: * [BLUSDK-4] 1 ATBTLC1000 BluSDK v5.0 Release Notes 8 - D21 Clock Drift Issue with respect to temperature 6 Known issues 6.1 BluSDK Software JIRA ID BLUSDK-662 Multi-role: Upon incorrect pass-key, PXP-M could not able to reconnect. BLUSDK-676 After re-connection HTP stops sending notifications to android Application. BLUSDK-612 Sometimes reconnection fails in ANCS. BLUSDK-543 Sometimes PXP-M takes multiple attempts to reconnect. 6.2 Description BluSDK5.0 supports only with UART HARDWARE FLOW CONTROL (4-Wire/6-Wiire) in SAML21/SAMD21/SAMG55/SAM4S platforms. Mobile Applications JIRA ID Description BLEMAPPS-9 Bluetooth turn off during scan, the scan progress bar shows that scanning is inprogress. BLEMAPPS-25 When device goes out of range and reconnect, ANP mobile application is not sending the alerts to client. Atmel BluSDK v5.0 Release Notes 19 1 9 7 Limitations 7.1 BluSDK Software 1. Adapter Layer & Platform: a. Adapter library requires enhancements to make it RTOS compatible and Thread-safe b. SPI interface is not yet supported 2. Profiles: a. HOGP – HID i. HID Keyboard device example application and HID Mouse device example application are compatible only with Android based mobile devices (Android 4.4/KitKat and higher versions). ii. HID Keyboard device example application supports only Just Works pairing b. Multi-Role/Multi-connect i. Multi-connect: Number of simultaneous connections is limited to two (example application limitation only) ii. Both Scan and Advertisement can’t be performed simultaneously. iii. Battery does not simulate more than one value when PXP-M and PXP-R is disconnected c. PTS Compliance: i. PTS compliance has not yet been achieved for the profile examples. ii. ANCS & TIP are Apple iOS specific implementations and PTS test cannot be executed for BT SIG profile specification compliance. 3. Standalone ASF archive a. In Windows OS the maximum path length will be 260 characters. It’s always recommended to extract the standalone ASF archive into root directory of the Local drive. Example C:\ASF\(Extract the Standalone ASF archive here) 7.2 Mobile Applications 1. Atmel SmartConnect Android Application a. Common i. When app is minimized and notifications sent from the device are not received (background operation of application is not supported) ii. Atmel SmartConnect Android application is currently not supported for Marshmallow iii. Android Framework limitations 1. When mobile is already in vibration state, the alert read status sent from the App shows vibrate status as inactive 2. When wrong pass-key is entered, pairing still succeeds b. Phone Alert: Display state is not supported c. Custom Serial Chat: i. Android-4.4.4 (KitKat): Can support only upto 20 characters ii. Android-5.x: (Lollipop): Can support upto 150 characters 20 2 ATBTLC1000 BluSDK v5.0 Release Notes 0 iii. iOS: Can support upto 150 characters iv. Android/iOS: Will not receive the data, if security is been disabled 2. Atmel SmartConnect iOS Application a. When app is minimized and notifications sent from the device are not received (background operation of application is not supported) 3. Atmel Beacon Radar (Android) a. When the device is moved, the beacon icon updates are as fast as the movement pace. Atmel BluSDK v5.0 Release Notes 21 2 1 8 Additional Information/Pre-requisites 1. It is recommended to use the BTLC1000 XPRO extension boards provided as part of the BTLC1000 XSTK (Starter Kit) 2. To test ANCS and Time Profile, an iPhone supporting iOS version above 7.0 is required 3. General information with reference to BLE support on mobile devices: a. iOS: i. iPhone 4S and above support BT 4.0 and higher. It is recommended to use a device with iOS version 8.0 or above for best performance and stability b. Android: i. Preliminary support for BT 4.0 was added in Android Jellybean (4.2 onwards) ii. For best performance and stability, it is recommended to use a device with Android version above 4.4 (i.e. preferably Kit-Kat or Lollipop) iii. Due to a wide-spectrum of Android devices with many variants (customized Android devices, various hardware/connectivity chipset configurations) – performance of the BLE Application may not be the same on all devices. Android phone that include a Bluetooth chipset supporting version 4.0 or higher is a pre-requisite. iv. Due to evolving nature of BLE APIs in Android, performance/stability variations may be observed when testing with different Android release flavor’s (Jellybean/4.3, KitKat/4.4 and Lollipop/5.1) v. HID over GATT profile was introduced in Android from version 4.4 (KitKat). A mobile device supporting Android 4.4 and higher is a pre-requisite for running the HID Keyboard device and HID Mouse device example applications. vi. Disconnection triggered by application running in Android taking a long time (12 ~ 15 seconds) to complete. vii. Nexus6/Stock Android version: Following issues have been observed 1. When peripheral device is reset, Android still shows this as a connected requiring manual un-pair. 22 2 ATBTLC1000 BluSDK v5.0 Release Notes 2 9 Power save measure settings 9.1 Hardware Setup 1. Board Wiring Wire the setup as shown below (Jumper needs to be connected to ‘Bypass‘ to measure only for BTLC1000). Atmel BluSDK v5.0 Release Notes 23 2 3 2. Connection o Connect the DEBUG-USB jack with a micro-USB cable to the PC o Remember the COM port o Open Atmel Studio 7.0 3. Trouble shooting (optionally) 24 o Sometimes the upgrade of the EDBG Firmware fails o In this kind of situations command line could be last rescue: 2 ATBTLC1000 BluSDK v5.0 Release Notes 4 9.2 Power measure with Data Visualizer o In Menu bar select Tools DataVisualizer o Press “Connect” (1) o Checkmark “Power” (2) o Press “Start” (3) o The “Power Analysis” window opens (4) Note: Data Visualizer runs well in Standalone mode 9.3 10 Average Advertisement Current o Initially the example advertises for every 1sec interval rather than 62.5ms with ~250µA o Advertisement interval can be changed by using “BECON_ADV_INTERVAL” o Verify the average advertisement current in Power Analysis window o Auto calibration should be disabled (continuous calibration will consume more power) and advertisement type should be set to AT_BLE_ADV_TYPE_NONCONN_UNDIRECTED. Annexure -1 - Atmel BluSDK Change Log BluSDK v5.0 release includes an enhanced version of BLE API compatible with ATBTLC1000 RevB1 devices, a BLE 4.1 compliant device. This section provides details of the new features introduced in the API and a change comparison with the previous version of the API (which was BLE 4.0 compliant) and also Hardware PIN changes to support UART HARDWARE FLOW CONTROL. Atmel BluSDK v5.0 Release Notes 25 2 5 10.1 BluSDK Module Changes Table 10-1. New features in the APIs Modified APIs Category Ble-Manager S.No Description Old signature New signature 1 6-Wire Mode Flowcontrol Enable/Disable and initialization configurations are handled. 4-Wire Mode flag must be set to pf_cfg.bus_info.bus_ flow_control_enabled = false, 6-Wire mode the Flag must be set to true. Platform API’s are registered as part of the at_ble_init. Platform_init will be called from ble_device_init function. void ble_device_init(at_ble_add r_t *addr) void ble_device_init(at_ble_addr _t *addr) void ble_device_init(at_ble_add r_t *addr) void ble_device_init(at_ble_addr _t *addr) Platform initialization supports bus type can have flow control Enable/Disable option sends a message over the platform-specific bus and blocks until Tx Completes at_ble_status_t platform_init(void* platform_params) at_ble_status_t platform_init(uint8_t bus_type, uint8_t bus_flow_control_enabled) void platform_send_sync(uint8_ t *data, uint32_t len) 2 1 platform 1 2 26 3 Platform receive a message over the platform-specific bus at_ble_status_t platform_interface_send(uint8_t if_type, uint8_t *data, uint32_t len); int platform_interface_recv(uint8_t if_type, uint8_t* data, uint32_t len) 4 sends wakeup signal over platform-specific bus int platform_interface_send_wakeup(voi d) Removed – Not applicable 5 The callback to upper layers to process received packets void platform_interface_callback(uint8_ t* data, uint32_t len) Removed – Not applicable 7 fires when the comand-complete signal void platform_cmd_cmpl_signal(void) Removed – Not applicable 2 ATBTLC1000 BluSDK v5.0 Release Notes 6 void platform_recv_async(void (*recv_async_callback )(uint8_t)) 8 The callback function used when patch download is going on. void fw_patch_download_cb(uint8_t *pu8data, uint8_t length) Removed – Not applicable 9 blocks until the command-complete signal is fired void platform_cmd_cmpl_wait(b ool* timeout) Removed – Not applicable 10 fires the event signal void platform_event_signal(void) Removed – Not applicable 11 blocks until the event signal is fired at_ble_status_t platform_event_wait(uint 32_t timeout) Removed – Not applicable 12 Chip Enable and wakeup pin functions are set/clear by this functions Not available 13 Initialize the hardware timer Not available void platform_gpio_set(at_ble_ gpio_pin_t pin, at_ble_gpio_status_t status) void *platform_create_timer(void (*timer_cb)(void *)); 14 Reset the Hardware timer which is already initialized Not available void platform_delete_timer(void *timer_handle); 15 Stop the Hardware timer which is already running Not available void platform_stop_timer(void *timer_handle); 16 Start the Hardware timer which is already initialized with specified time Not available void platform_start_timer(void *timer_handle, uint32_t ms); Sam0/serial_drv.c 1 API Removed platform_configure_timer Removed – Not applicable Timer_hw.h 2 API Removed Platform_start_bus_timer Removed – Not applicable 3 API Removed Platform_stop_bus_timer Removed – Not applicable 4 API Removed platform_reset_bus_timer Removed – Not applicable Atmel BluSDK v5.0 Release Notes 27 2 7 New APIs and modified Category Alert Notification profile S.No Description API 1 at_ble_connected_t which con- at_ble_status_t anp_info_connect_handler(void *params) sists of connection handle and notifies to profile when connected. Callback for Alert Notification service discover function NEW API hr_sensor_char_write_request handles the write request for heart rate control point characteristic at_ble_status_t anp_info_service_discover(void *params) Chip Enable and wakeup pin functions are set/clear by this functions Initialize the hardware timer Reset the Hardware timer which is already initialized void platform_gpio_set(at_ble_gpio_pin_t pin, at_ble_gpio_status_t status) void *platform_create_timer(void (*timer_cb)(void *)); void platform_delete_timer(void *timer_handle); 4 Stop the Hardware timer which is already running void platform_stop_timer(void *timer_handle); 5 Start the Hardware timer which is already initialized with specified time void platform_start_timer(void *timer_handle, uint32_t ms); 2 HR Sensor Profile Platform.h 1 1 2 3 at_ble_status_t hr_sensor_char_write_request(void * params) Data structures Category BleManager 28 Description Status Structure Name Added new Host LTK structure to store the Host information Modified ble_connected_dev_info_t 2 ATBTLC1000 BluSDK v5.0 Release Notes 8 10.2 BLE Library API – New Features BluSDK v5.0 release includes an enhanced version of BLE API compatible with ATBTLC1000 RevB1 devices, a BLE 4.1 compliant device. This section provides details of the new features introduced in the API and a change comparison with the previous version of the API Table 10-2. New features in the APIs Category New features Description API/Event GAP & Device Init APIs Device initialization and configuration Provision to register the platform API’s. Provision to enable or disable the 6-Wire mode at_ble_init Calibration Auto Calibration Configuration Read Temperature Read Voltage 10.3 at_ble_calib_config Configures periodic Vbat/Vtemp calibration: enable/disable, number of ADC samples needed for averaging, frequency of the calibration in seconds Retrieves temperature value in Cel- at_ble_calib_get_temp sius at_ble_calib_get_voltage Retrieves voltage value in volts Differences between Atmel BLE APIs - BluSDK 5.0 vs BluSDK 4.0 Table 10-3. Modified APIs Category System Initialization Feature Old signature New signature Memory and platform initialization at_ble_status_t at_ble_init(void* args) at_ble_status_t at_ble_init(at_ble_init_config_t* args) Table 10-4. Modified Structures System Initialization platform callback register Status New GAP Structures Bus information New at_ble_bus_info_t Init Configuration Modified at_ble_init_config_t Status of disconnected peer Modified at_ble_disconnected_t Category New features Structure Name at_ble_platform_api_list_t Atmel BluSDK v5.0 Release Notes 29 2 9 11 Annexure -2 - Hardware UART Flow Control Settings 1. Project Settings a. Go to below path and set the configurations Project Settings Properties Toolchain ARM/GNU C Compiler Symbols S.No FLOW CONTROL Mode Description 1 UART_FLOWCONTROL_4WIRE_MODE = true Only ONE UART will be used for both patch download and UART data transmission by using FLOWCONTROL. To Test this mode EFuse must be set, Use the GUI to write eFuse5, Offset 0xc to 0x10000000 UART_FLOWCONTROL_6WIRE_MODE = false 2 UART_FLOWCONTROL_4WIRE_MODE = false UART_FLOWCONTROL_6WIRE_MODE = true 3 4 TWO UARTs will be used one for patch download and another one for UART data transmission with FLOWCONTROL UART_FLOWCONTROL_6WIRE_MODE = false Not supported and not recommended for production. UART_FLOWCONTROL_4WIRE_MODE = true INVALID OPTION UART_FLOWCONTROL_4WIRE_MODE = false UART_FLOWCONTROL_6WIRE_MODE = true Note: In case of BluSDK or supplied BluSDK BLE-Manager is not used, the below settings are required for at_ble_init API. This parameters are passed as arguments to at_ble_init. The args contains at_ble_init_config_t and platform_config structures. This structures needs to be properly initialized and passed to at_ble_init API. If incorrect configuration may lead to downloading the wrong patch into BTLC1000. Which leads to UART will not work properly. Attribute data base memory pf_cfg.memPool.memSize = BLE_ATT_DB_MEMORY_SIZE; pf_cfg.memPool.memStartAdd = (uint8_t *)&att_db_data; /* Bus configuration details */ The Host MCU and BTLC1000 UART communication will happen via UART BUS. This needs to be specified. busConfig.bus_type = AT_BLE_UART; busConfig.bus_info = 0; /* Bus Info Not used */ To Disable the Hardware Flow Control on BTLC1000. This options will disable the patch download and only use the primary UART. If the BTLC1000 primary UART is either it can be eFused to enable the Hardware flow control or without Hardware flow control with 2-Wire Mode. 30 3 ATBTLC1000 BluSDK v5.0 Release Notes 0 busConfig.bus_flow_control_enabled = false; // Disable flow control To Enable the Hardware Flow Control on BTLC1000. This mode will enable the additional UART to enable the Flow Control option on BTLC1000. It’s similar to 6-Wire Mode. busConfig.bus_flow_control_enabled = true; // Enable flow control Refer supplied: AT_BLE_API_USER_MANUAL.chm for more information 2. Hardware Configurations a. L21 Extension header has been changed from EXT2 to EXT1 with Chip_Enable PIN modification from PIN-10 to PIN-4 b. In case of G55, loose wires needs to be connected to support UART HARDWARE FLOW CONTROL and also efuse settings needs be modified as specified below. Below table specify SAMG55 4-Wire Mode UART FLOWCONTROL connection details SAMG55 XPro (EXT1 header) BTLC1000 XPro Header Wakeup(EXT1-PIN4) Connects to => PIN6 Chip Enable (EXT1-PIN10) Connects to => PIN10 MCU Rx(EXT1-PIN13) Connects to => PIN13 MCU Tx(EXT1-PIN14) Connects to => PIN14 MCU RTS(EXT1-PIN5) Connects to => PIN11 MCU CTS(EXT1-PIN6) Connects to => PIN12 GND-EXT1-PIN19 Connects to => PIN19 VCC-EXT1-PIN20 Connects to => PIN20 Atmel BluSDK v5.0 Release Notes 31 3 1 11.1 BTLC1000 Hardware Flow control 4-Wire Mode E-Fuse Write Procedure When writing data to the eFuse, data written can never be changed (i.e. if a value 1 is written to a specific eFuse, those contents can never revert back to its original value. To configure the eFuse controller for accessing the eFuse contents, the user must enter the valid arguments for eFuse configuration. 1. Connect SAM-ICE to J108 header and connect BTLC1000 XPRO to any MCU board to power it up. Refer below assembly drawing picture for J108 location. Ensure that BTLC1000 chip enable and Wakeup pin driven high throughout the entire eFuse process. 2. Remove the U102, R116, and R117 on BTLC1000 XPRO to disconnect the temperature sensor chip from the GPIOs used for flow control as shown below (Highlighted in Red – refer 3D view XPro board) 3. The supplied command line Tool (EfuseBlockProgram.exe) is used to write the BTLC1000 eFuse to configure flow control signals. 4. Invoking help information from EfuseBlockProgram, enter “EfuseBlockProgram.exe -h” in the command line. 32 3 ATBTLC1000 BluSDK v5.0 Release Notes 2 5. Reading the eFuse value Command Syntax: EfuseBlockProgram.exe –v <Bank No> <Block No> Bank No - Range from 0 to 5 Block No - Range from 0 to 3 ‘-v’ - For verification of a programmed block For BTLC1000 UART Hardware Flowcontrol 4-Wire Mode the Bank-5, Block-3 needs to be configured. To Read the BTLC1000 UART Hardware Flowcontrol efuse configuration use command “EfuseBlockProgram.exe –v 5 3”. The example output shown below for reading the eFuse 6. Writing and verifying the BTLC1000 eFuse value Atmel BluSDK v5.0 Release Notes 33 3 3 When writing data to the eFuse, data written can never be changed (i.e. if a value 1 is written to a specific eFuse, those contents can never revert back to its original value. To configure the eFuse controller for accessing the eFuse contents, the user must enter the valid arguments for eFuse configuration. EfuseBlockProgram.exe <Bank No> <Block No> <Reg Value in HEX> -v Bank No - Range from 0 to 5 Block No - Range from 0 to 3 Reg Value - eFuse to be configure in Hex ‘-v’ - For verification of a programmed block To enable BTLC1000 UART Hardware Flowcontrol 4-Wire Mode the Bank-5, Block-3 needs to be written 10000000 (Inputs are in hex). The example write configuration to enable the Hardware Flowcontrol shown below. 34 3 ATBTLC1000 BluSDK v5.0 Release Notes 4 12 Annexure -3 - ASF installation instructions for AS 7.0 The below is the step by step procedure to do clean installation on new Atmel Software Framework into Atmel Studio 7.0 12.1 Installation Steps for VSIX File 1. Click Tools Extensions and Updates 2. Select “Atmel Software Framework” and press ‘Uninstall’ Atmel BluSDK v5.0 Release Notes 35 3 5 3. Press “Yes” to Uninstall the Atmel Software Framework 4. Click Tools->Command Prompt 5. Install using cmd Prompt and type below in command prompt and then Press “Yes” in next dialog box Format: vsixinstaller.exe [vsix_path\][filename.vsix] Example: vsixinstaller.exe C:\BTLC1000\as-asf-vsix-7.0.352-win32.win32.x86.vsix 36 3 ATBTLC1000 BluSDK v5.0 Release Notes 6 6. Press “Install” to continue the installation 7. Press “Close” and restart the Atmel Studio 7.0 Atmel BluSDK v5.0 Release Notes 37 3 7 13 ATMEL EVALUATION BOARD/KIT IMPORTANT NOTICE AND DISCLAIMER This evaluation board/kit is intended for user's internal development and evaluation purposes only. It is not a finished product and may not comply with technical or legal requirements that are applicable to finished products, including, without limitation, directives or regulations relating to electromagnetic compatibility, recycling (WEEE), FCC, CE or UL. Atmel is providing this evaluation board/kit “AS IS” without any warranties or indemnities. The user assumes all responsibility and liability for handling and use of the evaluation board/kit including, without limitation, the responsibility to take any and all appropriate precautions with regard to electrostatic discharge and other technical issues. User indemnifies Atmel from any claim arising from user's handling or use of this evaluation board/kit. Except for the limited purpose of internal development and evaluation as specified above, no license, express or implied, by estoppel or otherwise, to any Atmel intellectual property right is granted hereunder. ATMEL SHALL NOT BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMGES RELATING TO USE OF THIS EVALUATION BOARD/KIT. ATMEL CORPORATION 1600 Technology Drive San Jose, CA 95110 USA 38 3 ATBTLC1000 BluSDK v5.0 Release Notes 8