0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
SPBT3.0DP2

SPBT3.0DP2

  • 厂商:

    STMICROELECTRONICS(意法半导体)

  • 封装:

    Module

  • 描述:

    SPBT3.0DP2

  • 数据手册
  • 价格&库存
SPBT3.0DP2 数据手册
UM2077 User manual SPBT3.0DPx data package Introduction The data package (DP) is an easy to use AT command set embedded in the SPBT3.0DPx ST Bluetooth® module series. It is a user friendly interface that implements the cable replacement and supports communication with smart phones and MFi devices. SPBT3.0DPx modules have the DP firmware with SPP, HID and IAP2 (iPOD accessory protocol) services for communication with smart phones and Apple iOS Bluetooth enabled devices. The modules with their embedded DP firmware have been qualified by Bluetooth® SIG. (For more information about Qualified Design Listing and product declaration procedure, visit: https://www.bluetooth.com/develop-with-bluetooth/qualification-listing/ declare-your-product.) UM2077 - Rev 4 - February 2018 For further information contact your local STMicroelectronics sales office. www.st.com UM2077 Acronyms and abbreviations 1 Acronyms and abbreviations Table 1. List of acronyms Term ASM Description active status mode ASCII American standard code for information interchange – a standard describing encoding of characters; the use in this document is strictly US 7-bit BD Bluetooth device BT Bluetooth DCD modem ‘data carrier detect’ signal – indication from a modem that a connection has been made through, for example, a dial-up connection DP data package DSM deep sleep mode DTE data terminal entity, e.g., a computer DTR modem ‘data terminal ready’ signal – indication to a modem that the data terminal is ready for connection DUN dial-up networking (profile) FW firmware GPIO general purpose input-output HCI host controller interface HID human interface device HW hardware iAP2 iAP2 iPOD accessory protocol LAN local area network LMP link manager protocol LPO low power oscillator MITM refers to the ‘man-in-the-middle’ security attack PIN personal identification number SIG Bluetooth special interest group SPP serial port profile UART universal asynchronous receiver-transmitter UM2077 - Rev 4 page 2/71 UM2077 Data package firmware interface overview 2 Data package firmware interface overview The DP firmware is a cable replacement application that provides communication between Bluetooth-enabled devices. A serial port is used to communicate with a host device through an AT command interface as shown below. Figure 1. Communication between module and host HOSTdevice (i.e. STM32F4xx) SPBT3.0DPx Bluetooth devices application board The AT command firmware provides: • serial port profile (SPP) support for both client and server applications • iPOD accessory protocol (iAP2) support for communication with Apple iOS Bluetooth-enabled devices • human interface device (HID) profile for keyboard or mouse roles. An HID connection can co-exist with SPP, or iAP2 connection • command and bypass modes; it is possible to switch between command and bypass (data transmit/receive) modes during an active connection • security through bonding and data encryption • module low power modes; it is possible to switch between active status mode and deep sleep mode to reduce power consumption when the module is not connected • BT connection mode; it is possible to set a connection to sniff mode to reduce power consumption UM2077 - Rev 4 page 3/71 UM2077 Data package command list 3 Data package command list The following table lists all the DP commands with links to behavior, syntax, and response details. Table 2. DP command list summary Command UM2077 - Rev 4 Description DP version AbortDiscovery Quit discovery mode 2.1 AutoReconnect Enable/disable auto-reconnect mode 2.0 (1) AutoReconnectSetup Set auto-reconnect configuration settings 2.0 (1) Bond Initiate bonding entry 2.0 BtcVersion BT chip version 2.0 Build Return current firmware build ID number 2.0 Bypass Enter data bypass mode 2.0 CancelConnect Abort connection set-up initiated by module 2.2 ChangeBaud Change host interface baud rate 2.0 ChangeDefaultBaud Change the default host interface baud rate 2.0 Config Return/set a configuration variable 2.0 CpTest Test connection with MFi Co-Processor 2.0 DefaultLocalName Change default device local name 2.0 DeleteAutoReconnect Delete auto-reconnect configuration settings 2.0 DisableBond Disable or deny a bonding with a specific device 2.0 Discovery Discover and list in range device 2.0 EnableBond Enable bonding with a specific device 2.0 EraseBondTable Erase all the entry from the bonding table 2.0 ExitSniff Switch device from sniff to normal mode 2.0 Factory Reset factory settings 2.0 FWVersion Return current module FW version 2.0 GetBDAddress Read local BT address 2.0 GetRSSI Get RSSI of current Bluetooth connection 2.1 GPIOConfig Config GPIO as input or output 2.0 (1) GPIORead Read GPIO status 2.0 GPIOWrite Set GPIO high or low 2.0 HIDConnect Initiate a HID connection with the specified device 2.0 HIDDisconnect Close the HID connection 2.0 HIDIntSend Send HID report in interrupt mode 2.0 page 4/71 UM2077 AbortDiscovery Command Description DP version HostEvent Enable/disable transmission of “ATAB ..” event to host 2.0 HWVersion Return current module HW version 2.0 iAP2AppLaunchReq Send request to launch associated app 2.0 IAP2Connect Initiate connection versus specified IOS device 2.0 IAP2Disconnect Disconnect by current iOS device 2.0 LocalName Temporally change device local name 2.0 PassKey Provide MITM authentication passkey 2.2 PassKeyAccept Accept MITM confirmation code 2.0 ReadClock Reads the piconet clock of the local or remote device 2.1 RemoteName Get friendly name of remote device 2.2 Reset Do a master SW reset 2.0 RoleSwitch Switch from/to master or slave role 2.0 ShowConnection Show active data link 2.0 ShowDev Show list of bonding table 2.0 Sniff Switch device from normal to sniff mode 2.0 SPPConnect Initiate an SPP connection with specified device 2.0 SPPDisconnect Close SPP connection with specified device 2.0 StartFwUpdate Start FW update procedure 2.0 UpdateInquiryScan Allow modification of inquiry scan parameters (i.e. time) 2.0 UpdatePageScan Allow modification of page scan parameters (i.e. time) 2.0 VarVersion Return current version of configuration variable 2.0 Version Return current version of AT command interface 2.0 1. Additional configuration options added in DP version 2.2. 3.1 AbortDiscovery The AbortDiscovery command is used to stop Discovery operation initiated by Discovery command. 3.1.1 Syntax AT+AB AbortDiscovery 3.1.2 Responses • UM2077 - Rev 4 AT-AB InquiryAbortDone page 5/71 UM2077 AutoReconnect 3.2 AutoReconnect This command enables/disables auto-reconnect mode. When enabled, the module tries to open an SPP or iAP2 connection automatically with a target device. The parameters of the auto-reconnect mode are configured with the AutoReconnectSetup commands. AutoReconenct status is stored into not volatile memory, so it is kept even after reset, or power cycle. 3.2.1 Syntax AT+AB AutoReconnect [enable/disable] AT+AB AutoReconnect [enable/disable] [first/last] Where: [enable/disable] is either: • enable (or e) to enable the auto-reconnect mode • disable (or d) to disable the auto-reconnect mode [first/last] is either: • • 0: First connected device after Enable command is auto-reconnected 1: Last device connected before reset/power cycle is auto-reconnected This parameter is optional and available only since DP version 2.2. If not provided it is assumed 0 (first). 3.2.2 Responses If the request is successfully submitted, the response is: • AT-AB AutoReconnectDone Enabled or AT-AB AutoReconnectDone Disabled 3.3 AutoReconnectSetup This command configures the auto-reconnect parameters, which are stored in non-volatile memory. 3.3.1 Syntax AT+AB AutoReconnectSetup [interval] AT+AB AutoReconnectSetup [interval][attempts] AT+AB AutoReconnectSetup [interval][attempts][BD Address][Type] Where: [interval] is the pause in seconds between attempts. Note that a page attempt is skipped if there is already a Bluetooth activity (discovery, active connection, connection setup) in progress. [attempts] is the number of pages attempted to the specified device until a connection is successful. A value of 2000 will perform unlimited pages. [BD Address] is the BD address of the remote device to page and attempt to connect [Type] can be: • • • “SPP” to indicate an SPP connection “iAP2” to indicate an iAP2 connection “HID” to indicate an HID connection (available only since DP version 2.2) If parameters [BD Address] and [Type] are not specified, the module uses the first or last device that connected after the enabling of auto-reconnect. The selection between first or last is provided by Autoreconnect command. If last device mode is selected, autoreconnect will be activated only after reset/power cycle. UM2077 - Rev 4 page 6/71 UM2077 Bond 3.3.2 Responses If the request is successfully submitted, the response is: • AT-AB AutoReconnectSetupDone 3.4 Bond This command initiates bonding with a specified device. A personal identification number (PIN) is also required with this command. The bond table contains up to 100 devices. The first device after the hundredth overwrites the oldest one on the list. 3.4.1 Syntax AT+AB Bond [BD Addr] [PIN] Where: [BD addr] is the BD address of the remote device to bond with [PIN] is the PIN code to use (up to 16 characters) 3.4.2 Responses If the request is successfully submitted, the response is: • AT-AB BondPending [Remote BD Addr] If the operation is successful, the response is: • AT-AB BondOk If the operation fails, the response is: • AT-AB BondFail 3.5 BtcVersion This command returns the current ID of the Bluetooth controller chip. 3.5.1 Syntax AT+AB BtcVersion 3.5.2 Responses If the embedded BT front end controller is working properly, the response is formatted as: • /00 Table 3. BtcVersion parameter details UM2077 - Rev 4 Parameter ID Parameter detail Size HCI version 8 bit HCI revision 16 bit LMP ID 8 bit Manufacturer name 16 bit LMP subversion ID 16 bit page 7/71 UM2077 Build 3.6 Build This command returns the current build ID of the application firmware. 3.6.1 Syntax AT+AB Build 3.6.2 Responses If the operation is successful, the response is: • AT-AB DataPackage FW Build [date].[M.m.p] Where: [date] is the date code (yymmdd) of the application firmware [M.m.p] Major FW version, minor FW version and point version 3.7 Bypass This command returns the DP FW interface to bypass mode if a connection is still available. It can be used to change a setting after a connection has been made (such as the UART baud rate). If the module does not have a connection, it responds as if the connection were down. 3.7.1 Syntax AT+AB Bypass 3.7.2 Responses If a connection is still available, the response is: • AT-AB -BypassModeIf a connection is not available or is closed from the connected device, then the module returns: • AT-AB ConnectionDown 3.8 CancelConnect This command aborts on-going connection set-up initiated by module. 3.8.1 Syntax AT+AB CancelConnect 3.8.2 Responses If there is connection attempt running, the response is: • AT-AB SPPConnectionClosed or AT-AB iAP2ConnectionClosed • AT-AB ConnectionDown If there is no connection attempt running, the response is: • AT-AB ErrExecute no connection attempt running 3.9 ChangeBaud The host sends the ChangeBaud command to change the local UART rate to a new speed identified by the host. This setting only remains in effect during the current session until reset. UM2077 - Rev 4 page 8/71 UM2077 ChangeDefaultBaud 3.9.1 Syntax AT+AB ChangeBaud [rate] Where [rate] is the new baud rate (300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600 or 2000000). 3.9.2 Responses If the change is accepted, the response is: • AT-AB Baudrate Changed The actual change is effective after the response is transmitted. The original baud rate is restored on the following reboot. If the rate indicated is not one of the above or not usable, the system returns: • AT-AB ERRInvalidParameter 3.10 ChangeDefaultBaud The host sends the ChangeDefaultBaud command to change the default UART rate to a new speed identified by the host. This command overrides the default baud rate through the dynamic configuration script, so the device does not require reprogramming to update this setting and the new baud rate applies until the device is either reprogrammed or another ChangeDefaultBaud command is issued. The new baud rate does not take effect until the device is reset. To change the baud rate of the current session, use the ChangeBaud command. 3.10.1 Syntax AT+AB ChangeDefaultBaud [rate] Where [rate] is the new baud rate (300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600 or 2000000). 3.10.2 Responses If the change is accepted, the response is: • AT-AB Baudrate Changed If the rate indicated is not one of the above or not usable, the system returns: • AT-AB ERRInvalidParamter 3.11 Config This command retrieves or sets a configuration variable. 3.11.1 Syntax AT+AB Config with no parameter returns a dump of the variables with corresponding values AT+AB Config [variable name] returns the value of the specified variable AT+AB Config [variable ID] returns the value of the specified variable ID UM2077 - Rev 4 page 9/71 UM2077 CpTest AT+AB Config [variable name] = [variable value] sets the value of [variable name] to [variable value] AT+AB Config [variable ID] = [variable value] sets the value of [variable ID] to [variable value] A new variable value is stored in Flash and loaded when the firmware starts, so a new value is only applied after the following reset. Writing to Flash is a delicate operation and can take hundreds of milliseconds. You must wait for the “AT-AB ConfigOk” response before resetting the module. If the operation is aborted by power loss or reset, the parameters are invalidated and the factory configuration is used (default values). In that case, the module at power on/reset sends the following events with the factory baudrate ( = 115200) to the host: [RX] - AT-AB ErrExecute -Invalid Configuration[RX] - AT-AB ResetPending [RX] - AT-AB -CommandMode[RX] - AT-AB BDAddress 0080e1ba001b Tip: if the module at power on seems not responding at your expected baudrate (different from factory 115200 baudrate), a factory reset may have occured due to a previous power loss.. In this case, you may need to check at 115200 bps, and in case set again the configuration variables you need to customize (DeviceName, UartBaudrate, StreamingSerial, etc…). Refer to Section 5 Variable definitions for full details regarding configuration variables. 3.11.2 Responses The AT+AB Config command returns a full dump of all the configuration variables. Successful commands issued to set a specific parameter return: • AT-AB ConfigOK Successful commands get a specific parameter return: • [variable ID][variable name] = [variable value] Incorrect or unacceptable parameters return: • AT-AB ErrInvalidParam 3.12 CpTest The CpTest command is used to test the connection with the MFi Co-processor. 3.12.1 Syntax AT+AB CpTest 3.12.2 Responses If the operation is successful, the response is: • AT-AB CP Device Version: 0x05 • AT-AB CP Firmware Version: 0x01 • AT-AB CP Authentication protocol Major version: 0x02 • AT-AB CP Authentication protocol Minor version: 0x00 UM2077 - Rev 4 page 10/71 UM2077 DefaultLocalName • AT-AB CP Device ID: 0x00000200 If the operation is not successful, the response is: • AT-AB CP Address Fail 3.13 DefaultLocalName This command sets the BT Classic name of the device to the name that is reported during device discovery. By default, the DP FW interface uses “STBTC3.0 Module”. This command permanently changes the local name, unlike Section 3.35 LocalName . 3.13.1 Syntax AT+AB DefaultLocalName [name] Where [name] is the new, case sensitive, local name string (up to 40 characters). The name is assumed to be all text up to the end of the command, including spaces. 3.13.2 Responses If the operation is successful, the response is: • AT-AB LocalNameOk 3.14 DeleteAutoReconnect This command deletes the auto-reconnect configuration settings. 3.14.1 Syntax AT+AB DeleteAutoReconnect 3.14.2 Responses If the request is successfully submitted, the response is: • AT-AB DeleteAutoReconnectDone 3.15 DisableBond This command prohibits new bonding with a device; it cannot be used while a connection is active. 3.15.1 Syntax AT+AB DisableBond 3.15.2 Responses If the operation is successful, the response is: • AT-AB BondDisabled 3.16 Discovery This command initiates device discovery and returns the number (maximum 10) of responses from nearby devices, followed by the Bluetooth address and name of each responding device. Scanning lasts 10.24 s and devices are listed the same order as the scan results. UM2077 - Rev 4 page 11/71 UM2077 EnableBond 3.16.1 Syntax AT+AB Discovery 3.16.2 Responses When the discovery command is accepted, the response is: • AT-AB InqPending Once the initial inquiry is complete and discovery has started, the response is: • AT-AB DiscoveryPending [num] where [num] is the decimal number (max. 10) of devices found. For each successful name request, the response uses the returned names thus: • AT-AB Device [BD addr] [name] where [BD addr] is in hexadecimal with the most significant byte first and [name] is a string in double quotes " ". For each unsuccessful name request, the corresponding name is “Unknown”. The name request may not be successful if the connection for the request is unsuccessful. • AT-AB Device [BD addr] "Unknown" 3.17 EnableBond This command enables bonding with another device. 3.17.1 Syntax AT+AB EnableBond AT+AB EnableBond [BD addr] AT+AB EnableBond [BD addr] [PIN] AT+AB EnableBond [BD addr] [PIN] [timeout] Where: [BD addr] is the BD address of the remote device for which bonding is enabled. Set FFFFFFFFFFFF to allow any device. [PIN] is the PIN code (up to 16 characters) used for PIN pairing; not used for simple pairing. [timeout] is the duration in seconds (from 1 to 1000) in which the bond can occur. When the timer expires, the bond is disabled and the AT-AB BondDisabled event is sent to the Host. 3.17.2 Responses If the operation is successful, the response is: • AT-AB BondEnabled If bonding has been initiated by a remote device, the notification is: • AT-AB BondPending [BD addr] where [BD addr] is the BD address of the remote device that initiated the bonding. If bonding has occurs, the notification is: • AT-AB BondOk [BD addr] where [BD addr] is the BD address of the remote device with successful bonding. If bonding initiated by a remote device fails, the notification is: UM2077 - Rev 4 page 12/71 UM2077 EraseBondTable • 3.18 AT-AB BondFail EraseBondTable This command indiscriminately erases all of the bonded device entries. 3.18.1 Syntax AT+AB EraseBondTable 3.18.2 Responses If the operation is successful, the response is: • AT-AB BondTableErased 3.19 ExitSniff This command is used by DP FW to switch an SPP connection with a device from sniff mode to active mode. 3.19.1 Syntax AT+AB ExitSniff [BD address] Where [BD address] is the BD address of the device to be switched to active mode. 3.19.2 Responses If the operation is successful, the response is: • AT-AB ActiveMode 3.20 Factory This command restores the factory configuration settings. 3.20.1 Syntax AT+AB Factory 3.20.2 Responses If the request is successfully submitted, the response is: • AT-AB FactoryDone 3.21 FWVersion This command returns the current DP FW version. 3.21.1 Syntax AT+AB FWVersion 3.21.2 Responses If the operation is successful, the response is: • AT-AB FWVersion [M.m.p] UM2077 - Rev 4 page 13/71 UM2077 GetBDAddress Where: [M.m.p] Major FW version, minor FW version and point version 3.22 GetBDAddress This command reads the Bluetooth device address or MAC address of the local device. 3.22.1 Syntax AT+AB GetBDAddress 3.22.2 Responses If the operation is successful, the response is: • AT-AB BD_ADDR = [BD address] 3.23 GetRSSI This command returns RSSI of current Bluetooth connection. 3.23.1 Syntax AT+AB GetRSSI{BD Addr] Where [BD Addr] is the BD address of the connected device. 3.23.2 Responses If connected: • AT-AB RSSI Value: [dB value in decimal] if disconnected: • AT-AB ErrInvalidParam No Connection 3.24 GPIOConfig The GPIOConfig command is used to configure a GPIO pin to input or output. 3.24.1 Syntax AT+AB GPIOConfig [GPIO Pin] [Configuration] AT+AB GPIOConfig [GPIO Pin] [Configuration] [Type] where [GPIO Pin] is the pin number of the desired GPIO to configure. GPIO numbering depends on the specific HW used; the valid range is: • For SPBT3.0DP1 1 to 16 if StreamingSerial=TRUE, 1 to 14 if StreamingSerial=FALSE • For SPBT3.0DP2 1 to 10 if StreamingSerial=TRUE, 1 to 8 if StreamingSerial=FALSE [Configuration] valid values are: ‘I’ or ‘I’ for input and ‘o’ or ‘O’ for output. [Type] The following pin types can be selected with this parameter: a - analog o - open drain output u - internal pull-up enabled d - internal pull-down enabled UM2077 - Rev 4 page 14/71 UM2077 GPIORead r - interrupt on rising edge - internal pull-down enabled f - interrupt on falling edge - internal resistor disabled rf - interrupt on rising and falling edge - internal resistor disabled When interrupt is triggered, the following AT message is sent: AT-AB GPIO XX=0/1 GPIO3 cannot be used as interrupt (it clashes with GPIO8) If optional parameter [Type] is not specified than GPIO is configured as: PushPull if output Input no-pull if input 3.24.2 Responses If the operation is successful, the response is: • AT-AB GPIOConfigDone If an incorrect parameter is passed to the module, it returns: • AT-AB ErrInvalidParam 3.25 GPIORead This command reads a GPIO pin. A GPIO may be read while configured as either an input or output. 3.25.1 Syntax AT+AB GPIORead [GPIO Pin] where [GPIO Pin] is the pin number of the desired GPIO to read. GPIO numbering depends on the specific HW used; the valid range is: • For SPBT3.0DP1 1 to 16 if StreamingSerial=TRUE, 1 to 14 if StreamingSerial=FALSE • For SPBT3.0DP2 1 to 10 if StreamingSerial=TRUE, 1 to 8 if StreamingSerial=FALSE 3.25.2 Responses If the operation is successful, the response is: • AT-AB GPIOReadDone [result] Where [result] is either 1 to indicate high, or 0 to indicate low. If an incorrect parameter is passed to the module, it returns: • AT-AB ErrInvalidParam 3.26 GPIOWrite This command sets a GPIO pin high or low. A GPIO may only be set when configured as an output. 3.26.1 Syntax AT+AB GPIOWrite [GPIO Pin] [Setting] Where: [GPIO Pin] is the pin number of the desired GPIO to write. GPIO numbering depends on the specific HW used. [Setting] is a 1 to set a pin to high and a 0 to set a pin to low. 3.26.2 Responses If the operation is successful, the response is: • AT-AB GPIOWriteDone UM2077 - Rev 4 page 15/71 UM2077 HIDConnect 3.27 HIDConnect The HIDConnect command is used to initiate a HID connection with the specified host device. The remote BD address must be specified. 3.27.1 Syntax AT+AB HIDConnect [BD Addr] Where [BD Addr] is the remote device’s BD address to connect 3.27.2 Responses If the connection is successful, the response is: • AT-AB HIDConnectionUp If the connection cannot be completed, the response is: • AT-AB HIDConnectionClosed 3.28 HIDIntSend The HIDIntSend command is used to send HID reports to the remote hid host. 3.28.1 Syntax AT+AB HIDIntSend [report] Where [report] parameter is dependent upon the enabled device type. For Keyboard device [report] is 2 two bytes hex values (4 characters). It is a simplified keyboard that does not support setting status LEDs and allow only one simultaneous key press (except modifiers): 1st byte: modifiers keys status: Bit0: CTRL Left. Bit1: SHIFT Left. Bit2 : ALT Left. Bit3: GUI Left. Bit4: CTRL Right. Bit5: SHIFT Right Bit6: ALT Right. Bit7: GUI Right. Bit value: 1 key pressed. 0 key released 2nd byte: key code specified in Usage Page of USB keyboard (section 10 of document “USB HID usage tables” ver 1.12): www.usb.org/developers/hidpage/Hut1_12v2.pdf Example (press and release Enter key): at+ab hidIntSend 0028 at+ab hidIntSend 0000 Example (press Shift, then press ’e’, then release both keys): at+ab hidIntSend 0200 at+ab hidIntSend 0208 at+ab hidIntSend 0000 For Mouse device [report] is a 3 bytes hex values (6 characters): UM2077 - Rev 4 page 16/71 UM2077 HIDDisconnect 1st byte: X axis movement as 2’s complement. (-126, +127). Positive movement is left to right 2nd byte: Y axis movement as 2’s complement. (-126, +127). Positive movement is up to down 3rd byte: buttons status. Bit0: left button. Bit1: central button. Bit2: right button. Bit3-7: must be 0 Bit value: 1: button pressed 0: button released Example (Move pointer right and down by 0x10 pixels. Then left button pressed): at+ab hidIntSend 101000 at+ab hidIntSend 000001 3.28.2 Responses If transmission is successful, the response is • AT-AB HIDIntSent 3.29 HIDDisconnect The HIDDisconnect command is used by DP FW to terminate a connection with the remote host device. 3.29.1 Syntax AT+AB HIDDisconnect 3.29.2 Responses If the connection is successful, the response is • AT-AB HIDConnectionClosed 3.30 HostEvent This command enables or disables notification to the HOST of all the “AT-AB…” event messages, even responses to AT commands. That is to emulate a "true cable replacement". Only data received from remote end are sent to the host. This setting remain in effect during the current session until reset. 3.30.1 Syntax AT+AB HostEvent [enable/disable] 3.30.2 Responses If the operation is successful, and the parameter was “enable”, the response is: • AT-AB HostEvent Enabled If the operation is successful, and the parameter was “disable”, there is no response. 3.31 HWVersion This command returns the current module HW version. UM2077 - Rev 4 page 17/71 UM2077 iAP2AppLaunchReq 3.31.1 Syntax AT+AB HWVersion 3.31.2 Responses If the operation is successful, the response is: • AT-AB HWVersion [M.m] Where: [M.m] Major HW version, minor HW version 3.32 iAP2AppLaunchReq This command is used by the DP FW to send the request to the Apple device to launch the App defined with the iAPAppBundleID configuration variable. The iAP2 connection must already be established. 3.32.1 Syntax AT+AB iAP2AppLaunchReq 3.32.2 Response If the request is sent to the apple device, the response is • AT-AB IAP2AppLaunchDone If the iAP2 connection is not established, the response is: • AT-AB ErrExecute -iAP2 not connectedIf the iAPAppBundleID configuration variable is invalid, the response is: • AT-AB ErrExecute -Invalid iAPAppBundleID- 3.33 IAP2Connect This command is used by DP FW to initiate a connection with the specified Apple iOS device. The remote BD address must be specified. 3.33.1 Syntax AT+AB IAP2Connect [BD Addr] Where [BD Addr] is the BD address of the iOS remote device to page. 3.33.2 Responses If the connection is successful, the response is: • AT-AB ConnectionUp [Remote BD Addr] • AT-AB -iAP2-BypassModeIf the connection cannot be completed, the response is: • AT-AB iAP2ConnectionClosed 3.34 IAP2Disconnect This command is used by DP FW to terminate a connection with the remote Apple iOS device. UM2077 - Rev 4 page 18/71 UM2077 LocalName 3.34.1 Syntax AT+AB IAP2Disconnect 3.34.2 Responses If the connection is successful, the response is • AT-AB iAP2ConnectionClosed 3.35 LocalName This command is used to set the name of the device to the name that is reported during device discovery. Changing the name using this command does not permanently change the local name. 3.35.1 Syntax AT+AB LocalName [name] Where [name] is a string for the new local name (up to 40 characters). The name is all the text up to the end of the command, including spaces. 3.35.2 Responses If the operation is successful, the response is: • AT-AB LocalNameOk If [name] is not valid (i.e., too long or empty) the following error message is returned: • 3.36 AT-AB ErrInvalidParam PassKey This command is used to provide authentication code for MITM protected pairing. The command must be sent as a response to the event AT-AB PassKeyReq (see Section 4.1 AT events) within 40 seconds. 3.36.1 Syntax AT+AB PassKey [Code] Where [Code] is a 6 decimal digit code (i.e. 123456) 3.36.2 Responses There is no response. If the operation is successful the module is bonded. 3.37 PassKeyAccept This command is used to accept the MITM confirmation code, automatically generated during the bonding phase, when MITM protection is required. In that case this command is necessary to complete pairing. 3.37.1 Syntax AT+AB PassKeyAccept [y/n] Example for confirmation: AT+AB PassKeyAccept y UM2077 - Rev 4 page 19/71 UM2077 ReadClock Example for denying confirmation: AT+AB PassKeyAccept n 3.37.2 Responses There is no response. If the operation is successful the module is bonded. This command must be sent as a response to the AT-AB PassKeyConfirmReq [PASSKEY] (see Section 4.1 AT events) within 30 seconds, otherwise the module assumes: AT+AB PassKeyAccept n 3.38 ReadClock This command reads the piconet clock of the local or remote device. 3.38.1 Syntax AT+AB ReadClock AT+AB ReadClock [Remote BDAddress] 3.38.2 Response For local clock: • Clock [Local BDAddress] [clock output in HEX] For remote clock: • If connected: – Clock [Remote BDAddress] [clock output in HEX] • if disconnected: – AT-AB ErrInvalidParam No Connection 3.39 RemoteName Get friendly name of remote device. 3.39.1 Syntax AT+AB RemoteName [BD Addr] Where: [BD Addr] is the BD address of the remote device whose name is requested. If connection is in place, [BD Addr] must be the one of the connected device. 3.39.2 Responses If the operation is successful, the response is: • AT-AB Device [BD Addr] [name] where [BD Addr] is in hexadecimal with the most significant byte first and [name] is a string in double quotes " ". If the operation is not successful, the response is: • AT-AB Device [BD Addr] "Unknown" Note: UM2077 - Rev 4 If [BD Addr] is neither in bond table, nor discovery table, a connection to the device is attempted, if not in place already. In this case, successful operation includes connection/disconnection events: page 20/71 UM2077 Reset • • • 3.40 AT-AB ConnectionUp [BD Addr] AT-AB Device [BD Addr] [name] AT-AB ConnectionDown Reset This command resets the DP FW interface; it is provided in the event that a host application wants to perform a software reset for error recovery. There is a response prior to reset in order to verify that the command was received by the DP FW interface. 3.40.1 Syntax AT+AB Reset 3.40.2 Responses If the operation is successful, the response is: • AT-AB ResetPending 3.41 RoleSwitch This command changes a link from/to a master or slave role 3.41.1 Syntax AT+AB RoleSwitch [bd address][role] Where [bd address] is the address of the remote device that receives the role switch. [role] is the required device role: 0: Master 1: Slave 3.41.2 Responses If the operation is successful, the response is: • AT-AB RoleSwitchDone [NewRole] Where [NewRole] can be master or slave • 3.42 AT-AB ErrExecute when there is no connection, or connection is in sniff mode ShowConnection This command is used to display the details of active links. 3.42.1 Syntax AT+AB ShowConnection 3.42.2 Responses Reply format with active connection: • Channel ID, Remote Device BD Address, Status, Profile • 0, 4cb199dccd22, Connected, SPP Reply without active connection: • No Device Connected UM2077 - Rev 4 page 21/71 UM2077 ShowDev 3.43 ShowDev This command lists the contents of the bond table. 3.43.1 Syntax AT+AB ShowDev 3.43.2 Responses This command returns the list of all the bonded devices with their BD address. If the bonding table has no items, it returns: • AT-AB BondTableEmpty 3.44 Sniff This command is used by DP FW to switch the status of the current connection from active mode to sniff mode. 3.44.1 Syntax AT+AB Sniff [BD address] [Sniff Interval Min] [Sniff Interval Max] [Attempts] [Tim eout] Where: [BD address] is the BD address of the connected device to be switched to sniff mode. [Sniff Interval Min] is the minimum acceptable interval between each consecutive sniff period. [Sniff Interval Max] is the maximum acceptable interval between each consecutive sniff period. Value is given in slots from 2 to 65534. Each slot has duration of 0.625 ms. If not specified, the value of configuration variable AutoSniffIntMax is used. [Attempts] The number of master-to-slave transmission slots during which a device should listen for traffic, from 1 to 32768. If not specified, the value of configuration variable AutoSniffAttempts is used. [Timeout] The amount of time before a sniff radio timeout occurs. Expressed in 1.25 ms increments. Range between 0 and 32768. If not specified, the value of configuration variable AutoSniffRadioTimeout is used. Example sniff command: at+ab sniff 0CB319BD8270 500 1000 100 50 3.44.2 Responses If the operation is successful, the response is: • AT-AB SniffMode 3.45 SPPConnect This command initiates a connection with the specified device, specifying the remote BD address. The remote service is optional. If not specified, the first registered SPP service is used. 3.45.1 Syntax AT+AB SPPConnect [BD Addr] Where [BD Addr] is the BD address of the remote device to page. 3.45.2 Responses If the connection is successful, the response is: UM2077 - Rev 4 page 22/71 UM2077 SPPDisconnect • • AT-AB ConnectionUp [BD Addr] AT-AB -BypassMode- If the connection cannot be completed, the response is: • AT-AB SPPConnectionClosed 3.46 SPPDisconnect This command terminates a connection with the remote device. 3.46.1 Syntax AT+AB SPPDisconnect 3.46.2 Responses If the connection is successful, the response is: • AT-AB SPPConnectionClosed 3.47 StartFwUpdate This command can be issued to start the FW update procedure. It is software alternative to using the Boot pin to set the SPBT3.0DPx module in Bootloader mode. 3.47.1 Syntax AT+AB StartFwUpdate 3.47.2 Responses If the command execution is successful, the response is: • AT-AB Fw Update Started After sending the response, the module enters Bootloader mode. If the firmware download procedure is not started within 30 seconds, a reset is triggered and the firmware restarts. Refer to the firmware update procedure in the datasheet for details. 3.48 UpdateInquiryScan The command modifies the inquiry scan parameters: mode, duration and interval. 3.48.1 Syntax AT+AB UpdateInquiryScan [mode] AT+AB UpdateInquiryScan [mode] [duration] [interval] Where [mode] is the discoverable mode: • • 0: non-discoverable 2: discoverable [duration] is the scan length in slots; 18 to [interval]. The default duration is 18 slots. This parameter is optional. [interval] is the period between scans in slots; 18 to 4096. The default interval is 2048 slots. This parameter is optional. This parameter is optional. UM2077 - Rev 4 page 23/71 UM2077 UpdatePageScan The duration of one slot is 0.625 ms. Both optional parameters have to be included or excluded in the command. It is not possible to specify just one of the two optional parameter. 3.48.2 Responses If the command is successful, the response is: AT-AB InquiryScanUpdateDone 3.49 UpdatePageScan The UpdatePageScan command is used to modify the page scan parameters: mode, duration, and interval. 3.49.1 Syntax AT+AB UpdatePageScan [mode] AT+AB UpdatePageScan [mode] [duration] [interval] where [mode] is the connectable mode: • • 0: non-connectable 1: connectable [duration] is the scan length in slots from 18 to [interval]. The default duration is 18 slots. This parameter is optional. [interval] is the period between scans in slots from 18 to 4096; the default interval is 2048 slots. This parameter is optional. The duration of one slot is 0.625 ms. Both optional parameters must either be included or excluded together; you cannot just specify one of the two. 3.49.2 Responses If the command is successful, the response is: • AT-AB PageScanUpdateDone 3.50 VarVersion This command returns the current version of the DP configuration variable. 3.50.1 Syntax AT+AB VarVersion 3.50.2 Responses If the operation is successful, the response is: AT-AB VarVersion [M.m] Where: [M.m] Major version and minor version of the configurable variable 3.51 Version This command returns the current version of the DP AT command interface. UM2077 - Rev 4 page 24/71 UM2077 Version 3.51.1 Syntax AT+AB Version 3.51.2 Responses If the operation is successful, the response is: • AT-AB DataPackage Ver [M.m] Where: [M.m] Major version and minor version of the AT command interface. UM2077 - Rev 4 page 25/71 UM2077 Event handling 4 Event handling 4.1 AT events The table below list the events that the module can send to the host. Table 4. Event description details Event Event detail AT-AB –CommandMode- Module returned or entered command mode AT-AB ConnectionUP [ADDR] SPP connection has been established successfully with a device with [ADDR] address AT-AB ConnectionDown BT connection has been closed AT-AB SPPConnectionClosed SPP connection has been closed AT-AB iAP2ConnectionClosed iAP2 connection has been closed accessory stopped the connection accessory is out of range AT-AB ACCSessionStarted External accessory session has been started. AT-AB ACCSessionStopped External accessory session has been stopped. Possible reason: accessory stopped the connection accessory is out of range AT-AB -BypassMode- Module is now connected and in SPP bypass mode AT-AB -iAP2-BypassMode- Module is now connected and in iAP2 bypass mode AT-AB iAP2ConnectionUp iAP2 authenticated connection is up AT-AB ErrExecute Module internal error notification (1) AT-AB PassKeyConfirmationReq [PASSKEY] Module is requesting the host to confirm the validity of the indicated [PASSKEY] Host must answer as reported in Section 3.37 PassKeyAccept AT-AB PassKeyReq Module is requesting the host to enter 6 digits PassKey AT-AB BondFail A new association has failed to complete AT-AB BondOk A new association has completed successfully AT-AB BondPending An association process is in progress AT-AB RemoteMode Module entered remote mode AT-AB HIDConnectionUP HID connection with remote host is established. HIDIntSend commands can be used AT-AB HIDConnectionClosed HID connection is closed AT-AB GPIOXX=0/1 Interrupt on a GPIO pin (enabled via GPIOConfig) is detected 1. AT-AB ErrExecute -Fatal Error- signals occurrence of unrecoverable error due to conflict between outgoing connection tried at same time of an incoming connection. The error can eventually happen only after SPPConnect, iAP2Connect commands or Autoreconnect enabled. After the error, a module reset is automatically triggered. UM2077 - Rev 4 page 26/71 UM2077 Variable definitions 5 Variable definitions This section lists the variables handled by the SPBT3.0DPx module to configure the correct behavior for the specific application scenario. As already mentioned, each variable is accessible via the AT+AB Config command. Variables are saved in internal non-volatile memory and any changed values are loaded on system reset. Below is an example showing a variable change to configure the UART BaudRate: Table 5. Sample configuration sequence Direction Host TX Command Note AT+AB Config UartBaudrate Module TX var7UartBaudrate = 115200 Host TX at+ab config uartbaudrate=921600 Module TX AT-AB ConfigOK Host TX Read actual UART configuration (115200) Change the UART bit rate to 921600 Change acknowledgment AT+AB Reset Reset the module. This reloads the new variable value Module TX AT-AB ResetPending Host TX AT+AB Config UartBaudrate The host has to reconfigure the baud rate to 921600 in order to be able to communicate with the module Module TX var7 UartBaudrate = 921600 The new UART baud rate has been applied If the specified parameter is not listed, an ErrInvalidParam message is returned. Table 6. List of configuration variables Variable ID Variable Var1 BuildVersion Var3 BD_ADDR Var4 DeviceName Description Default Var BT module build revision 2.0 BT module MAC address (read only) 2.0 BT classic device name shown during connection process. ST BTC3.0 module 2.0 TRUE 2.0 Sequence is case sensitive, maximum length is 40 characters Var5 StreamingSerial Allows the configuration of the UART flow control. When set to: TRUE: flow control is disable FALSE: flow control (CTS and RTS) is enabled Note: disabling the flow control may cause data loss due to data overrun UM2077 - Rev 4 page 27/71 UM2077 Variable definitions Variable ID Variable Var6 PIN Description Code used for pairing (4 - 16 characters). Default Var 1234 2.0 115200 2.0 NONE 2.0 8 2.0 1 2.0 FALSE 2.0 Sequence is case sensitive Var7 UartBaudrate Main UART BaudRate: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600 or 2000000 It should be set based on the application specific requirements. This parameter must be tuned accordingly with the CPU frequency (CpuMHz) Var8 UartParity Main UART parity. It may be configured as one of the following: NONE EVEN ODD Var9 UartDataBits Main UART DataBits per character. It may be configured as either: 8 9 The new configuration is effective after a SW system reset or a power cycle is performed Var10 UartStopBits Main UART StopBits per character. It may be configured as either: 1 2 The new configuration is effective after a SW system reset or a power cycle is performed Var12 AutoSniff The AutoSniff functionality when active, allow the system to turn on automatically the sniff feature when there is no data exchange on the BT link. It may be configured as either: FALSE TRUE UM2077 - Rev 4 page 28/71 UM2077 Variable definitions Variable ID Variable Description Default Var Var13 AutoSniffTimeout The inactivity timeout in seconds used for AutoSniff above. 5 2.0 500 2.0 FALSE 2.0 NONE 2.0 If the AutoSniff is enabled, the module will try to set the BT link in sniff mode in case there has not been any data exchange for AutoSniffTimeout seconds. Acceptable range: 1-255 Var14 AutoSniffInterval Var16 HostDeepSleepEnable Minimum acceptable interval between each consecutive sniff period. It may be any even number between 2 and 65534. The value is expressed in 0.625 ms increments (6 = 3.75 ms) Enables/disables the deep sleep mode (DSM) of the module. It may be configured as either: FALSE TRUE See Section 6 Module power modes Var18 GPIO_HostWakeup The GPIO_ HostWakeup variable allows the GPIO pin to be selected and used to switch between mode power modes. It may be configured as one of the following: NONE, 2, 3 (*), 7, 8 (*) See chapter “Module Power Mode” for details. See GPIO table for details UM2077 - Rev 4 page 29/71 UM2077 Variable definitions Variable ID Variable Description Default Var Var25 CpuMHz CpuMHz allows the CPU clock frequency to be configured. It may be configured as: 84 2.0 200404 2.0 13, 16, 26, 42, 46, 50, 64, 84 or100 Increasing the clock allows better performance with higher power consumption. Decreasing the clock reduces performance and consequently power consumption. It must be adjusted according to the application scenarios Var30 COD The variable COD allows Bluetooth class of the device to be specified Up to 6 numeric characters are allowed Var32 HostEvent All “AT-AB …” host events are sent when true TRUE 2.0 Var33 BondingAllowed Enable/disable association with other devices. TRUE 2.0 TRUE 2.0 It may be configured as either: FALSE: rejects any association request TRUE: allows association with new devices Var34 PageScan Configures the page scan mode It may be configured as either: FALSE: page scan disabled. The module is not connectable. TRUE: page scan enabled. The module is connectable. UM2077 - Rev 4 page 30/71 UM2077 Variable definitions Variable ID Variable Var35 InquiryScan Description Configure the inquiry scan mode. Default Var TRUE 2.0 FALSE 2.0 2 2.0 It may be configured as either: FALSE: inquiry scan disabled. The module is not visible. TRUE: inquiry scan enabled. The module is visible. Var37 UseExtLPO Configures the external 32768 Hz LPO. It may be configured as either: FALSE: internal LPO enabled TRUE: external LPO enabled Note that using the external LPO would reduce the power consumption in DSM Var40 DefaultSecurity Configures the security on incoming / outgoing connections: It may be configured as one of the following: 1: Expected: use of pairing with PIN. No "man in the middle" protection. No encryption (legacy device only) 2:Expected: simple secure pairing, encryption, user interaction is acceptable UM2077 - Rev 4 page 31/71 UM2077 Variable definitions Variable ID Variable Description Default Var Var41 DefaultAuth Configures the authentication procedure based on input/output capabilities of the Bluetooth device. 4 2.0 TRUE 2.0 FALSE 2.0 “com.yourcompany.you rApp” 2.0 It may be configured as one of the following: 4: The device is not capable of input output (pass key confirmation by host disabled) 5: The device can display and accept input (pass key confirmation by host enable) 6: The device is only capable of a display 7: The device is a keyboard with no display Var42 EnableIAP2 Enables iAP2 to support IOS devices It may be configured as either: FALSE: iAP2 support disabled TRUE: iAP2 support enabled Var43 AllowSniff Configures the sniff mode. It may be configured as either: FALSE: sniff mode not supported TRUE: sniff mode is supported Var44 iAP2AppID Allows the application ID to be specified and to be associated to the accessory Up to 50 alphanumeric characters are allowed UM2077 - Rev 4 page 32/71 UM2077 Variable definitions Variable ID Variable Var51 RmtEscapeSequence Description Enable remote mode: Default Var FALSE 2.0 FALSE 2.0 “yourcompany” 2.0 “Your Model” 2.0 “your iAP2 SN” 2.0 TRUE: remote mode enabled. Remote escape sequence detection logic is enabled. FALSE: remote mode disabled. Remote escape sequence detection logic is disabled. The remote escape sequence is “@#@$@ %” Var55 MITMEvent Enables/disables the host passkey via UART. It may be configured as either: FALSE: if MITMEvent=FALSE at the other end too, module does not generate the Passkey events to the host TRUE: module generates the passkey events to the host Var60 AccManufacturer Configured the accessory manufacturer identifier exposed while an iOS device is being connected. Up to 20 alphanumeric characters are allowed Var61 AccModelNumber Configured the accessory model identifier exposed while an iOS device is being connected. Up to 20 alphanumeric characters are allowed Var62 AccSerialNumber Configures the accessory host device serial number exposed while an iOS device is being connected. Up to 20 alphanumeric characters are allowed UM2077 - Rev 4 page 33/71 UM2077 Variable definitions Variable ID Variable Description Default Var Var63 EnableSPPRcv Configures the capability of the host to receive data that belong to the SPP profile while the module is in command mode. FALSE 2.0 FALSE 2.0 “your FW version” 2.0 “your HW version” 2.0 It may be configured as either: FALSE: module should not send any data to the host. TRUE: module should send received data to the host. Note that if the module sends data to the host in command mode, the following event is sent before the data: “AT-AB RecvData:” Var64 EnableIAP2Rcv Configures the capability of the host to receive data that belong to the iAP2 profile while the module is in command mode. It may be configured as either: FALSE: module should not send any data to the host. A maximum of 4 data packets are stored and sent out when module switches to bypass mode. If more packets are received, they are dropped. TRUE: module should send received data to the host. Note that if the module sends data to the host in command mode, the following event is sent before the data: “AT-AB RecvData:” Var65 AccFirmwareVersion Configures the accessory host device firmware version. Up to 20 alphanumeric characters are allowed Var66 AccHardwareVersion Configures the accessory host device hardware version. Up to 20 alphanumeric characters are allowed UM2077 - Rev 4 page 34/71 UM2077 Variable definitions Variable ID Variable Description Default Var Var67 AccProductID Configures the unique identifier of the product (assigned by vendor). 0000 2.0 0000 2.0 0000 2.0 0000 2.0 "com.yourcompany.you rApp" 2.0 22 2.0 FALSE 2.0 Unsigned short value to be provided as hex format without ‘0x’ prefix (i.e. ‘abcd’) Var68 AccVersion Configures the software version. Unsigned short value to be provided as hex format without ‘0x’ prefix (i.e. ‘abcd’) Var69 AccVendorID Sets the vendor ID. Unsigned short value to be provided as hex format without ‘0x’ prefix (i.e. ‘abcd’) Var70 AccVendorIDSource Configures the identity of the organization that assigns the vendor ID value. Unsigned short value to be provided as hex format without ‘0x’ prefix (i.e. ‘abcd’) Var72 iAP2AppBundleID Configures IOS application associated to the MFi accessory. Format is reverse DNS notation. To disable the iAP2 AppLaunch feature, set a string shorter than 3 characters (i.e., "a") Var73 CPI2CAddress Configures the I2C address of the CP device as unsigned char hex format. Unsigned short value to be provided as hex format without ‘0x’ prefix (i.e. ‘ab’) Var74 UM2077 - Rev 4 EnableUARTbreak Enables/disables the UART break to switch from ByPass to Command mode page 35/71 UM2077 Variable definitions Variable ID Variable Description Default Var Var75 EnableEscapeSeq Enable/disable the use of the escape sequence in order to switch from command to bypass mode TRUE 2.0 0 2.0 If enabled: The escape sequence is detected. The module sends AT events to the HOST in case of mode switch If disabled: the escape sequence is not detected. The module does not send AT events to the HOST in case of mode switch The escape sequence is “^#^$^%” Var76 GPIO_HostModeInd Defines the GPIO module output pin used by the module to indicate to the host the current operating mode. Acceptable values: NONE, 2, 3, 7, 8 GPIO usage: 0: module is in command mode 1: module is in ByPass mode See Table 8. SPBT3.0DP2 GPIO configuration table. UM2077 - Rev 4 page 36/71 UM2077 Variable definitions Variable ID Variable Var77 GPIO_HostModeSel Description Defines the GPIO module input pin that can be used by the host to select the operating mode (Command or ByPass mode): Default Var NONE 2.0 GPIO usage: Falling edge: if applicable, switch from ByPass to command Mode Rising edge: if applicable, switch from command to ByPass mode See Table 8. SPBT3.0DP2 GPIO configuration table and Table 9. SPBT3.0DP1 GPIO configuration table for the list of acceptable values. Var78 EnableUartBreakInd Controls enabling of UART break as indication to the host of bypass/command mode switch FALSE 2.2 Var79 User_Flag Provides host application non-volatile 1 byte storage FALSE 2.2 Var80 User_Data Provides host application non-volatile 40 characters string storage Your private data 2.2 Var86 EnableSPPSrv TRUE 2.0 “Your Team ID” 2.0 Enables the SPP service. It may be configured as one of the following: FALSE: SPP service disable TRUE: SPP service enable Var87 iAP2TeamID Configures the MFi team ID associated to the app. Up to 50 alphanumeric characters are allowed UM2077 - Rev 4 Var88 EnableHIDKeybd Controls enabling of HID keyboard profile FALSE 2.0 Var89 EnableHIDMouse Controls enabling of HID mouse profile FALSE 2.0 page 37/71 UM2077 Variable definitions Variable ID Variable Var91 AutoSniffIntMax Description Maximum acceptable interval between each consecutive sniff period. Default Var 1000 2.0 100 2.0 20 2.0 May be any even number between 0x0002 and 0xFFFE The value is expressed in 0.625 ms increments (0x0006 = 3.75 ms) Var92 Var93 AutoSniffAttempts The number of masterto-slave transmission slots during which a device should listen for traffic (sniff attempt). Expressed in 0.625 ms increments. Range between 0x0001 and 0x7FFF AutoSniffRadioTimeout The amount of time before a sniff radio timeout occurs. Expressed in 1.25 ms increments. Range between 0x0000 and 0x7FFF Var94 GPIO_FactoryReset Enables the factory reset of the configuration variables using the GPIO8 pin. When TRUE, if GPIO8 is high at next reset, factory configuration is restored. If this function is needed, it is suggested to enable it at first power-on of the module FALSE 2.1 Var95 UartRxPullUp Enables 1.8 V pull-up on the module UART Rx pin. It can be disabled in case the host UART tx pin level is higher than 1.8 V TRUE 2.1 Var96 UartTxOD Manages UART Tx and RTS pins output configuration. FALSE 2.1 TRUE: open drain FALSE: push-pull Note that open drain configuration allows adjustment of the UART tx output signal level to host logic with external pull-up without requiring the level shifter. Maximum tested speed is 115200 baud rate with 4.7 k pull-up to 3.3 V UM2077 - Rev 4 page 38/71 UM2077 Variables dependency 5.1 Variables dependency Some variable correct setting is dependent of the setting of another variable. The list of interdependent variables as follows: • MITMEvent vs DefaultAuth: if DefaultAuth=4, MITMEvent must be FALSE • EnableHIDKeybd vs EnableHIDMouse: If EnableHIDMouse=TRUE, EnableHIDKeybd must be FALSE CPUMHz vs. UartBaudrate: the following table shows the allowed CPUMHz values with respect to baud rate: Table 7. CPUMHz vs. baud rate Baud rate UM2077 - Rev 4 CPUMHz CPUMHz Min. Max. 300 13 16 600 13 26 1200 13 64 2400 13 84 4800 13 100 9600 13 100 19200 13 100 38400 13 100 57600 13 100 115200 13 100 230400 13 100 460800 13 100 921600 16 100 2000000 42 100 page 39/71 UM2077 Module power modes 6 Module power modes The SPBT3.0DPx module has the following power modes: 1. active status mode (ASM) (default mode) 2. deep sleep mode (DSM) DSM mode can only be entered when there is no Bluetooth connection or discovery, pairing, or scanning activity in progress. When the module is in DSM: • the AT command interface is not active GPIO_4 indicates the current module power mode: • 0: indicates that the module is in DSM mode • 1: indicates that the module is in ASM mode 6.1 Enable deep sleep mode To enable the DSM, the GPIO_HostWakeUp and HostDeepSleepEnable variables have to be set. Refer to the tables below for the list of GPIOs that can be used as GPIO_HostWakeUp. /* define the module GPIO to be used by the HOST to enter /exit DSM mode */ AT+AB config GPIO_HostWakeUp = 3 /* enable the DSM mode*/ AT+AB config HostDeepSleepEnable = TRUE 6.2 Host forcing the module to enter DSM To request the module to enter DSM, the HOST must force the GPIO_HostWakeUp pin LOW. 6.3 Host forcing the module to exit DSM To set the module in ASM, the HOST must force the GPIO_HostWakeUp pin HIGH. If the module is in DSM mode and the HOST wants to send an AT command, the module must first be switched to ASM mode. 6.4 Module exit DSM autonomously The module automatically exits DSM if there is a Bluetooth connection or upon discovery, pairing, or scanning activity. Note: UM2077 - Rev 4 If both inquiry scan and page scan are disabled, module cannot exit DSM autonomously. In this case watchdog resets the module after 5 seconds. To avoid watchdog reset, host should wake up the module cyclically with a period smaller than 5 seconds. page 40/71 UM2077 BT connection modes 7 BT connection modes As defined by the SIG, a Bluetooth connection can be set in either: 1. Active mode 2. Sniff mode When a connection is established, it is in active mode by default, but it is possible to exchange data in both modes. To reduce power consumption both the master and the salve can try to set the connection into sniff mode. Both master and slave should support sniff mode otherwise the link always remains in active mode. 7.1 Switch to sniff mode automatically To automatically set a BT link to sniff mode, set the following variables thus: AT+AB config AutoSniff = TRUE AT+AB config AllowSniff = TRUE AT+AB Config AutoSniffTimeout = 5 The module automatically issues a request to switch the Bluetooth link to sniff mode after AutoSniffTimeout seconds of inactivity. 7.2 Switch to sniff mode manually When a connection is established, the HOST can send the “AT+AB Sniff” command to request setting the link to sniff mode. To manually set a BT link to sniff mode, the following variable should be set: AT+AB config AllowSniff = TRUE 7.3 Switch to active mode manually When a connection is in sniff mode, the HOST can send the “AT+AB ExitSniff” command to switch the link to active mode. 7.4 Variables affecting sniff mode Few other variables setting must be considered for sniff mode: • HostDeepsleepEnable=TRUE reduces power consumption in sniff mode • If CPUMHz < 42 MHz, sniff mode works only if UseExtLPO=TRUE UM2077 - Rev 4 page 41/71 UM2077 Module operating modes 8 Module operating modes The module has the following operating modes: 1. Command mode: the module is ready to handle AT commands received from the host. This is the default mode after power on. 2. Bypass mode: the module is connected and acts as serial cable replacement. Any data received from the host is sent to the remote device. Any data received form the remote device is transmitted to the host. 3. Remote mode: the module is connected and is ready to handle AT commands received from the remote device. Remote mode is available only over SPP connection, not over iAP2 connection. An operating mode switch can be requested by the host, by the remote device or can be autonomously initiated by the module in case of Bluetooth activity (link establishment, link closure, link drop). The host requests an operating mode switch by: 1. Using the AT command interface (commands or EscapeSequence) 2. Using the GPIO_HostModeSel GPIO 3. Using the UART break The module can notify the host of a mode switch by: 1. Using the AT command interface 2. Using the GPIO_HostModeInd GPIO 3. Using the UART break The remote device can request the switch to remote mode by: 1. Sending the remote escape sequence The AT command interface is the default method used. To disable usage of the escape sequence to switch from bypass to command mode, configure the following variable thus: AT+AB config EnableEscapeSeq = FALSE To use the GPIO method, configure the GPIO_HostModeSel and GPIO_HostModeInd variables thus: AT+AB Config GPIO_HostModeSel = 2 AT+AB Config GPIO_HostModeInd = 3 To use the UART break symbol method for the host to request bypass to command mode switch, configure the En ableUartBreak variable thus: AT+AB Config EnableUartBreak = true To use the UART Break symbol method, as bypass to command mode switch indication to the host, configure the EnableUartBreakInd variable thus: AT+AB Config EnableUartBreakInd = true Break duration is the STM32F4 UART supported one: 10 bits for 1 stop bit, 11 bits for 2 stop bits. All the above methods can be used in a non-exclusive manner. The following sections describe how to switch between modes. 8.1 Command to bypass mode switch A command to bypass mode switch can be: 1. initiated by the module: a. when an SPP or iAP2 session is opened 2. initiated by the host: UM2077 - Rev 4 page 42/71 UM2077 Bypass to command mode switch a. b. 8.2 with the “AT+AB Bypass” command with the GPIO_HostModeSel ( transition from low to high ) Bypass to command mode switch A command to bypass mode switch can be: 1. initiated by the module: a. when an SPP or iAP2 session is closed 2. initiated by the HOST: a. with the escape sequence (“^#^$^%”) b. with the GPIO_HostModeSel (transition from high to low ) c. sending the UART break symbol When requested by the host, the switch occurs after two seconds of inactivity; i.e., no data exchanged over UART interface. However, when the host is using the GPIO_HostModeSel pin (list item 2.b.) with the EnableEscapeSeq set to FALSE, the operating mode switch is immediate. Whit EnableEscapeSeq=FALSE and EnableUartBreak=TRUE, if the UART break used is very long, it is recommended to use a "dummy" invalid command after sending the break, to re-align module UART receiver. The answer to dummy invalid command (i.e. Dummy" ) is "AT-AB ErrFormat". 8.3 Bypass to remote mode switch A bypass to remote mode switch can occur in the following cases: 1. The remote device sends the remote escape sequence (“@#@$@%”) 8.4 Remote to bypass mode switch A remote to bypass mode switch can occur in the following cases: 1. The remote device sends the AT+AB ByPass command 2. The HOST sends any data to the module UM2077 - Rev 4 page 43/71 UM2077 SPBT3.0DP2 module GPIO configuration 9 SPBT3.0DP2 module GPIO configuration The table below shows the functions that can be associated with each module GPIO. Table 8. SPBT3.0DP2 GPIO configuration table Module GPIO 1 Default function Alternate function Connection status probe GPIO input 0: BT connection down 1: BT connection up 2 GPIO input GPIO output GPIO_HostModeSel GPIO_HostWakeUp 3 GPIO input GPIO output GPIO_HostModeInd 4 Active status probe GPIO input 1: active status mode Blinking: deep sleep mode 5 I2C SDA 6 I2C GPIO input GPIO output SCL GPIO input GPIO output 7 GPIO input GPIO output GPIO_HostModeInd GPIO_HostWakeUp 8 GPIO input GPIO output GPIO_HostModeSel 9 (1) GPIO input GPIO output 10 (1) GPIO input with internal pull-down GPIO output 1. Available only with the firmware version > 1.1, when variable StreamingSerial=TRUE. UM2077 - Rev 4 page 44/71 UM2077 SPBT3.0DP1 module GPIO configuration 10 SPBT3.0DP1 module GPIO configuration The table below shows all the possible functions that can be associated to each GPIO of the module. Table 9. SPBT3.0DP1 GPIO configuration table Module GPIO 1 Default function Alternate function Connection status probe GPIO input 0: BT connection down 1: BT connection up 2 GPIO input GPIO output GPIO_HostModeInd 3 GPIO input GPIO output 4 Active status probe GPIO input 1: Active status mode Blinking: deep sleep mode 5 GPIO input GPIO output GPIO_HostWakeUp 6 GPIO input GPIO output GPIO_HostModeSel 7 GPIO input GPIO output 8 GPIO input GPIO output 9 GPIO input GPIO_HostModeSel GPIO output GPIO_HostModeInd 10 GPIO input 11 I2C GPIO output GPIO_HostWakeUp SCL GPIO input GPIO output 12 I2C SDA GPIO input GPIO output 13 GPIO input GPIO output 14 GPIO input GPIO output 15 GPIO input GPIO output GPIO input with internal pull-down GPIO output (1) 16 (1) 1. Available only with firmware version > 1.1, when variable StreamingSerial=TRUE. UM2077 - Rev 4 page 45/71 UM2077 Secure simple pairing 11 Secure simple pairing The SPBT3.0DPx module provides configurable pairing modes, allowing different device input/output capabilities to be adapted and to require the security level (MITM protection). The configuration variables that affect pairing (bonding) process are: • Var40 DefaultSecurity • Var41 DefaultAuth • Var55 MITMEvent The general rules that affect the resulting pairing mode: • DefaultSecurity=1 on one side forces PIN pairing • MITMEvent=FALSE on both side results in “Just Works” pairing, independent of the DefaultAuth value • MITMEvent=TRUE on one side forces MITM protected pairing independent of MITMEvent setting on the other side • DefaulthAth=4 forces “Just Works” pairing The following tables summarize the resulting simple pairing mode between two modules during the bonding process, with DefaultSecurity=2. Module in configuration DefaultAuth=5, MITMEvent=TRUE is typically equivalent to a smart BT device (PC, phone, tablet ..) Legenda: JW: just works NC: numeric comparison (event “AT-AB PassKeyConfirmationReq”) PE: passkey entry (event “AT-AB PassKeyReq”) NV: not valid configurarion. DefaultAuth=4 (No input / No output) by definition cannot support MITM protection (MITMEvent=TRUE), that requires user interaction. Table 10. SPBT3.0DP DisplayYesNo (DefaultAuth=5) and MITMEvent=FALSE MITMEvent DefaultAuth 4 5 6 7 FALSE JW JW JW JW TRUE NV NC NC PE Table 11. SPBT3.0DP DisplayYesNo (DefaultAuth=5) and MITMEvent=TRUE MITMEvent DefaultAuth 4 5 6 7 FALSE JW NC NC PE TRUE NV NC NC PE Table 12. SPBT3.0DP DisplayOnly (DefaultAuth=6) and MITMEvent=FALSE MITMEvent UM2077 - Rev 4 DefaultAuth 4 5 6 7 FALSE JW JW JW JW TRUE NV NC NC PE page 46/71 UM2077 Secure simple pairing Table 13. SPBT3.0DP DisplayOnly (DefaultAuth=6) and MITMEvent=TRUE MITMEvent DefaultAuth 4 5 6 7 FALSE JW NC JW PE TRUE NV NC JW PE Table 14. SPBT3.0DP KeyboardOnly (DefaultAuth=7) and MITMEvent=FALSE MITMEvent DefaultAuth 4 5 6 7 FALSE JW JW JW JW TRUE NV PE JW PE Table 15. SPBT3.0DP KeyboardOnly (DefaultAuth=7) and MITMEvent=TRUE MITMEvent DefaultAuth 4 5 6 7 FALSE JW PE PE PE TRUE NV PE PE PE Table 16. SPBT3.0DP NoINoO (DefaultAuth=4) and MITMEvent=FALSE MITMEvent UM2077 - Rev 4 DefaultAuth 4 5 6 7 FALSE JW JW JW JW TRUE NV JW JW JW page 47/71 UM2077 Module I/O levels 12 Module I/O levels SPBT3.0DPx module is internally supplied by a voltage regulator at 1.8 V, that means the module I/O levels are referred to this voltage. When standard pins (not 5 V tolerant) are used to interface other parts of application board at different voltages compared to 1.8 V, a voltage level shifter circuit may be necessary. Refer to SPBT3.0DPx datasheet to identify standard pins. Consider typical case of interfacing 3.3 V +/- 0.3 V logic circuitry. 12.1 Standard pin used as output Output high level is limited to 1.8 V, that could be not enough to guarantee the input high level VIH of the circuit that interface the module. Based on the supply voltage used, a verification is recommended. 12.2 Standard pin used as input The voltage must be scaled down in order to guarantee the logic levels do not to exceed the maximum values: 1.3 V < VIH < = 1.8 + 0.4 V 0 < VIL < 0.5 V A level shifter or a resistor divider with 3.6 / 1.8 = 2 ratio can be used. Value of resistors must be chosen compromising the maximum frequency of the input signal, and current consumption. 12.3 Reset pin Voltage at Reset pin must be limited to 1.8 V + 0.4 V when driven by an external active output. If the external signal exceed the allowed value a solution must be implemented to limit the input voltage level. • Use an open drain or open collector to drive the reset pin • Use a series resistor to limit the injected current. For 3.3 V a resistor in the range of 6.8 k -10 k • Use a resistor divider taking care that, in worst condition, VIH > 2 V • UM2077 - Rev 4 Put a Schottky diode in series to the reset line and check that the low level logic is < 0.8 V page 48/71 UM2077 Firmware upgrade 13 Firmware upgrade The SPBT3.0DPx modules leverage the STM32 built-in bootloader to load the new firmware. It is a three-step procedure: • Enter bootloader mode • Transfer the new firmware • Exit bootloader mode 13.1 Enter bootloader mode To enter the Bootloader mode two options are available. Via BOOT0 pin: • Set the BOOT0 pin to HIGH level • Reset the module: – Set the RESET pin to HIGH – Pause – Set the RESET pin to LOW Via AT Command: • Send over module UART command “at+ab StartFwUpdate” 13.2 Transfer the new firmware The specification of the protocol used in the STM32 bootloader to download the new firmware is described in the document: http://www.st.com/web/en/resource/technical/document/application_note/CD00264342.pdf A reference implementation of the STM32 bootloader protocol can be found at the following link: http://sourceforge.net/projects/stm32flash/ The STM32 Flash loader demonstrator, a Windows GUI that implement that protocol can be downloaded at the following link: http://www.st.com/en/development-tools/flasher-stm32.html 13.3 Exit bootloader mode To exit Bootloader mode: • Set the BOOT0 pin to LOW or leave it floating • Reset the module: – Set the RESET pin to HIGH – Pause – Set the RESET pin to LOW 13.4 Using STEVAL-BT3.0DPx In case of STEVAL-BT3.0DPx USB dongle for Bluetooth SPBT3.0DPx module, the three steps above can be done this way: • Enter bootloader mode: – Plug the USB dongle into the PC USB port – Insert a jumper on JP1 – Push the SW1 reset button If serial console available on PC, it is possible to send command: UM2077 - Rev 4 page 49/71 UM2077 Using STEVAL-BT3.0DPx “at+ab StartFwUpdate” In this case it is not necessary to insert a jumper on JP1. • Transfer the new file: – Launch the ST Flash Loader Demonstration GUI (version has to be >= 2.7.0) http://www.st.com/en/ development-tools/flasher-stm32.html – Program the new file with the GUI • Exit bootloader mode: – Remove the jumper on JP1 – Push the SW1 reset button UM2077 - Rev 4 page 50/71 UM2077 iAP2 sample connection 14 iAP2 sample connection 14.1 MFi coprocessor communication The MFi coprocessor is connected to the module through the I²C interface. Refer to the module datasheet for a reference schematic diagram. You can test I²C communication using the command CPTest. If the response is “AT-AB CP Address Fail”, you need to change MFi chip I²C address stored in the variable “CPI2CAddress”. Its default value is 22 (hex): [TX] - AT+AB CPTest [RX] - AT-AB CP Address Fail [TX] - at+ab config CPI2CAddress = 20 [RX] – AT-AB ConfigOK [TX] - at+ab reset AT-AB ResetPending : : [TX] - AT+AB CPTest [RX] - AT-AB CP Device Version: 0x05 [RX] - AT-AB CP Firmware Version: 0x01 [RX] - AT-AB CP Authentication protocol Minor version: [RX] - AT-AB CP Device ID: 0x00000200 14.2 0x00 EADemo sample app External Accessory demo application source code is available from Apple after obtaining the MFi license from Apple. You can compile and install it on your Apple device. On the module side (accessory), you must set the iAP2AppID configuration variable with the App name: [TX] [RX] [TX] [RX] 14.3 - at+ab AT-AB at+ab AT-AB config iAP2AppID = com.yourcompany.EADemo ConfigOK reset ResetPending Bluetooth Accessory connection from Apple device In the BT settings menu, connect to the SPBT3.0DPx module. On the module UART control port, the following messages are sent out: [RX] [RX] [RX] [RX] - AT-AB AT-AB AT-AB AT-AB ConnectionUp CC29F5175A17 BondPending BondOk CC29F5175A17 iAP2ConnectionUp CC29F5175A17 Manually launch the EADEmo App. In the App menu, from the connected device list, select the SPBT3.0DPx module to open an iAP2 External Accessory Session. On the module UART control port, the following messages are sent out: [RX] - AT-AB AccSessionStarted [RX] - AT-AB -iAP2-BypassMode UM2077 - Rev 4 page 51/71 UM2077 EADemo app automatic launch 14.4 EADemo app automatic launch The iAP2 accessory protocol allows automatic launching of the corresponding application on your Apple device. To use this feature, you need set the iAP2AppBundleID variable to define the App to be launched. [TX] [RX] [TX] [RX] : : - at+ab AT-AB at+ab AT-AB config iAP2AppBundleID = com.alpwise.EADemo ConfigOK reset ResetPending Connect to the SPBT3.0DPx module, as described previously. Instead of launching the EADemo app manually, you can trigger it from accessory with a user action (i.e., by pressing a button on accessory). The user action must trigger the generation of the following AT command: [TX] - AT+AB iAP2AppLaunchReq [RX] - AT-AB IAP2AppLaunchDone The iAP2 external accessory session can now be started from the App menu. Note: If the iAP2 App launch feature is not used, disable it. To disable it, the iAP2AppBundleID configuration variable should be set with a string shorter than 3 characters: [TX] [RX] [TX] [RX] : : - at+ab AT-AB at+ab AT-AB config iAP2AppBundleID = a ConfigOK reset ResetPending This is important for Apple MFi certification as the test checks whether the feature is enabled or disabled. 14.5 MFi certification for Bluetooth accessories ATS (Accessory Test System) is a toolset available from Apple after obtaining the MFi license. The toolset allows iAP2 protocol conformance testing in your lab, before sending your equipment to Apple labs for MFi certification. Important: ATS self-test must be passed before applying for full final certification. The toolset includes a Bluetooth sniffer to capture traffic between an accessory and an Apple device. It is strongly suggested to perform test in an RF-free environment to avoid sniffer lost packets due to RF interference. Other recommendations for Apple MFi tests include: 1. Customize all the configuration variables related to iAP2 External Accessory (their names start with “Acc…”: Var60, Var61, Var62, Var65, var66, Var67, Var68, Var69, Var70). 2. In particular, set the AccSerialNumber variable with the serial number as indicated in the label of your product. 3. If the iAP2 App launch feature is used, it has to be started by a user action (e.g., a button push). 4. If the iAP2 App launch feature is not used, disable it by setting the iAP2AppBundleID configuration variable with a string shorter than 3 characters ( i.e. “at+ab config iAP2AppBundleID = a”) UM2077 - Rev 4 page 52/71 UM2077 AT commands for regulatory testing 15 AT commands for regulatory testing HCI testing commands are required to set the SPBT3.0DPx module into proper status to perform RF regulatory certification tests. That is achieved using special AT command “AT+AB SendHCI”. 15.1 TxRx test command This command is used to transmit or receive data packets without having a Bluetooth connection. In TX test mode, the device will transmit packets without whitening, according to the specified parameters. This is similar to the transmitter tests in the Bluetooth Test Mode chapter of the Bluetooth Specification, but the device is master. In RX test mode the device will put itself in a packet receive mode, where the packets are expected to arrive on a single, fixed frequency. When in TX or RX test mode, the Host can send the command again to change the parameters or to end the test mode. It is not allowed to switch on the fly between TX and RX mode, without first exiting the current scenario. Purpose: To verify the radio TX performance, by sending out Bluetooth packets that will be captured by a test device (e.g. spectrum analyzer). To verify the radio interoperability between two Bluetooth devices. Before starting the test, both devices must agree on the used Test_Scenario, Frequency, Interval, Packet_Type, Data_Length, BD_Address and LT_Address. These must be applied at both sides. 15.1.1 Syntax AT+AB SendHCI F4FC1C80808080[Test Scenario][Hopping Mode][Channel]00[Packet Type][ Payload Bytes][BD address]01[Channel Map] Where: [Test Scenario]: (1 byte) • Transmitter tests: – 0x01: TX pattern 0 – 0x02: TX pattern 1 – 0x03: TX pattern 1010 – 0x04: TX pattern PRBS (random) – 0x09: TX pattern 11110000 • Receiver tests: – 0x0A: Rx pattern 1010 – 0x0B: Rx pattern PRBS (random – PRBS9, seed 0x1FF) – 0x0C: Rx pattern 11110000 • 0xFF: Exit Test - use this value to stop a transmission before switching to a new test command [Hopping Mode]: (1 byte) • 0x00: single frequency • 0x01: standard hopping - Europe (only possible in Tx Test mode) • 0x05: reduced hopping (only possible in Tx Test mode) [Channel]: (1 byte) • Channel: 0x00 to 0x4E (from 2402 to 2480 MHz). This is used only if Hopping Mode is set to 0x00 Single Frequency [Packet Type]: (1 byte) • DH1:0x84 UM2077 - Rev 4 page 53/71 UM2077 TxRx test command • • • • • • • • DH3: 0x8B DH5: 0x8F 2DH1: 0x94 2DH3: 0x9A 2DH5: 0x9E 3DH1: 0xA8 3DH3: 0xAB 3DH5: 0xAF [Payload Bytes]: (2 bytes, little endian) • 0x00 – 0x3fd (0-1021) MUST be smaller or equal to the maximum payload of the packet type selected For example for DM1 use 18, that is 0x12, in little endian on 2 bytes is 0x1200. For example for DM1 use 341, that is 0x155, in little endian on 2 bytes is 0x5501. [BD Address]: (6 bytes) • BD_Address of the transmitting device. Not used for TX test. Use 0x000000E18000 [Channel Map]: (10 bytes, little endian) • b0 - b78: Mask to enable transmission of each channel. Used only in case Hopping Mode is set to Reduced Hopping b79: not used. Leave it to 0. Examples: to enable hopping only on the first 4 channels (from 2402 to 2405 MHz), the channel map should be 0x0000000000000000000F, that in little endian is 0x0F000000000000000000. to enable hopping only on the last 3 channels (from 2477 to 2480 MHz), the channel map should be 0x70000000000000000000, that in little endian is 0x00000000000000000070. 15.1.2 Responses If the command is successful, the response is: • AT-AB CommandComplete: 0e 04 02f4fc00 15.1.3 TxRx_Test command examples Command: at+ab sendhci F4FC1C80808080020100008F5301000000E1800001FFFFFFFFFFFFFFFFFF7F • • • • • • • Test Scenario: TX pattern 1 Hopping Mode: Standard Hopping - Europe, 0x01 Frequency: 0x00 Packet Type: DH5 Payload Size: 0x0153 BD Address: 0x0080E1000000 Channel_Map: 0x7FFFFFFFFFFFFFFFFFFF Response: • AT-AB CommandComplete: 0e 04 02f4fc00 Command: at+ab sendhci F4FC1C80808080010500008F5301000000E1800001FFFFFF00000000000000 • • • • UM2077 - Rev 4 Test Scenario: TX pattern 0 Hopping Mode: Reduced Hopping Frequency: 0x00 Packet Type: DH5, 0x8F page 54/71 UM2077 Static TxRx test command • • • Payload Size: 0x0153 BD Address: 0x0080E1000000 Channel_Map: 0x00000000000000FFFFFF Response: • AT-AB CommandComplete: 0e 04 02f4fc00 15.2 Static TxRx test command Using this command, the HOST is able to force the SPBT3.0DPx radio into ‘static’ transmission or ‘static’ receive mode. In static transmission mode, the radio continuously transmits modulated “0” or “1” at the maximum power level. In static receive mode, the radio continuously receives and demodulates data. 15.2.1 Syntax AT+AB SendHCI F8FC04 [Mode][TXRX][Channel Number][Data] AT+AB SendHCI F8FC05 [Mode][TXRX][Channel Number][Data][Modulation Mode] AT+AB SendHCI F8FC06 [Mode][TXRX][Channel Number][Data][Modulation Mode] [Power St ep] Where: [Mode]: (1 byte) • 0x00: Stop • 0x01: Start [TXRX]: (1 byte) • 0x00: Transmission • 0x01: Reception [Channel Number]: (1 byte) • 0x00 - 0x4E from 2402 MHz to 2480 MHz [Data]: (1 byte) • 0x00: symbol 0 is modulated • 0x01: symbol 1 is modulated [Modulation Mode]: (1 byte) (optional) • 0x00: BR • 0x01: BR packet in EDR • 0x02: EDR 2 Mbps • 0x03: EDR 3 Mbps [Power Step]: (1 byte) (Optional ). This parameter is applicable for TX mode only. This parameter is optional. If not specified, the maximum power step for the given Modulation Mode is selected. • 0x01: minimum output power • 0x02 • 0x03: maximum output power UM2077 - Rev 4 page 55/71 UM2077 Operating modes settings 15.2.2 Response • 15.2.3 AT-AB CommandComplete: 0e 04 02f8fc00 Static TxRx_Test command examples Command: at+ab SendHCI F8FC050100000000 • • • • • Mode: Start TXRX: Transmission Channel Number: 0x00 Data: 0 is modulated Modulation Mode: BR Response: AT-AB CommandComplete: 0e 04 02f8fc00. Command: at+ab SendHCI F8FC06010000000003 • maximum output power Response: AT-AB Command Complete: 0e 04 02f8fc00 Command at+ab SendHci F8FC06010000000001 • minimum output power Response: AT-AB CommandComplete: 0e 04 02f8fc00. 15.3 Operating modes settings The following is a short guide for setting operating modes typically required for regulatory testing. 15.3.1 Single frequency – Continuous Waveform Mode – Maximum output power This is called the CW (Continuous Wave) mode. In this state the module transmits a specific pattern at the maximum output power on a specific channel. 15.3.1.1 Channel 0 (2402 MHz) To start the transmission of the carrier waveform on Bluetooth channel 0 (2402 MHz) at the maximum output power, it is necessary to send the following HCI command: [TX] - AT+AB SENDHCI F8FC050100000000 [RX] - AT-AB CommandComplete: 0e 04 02f8fc00 UM2077 - Rev 4 page 56/71 UM2077 Operating modes settings Figure 2. Carrier waveform on Bluetooth channel 0 To stop the transmission of the static frequency, the following command has to be sent: [TX] - AT+AB SENDHCI F8FC050000000000 [RX] - AT-AB CommandComplete: 0e 04 02f8fc00 15.3.1.2 Channel 38 (2440 MHz) To start the transmission of the carrier waveform on Bluetooth channel 38 (2440 MHz) at the maximum output power, it is necessary to send the following HCI command: [TX] - AT+AB SENDHCI F8FC050100270000 [RX] - AT-AB CommandComplete: 0e 04 02f8fc00 UM2077 - Rev 4 page 57/71 UM2077 Operating modes settings Figure 3. Carrier waveform on Bluetooth channel 38 To stop the transmission of the static frequency, the following command has to be sent: [TX] - AT+AB SENDHCI F8FC050000000000 [RX] - AT-AB CommandComplete: 0e 04 02f8fc00 15.3.1.3 Channel 78 (2480 MHz) To start the transmission of the carrier waveform on Bluetooth channel 78 (2480 MHz) at the maximum output power, it is necessary to send the following HCI command: [TX] - AT+AB SENDHCI F8FC0501004E0000 [RX] - AT-AB CommandComplete: 0e 04 02f8fc00 UM2077 - Rev 4 page 58/71 UM2077 PER test Figure 4. Carrier waveform on Bluetooth channel 78 To stop the transmission of the static frequency, the following command has to be sent: [TX] - AT+AB SENDHCI F8FC050000000000 [RX] - AT-AB CommandComplete: 0e 04 02f8fc00 15.4 PER test For EU RED receiver blocking test, it is possible to get packet error rate (PER) in TxRx test mode. For the test, two SPBT30DPx modules are required, one as transmitting station, the other as receiving station. Dedicated commands read the transmitted and received bluetooth packets. HCI TxRx test commands are used to select the test mode scenario. User must select the same test mode scenario in Tx and Rx stations. The following test scenario as test set-up is considered: Test scenario • Packet type: EDR (3DH5) • Channel: 78 (0x4E) • Packets spacing (time slots): 100 (0x64) • Data pattern: 1010 Note: UM2077 - Rev 4 • After each test, receiving station must be reset before next test • with above settings, testing time must be lower than 25 seconds to avoid 16-bit counter overflow Commands sequence 1. Reset both stations Command: AT+AB reset page 59/71 UM2077 PER test Answer: AT-AB ResetPending 2. Rx station: reset counters Rx Command: AT+AB ReadCountersRx 0100 Answer: Rx packets 0 Wrong packet type 0 Wrong packet length 0 Payload bit errors 0 3. Rx station: Start Rx Test Command: AT+AB SendHci F4FC1C808080800A004E64AF5001000000E180000101000000000000000000 Answer: AT-AB CommandComplete: 0e 04 02f4fc00 4. Tx station: reset counters Tx Command : AT+AB ReadCountersTx 0100 Answer: BR Ack packets 0 BR Nack packets 0 EDR Ack packets 0 EDR Nack packets 0 5. Tx station: Start Tx Test Command: AT+AB SendHci F4FC1C8080808003004E64AF5001000000E180000101000000000000000000 Answer: AT-AB CommandComplete: 0e 04 02f4fc00 6. Tx station: Stop Tx Test, after desired testing time (< 25 seconds) Command: AT+AB SendHci F4FC1C80808080FF0100008F5501000000E1800001FFFFFFFFFFFFFFFFFF7F Answer: AT-AB CommandComplete: 0e 04 02f4fc00 7. Tx station: read counters Tx Command : AT+AB ReadCountersTx 0100 Answer: BR Ack packets 0 BR Nack packets 0 EDR Ack packets 19712 EDR Nack packets 0 8. Rx station: read counters Rx Command: AT+AB ReadCountersRx 0100 Answer: Rx packets 19712 Wrong packet type 0 Wrong packet length 0 Payload bit errors 0 Payload errors 0 To set different test scenarios, refer to above paragraph « TxRx test command ». SendHci commands have different (coherent) field values. Read counter commands do not change. PER computation Depending on the packet type choice, the basic rate (BR) Tx counters, or enhanced data rate (EDR) Tx counters are incremented. Nack packets can be also considered the re-transmitted packets number. The total transmitted packets (PTx) are given by : PTx = (Ack + Nack) packets Packet Loss (PL) is given by: PL = (PTx – Rx) packets PER = PL/PTx UM2077 - Rev 4 page 60/71 UM2077 Revision history Table 17. Document revision history Date Version Changes 15-Jun-2016 1 Initial release. 06-Mar-2017 2 Added: Section 12: "Firmware upgrade", and Section 14: "AT commands for regulatory testing". Updated: Data package command list and Variable definition. 18-Sep-2017 3 Updated introduction in cover page. Updated Section 3: "Data package command list". Updated Section 5: "Variable definitions". Updated Section 14: "AT commands for regulatory testing" and Section 3.26: "HIDConnect". Updated Section 3.26: "HIDConnect" and Section 14.2.2: "Response". Minor text changes. 26-Feb-2018 UM2077 - Rev 4 4 Minor text changes throughout the document. page 61/71 UM2077 Contents Contents 1 Acronyms and abbreviations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Data package firmware interface overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Data package command list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 UM2077 - Rev 4 AbortDiscovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 AutoReconnect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 AutoReconnectSetup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.3.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Bond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 BtcVersion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.5.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.5.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Build. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.6.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.6.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Bypass. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.7.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.7.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 CancelConnect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.8.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.8.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 ChangeBaud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.9.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.9.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 page 62/71 UM2077 Contents 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 ChangeDefaultBaud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.10.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.10.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.11.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.11.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 CpTest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.12.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.12.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 DefaultLocalName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.13.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.13.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 DeleteAutoReconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.14.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.14.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 DisableBond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.15.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.15.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.16.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.16.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 EnableBond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.17.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.17.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 EraseBondTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.18.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.18.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 ExitSniff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.19.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.19.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Factory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.20.1 UM2077 - Rev 4 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 page 63/71 UM2077 Contents 3.20.2 3.21 3.22 3.23 3.24 3.25 3.26 3.27 3.28 3.29 3.30 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 FWVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.21.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.21.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 GetBDAddress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.22.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.22.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 GetRSSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.23.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.23.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 GPIOConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.24.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.24.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 GPIORead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.25.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.25.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 GPIOWrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.26.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.26.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 HIDConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.27.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.27.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 HIDIntSend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.28.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.28.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 HIDDisconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.29.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.29.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 HostEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.30.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.30.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.31 HWVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 UM2077 - Rev 4 page 64/71 UM2077 Contents 3.32 3.33 3.34 3.35 3.36 3.37 3.38 3.39 3.40 3.41 UM2077 - Rev 4 3.31.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.31.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 iAP2AppLaunchReq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.32.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.32.2 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 IAP2Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.33.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.33.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 IAP2Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.34.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.34.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 LocalName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.35.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.35.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 PassKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.36.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.36.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 PassKeyAccept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.37.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.37.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ReadClock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.38.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.38.2 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 RemoteName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.39.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.39.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.40.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.40.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 RoleSwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.41.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.41.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 page 65/71 UM2077 Contents 3.42 3.43 3.44 3.45 3.46 3.47 3.48 3.49 3.50 3.51 4 ShowConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.42.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.42.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 ShowDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.43.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.43.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Sniff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.44.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.44.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 SPPConnect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.45.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.45.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 SPPDisconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.46.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.46.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 StartFwUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.47.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.47.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 UpdateInquiryScan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.48.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.48.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 UpdatePageScan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.49.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.49.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 VarVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.50.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.50.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.51.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.51.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Event handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 4.1 UM2077 - Rev 4 AT events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 page 66/71 UM2077 Contents 5 Variable definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 5.1 6 7 8 Variables dependency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Module power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 6.1 Enable deep sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.2 Host forcing the module to enter DSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.3 Host forcing the module to exit DSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.4 Module exit DSM autonomously. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 BT connection modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 7.1 Switch to sniff mode automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.2 Switch to sniff mode manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.3 Switch to active mode manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.4 Variables affecting sniff mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Module operating modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 8.1 Command to bypass mode switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 8.2 Bypass to command mode switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 8.3 Bypass to remote mode switch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 8.4 Remote to bypass mode switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 9 SPBT3.0DP2 module GPIO configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 10 SPBT3.0DP1 module GPIO configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 11 Secure simple pairing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 12 Module I/O levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 13 14 12.1 Standard pin used as output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 12.2 Standard pin used as input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 12.3 Reset pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Firmware upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 13.1 Enter bootloader mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 13.2 Transfer the new firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 13.3 Exit bootloader mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 13.4 Using STEVAL-BT3.0DPx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 iAP2 sample connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 UM2077 - Rev 4 page 67/71 UM2077 Contents 15 14.1 MFi coprocessor communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 14.2 EADemo sample app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 14.3 Bluetooth Accessory connection from Apple device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 14.4 EADemo app automatic launch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 14.5 MFi certification for Bluetooth accessories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 AT commands for regulatory testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 15.1 15.2 15.3 TxRx test command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 15.1.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 15.1.2 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 15.1.3 TxRx_Test command examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Static TxRx test command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 15.2.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 15.2.2 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 15.2.3 Static TxRx_Test command examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Operating modes settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 15.3.1 15.4 Single frequency – Continuous Waveform Mode – Maximum output power . . . . . . . . . 56 PER test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62 List of tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 List of figures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 UM2077 - Rev 4 page 68/71 UM2077 List of tables List of tables Table 1. Table 2. Table 3. Table 4. Table 5. Table 6. Table 7. Table 8. Table 9. Table 10. Table 11. Table 12. Table 13. Table 14. Table 15. Table 16. Table 17. List of acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DP command list summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BtcVersion parameter details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Event description details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sample configuration sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . List of configuration variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . CPUMHz vs. baud rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPBT3.0DP2 GPIO configuration table . . . . . . . . . . . . . . . . . . . . . . SPBT3.0DP1 GPIO configuration table . . . . . . . . . . . . . . . . . . . . . . SPBT3.0DP DisplayYesNo (DefaultAuth=5) and MITMEvent=FALSE . SPBT3.0DP DisplayYesNo (DefaultAuth=5) and MITMEvent=TRUE . . SPBT3.0DP DisplayOnly (DefaultAuth=6) and MITMEvent=FALSE . . SPBT3.0DP DisplayOnly (DefaultAuth=6) and MITMEvent=TRUE . . . SPBT3.0DP KeyboardOnly (DefaultAuth=7) and MITMEvent=FALSE . SPBT3.0DP KeyboardOnly (DefaultAuth=7) and MITMEvent=TRUE . SPBT3.0DP NoINoO (DefaultAuth=4) and MITMEvent=FALSE . . . . . Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UM2077 - Rev 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . 4 . 7 26 27 27 39 44 45 46 46 46 47 47 47 47 61 page 69/71 UM2077 List of figures List of figures Figure 1. Figure 2. Figure 3. Figure 4. UM2077 - Rev 4 Communication between module and host . Carrier waveform on Bluetooth channel 0 . Carrier waveform on Bluetooth channel 38 . Carrier waveform on Bluetooth channel 78 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 58 59 page 70/71 UM2077 IMPORTANT NOTICE – PLEASE READ CAREFULLY STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgement. Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of Purchasers’ products. No license, express or implied, to any intellectual property right is granted by ST herein. Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product. ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners. Information in this document supersedes and replaces information previously supplied in any prior versions of this document. © 2018 STMicroelectronics – All rights reserved UM2077 - Rev 4 page 71/71
SPBT3.0DP2 价格&库存

很抱歉,暂时无法提供与“SPBT3.0DP2”相匹配的价格&库存,您可以联系我们找货

免费人工找货