Release Notes (version 3.02.09) for Summit 30AG radios

BL600 Firmware Release Notes
Release Note
v1.8.88.0
OVERVIEW
This release note describes the changes and enhancements to the firmware of the BL600
smartBASIC based Bluetooth Low Energy Module in reverse chronological order.
For each version (excluding the initial 1.1.50.0) there are subsections for ‘Enhancements’, ‘Bug
Fixes’ and ‘Known Issues’.
BL600 firmware version numbers consist of four numbers in the format W.X.Y.Z which can be read
back from the module by submitting the command AT I 3 when it is in command mode.
W is 1 to signify that it has Peripheral Role capability only.
X is used to indicate the underlying BLE stack version and so far the values have been:0
An alpha release of the Nordic S110 softdevice BLE Stack
1
Nordic S110 Softdevice Stack version 5.0.0
2
Nordic S110 Softdevice Stack version 5.1.0
3
Nordic S110 Softdevice Stack version 5.2.0
4
Nordic S110 Softdevice Stack version 5.2.1
5
Nordic S110 Softdevice Stack version 6.0.0
6
Nordic S110 Softdevice Stack version 7.1.0
7
- - Not Used - 8
Nordic S110 Softdevice Stack version 8.0.0 (Custom MBR)
Y is the build number and when it is an even number it is a production image and when an odd
number it is an engineering image.
Z is a sub-build number. When it is 0 or an even number it signifies that the firmware image has
been fully regression tested. When both X and Y is odd, it will usually be the case that the
firmware image was released to do a quick field test and a full regression test will not have been
performed on it.
1
Version 1.8.88.0 (Aug 2015)
This firmware is built to work with v8.0.0 of the S110 Softdevice from Nordic Semiconductor which
is BT Spec version 4.1 compliant and the enhancements and bug fixes since the previous
production release 1.5.70.0 are as described below and refer to the user manual for more
specific details.
1.1
Migration from earlier firmware
Please refer for further details in the core or extension user manual

The size of the file system has been reduced from 32KB to 28KB, a reduction of 12.5% (see
response to command AT I 6 ). This is due to the increase in size of the BLE stack from the
chipset vendor. To mitigate this reduction in file system size, the compiler has been
optimised so that variable and function names are saved as 16 bit CRC unique values in
the interpreted object code instead of the name string.
The v1.5.70.0 firmware image released last year was deployed with a folder which
contains sample apps. Those apps, when compiled with the 1.8.88.0 compiler generates
output files which are on average 12.3% smaller.
If the user has an existing application that generates a .uwc compiled file that is greater
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
1
Laird Technologies
BL600 Firmware Release Notes
than 28K, then specifically check that with the new compiler’s output .uwc file so that it is
smaller than 28K. If it is not, then manual source code editing will be required so that it
can reduced further.

1.2
Enhancements
1. New Bootloader which will allow all subsequent firmware images to be downloaded
using the uart interface when existing firmware is 1.8.88.0 or newer.
2. The underlying Bluetooth stack is v4.1 compliant
3. It is now possible to send non-connectable adverts while in a connection
4. Addition of the #set $cmpif nnn statement enables conditional compilation capability
in conjunction with subsequent lines starting with #cmpif mmm : statement where
(nnn & mmm) is tested and if a non-zero value is the result of the AND operation, then the
statements following it are compiled.
5. Config Keys as set using AT+CFG are now stored in a separate dictionary and so erasing
file system does not reset config keys to defaults. To resert config keys to default use AT&F
0x100
6. AT&F 0x40000 now deletes the user non-volatile user data as set using the NvRecordSet(0
function
7. New Config Key 520 which allows command mode baudrate to be set and it will persist
until changed or AT&F * or AT&F 0x100 is processed. Use command AT+CFG 520 n where
n is the new baudrate. AT +CFG 520? returns the current baudrate.
8. It is now possible to specify the EVEN parity when opening the UART using the function
UartOpen(). ODD parity is not allowed as the hardware does not provide that option.
9. Added new bonding manager and functions (refer to user manual for further details) :BleBondingStats()
BleBondingEraseKey()
BleBondingEraseAll()
BleBondingPersistKey()
BleBondingIsTrusted() – will also convert resolvable address supplied to one saved
BleBondingMngrGetInfo
10. Added new whitelist management functions which allows up to 2 whitelists to be
managed:BleWhiteListCreat()
BleWhiteListClear()
BleWhiteListAddAddr()
BleWhiteListAddIndex()
BleWhiteListInfo()
BleWhiteListSetFilter()
BleWhiteListDestroy()
11. The BleAdvertStart() function has been enhanced to now allow ‘Low Duty Cycle Direct
Adverts’ and the FilterPolicy argument is enhanced so that it can take the legacy
whitelist values and the new handles that are manually created using the new whitelist
management functions
12. Added functions (refer to user manual for further details) :BleGetConnHandleFromAddr()
BleGetAddrFromConnHandle()
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
2
Laird Technologies
BL600 Firmware Release Notes
AssertBL600()
BleSecMngrOobPref()
13. Added following function which allows the application to force a notify to the client that
the gatt table schema has changed so that the client can reperform a scan of the table
so that it’s cache is updated. To facilitate this, internally the bonding manager has been
enhanced so that when cccd’s are saved on disconnection a 16 bit crc of the schema is
also saved to ensure that on next connection if the table has been altered the client can
automatically be informed. The new function is not required to be sent, but provided for
manual management of the client’s gatt table cache.
BleServiceChangedNtfy()
14. On connection to a bonded device, if the gatt table had changed since the last
connection, then a Gatt Service Changed notify is automatically sent and locally the
application is sent the following event
EVBLEMSG with ID: SRVCCHNG_IND_SENT
and when the client acknowledges the indication the app is sent the following event
EVBLEMSG with ID: SRVCCHNG_IND_CNF
15. Added function BleAttrMetaDataEx() which allows the developer to get the gatt table to
share user memory so that a bigger gatt table can be registered.
16. Added new bonding manager which means about 650 bytes of memory has been freed
up which has a capacity of 16
17. Added AT I 26 and AT I 2043 which return bonding manager stats.
18. Added read/write authorisation access functions :
BleAuthorizeChar()
BleAuthorizeDesc()
which the app developer uses to grant access to characteristics and descriptors.
19. Added authorisation related events and messages:EVAUTHVAL
EVAUTHCCCD
EVAUTHSCCD
EVAUTHDESC
20. Removed legacy hard coded services and instead they can be recreated using
smartBASIC and sample code is provided.
21. SysInfo(2025) or AT I 2025 returns the total heap memory currently in use
22. If VSP command mode config key 103 is set to 0 or timeout is > 180 seconds, then the
FlagsAD will use general mode. Otherwise the stack will clip to 180 seconds.
23. Added new function to Timer functionality :TimerIoctl()
24. BleVspOpen() takes a flags argument and that has been enhanced so that 3 bits are
used to specify the security requirements for accessing it. See user manuals for more
details, but essentially it enables only bonded devices to use if so desired.
25. DCDC is functional if the firmware detects that it is running on the XLR3 or newer variant
of the chipset. See BleConfigDcDc() in user manual
26. Added Advert management function:BleAdvertConfig() – so that advert channel mask can be specified
and SYSINFO(2203) returns the current advert channel mask
27. Updated BlePubAdvertMngrStart() so that advert channel mask is sent to the stack
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
3
Laird Technologies
BL600 Firmware Release Notes
28. Enhanced VSP api by the addition of the following function:BleVspOpenEx() – to specify UUIDs of the characteristics in the service
29. During connections it is now possible to obtain the rssi values of the connection related
packets. The following functions added to enable/disable:BleConnRssiStart()
BleConnRssiStop()
and the application will be informed of the rssi values via a new event message:EVCONNRSSI
30. Files are downloaded to the module using the AT+FOW, AT+FWR, AT+FWRH, AT+FCL
immediate mode commands. AT+FOW is used to open a new file for writing and at that
time a CRC value is internally set to 0. Subsequently as the file content is downloaded
(and also after file closure using AT+FCL) the command AT I 0xC12C can be used to get
the running CRC value so that the client downloading the file can perform running
checks.
The details of this new feature is in the core user manual.
1.3
Bug Fixes
1. When GATT table has more than 6 CCCDs then there was a memory leak on
disconnections.
2. GetTickCount() has an extremely small probability of returning a value that is 0xFFFFFF
ticks too large and this can only happen if there is rollover and an irq occues when
reading it.
3. Uart Driver – TXRDY flag was being cleared after writing tsc register rather than before
which means if a radio event happened at the right time, it was possible that the TXRDY
flag was reset after a byte arrived.
4. Uart Driver – corruption when rx ring buffer is full and RTS has been asserted
5. ADC reads did not work when uart was closed and always returned 0.
Workaround is no longer required.
6. Bond manager bug fix: the rolling count was confused when persistent was at full
capacity and new bonds added
7. Recurring Timer issue when there was a rollover at roughly 12 days fixed.
8. Before each I2C transaction the ERRORSRC register was not explicitly reset to 0.
9. If a timer is started just when the 32 bit counter overflows every 12 days then it did nto
behave as expected
10. Flash driver was too aggressive in checking if a write location was in protected area or
not.
11. Before each I2C transaction the ERRORSRC register in the hardware peripheral was not
being explicitly reset to 0
12. When rejecting a pairing it was timing out
13. When pairing only (no bonding) there was an attempt to save to bonding manager
14. Calling BleVspOpen() after BleVspClose() did not work
15. AT I 1003 was not returning the max baudrate which is 921600
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
4
Laird Technologies
BL600 Firmware Release Notes
16. If SIO7 and nAutorun=1 then if the $autorun$ application exists it was going into bridge
mode
17. After assigning an event to a gpio, the function GpioSetFunc() was always returning
SENSE_BUSY
18. Using ReadPowerSuppyMv() was resulting in high current consumption
19. SYSINFO(2303) returns a 32 bit composite number corresponding to the firmware version
number
20. SYSINFO(2313) returns an address in flash which contains a 32 bit composite version
number so that it can be read via JLINK (using nrfjprog) by customers in their production
line.
1.4
Known Issues
1
2
No known issues.
Version 1.5.70.0 (Apr 2014)
This firmware is built to work with v6.0.0 of the S110 Softdevice from Nordic Semiconductor and
the enhancements and bug fixes since the previous production release 1.5.66.0 are as described
below and refer to the user manual for more specific details.
2.1
Migration from earlier firmware
Please refer for further details in the user manual

2.2
None
Enhancements
31. Uart IRQ is gated so that if a nested IRQ happens then it is serviced again in a
synchornised fashion
32. Rbf Wrap buffer, head and tail pointer updates now ensure that at no time so those
pointers point outside the buffer when the wrap occurs
2.3
Bug Fixes
21. In conditions of high uart activity due to high virtual serial port data activity there was
data corruption on the uart arising from the temporary assignment of a tail pointer of the
ring buffer outside the size of the buffer. There was a race condition.
22. AT+CFG 115 115200 was not working as a result of limit checking and the fact that the
config store is only 16 bits and so a value /100 is stored. Fixed so that limits are now
applied correctly
2.4
Known Issues
2
3
No known issues.
Version 1.5.66.0 (Apr 2014)
This firmware is built to work with v6.0.0 of the S110 Softdevice from Nordic Semiconductor and
the enhancements and bug fixes since the previous engineering release 1.5.65.0 are as
described below and refer to the user manual for more specific details.
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
5
Laird Technologies
BL600 Firmware Release Notes
3.1
Migration from earlier firmware
Please refer for further details in the user manual

3.2
The nOffset parmeter in function BleGattcWrite() and BleGattcWriteCmd() is not required and so
has been removed.
Remove that parameter where you invoke the functions and the application will compile again.
Enhancements
33. Added the following new smartBASIC functions:UartReadN()
3.3
Bug Fixes
23. BlePubGapServiceDeviceNameGet() was using nLen with arbitrary value from stack this
resulted in the wrong length being returned
24. AesEncrypt(), when in EBC mode and a plaintext string less than 16 bytes was supplied
was resulting in memory corruption resulting in a hard fault.
3.4
Known Issues
3
4
No known issues.
Version 1.5.65.0 (Feb 2014)
This firmware is built to work with v6.0.0 of the S110 Softdevice from Nordic Semiconductor and
the enhancements and bug fixes since the previous production release 1.5.62.0 are as described
below and refer to the user manual for more specific details.
Main headline enhancements:-
4.1

File I/O Capability

AES Cryptographic functions.

Added tokeniser functions to aid uart protocol development

Added functions for easier access to AD elements in advert reports

GPIO output can be configured for high drive as well as standard drive
Migration from earlier firmware
Please refer for further details in the user manual

4.2
None
Enhancements
34. Added the following new smartBASIC functions:ExtractStrToken()
ExtractIntToken()
FOPEN()
FCLOSE()
FREAD()
FREADUNTIL()
FTELL()
FSEEK()
FILELEN()
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
6
Laird Technologies
BL600 Firmware Release Notes
AesSetKeyIV()
AesEncrypt()
AesDecrypt()
BleServiceNew()
BleServiceCommit()
EraseFileSystem()
BleGetADbyIndex()
BleGetADbyTag()
35. GpioSetFunc() enhanced so that when setting a pin as outout, the drive capability can be
specified: standard, high or disconnected for states 0 or 1
4.3
Bug Fixes
25. No bug fixes.
4.4
Known Issues
4
5
No known issues.
Version 1.5.62.0 (Jan 2014)
This firmware is built to work with v6.0.0 of the S110 Softdevice from Nordic Semiconductor and
the enhancements and bug fixes since the previous production release 1.3.57.0 are as described
below and refer to the user manual for more specific details.
Main headline enhancements:-
5.1

Gatt Client Capability

Automatic Whisper mode while pairing giving enhanced proximity based
pairing. See new function BleTxPwrWhilePairing().

smartBASIC runtime engine optimised to give 30% speed improvement
Migration from earlier firmware
Please refer for further details in the user manual
5.2

Event message EVCHARVAL now supplies 3 parameters instead of just 1

Function BleCharDescAdd() now takes a uuid handle instead of a just a 16bit uuid.

Function BleCharDescRead() now takes 2 extra parameters

Event message EVCHARDESC : meaning of second parameter has changed.
Enhancements
36. Added the following new smartBASIC functions:BleTxPwrWhilePairing()
37. Added the following new GATT Client related smartBASIC functions:BleGattcOpen()
BleGattcClose()
BleDiscServiceFirst()
BleDiscServiceNext()
BleDiscCharFirst()
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
7
Laird Technologies
BL600 Firmware Release Notes
BleDiscCharNext()
BleDiscDescFirst()
BleDiscDescNext()
BleGattcRead()
BleGattcReadData()
BleGattcWrite()
BleGattcWriteCmd()
BleGattcNotifyRead()
38. Added the following new event messages related to GATT Client:EVDISCPRIMSVC
EVDISCCHAR
EVDISCDESC
EVATTRREAD
EVATTRWRITE
EVGATTCTOUT
39. Added the ability to automatically reduce TX power while pairing is in progress
40. Functions NvRecordGetxxx() now limit the range of keyId.
41. BleCharValueWrite() now allows writing to local attribute data buffer even if there is no
connection
5.3
Bug Fixes
26. Function UartCloseEx() was setting a poiner to a driver object to NULL even though the
uart was not closed (when conditions were not satisfied).
27. If only one byte read from full rx buffer it was not staying in buffer full state
28. I2C Bug Fix: The master in BL600 was not letting the SDL line go to input mode in time for
the ACK pulse from the slave. This resulted in some slaves with not working as their TX
output was not strong enough to overcome the TX out.
29. When listing bonding information the correct MAC address is returned and not the
resolvable private address
30. When whitelist enabled and iOS device was bonded a resolvable address was being
supplied in the whitelist which got rejected by the stack.
31. If a SCCD is updated by a client, then a CCCD specific event message was thrown,
never the SCCD specific one.
5.4
Known Issues
5
6
No known issues.
Version 1.3.57.0 (Sep 2013)
This firmware is built to work with v5.2.0 of the S110 Softdevice from Nordic Semiconductor and
the enhancements and bug fixes since the previous production release 1.2.54.0 are as described
below and refer to the user manual for more specific details.
Main headline enhancements:
The ability to output a PWM or FREQ output on up to 2 gpio output pins.

The ability to detect that a writable device name has been written and
then to be able to get the new value from the gatt table
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
8
Laird Technologies
BL600 Firmware Release Notes
6.1

New functions to be able to detect gpio input change with no current
consumption cost which means it is possible to close the uart and get to the
4uA current consumption regime and yet still be able to detect for
incoming data and be woken up so that the uart can be re-opened at the
expense of losing that first incoming character.

The ability to read the current MAC address from within a smartBASIC
application

A new helper function to bridge the uart and a virtual serial port service.
Enhancements
42. Added the following new smartBASIC functions:BleGetDeviceName$()
GpioAssignEvent()
GpioUnAssignEvent()
UartCloseEx()
SysInfo$()
BleVspUartBridge()
GpioConfigPwm()
43. Added the capability to output a PWM signal or a frequency output on up to 2 gpio pins
simultaneously. Note in total only 2 outputs can be configured as PWN and/or FREQ output.
44. Enhanced GpioSetFunc() so that when OUTPUT type is specified, the subfunction can be used to
specify PWN or FREQ as well.
45. Added the EVBLEMSGID_DEVICENAME_WRITE sub-message id associated with the
EVBLEMSG event which is thrown to the smartBASIC runtime when gatt client writes a new
device name. The handler can use the new function BleGetDeviceName$() to read the new
name.
46. Added the following new events and messages that a smartBASIC app can handle:EVDETECTCHAN0
(associated with the new GpioAssignEvent() function)
47. If Limited Discoverability mode is advertised in the Flags AD element and the advert
timeout is set to 0 then the timeout is clipped to 180 seconds.
48. The smartBASIC function UARTINFO() now takes id 5 and 6 to return uart related
information which is useful to optimise current consumption when using the uart.
49. The smartBASIC function SYSINFO$(4) now returns the current Bluetooth mac address to
the running smartBASIC application
50. Build process now generates a ,syn file for enhanced color syntax highlighting for the
TextPad editor.
51. Added new interactive command AT+CFG which deprecates the use of AT+SET and
AT+GET. The format for AT+CFG is now more user friendly.
AT+CFG num value :- used for updating a non-volatile value
AT+CFG num :- used to read a non-volatile value
52. Modified the ‘nFlags’ parameter supplied to BleVspOpen() so that if bit 1 is set then it
suppresses creation of modem in/out characteristics.
53. Added Virtual Serial Port related non-volatile registers that are read or writing using
AT+CFG as follow:113 UWKEY_VSPP_ONCMDBRIDGE_ADVERT_INTERVAL_MS
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
9
Laird Technologies
BL600 Firmware Release Notes
114 UWKEY_VSPP_ONCMDBRIDGE_ADVERT_TIMEOUT_SEC
115 UWKEY_VSPP_ONCMDBRIDGE_BAUDRATE
116 UWKEY_VSPP_ONCMDBRIDGE_LATENCY_MS
54. Updated Virtual Serial Port behaviour so that when modem characteristic is active the
virtual RTS is deasserted when space < 80 and re-asserted when space >= 120
6.2
Bug Fixes
32. In UART driver when RTS is deasserted the last character is no longer lost when ring buffer
is full.
33. If a timer that was not running is checked to see if it is running, then in some
circumstances a NULL was being dereferenced.
34. When renaming a file in the file system, if the filename started with the ‘_’ character then
it used to fail.
35. Bug fix in DriverPubNrf51Gpio_BindEvent() which prevents the same channel to be used
again if it happened to be channel 0
6.3
Known Issues
6
7
No known issues.
Version 1.2.54.0 (Jun 2013)
This firmware is built to work with v5.1.0 of the S110 Softdevice from Nordic Semiconductor and
the enhancements and bug fixes since the previous production release 1.1.50.0 are as described
below and refer to the user manual for more specific details.
7.1
Enhancements
55. Added capability so that any BLE services and characteristics can now be added at
runtime using new smartBASIC functions. This means custom and any future adopted
services do NOT require new firmware from Laird to implement.
56. Added flash upload capability over the uart so that Laird’s smartBASIC firmware image
can be upgraded over the uart using a new UwFlash utility. Note the underlying
SoftDevice image from Nordic still needs the JLINK for upgrade.
57. Added the following new smartBASIC functions:BleCharNew()
BleCharCommit()
BleSvcCommit()
BleSvcAddIncludeSvc()
BleCharValueWrite()
BleCharValueNotify()
BleCharValueIndicate()
BleCharValueRead()
BleCharDescRead()
BleHandleUuid16()
BleHandleUuid128()
BleHandleUuidSibling()
BleAttrMetadata()
BleCharDescUserDesc()
BleCharDescPrstnFrmt()
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
10
Laird Technologies
BL600 Firmware Release Notes
BleCharDescAdd()
BleAdvRptGetSpace()
BleAdvRptAppendAD()
BleEncode8()
BleDecodeS8()
BleDecodeU8()
BleEncode16()
BleDecodeS16()
BleDecodeU16()
BleEncode24()
BleDecodeS24()
BleDecodeU24()
BleEncode32()
BleDecode32()
BleEncodeFLOAT()
BleDecodeFLOAT()
BleEncodeSFLOAT()
BleEncodeSFLOATEX()
BleDecodeSFLOAT()
BleEncodeTIMESTAMP()
BleDecodeTIMESTAMP()
BleEncodeSTRING()
BleDecodeSTRING()
BleEncodeBits()
BleDecodeBits()
BleVSpFlush()
CircBufCreate()
CircBufWrite()
CircBufOverWrite()
CircBufRead()
CircBufItems()
CircBufDestroy()
BleSetCurConnParms()
BleGetCurConnParms()
BleConnMngrUpdCfg()
58. Added the following new events and messages that a smartBASIC app can handle:EVVSPTXEMPTY
EVCHARDESC
EVDISCON
EVBLEMSGID_ENCRYPTED
EVBLEMSGID_UNENCRYPTED
EVBLEMSGID_CONN_TO_BONDED_MASTER
EVBLEMSGID_UPDATED_BOND
EVCHARSCCD
EVCHARCCCD
EVCHARHVC
EVCHARVAL
EVCHARDESC
59. Enhanced SYSINFO() function (and thus the AT I command too) so that the following new
information can be extracted :0x8000 to 0x81FF
returns the FICR registers at offset 0x000 to 0x1FF
2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
11
Laird Technologies
BL600 Firmware Release Notes
60. A minimal app with just the start advert function and the waitevent will now advertise the
device name “LAIRD BL600”
61. Enhanced the algorithm for checking connection parameters on connection.
62. Connection parameter renegotiation is now state machine based.
63. Asserts will now result in a message dump over the uart @9600N81 and the module will
automatically reset to ensure it does not sit is an infinite loop and thus drain the battery.
64. All unhandled interrupts and hardware fault exception now result in a stack reset,
message dump over uart @9600N81 and then a reset. Again this prevents an infinite loop
which will result in a battery drain.
65. Capability to download smartBASIC applications into the module’s file system over the
air. A Windows PC utility is under development and will be provided for free as soon as it
is released.
66. Added a managed Virtual Serial Port Service which allows bi-directional streaming data
exchange. This managed service has ring buffers for both rx and tx which sit on top of the
service characteristics and is available in both command and run mode. In command
mode it is provided to facilitate smartBASIC application download over the air in
production (SIO7 has to be pulled high to enable this feature). In run mode see the new
function VSPxxxx().
In command mode the virtual Serial Port Service operates at a reduced transmit power
of -12dBm so that multiple programming stations in a production environment will
interfere with each other less.
67. Added Non-volatile Configuration keys to modify behaviour of certain features when in
command mode (like the Virtual Serial Port). The following new keys (accessible via the
AT+SET and AT+GET commands) are available (more details in user manual):SERVICE_ENABLE_VSP_ONCMD
VSP_ONCMD_MAKE_RELIABLE
VSP_ONCMD_ADVERT_INTERVAL_MS
VSP_ONCMD_ADVERT_TIMEOUT_SEC
VSP_NOTIFYBUF_LOW_THRESHOLD
VSP_ONCMD_MIN_CONN_INTERVAL_SLOTS
VSP_ONCMD_MAX_CONN_INTERVAL_SLOTS
VSP_ONCMD_CONN_SUPVSN_TOUT_MS
VSP_ONCMD_SLAVE_LATENCY
VSP_ONCMD_TXPOWER_DBM
VSP_ONCMD_TXBUF_SIZE
VSP_ONCMD_RXBUF_SIZE
VSP_UUID_BASE_INDEX
68. Heap memory size reduced to 4384 from 4480.
69. By default SIO7 pin now has an internal pull down resistor by default so that an
unconfigured module will NOT add Virtual Serial Port Service to the Gatt Table on power
up for command mode. The pin needs to be pulled high externally on the users device to
enable smartBASIC apps download over the air.
70. The internal DCDC convertor is now switched off on Nordic’s recommendation until a
future release of the softdevice stack.
71. Asserting a BREAK on the receive line of the uart interface will put the module into deep
sleep mode. Releasing BREAK will force it to active mode via the reset vector. As long as
the UART interface is open this provides a convenient method of resetting the module
without resorting to a physical line to the RESET pin of the module. Please note, this is only
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
12
Laird Technologies
BL600 Firmware Release Notes
available when the UART is open – hence not a universal alternative to actually asserting
the RESET pin on the module.
7.2
Bug Fixes
36. When setting up a signal i/o for DIGITAL INPUT functionality the subfunction mask is
correctly interpreted.
37. When a smartBASIC app is STOPped inside a routine and then ABORT is invoked by the
user the local variables stack for a subsequent application that is launched is out of sync.
38. The cross-compiler now displays an error line correctly
39. Bonding manager and whitelist management is now implemented correctly.
40. The command AT&F* now also deletes the Bonding Database
41. Blood Pressure units are now processed correctly.
7.3
8
Known Issues
7
A filename which includes the character ‘_’ cannot be renamed.
Workaround:
Delete the file using AT+DEL
Rename the .sb file so that it has the filename you want in the module’s file system and
reload. Note if the file system is full you will have to delate all using at AT&F* command.
8
For function GpioBindEvent() if nPolarity argument is not 0,1 or 2 then it behaves as if the
value was set to 0 rather than returning an error.
Version 1.1.50.0 (Apr 2013)
This firmware is built to work with v5.0.0 of the S110 Softdevice from Nordic Semiconductor and
was the first production release.
9
Further Information
Further information relating to firmware and the use of UWTerminal is available from the Laird
website at http://www.lairdtech.com/Products/Embedded-Wireless-Solutions/Bluetooth-RadioModules/BL600-Series
Americas: +1-800-492-2320 Option 2
Europe: +44-1628-858-940
Hong Kong: +852 2923 0610
www.lairdtech.com/bluetooth
13
Laird Technologies