Technical Communications Style Guidelines FEB02 Blue Lab V3.2 CS 110737 RN V3.6 Release Note
User Manual: BlueLab v3.2
Open the PDF directly: View PDF
.
Page Count: 60
| Download | |
| Open PDF In Browser | View PDF |
_äìÉi~Ä»
BlueLab v3.6
Software Release Note
December 2006
CSR
Cambridge Science Park
Milton Road
Cambridge CB4 0WH
United Kingdom
Registered in England 4187346
Tel: +44 (0)1223 692000
Fax: +44 (0)1223 692001
www.csr.com
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Contents
Contents
1
Introduction .................................................................................................................................................... 3
1.1 BlueLab3 ................................................................................................................................................. 3
1.2 BlueLab v3.6............................................................................................................................................ 3
1.3 New Features in v3.6 Relative to v3.5 ..................................................................................................... 4
1.4 Requirements .......................................................................................................................................... 4
2
CSR Chips ...................................................................................................................................................... 5
3
Release Functionality .................................................................................................................................... 6
3.1 xIDE
..................................................................................................................................................... 6
3.3 Support Libraries ..................................................................................................................................... 6
3.4 Application Libraries ................................................................................................................................ 6
3.5 Kalimba DSP Libraries ............................................................................................................................ 7
3.6 Example Applications .............................................................................................................................. 7
4
Firmware ......................................................................................................................................................... 9
5
Major Changes in BlueLab3 Relative to BlueLab2 .................................................................................... 10
5.1 Tool Changes ........................................................................................................................................ 10
5.2 Library Changes .................................................................................................................................... 10
5.3 Application Changes.............................................................................................................................. 10
6
Testing .......................................................................................................................................................... 11
7
Document References ................................................................................................................................. 12
Appendix A
Known Issues ........................................................................................................................... 13
Appendix B
Issues Resolved in BlueLab v3.6............................................................................................ 17
Appendix C
Issues Resolved in BlueLab v3.5............................................................................................ 24
Appendix D
Issues Resolved in BlueLab v3.4............................................................................................ 31
Appendix E
Issues Resolved in BlueLab v3.3............................................................................................ 38
Appendix F
Issues Resolved in BlueLab v3.2............................................................................................ 45
Appendix G
Issues Resolved in BlueLab v3.1............................................................................................ 56
Terms and Definitions ........................................................................................................................................ 58
Document History ............................................................................................................................................... 60
List of Tables
Table A.1: Known Issues ...................................................................................................................................... 14
Table A.2: Known Issues (xIDE) ........................................................................................................................... 15
Table A.3: Missing Features ................................................................................................................................. 16
Table A.4: Known Issues in BlueSuite v1.23 Tools Shipped with BlueLab v3.6.................................................... 16
Table B.1: Issues Resolved in BlueLab v3.6 ......................................................................................................... 22
Table B.2: Summary of BlueSuite v1.23 Resolved Issues .................................................................................... 23
Table C.1: Issues Resolved in BlueLab v3.5......................................................................................................... 30
Table D.1: Issues Resolved in BlueLab v3.4......................................................................................................... 37
Table E.1: Issues Resolved in BlueLab v3.3 ......................................................................................................... 44
Table F.1: Issues Resolved in BlueLab v3.2 ......................................................................................................... 55
Table G.1: Issues Resolved in BlueLab v3.1 ........................................................................................................ 57
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 2 of 60
_äìÉi~Ä»=îPKS Software Release Note
3.2 Toolchain ................................................................................................................................................. 6
Introduction
1
Introduction
This document describes _äìÉi~Ä»=îPKS, the most recent release of BlueLab3, CSR's software development
®
kit for producing embedded applications for CSR’s Bluetooth wireless technology chips. Some additional
documentation is included with BlueLab; see the manual available inside xIDE, the integrated development
environment for BlueLab and the accompanying PDFs.
1.1
BlueLab3
BlueLab v3.0 introduced true on-chip, real-time debugging for the first time on any Bluetooth chip. There is no
need to stop the chip running to get debug data. It is possible to watch traffic in real-time while the chip runs. The
development environment monitors and records messages between the VM application and the upper layers of
the Bluetooth stack. The resulting record can be as useful as, but much easier to obtain than, an air trace when
debugging complex problems such as interoperability between two Bluetooth devices.
These features make BlueLab3 by far the most flexible and functional set of tools available for any Bluetooth chip
today.
The new tools introduced with BlueLab3 make it easier to take advantage of its much improved and expanded
set of software libraries. These libraries improve performance and consistency for functions such as event
handling. Crucially, they are designed from the ground up to support applications that use multiple simultaneous
connections. This function is essential for cutting-edge Bluetooth products like wireless stereo headphones with
call handling.
The library changes mean that applications written for BlueLab2 must be partially rewritten to run under
BlueLab3. Rewriting the code need not be an arduous task because the new libraries automate many common
functions. As a result BlueLab3 applications are considerably simpler than before. It is generally only necessary
to write a user interface to sit above the highly functional libraries provided with the Software Development Kit
(SDK).
The initial releases of BlueLab3 were focussed on wireless headphones with call handling (combined
Headset/Hands-Free and Audiovisual profiles) because the ability to support multipoint connections is essential
for these products.
1.2
BlueLab v3.6
BlueLab v3.6 consolidates the support for BlueCore5 introduced in BlueLab v3.5. It includes development quality
firmware for BlueCore5-Multimedia, including all the features planned for the corresponding production firmware
late in 2006.
BlueLab3 now supports more generations of BlueCore and has support for more profiles than BlueLab2, making
it the preferred environment for the development of embedded applications on BlueCore.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 3 of 60
_äìÉi~Ä»=îPKS Software Release Note
BlueLab3 has the same virtual machine (VM) architecture that has been successfully implemented in the vast
majority of single-chip Bluetooth products, including around 80% of all headset designs. The VM isolates user
code in a sandbox where it cannot interfere with the basic Bluetooth operation of the chip. This allows the use of
pre-qualified low-level stack firmware, greatly simplifying Bluetooth qualification process and reducing time to
market. The user does not need to qualify complex low-level firmware. CSR does this.
Introduction
1.3
New Features in v3.6 Relative to v3.5
In addition to the changes listed in Appendix B BlueLab v3.6 introduces the following new features:
Application changes:
The stereo_headset reference application now supports eSCO and the DEV-PC 1645
development board.
1.4
Tool enhancements:
VM library and object files are now much smaller, reducing both disk space and build times.
xIDE now loads VM debug symbols more quickly.
Significant improvements have been made to build times for large DSP applications.
Kalimba DSP library changes:
Further improved support for Bluecore5-Multimedia as well as Bluecore3-Multimedia in the DSP
libraries.
Additions to the flash library to be able to request the flash address of a file in the file-system given
its VM file handle.
The message library now supports explicitly sending a long or short message. This frees up a little
more program memory (PM) in applications that don’t need to send long messages.
Requirements
This release of BlueLab runs on machines operating on Windows 2000 SP4 or later and Windows XP SP1 or
later.
A minimum of 256MB memory (RAM) is required for satisfactory performance. However, CSR recommend
running BlueLab on a machine with 512MB (RAM) or more
The development tools access BlueCore through the Serial Peripheral Interface (SPI); therefore, a board
supporting this (such as Casira™ or other CSR development board) is also required.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 4 of 60
_äìÉi~Ä»=îPKS Software Release Note
PBAP example applications have been added.
CSR Chips
2
CSR Chips
Applications produced with this development kit will run on CSR’s _äìÉ`çêÉPI _äìÉ`çêÉQ and=_äìÉ`çêÉR
chips, with a firmware build supporting Virtual Machine (VM) v7.5. Suitable production firmware for these chips is
expected during late 2006 (from the 22.x branch and later.)
Applications can also be built for BlueCore2, but this release of BlueLab does not include firmware for BlueCore2.
The last planned production firmware release supporting BlueCore2 was 21f, which supports VM v7.5 under the
restrictions outlined in the 21f release note.
Notes:
The firmware builds supplied with this release all require minimum 6Mbit devices. See Table A.1.
_äìÉi~Ä»=îPKS Software Release Note
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 5 of 60
Release Functionality
3
Release Functionality
3.1
xIDE
This release of BlueLab includes CSR’s integrated development environment, xIDE, supporting development and
debugging of both VM applications (in C) and Kalimba DSP code (in assembler).
3.2
Toolchain
BlueLab includes a set of development tools for VM applications:
Compiler based on GCC v3.3.3 and targeting the BlueCore VM
Supporting assembler, librarian and linker
Libraries providing access to BlueCore specific features
Libraries providing implementations of selected standard ANSI functions
BlueLab also includes development tools for Kalimba DSP applications written in assembler:
Assembler, with linking ability
Tools for embedding Kalimba DSP applications and data in BlueCore’s read-only file system
Libraries providing commonly required services
Matlab tools to aid debugging of Kalimba DSP applications and libraries
Additional tools (from BlueSuite™) are provided for downloading applications and updating the Persistent Store.
3.3
Support Libraries
In addition to the standard libraries, BlueLab includes libraries specific to BlueCore and Bluetooth:
Battery library sampling voltage level
Message library for splitting applications into communicating tasks
Panic library for detecting errors and terminating the application
Service and region libraries for searching SDP records
MD5 library to support authentication in PBAP (Phonebook Access Profile)
3.4
Application Libraries
The following libraries build on BlueStack to simplify the production of Bluetooth applications:
Connection library
Can create RFCOMM, L2CAP and SCO connections
Manages security settings and link policy
AV profile libraries supporting applications using the Bluetooth AV profiles
HFP library supporting applications using the headset and hands-free profiles
SPP library supporting applications using both roles of the serial port profile
GOEP library supporting the client and server role of the generic object exchange profile underlying
OBEX
FTPC and FTPS libraries implementing the client and server side of the file transfer profile using GOEP
OPPC and OPPS libraries implementing the client and server side of the object push profile
AGHFP library supporting the audio gateway profile
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 6 of 60
_äìÉi~Ä»=îPKS Software Release Note
Release Functionality
HID library supporting the human interface device profile
DUN library supporting the dial up networking profile
PBAP library supporting the phonebook access profile
3.5
Kalimba DSP Libraries
Timers
Messages (now includes long message support)
Interrupts
Connection buffers
cbuffer operators (cbops) library: handles copying of data from a source buffer to a destination
buffer with optional processing of the data in a simple linked list of operators-type way
Profiling
Flash access (functions to aid reading of flash memory from the DSP), also running code from
flash on Bluecore5-Multimedia
PS key reading from the DSP
Audio compression CODEC libraries
sbc library: mandatory CODEC SBC (Sub-band Coding), both encoder and decoder, for the
Bluetooth AV profiles.
mp3 library: an mp3 decoder supporting the lower sample rate extensions of MPEG2/2.5
codec library: handles streaming audio over Bluetooth using the selected audio compression CODEC
(sbc, mp3 etc)
Math library: optimised fft, ifft, sin, and sqrt functions
sco_process library: eases the creation of applications that handle the processing of SCO audio streams
3.6
Example Applications
The following example applications are supplied.
Note:
These are for demonstration purposes only and are intended as the starting point for customers’
development effort.
On multimedia variants of BlueCore
stereo_headset application implementing both a headset and a stereo AV sink, including an
evaluation implementation of cVc (Clear Voice Capture) echo cancellation and noise reduction software.
Note:
The stereo_headset application can be configured for use with DEV-PC1645, DEV-PC1508 and
DEV-PC1442 development boards.
a2dp_source_dongle implements an AV source, taking audio from one of:
internal stereo CODECs
an external Wolfson CODEC
USB, enumerating as USB speakers
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 7 of 60
_äìÉi~Ä»=îPKS Software Release Note
Core library – basic low-level routines:
Release Functionality
Targeting BlueCore3-Audio Flash and BlueCore4-Audio Flash
headset application implementing a mono headset.
Note:
It is also possible to use this application on older BlueCore variants, but modifications will be required to
remove calls to support the charger and other features which are specific to these versions of BlueCore.
Targeting BlueCore variants running HID or unified versions of Firmware
hid_mouse
hid_keyboard
hid_dongle
spp_dev_a and spp_dev_b implementing role A, or role B, of the serial port profile
ftp_server
obex_server
opp_server
pbap_client
pbap_server
Example applications are also provided demonstrating:
routing of SCO data through the Kalimba DSP: sco_dsp and sco_master applications
use of the SBC encoder and decoder libraries: test_sbcloopback application
use of the mp3 decoder library: test_mp3decoder application
sending long messages between the Kalimba DSP and VM: kalimba_long_message_example
application
accessing flash memory from the Kalimba DSP: kalimba_flash_access_example application
generating of test tones: test_tonegen application
use of the FTPC, GOEP and OPPC libraries: ftpc, goep, and oppc applications
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 8 of 60
_äìÉi~Ä»=îPKS Software Release Note
On all variants of BlueCore:
Firmware
4
Firmware
CSR’s policy is to distribute, with BlueLab, a selection of firmware builds whose sole purpose is the development
of applications. Before going into production the developer must obtain from CSR Bluetooth-qualified production
firmware (which they can use in place of the development firmware supplied with BlueLab). This is a mandatory
part of the qualification process.
This release of BlueLab v3.6 includes development firmware for use with BlueCore3-Audio/Flash,
BlueCore3-Multimedia, BlueCore4-External, BlueCore4-Audio/Flash and BlueCore5-Multimedia. See Table A.1:
Hardware
Flash
Size
Space in
filesystem
HID
RFCOMM
DFU
unified_kalimba
BC3-multimedia
8Mbit
148Kw
Yes
Yes
Yes
enhanced_kalimba(1)
BC3-multimedia
8Mbit
144Kw
Yes
Yes
Yes
unified_coyote
BC4-external
8Mbit
148Kw
Yes
Yes
Yes
compact_paddywack
BC3-audio flash
6Mbit
128Kw
No
Yes
No
hid_paddywack
BC3-audio flash
6Mbit
140Kw
Yes
No
No
compact_jumpinjack
BC4-audio flash
6Mbit
116Kw
No
Yes
No
hid_jumpinjack
BC4-audio flash
6Mbit
128Kw
Yes
No
No
unified_elvis
BC5-multimedia
8Mbit
16Mbit
32Mbit
156Kw
(+1024Kw)
(+3072Kw)
Yes
Yes
Yes
(1)
This enhanced firmware has partial support for EDR but cannot be qualified to the v2.0 + EDR Bluetooth
Specification.
Table A.1: Development Firmware Included with BlueLab v3.6
Notes:
The hardware type is detected automatically by xIDE, unless explicitly set for the project.
Choose between compact, unified, hid and enhanced firmware by using the project properties within xIDE.
BlueLab applications are limited to, at most, 64Kw of code space and 24Kw of constants; they must also fit in
the read-only file system along with other files used by the application, such as any DSP code used by
multimedia applications.
Available space in the filesystem may decrease between development firmware provided with BlueLab and
the corresponding production firmware.
Customers using early revision-A samples of BlueCore5-Multimedia should upgrade to revision-B. The
firmware supplied with BlueLab 3.6 does not work on rev-A parts. If automatic hardware detection is used
with rev-A parts, BlueLab reports that it cannot find suitable firmware.
See also the notes in section 2.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 9 of 60
_äìÉi~Ä»=îPKS Software Release Note
Firmware name
Major Changes in BlueLab3 Relative to BlueLab2
5
Major Changes in BlueLab3 Relative to BlueLab2
BlueLab3 builds on many years of experience with BlueLab1 and BlueLab2. Many components have been
redesigned and replaced to make it easier and faster to build the sort of applications CSR’s customers are now
working on.
5.1
Tool Changes
The most visible change in BlueLab3 is the addition of xIDE, a complete integrated development environment.
xIDE allows projects to be created, code to be edited, VM applications to be compiled, and Kalimba DSP code to
be assembled within a single environment.
xIDE supports on-chip debug of applications over BlueCore’s SPI debug interface, making it possible to debug
applications which take control of the USB or UART interface on BlueCore. Such applications include serial-cable
replacement and USB dongles.
The Matlab-based kalasm from BlueLab2.85 and later has also been replaced by a new version, kalasm2.
A new C compiler based on gcc3.3.3 has replaced the gcc 2.95 compiler used in BlueLab2 and typically yields a
10% improvement in code density.
5.2
Library Changes
The most significant change in BlueLab3 is the introduction of the new connection library which supports any
combination of RFCOMM, L2CAP and SCO connections (and, soon, TCP and UDP) serving multiple profiles. For
example, a single application implementing both AV and HF profiles is now possible. (The single connection and
single profile limitations imposed by the cm_rfcomm library in BlueLab2 no longer apply.)
The lower level libraries have been completely rewritten to support the new connection library. Notification of
asynchronous events, either from the firmware or from lower-level libraries, is now uniformly handled by the
delivery of messages. Tasks are now dynamically created and combine message handlers with local state. The
scheduler library in BlueLab2 has been replaced by a simplified message loop, cutting latency on message
delivery by a factor of five.
The upper level libraries, which correspond to Bluetooth profiles, have also been completely rewritten as tasks
which use the new connection library. This makes it possible to combine multiple profiles in a single application.
For example an application can now open multiple SPP connections simply by creating multiple instances of the
SPP profile.
5.3
Application Changes
BlueLab2 and BlueLab3 applications look significantly different. In general a BlueLab3 application is much
simpler than the corresponding BlueLab2 application, especially when multiple connections or profiles are being
used. A typical BlueLab3 application simply arbitrates between the user-interface logic and the profile instances it
creates.
However, the extensive changes to the libraries make it impractical for the same code to work with both BlueLab2
and BlueLab3. An existing BlueLab2 application will have to be partly rewritten to work with BlueLab3.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 10 of 60
_äìÉi~Ä»=îPKS Software Release Note
xIDE replaces the Java-based appdebug from BlueLab2. It also replaces the Matlab-based kaldbg which was
provided as part of BlueLab v2.85 and later. The requirement to install Cygwin and Java has also been
eliminated.
Testing
6
Testing
BlueLab v3.6 has been in use within CSR throughout its development. Furthermore, explicit testing has covered:
Installation (and de-installation) on all supported platforms
Component testing of the connection library and profile libraries
Tools shared with the BlueSuite 1.23 release including PSTool and BlueFlash
Testing of BlueStack, the firmware layers above HCI including RFCOMM and L2CAP
Appendix A lists known issues. CSR welcomes reports of any additional issues through official support channels.
_äìÉi~Ä»=îPKS Software Release Note
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 11 of 60
Document References
7
Document References
Document:
Reference, Date:
Specification of the Bluetooth System
Core Specification v2.0 + EDR 4 November 2004
Headset Profile
Headset Profile Part K:6, v1.1, 22 February 2001
Hands-free Profile
Hands-free Profile, v1.0, 29 April 2003
BlueSuite v1.23 Software Release Note
CSR reference CS-110443-RN
a guide to BlueLab Command Line Tools
CSR reference CS-101506-UG
_äìÉi~Ä»=îPKS Software Release Note
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 12 of 60
Known Issues
Appendix A
Known Issues
This section lists currently known issues for BlueLab v3.6. The Severity column gives a subjective assessment
(Cosmetic, Minor, Major) of how severely each issue may affect the use of BlueLab v3.6.
The following items are known problems with the functionality of components which are new to BlueLab3.
Severity
B-2844
Minor
It is not currently possible to build a BlueLab library from within xIDE; this must be
done using the shortcut placed in the Start Menu, or Makefiles from the command
line.
B-3740
Minor
If an error occurs while building the BlueLab libraries from the start menu, the window
is closed losing the error messages. (Invoking the same command from the
command-line is an effective workaround.)
B-4221
Minor
BlueLab3 is missing library routines necessary to handle long long types.
B-4222
Minor
gcc3 -O2 and -O3 optimisation levels are known to generate incorrect code.
B-4264
Cosmetic
B-4314
Minor
The a2dp_source_dongle application can sometimes take longer than the
mandated 100ms to respond to an AVRCP transaction when streaming audio.
B-4315
Major
The a2dp library only supports one active stream endpoint.
B-4408
Minor
The connection library does not currently handle TCP or UDP connections.
B-5017
Minor
The L2CAP handler does not currently handle configuration messages which use the
more_data flag; this is minor since all L2CAP configurations fit into a single MTU.
B-5608
Major
Stream connections using a file as their source are terminated when the source file is
empty not when the last of the data has been read from the connection. This makes it
impossible for the Kalimba DSP to read the last few hundred bytes of data from a file.
B-6228
Minor
Security in the connection library is currently configured globally or by service. Per
device settings are not yet supported.
B-7051
Minor
In certain functions, the debug information output by gcc is incomplete, leading to
function arguments sometimes not being available in the variables widget in xIDE until
some way through the function.
B-7645
Major
The a2dp_source_dongle application does not enter DFU mode.
B-8354
Minor
The a2dp library is coupled to the multimedia versions of BlueCore; it currently
assumes that it should check for DSP CODECs in the filesystem and load them onto
the DSP as required.
B-8564
Minor
xIDE strips path components from source files when generating makefiles, which
means that all project files must be in the same directory.
B-8714
Minor
Sometimes bitfield values can be displayed incorrectly in xIDE.
B-8861
Minor
xIDE should provide a way of merging the application and firmware without requiring
the appropriate hardware to be connected over SPI and then flashing it.
B-8888
Minor
If extra indicator reporting is enabled in the hfp library, the initial values of the extra
indicators are not sent to the client.
B-9877
Minor
If the VM project is not before any Kalimba projects in a workspace, the Kalimba
debugger may not operate.
B-10894
Minor
B-11093
Minor
The message CL_SM_ENCRYPTION_CHANGE_IND is unhandled which causes a
Panic in the debug build of the gavdp library.
B-11271
Minor
The Kalimba in BlueCore3 does not allow the last instruction in a DoLoop to be a
function call, as this is only supported in BlueCore5. However, no warning is given
when the target device is BlueCore3.
CS-110737-RNP1
Description
Installing exactly the same version of BlueLab twice, then attempting to uninstall can
leave orphaned shortcuts on the system.
The connection library does not directly support
DM_HCI_READ_REMOTE_VERSION_COMPLETE.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 13 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Known Issues
ID
Severity
B-11616
High
The experimental StreamEnableSniffSubrating call present in BlueLab3.3
is not supported in the firmware supplied with BlueLab3.4 or later. Applications calling
this trap will not run with the supplied firmware.
B-12630
Minor
The CodecSetInput/OutputGain functions on BlueCore5-Multimedia produce
the same gain settings as on BlueCore3 and BlueCore5. The finer control described in
the BlueCore5-Multimedia databook is only currently available using the
CodecSetRaw functions.
B-13391
Minor
The firmware for BlueCore5-Multimedia supplied with BlueLab 3.5 and BlueLab 3.6
does not include PAN support (other builds may include it, but B-4408 makes it
inaccessible.)
Major
If using the BlueTunes development board (DEV-PC_1508) the audio amplifier must
be explicitly enabled by the application. The test_tonegen example (and other
audio applications) need to be updated otherwise the application will run but audio will
not be heard. The following lines should be added to the application in order to enable
the audio amplifier.
#define AUDIO_AMP_LINE (1<<4)
PioSetDir(AUDIO_AMP_LINE, AUDIO_AMP_LINE);
PioSet(AUDIO_AMP_LINE, AUDIO_AMP_LINE);
If PSTool loses contact with the chip when performing a key dump, PSTool may
crash.
B-14655
Low
B-17059
Minor
BlueLab v3.6 does not include firmware for early revisions of BlueCore5-Multimedia. If
such chips are detected, xIDE now reports that suitable firmware cannot be found.
B-17075
Minor
BlueLab no longer includes firmware for BlueCore2 parts. The last production
firmware for these parts comes from the 21 branch and is only partly compatible with
BlueLab v3.6.
B-17158
Minor
A SCO loop through cannot be performed by directly connecting a ScoSource to a
ScoSink. It is however, possible to connect the ScoSource and ScoSink to the
DSP and have it copy data between them.
B-17938
Minor
The StreamEnableSniffSubrating function is not supported in current
firmware and will be removed in a future version of BlueLab.
B-18765
Minor
The default configuration for the stereo_headset reference application supplied
with this release is intended to run on a BlueCore5-Multimedia DEV-1645
development board. The configuration needs changing before the application will work
on other boards.
B-18766
Minor
Firmware limitations prevent a VM application from registering large USB descriptors.
Behaviour becomes erratic for descriptors larger than approximately 256 bytes.
B-18848
(formerly
SEP-16)
Minor
The remote control functionality of the a2dp_source_dongle does not work with
MacOS X. This is because MacOS does not natively support the required HID events.
It is possible, however, to write a MacOS driver to implement this functionality.
B-19036
Minor
Buttonparse does not include PIO 0 if it is defined as a pio_raw event.
B-19303
Low
The stereo_headset application supplied with BlueLab v3.6 no longer has a
configuration supporting the 1307 development board.
Table A.1: Known Issues
The following items are known problems with xIDE.
ID
Severity
Description
M-391
Cosmetic
After an application panic, it's still possible to click step and run in xIDE but they return
error messages.
M-406
Minor
Stepping over MessageLoop causes xIDE to stop responding until a message is
received.
M-452
Minor
xIDE has excessive PC CPU usage while polling a running VM application.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 14 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-14511
Description
Known Issues
ID
Severity
Description
M-467
Minor
Stopping xIDE while firmware is being downloaded leaves a stray
BlueFlashCmd.exe process running.
M-563
Minor
If auto-indent is enabled then xIDE can incorrectly indent lines when Undo is used.
M-582
Cosmetic
M-607
Minor
If local and global variables have the same name, then xIDE only displays one of them
while debugging a VM application.
M-704
Minor
The Stop-Build button produces strange results if pressed during start-up of a Kalimba
project.
M-745
Minor
Using F4 in xIDE to go to the next error does not restart from the top of the list of errors
after rebuilding the application.
M-754
Minor
Single stepping through single instruction do loops performs three instructions on each
step.
M-769
Minor
If xIDE is closed while it's switching to debug mode, it crashes with a memory error.
M-772
Minor
Batch build builds the active configuration several times, rather than building all the
different configurations.
M-815
Minor
Pressing F4 in xIDE to go to the next error can be confused by errors which actually
occur in included files.
M-837
Major
If VM memory or register widgets are opened after a panic, they display all zeros. To
work around this problem, click show next statement on the debug menu after opening
the widgets.
M-842
Minor
Search and replace can take several minutes to complete for a few thousand
replacements.
M-872
Minor
Running or stepping from a kalimba break instruction at the end of do..loop block
may not work as expected.
M-873
Minor
Writing a kalimba register does not affect the value of the register where it is used as a
data or program address in the current instruction.
M-917
Minor
When the debug tabs in xIDE become full and start discarding old content, the scroll
bars are automatically set to the top. This makes it difficult to see the most recent
output.
xIDE sometimes starts with a window partially off the screen; a workaround is to rightclick on xIDE in the task bar and select Move, bringing the window back on screen using
the cursor keys.
Minor
Pressing [F4] in xIDE does not take you to the next error after building a DSP project.
M-974
Major
Removing a project from a workspace while debugging crashes xIDE
M-975
Major
Two KalimbaLoads in quick succession causes BlueLab debugger to stop working.
Setting a VM breakpoint on the second KalimbaLoad will stop the problem occurring.
M-995
Minor
xIDE is unable to debug applications with the Panic Action project property set to Panic
entire chip if they panic shortly after the chip boots. It gives the error Failed to send or
process command.
M-1001
Fatal
xIDE crashes while attempting to decode the DM_HCI_WRITE_STORED_LINK_KEY
primitive sent by the application.
M-1004
Minor
If the size of a Kalimba variable is changed and the application rebuild then re-run whilst
watching the variable in xIDE, the window becomes stale, showing the correct size but
the wrong number of elements. Removing the variable and restoring it to the window
overcomes this problem.
M-1006
Medium
When debugging DSP code on BlueCore5-Multimedia, xIDE will issue warnings when it
needs more than the four supported hardware breakpoints, but then runs the DSP
application anyway rather than aborting.
M-1071
Minor
The BlueStack tab in xIDE does not fully decode all primitives. Some, including
RFC_EX_ESTABLISH_IND and DM_SYNC_CONNECT_CFM, are reported in raw
form.
Table A.2: Known Issues (xIDE)
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 15 of 60
_äìÉi~Ä»=îPKS Software Release Note
M-959
Known Issues
The following items correspond to features which were present in BlueLab2 but are not available in BlueLab v3.6.
ID
Severity
B-3575
Minor
Description
DacGetBlock/Level and AdcSetBlock/Level are missing from BlueLab3.
Table A.3: Missing Features
Table A.4 summaries the known issues associated with the BlueSuite tools shipped with BlueLab v3.6. See the
BlueSuite v1.23 Software Release Note for know workarounds to these issues.
Severity
Description
B-401
Medium
PSTool lacks the means to manipulate PS keys directly in flash, without having to
send messages to the firmware.
B-704
Low
B-841
Medium
B-2558
Low
Currently, Broadcast mode will transmit image contents greater than 4Mb even if all
the devices have 4Mb flash. This causes problems with Hoisted images, since the
contents are amenable to truncation, but partially filled sectors cause errors.
B-2971
Low
If a PS Key (that exists on a connected device) is clicked on, the editable field for that
key appears. If the user then chooses to reconnect to another device where the same
key does not exist the Entry not present button appears without removing the editable
field. However, the unwanted editable field is higher in the Z order making it difficult to
press the button to add the entry.
B-3799
Low
The BlueFlash message indicating an image is too big is often generated erroneously.
B-4226
Low
.psr files dumped from PSTool or PSCli have information about how each key is
stored which is lost when merged with PSTool or PSCli.
B-4319
Low
The firmware version is truncated when displayed in PSTool
B-5504
Medium
B-6171
Major
The RAM test within BlueFlash occasionally gives a false negative.
B-11645
Minor
OR and AND operators are not supported in .psr files.
B-12733
Low
The TX PA atten setting for BlueCore5 is missing from the PSTool entry for
PSKEY_LC_ENHANCED_POWER_TABLE key.
B-14911
Low
In PSTool if connected to a device over USB, clicking Reconnect does not allow
selection of the same device.
The buttons in PStool advertise keyboard shortcuts (i.e, one of the letters is
underlined) but these do not work correctly.
At present, Boot mode support within PSTool is handled by Edit Raw.
BlueFlash offers to erase VM applications, but erases the 32Kw legacy sector rather
than the filesystem which is where BlueLab3 applications are stored.
Table A.4: Known Issues in BlueSuite v1.23 Tools Shipped with BlueLab v3.6
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 16 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.6
Appendix B
Issues Resolved in BlueLab v3.6
The following issues have been fixed in BlueLab v3.6.
ID
B-4924
Severity
Minor
Description
Support for S/PDIF input and output (audio only) has been added to the firmware.
This is typically accessed using PcmRateAndRoute() from the VM.
Note: Not all versions of BlueCore support S/PDIF.
Minor
It is now possible to run two instances of gcc at once. For example, building from two
instances of xIDE at the same time.
B-5951
Minor
The xIDE Project Properties dialogue box now allows the specification of a custom
firmware path.
B-8026
Minor
It is now possible to add custom capabilities to a stream endpoint using the function
A2dpAddSep(). The custom capabilities passed into the function are now copied
directly into the internal message sent by the library.
B-8979
Minor
Occasionally an AVRCP connection attempt from one device to another would fail
when running multiple iterations of connects then disconnects. This has been fixed.
B-9727
Major
DFUWizard is included in the BlueLab v3.6 release.
B-10807
Minor
The VM no longer panics under heavy message load when running under the
debugger. Messages are dropped and messages lost is shown in the messages tab.
B-11377
Minor
The stereo_headset application now sends an AVRCP Pause when it suspends
the A2DP source due to SCO interruption, and sends an AVRCP Play when the
source is started again.
B-11597
Minor
To allow FFWD/REW to continue while a button is held down, AVRCP now resends
FFWD/REW every second until the button is released.
B-11662
Minor
The BlueStack tab in xIDE now displays the iac_lap field of the
DM_HCI_WRITE_CURRENT_IAC primitive correctly.
B-11781
Major
The stereo_headset application now passes interoperability tests with the Nokia
8800.
B-12015
Medium
After sending AVRCP stop the stereo_headset application now sends AVRCP
play next and not a pause when the play/pause button is next pressed,. This ensures it
does not take two presses of the play/pause button to resume play.
B-12083
Minor
Piolib is now able to coexist with files generated by buttonparse.
B-12261
Minor
The stereo_headset application now sends A2DP_Suspend when the pause
key is pressed and no AVRCP connection exists..
Two new traps, MessageChargerTask and ChargerDebounce, have been
added for BlueCore variants with the required hardware.
B-12832
Minor
MessageChargerTask allows the application to register a task to receive charger
messages. ChargerDebounce allows the application to register interest in charger
events.
Events will result in MESSAGE_CHARGER_CHANGED messages being delivered to
the task registered with MessageChargerTask.
B-12859
Minor
If dfubuild is given a .psr file that contains duplicated keys, it now reports the
problem with a message that clearly informs this is the case.
B-12917
Major
A2DP streaming is now always restarted after the stereo headset has connected to an
AG.
B-13179
Minor
When initiating a connection the gavdp library now correctly sets the local MTU to
the L2CAP default.
B-13358
Minor
A complete flash erase of a BlueCore3-Multimedia chip using BlueFlash only erased
the first half of flash. This has been corrected so the flash is fully erased.
B-13591
Major
Significant performance improvements have been made to kalasm2.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 17 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-5662
Issues Resolved in BlueLab v3.6
ID
Severity
B-14263
Minor
Description
The stereo_headset application now plays a min/max beep when the volume is
changed from AG and the volume reaches its limits.
Previously, writing to memory at location zero did not work. That is, code such as the
following assembled incorrectly:
B-14270
Major
M[0] = R0; // Assembled as M[R0] = NULL + NULL;
M[0] = R0 + R1; // Assembled as M[R0] = R1 + NULL;
This has now been fixed.
Minor
The a2dp_source_dongle now checks for mono audio configuration when using
analogue audio inputs.
B-14478
Minor
Application project files have been reviewed and updated for consistency.
B-14578
Minor
As the number of BlueCore chips with Kalimba DSPs increases the number of
variations in the code has increased. To reflect this code references family level
defines and chip specific defines e.g. BlueCore5 and BlueCore5-Multimedia have
been added to the DSP makefiles..
B-14595
Minor
Each variant of the Kalimba DSP is now described by a family level define (to
determine available instructions, etc.) and chip define (to determine RAM sizes, etc.).
The DSP applications and library code have been updated to use these defines.
B-14670
Minor
B-14720
Minor
Some profiler structures in the timer routines in the core DSP library were not
initialised correctly. They are now initialised correctly.
B-14845
Minor
The DC remove, mix and sidetone mix operators used the wrong parameter offset for
their reset functions. This has been fixed.
B-15126
Minor
The file formats for object files, libraries and debug symbols have been changed to
reduce disk usage, improve compile and link times, and reduce startup time for the
debugger.
B-15160
Major
The stereo_headset application connects to a phone using the handsfree or
headset profile after the headset has been powered on. It no longer attempts to
connect the AVDTP signalling channel at this point.
B-15197
Minor
When debugging a BlueLab application, xIDE now attempts to report a reason for any
panics that occur.
B-15235
Minor
A new trapset, HID2 has been added to initialise Avago 5030, 6030 and 7050 mouse
sensors.
B-15251
Minor
The PS key routines in the core DSP library referenced a non-existent field when
cancelling the re-attempt timer, applications which subsequently used these routines
failed to build. This is fixed.
B-15316
Major
There was a memory corruption bug in warp_and_shift operator when its reset
function was called due to incorrect use of length registers. This is fixed.
B-15348
Major
The stereo_headset application now resets its internal state correctly if the
AVRCP connection is dropped before a response to a command is received.
B-15531
Minor
If voice dial fails, the stereo_headset application now restarts AV streaming.
B-15655
Major
On BlueCore5-Multimedia the SBC decoder could incorrectly reconstruct a sub-band
sample if that sub-band was using all 16 bits. The fault occurred because of a fix in
the LSHIFT instruction on BlueCore5-Multimedia vs BlueCore3-Multimedia. The
sample_reconstruction function has been adjusted so that the fault (crackles)
does not occur.
B-15729
Minor
The functionality in the core DSP library to send messages has been more cleanly
split into long and short, send and receive, to make it easier for custom libraries to be
built, for example without code to send long messages but with the ability to receive
them.
B-15741
Minor
An example application for a PBAP server has been added. This application uses the
read-only filesystem to store the phonebook data.
CS-110737-RNP1
Kalprofiler could get caught in an infinite loop trying to process the linked list of
profile structures. This has been fixed.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 18 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-14369
Issues Resolved in BlueLab v3.6
Severity
Description
B-15767
Minor
The profile routines have been added to the non-debug variant of the core DSP library
as well as the debug variant. This allows debug builds of applications and other
libraries without having to use the debug version of the core library.
B-15857
Minor
The Kalimba Matlab tool kalstacktrace attempts to open source code files if it
finds the DSP in the error routine. If it fails to open the file it no longer attempts to
close the file causing an error.
B-15875
Minor
The FTPC_PULL_OBJECT_START_IND message structure declares the
objectSize of a uint16. GOEP passes this value to FTPC as a uint32. It is now
correctly passed on as a uint32.
B-15884
Major
An initial version of a new audio library has been created. This provides an
abstraction layer for underlying audio components. At present it is an immature
implementation and is largely for internal development.
B-15911
Minor
Standard messages defined in kalimba_standard_messsages.h sent
between libraries in the VM and DSP have been reviewed. All messages now follow
the standard naming convention.
B-15947
Minor
The goep library now correctly rejects connection requests from the client if it already
has an active connection.
B-15977
Minor
xIDE no longer shows a Python error in the command window on startup.
The encoder in the CODEC library is either streaming or stopped. These states were
referenced as either 0 or 1.
B-16080
Minor
B-16087
Minor
The Kalimba Matlab tool Kalports now reports the configuration of the port and the
amount of data/space available, as well as its status.
B-16121
Minor
In IrDA OBEX GET (and GOEP GET), the final bit indicates the final packet containing
headers. Since GOEP only send headers in the first packet, it always sends GET
Complete (0x83).
B-16145
Major
Support for internal battery monitoring when using BlueCore5-Mutimedia on the DEV1645 board has been added.
B-16217
Minor
An example PBAP client application has been added.
B-16218
Minor
A Windows GUI to drive the PBAP client VM application has been added.
B-16219
Minor
The debug check in PbapcPullvCardListingStart was checking for less
than when the check should have be for less than or equal to. This caused a valid
mode of operation (download current folder) to fail in debug. This has been fixed.
B-16224
Minor
The define used by the Phonebook Access Client Library for ListStart application
parameter ID (5) was being used as the default value instead of the correct default
(0). This has been corrected.
B-16240
Minor
Between the prototype and released specification, the vCard handle format was
changed from decimal to hexadecimal. The pbap libraries now use the correct
format.
B-16254
Medium
The Kalimba Matlab tools have been updated to support BlueCore5-AMAP and
BlueCore5-DSPROM.
B-16324
Major
The Kalimba dtmf library did not function correctly. Various corrections and
enhancements have been made and this library now functions correctly.
B-16490
Major
The stereo_headset application now correctly sends a button press whenever
the fwd or back buttons are released.
B-16634
Minor
The a2dp library function A2dpEnableSignallingIndications has been
added. When called the application receives a message when a signalling channel
has been opened or closed.
CS-110737-RNP1
The constants $codec.stream_encode.STATE_STOPPED and
$codec.stream_encode.STATE_STREAMING are now used.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 19 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.6
ID
Severity
Description
BlueCore5-Multimedia can make UART and PCM pins appear as PIOs 16..23. The
traps have been added to support this new functionality:
PioGet32
PioSet32
PioGetDir3
PioSetDir32
B-16672
Minor
PioGetStrongBias32
PioSetStrongBias32
PioGetMapPins
PioSetKalimba32
PioGetKalimba32
B-16681
Minor
In the GOEP specification a server that wishes to make an authentication challenge
during connection should respond with unauthorised (0x41). But some
implementations respond with unauthorised and the final bit is set (0xc1). A check for
unauthorised and final bit set (0xc1) has been added.
B-16721
Major
Support for HFP 1.5 has been added to the stereo_headset application.
B-17030
Minor
A Slice transform to remove a configurable number of bytes from the start and end of
each packet has been added.
B-17031
Major
The pairing mode timer in the stereo_headset application is now correctly
cancelled when the application powers down.
B-17140
Minor
It is now possible for the user to defined their own character classes in the .parse
file, for use in patterns in place of the pre-defined parameters %s, %d and %*. See a
guide to BlueLab Command Line Tools section 6.
B-17144
Minor
The VmChecksum function has been added to perform simple checksums on flash
regions.
B-17167
Minor
A new message, MESSAGE_PSFL_FAULT has been added. This message is sent
to the registered system task if flash corruption is spotted in the Persistent Store.
B-17200
Major
A new routine has been added to the cbuffer routines in the core library:
$cbuffer.force_mmu_set. This is for use with BlueCore5 family of chips and
forces an MMU buffer set.
B-17265
Minor
When receiving long messages from Kalimba, they now have the id
LONG_MESSAGE_FROM_KALIMBA rather than the id
MESSAGE_FROM_KALIMBA.
B-17378
Minor
The stereo_headset application now correctly continues charging even when the
application is powered down.
B-17576
Major
The stereo_headset application has been updated to work better on a DEV-1442
development board.
Note: Battery monitoring is not supported on these boards.
B-17583
Minor
Compact firmware builds from BlueLab v3.6 and Firmware v22.x onwards include the
raw UART transport.
B-17691
Major
When sending a CIND response the aghfp library now correctly inserts a comma
between the callsetup and callheld indicators. This only affects AG
implementations enabling the HFP 1.5 features.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 20 of 60
_äìÉi~Ä»=îPKS Software Release Note
PioSetMapPins
Issues Resolved in BlueLab v3.6
ID
Severity
B-17934
Major
B-17965
Major
Description
$cbops.scale_16_bit would not build for BlueCore5-Multimedia because it
tried to call a function that didn't exist. This has been resolved and the comments
updated.
Buttonparse now copes with 32 PIO lines and charger events. See a guide to
BlueLab Command Line Tools section 4.
B-18089
Minor
The messaging system used to send long messages between Kalimba and the
VM/Firmware uses several buffers. These buffers were all define independently of
each other and were various sizes. They have all now be standardised to allow
messages with maximum payload sizes of
$message.MAX_LONG_MESSAGE_TX_PAYLOAD_SIZE and
$message.MAX_LONG_MESSAGE_RX_PAYLOAD_SIZE.
B-18147
Major
The stereo_headset application now correctly enables voice dial even if the HFP
audio gateway and AV source are the same device.
B-18197
Minor
Support has been added to the core DSP library to allow the DSP to obtain the flash
address of a file in the file-system. A function has been provided that takes a VM file
(index) handle and returns the start of the absolute address in flash.
B-18329
Minor
The stereo_headset application now only connects to the last used AV source
on power on instead of attempting to connect whenever an HFP connection is
created.
B-18442
Minor
Applications can now check if a timer handler is in use by checking the ID field, if it is
non-zero the handler is in use.
B-18487
Major
The stereo_headset application has been updated to use the new audio
library.
B-18549
Minor
B-18563
Major
Applications have been update to expect LONG_MESSAGE_FROM_KALIMBA where
appropriate. (see B-17265 in Error! Reference source not found.)
B-18606
Major
Reading VM_ADC_SRC_VDD_BAT returned incorrect readings in early firmware for
BlueCore5-Multimedia. This has now been remedied.
B-18628
Major
The sco_dsp example application has had its .psr filename changed to match the
VM application filename.
B-18682
Minor
The stereo_headset application has been updated to use version 2.7.6 of cVc.
B-17989
B-18697
Minor
PioSetRts now allows the RTS pin to be controlled when the USB interface is
active. Previously it was only available if the UART was disabled or under VM control.
PioSetDir32, PioSetStrongBias32, PioSet32, PioSetMapPins,
PioSetKalimba32, PioSetDirKalimba32 and PioDebounce32 now all
return a 32 bit value where each bit represents a PIO. Previously, if the trap returned
a high value for any bit then the trap could not configure that PIO in the way
requested.
B-18723
Major
The application task registered using MessageSystemTask now receives
MESSAGE_USB_DECONFIGURED as well as MESSAGE_USB_ENUMERATED. The
application can then respond by limiting power consumption as required for USB
qualification.
B-18733
Minor
The GoepConnectResponse function returned an error to the client if OBEX level
authentication was being used. This has been corrected.
B-18943
Minor
ChargerDebounce now returns a 16 bit value where any bit set high indicates that
bit was passed to ChargerDebounce as an event_to_enable but is an
invalid event. ChargerDebounce will return zero on success and non zero on
failure.
B-18967
Major
CS-110737-RNP1
Requesting PS keys or the address of a file in the flash system from within a PS
key/file address handler could previously cause the relevant message search routine
to lock up. This has been fixed.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 21 of 60
_äìÉi~Ä»=îPKS Software Release Note
Minor
The parser produced by genparse.exe now copes with AGs sending AT
commands containing extra characters, \r\n, before the expected sequence.
Issues Resolved in BlueLab v3.6
ID
Severity
B-19181
Minor
Description
PSR files have been added to the pbap_client and pbap_server applications
to ensure that both devices have the same fixed pin for pairing.
On BlueCore4-Audio and BlueCore5-Multimedia, reading any ADC source other than
VM_ADC_SRC_VDD_BAT resulted in a MessageAdcResult with an incorrect
scaled_reading field being returned.
B-19622
Minor
This has now been remedied and the scaled_reading field is now correct for all
ADC sources and BlueCore chips.
Note:
The scaled_reading and reading fields are identical for all ADC sources
other than VM_ADC_SRC_VDD_BAT.
Minor
The time taken for xIDE to load debug information for large projects has been
improved.
M-475
Minor
xIDE previously tracked breakpoints by source line, which meant inserting lines in
front of a breakpoint. This could cause it to move without warning. It now moves the
breakpoint with the source line.
M-744
Minor
It is no longer possible for xIDE to open the same document twice.
M-761
Medium
M-905
Minor
xIDE no longer crashes if the user attempts to access the Debug menu with a
workspace containing no projects.
M-940
Major
When using VM and DSP projects in a single xIDE workspace, all the DSP project
that the VM application can load had to be included in the workspace. If while
debugging such a workspace, the VM loaded a DSP project that was not included in
the workspace, xIDE would stop debugging. This has been fixed.
M-956
Major
DSP project debug transport settings now mirror those of any VM project in the same
workspace. This makes it possible to use the USBSPI adaptor by changing only one
debug transport setting.
M-969
Minor
If pointers to structures are passed to a function as the first or second parameter,
structure elements after the first one did not always display the correct value in the
debugger. This has been fixed.
M-976
Minor
xIDE sometimes failed to program the DSP. This has been fixed.
The Kalimba register window groups the registers by type, these groups can be
expanded and collapsed by the user. xIDE now remember which groups are open
when switching between debug and edit mode.
Table B.1: Issues Resolved in BlueLab v3.6
Table G.2 summaries the issues addressed in the BlueSuite tools shipped with BlueLab v3.6. See the BlueSuite
v1.23 Software Release Note for full descriptions.
ID
Severity
Description
B-6757
Minor
If an .xpv/.xdv file is changed after loading it into BlueFlash this is now picked up
and used by the application.
B-7964
Minor
Several minor problems with the USB device driver were addressed.
B-12859
Minor
If dfubuild was given a .psr file with duplicate keys it reported .psr is unreadable
it now more helpfully reports .psr contains duplicated keys
B-13358
Minor
If dfubuild was given a .psr file with duplicate keys it reported a keys.psr is unreadable
it now reports .psr contains duplicated keys
B-13723
Minor
BlueFlash has been updated so it can handle flash parts greater than 32Mbit.
B-13984
Minor
On-chip flash burn speed has been improved in BlueFlash.
B-14580
Minor
DFU speed has been improved.
B-14641
Minor
BlueFlash now calculates CRCs for large flash parts more quickly.
B-14661
Minor
dfuengine.dll no longer has dependencies on Microsoft debug dlls.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 22 of 60
_äìÉi~Ä»=îPKS Software Release Note
M-455
Issues Resolved in BlueLab v3.6
ID
Severity
Description
B-15037
Minor
BlueFlash and BlueFlashCmd now default to the same crystal speed.
B-15168
Minor
BlueFlash now has a longer erase timeout allowing the operation to complete on all
chip variants.
B-16021
Minor
PSTool's edit raw function limited the PS Key to 0xFFF, this has been update to
0xFFFF.
Table B.2: Summary of BlueSuite v1.23 Resolved Issues
_äìÉi~Ä»=îPKS Software Release Note
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 23 of 60
Issues Resolved in BlueLab v3.5
Appendix C
Issues Resolved in BlueLab v3.5
The following issues have been fixed in BlueLab v3.5.
ID
Severity
B-5174
Minor
Description
If variables where initialised with values which had to be calculated by the
preprocessor, certain combinations using divide caused kalasm2 to return an error.
This has been corrected.
kalasm2 now allows the use of expressions when specifying the size of an array,
provided that the expression evaluates to a constant. For instance, the following now
works:
Minor
.CONST N 10;
// Declare array of size 20
.VAR my_var[N*2];
B-6712
B-6841
Major
Minor
A panic in the hid Library has been fixed. This panic was caused by the HID instance
being destroyed too early if the application chose to reject an incoming HID
connection.
If the UART is being used for user data then BlueCore does not restart the timer for
PS Key UART_SLEEP_TIMEOUT when it receives data on the UART while awake.
It uses activity to wake up from deep sleep, but it does not register any activity while
the chip is awake.
Since BlueCore should be told by the VM when it's safe to enter deep sleep, this is
unlikely to affect VM applications, but users should be aware of this behaviour. CSR
may provide the facility for the user transport to behave as the BCSP one does in this
regard at a later date.
B-6902
Major
A coding error within the Bluecore firmware led to excessive consumption of internal
resources in complex scatternet scenarios - the most common example being a
device with 6 slaves to which a remote device attempts to connect. It was possible for
the Bluecore device to become unresponsive. This has been resolved.
B-7487
Minor
Firmware for 6Mbit parts which does not support DFU now has an additional 32kW
available for the contents of the filesystem due to a redesign of how the filesystem is
laid out.
B-7554
Major
When using any of the H4, H4DS, or user transports with very large HCI ACL packet
sizes or when the system is very heavily loaded, it was possible for the from-host data
path to stall. This has now been fixed.
Minor
PS Key INITIAL_PIO_STATE is a useful PS Key to configure the PIO lines prior
to booting. This PS Key, which is often used to keep power hold signals active when
booting, was previously not being applied in DFU mode. This was preventing some
DFUs from working. This issue has now been resolved.
B-7733
The following support for BlueCore5-Multimedia has been added:
B-7837
Major
1. Altered and increased memory map.
2. Changes made to library code to support DSP peripheral changes.
3. Makefile updated to build BlueCore5-Multimedia versions of libraries.
Minor
When using BCSP as the transport for PSTool and selecting a COM port which does
not exist (or is already in use), PSTool no longer causes an internal error in the C++
runtime library.
B-9586
Minor
The hfp library now produces AT+VGM using the same parameter formatting as
AT+VGS i.e. numeric values are always 2 digits long. This causes values less than 10
to be presented with a leading zero. These commands are formatted correctly, as
specified by V.250 "Serial asynchronous automatic dialling and control".
B-10032
Minor
kalasm2 now supports the Borrow (B) and Not Borrow (NB) flags. These are the
inverse of the carry flags. For instance, B is equivalent to NC (Not Carry), and NB is
equivalent to C (Carry).
B-7903
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 24 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-6527
Issues Resolved in BlueLab v3.5
Severity
Description
B-10748
Minor
BlueFlashCmd now indicates it is waiting for a mutex if it cannot immediately obtain
the SPI application mutex.
B-10816
Minor
The connection library now handles DM_EN_ACL_OPENED_IND and
DM_EN_ACL_CLOSED_IND messages if supported by the underlying firmware.
Compatible firmware that does not support these new messages causes a VM panic
in the connection library when running under xIDE. In such cases the application
cannot be run under xIDE but still operates as expected without xIDE attached.
B-10825
Minor
Firmware changes have been made to improve the throughput of host streams
(passed over BCSP channel 13.)
B-11148
Major
The Call Manager and Audio Handler parts of the aghfp library now cooperate with
one another. This prevents confusion due to opening/closing an audio connection
while a call is being setup/shutdown (or vice-versa).
B-11346
Minor
The BlueLab linker now outputs a map file.
B-11389
Minor
The aghfp library has been modified to allow eSCO/EDR packet types when
creating/accepting a synchronous connection.
B-11391
Minor
The hfp library now supports eSCO packet types supported for HFP1.01 and HSP
1.0.
In kalasm2, when declaring array variables with initialisation data, it is necessary to
separate the initialisation elements with a comma:
.VAR $myVar[] = 1, &$test, 3, 4;
B-11400
Major
If a comma is missed and the next element is the address of a variable, kalasm2
treats the & as a bitwise and operator instead of the address of operator:
.VAR $myVar[] = 1 &$test, 3, 4;
Previously, this would result in the bitwise and being silently compiled, which is
unlikely to be the intended result. kalasm2 now raises an error in this case.
B-11478
Major
Support for BlueCore5-Multimedia has been added to core kalimba libraries
B-11484
Minor
The trap SinkGetRssi has been added to retrieve the RSSI information on the
corresponding ACL (if any.) This is equivalent to the BCCMD RSSI_ACL.
B-11585
Major
Support for BlueCore5-Multimedia has been added to BlueLab 3.5.
B-11644
Major
Changes have been made in mexspi.dll to address intermittent problems when
accessing Kalimba from inside Matlab.
B-11715
Minor
The hfp library now issues only one AT+COPS=3,0 command, rather than each
time AT+COPS? is sent.
B-11813
Minor
Keyboard applications now support sending of Pin Code input reports.
B-11818
Minor
The OPP Server library now supports the server aborting a transaction.
B-11827
Minor
A problem was identified in the Bluecore firmware when configured as a bus-powered
USB device. During a USB suspend condition, Bluecore would only go into its low
power mode (deep sleep) for the first 40 seconds of the suspend. It should have
remained in deep sleep for the full duration of the suspend in order meet the USB
power consumption requirements. This problem has now been remedied.
B-11859
Minor
AGHFP now uses the Handsfree's requested CLIP mode (via AT+CLIP) to determine
whether to send +CLIP notifications during a call setup.
B-11906
Minor
Until now, when applying the PS Key INITIAL_PIO_STATE, the PIO direction was
being set before the state rather than the other way round. This bug has now been
resolved.
B-11937
Fatal
The code generated by buttonparse in BlueLab-3.4-release did not work on
BlueCore2 and BlueCore3-Multimedia parts due to a bug when PS Key
PIO_WAKEUP_STATE was not present. This has been remedied.
B-11945
Fatal
A rare problem has been addressed in the compiler which caused it to potentially
generate incorrect code for accesses to arrays allocated on the stack in certain
circumstances. This was found during internal testing and caused the VM to panic.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 25 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.5
ID
Severity
Description
B-11967
Minor
B-11969
Cosmetic
The documentation for the sink header no longer mentions the non-existent
SinkClaimed function.
B-11994
Cosmetic
The AV dongle application no longer includes the service and region libraries in
the project properties as it does not use these libraries.
B-12003
Minor
EDR packet mask bits, used in primitives sent to the HCI, now correctly use inverted
logic.
B-12018
Minor
A memory leak which occurred in the very rare situation of an ACL in sniff timing out
whilst the DM was requesting to exit sniff before performing a roleswitch has been
fixed.
unpackfile has been extended to understand dumped images and merge.xpv
B-12024
Minor
The hfp library now falls back to negotiating a SCO connection if a request for an
eSCO link is ignored by a remote device. This corrects an interop issue where an AG
reports that it can support eSCO at the baseband level but will not respond to eSCO
connection requests causing a HCI Host Timeout error to be generated.
B-12076
Major
Call Manager now receives notification of any SCO negotiation failure if it is managing
a call setup. Previously, a notification was sent directly to the app leaving the Call
Manager in an incorrect state.
B-12077
Minor
The aghfp library now sends OK in response to ATA or AT+CHUP commands when
managing a call via the Call Manager.
B-12083
Minor
A directive use_piolib has been added to allow piolib.h to be used with code
generated by buttonparse.
B-12109
Major
The hfp library now correctly continues the SLC connection process if it receives outof-spec SDP attribute data during an SLC connection.
B-12117
Major
B-6879 reduced the latency of data flowing into the DSP on 21.x and later firmware.
This introduced a problem where the DSP could fail to be notified of data arriving on
an RFCOMM connection. This has now been resolved.
B-12133
Minor
The gavdp library used to issue an ABORT request even if a CLOSE request was
accepted by the remote device, it no longer does this.
B-12141
Minor
The Device Manager has been modified to ignore the EDR packet_type bits for a
Synchronous Connection when running on a non-EDR chip. This allows the client to
be agnostic to whether the chip supports EDR or not.
B-12206
Minor
The hfp library's parser file has been optimised to reduce the size of the generated
code.
B-12256
Major
Fixed a firmware bug with Inquiry with RSSI which could cause the Page Scan Mode
of the device cache to become corrupt.
B-12277
Minor
Functions have been added to pio.h to control the dedicated MIC BIAS pin on
BlueCore5-Multimedia.
B-12305
Minor
PioFlashLed0 and PioFlashLed1 functions have been added to control new
the dedicated LED hardware on BlueCore5-Multimedia.
B-12420
Minor
In the DSP matlab files Kalreadval can now read from program memory and
kalwriteval can write to program memory.
B-12427
Major
B-12433
Major
CS-110737-RNP1
pscli no longer crashes if an attempt is made to dump firmware from a chip with no
firmware.
An issue when running with Bluestack on-chip where it was possible for L2CAP
Connectionless data to corrupt the baseband's buffers and cause it to continuously
transmit zero-length broadcast packets, has been fixed.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 26 of 60
_äìÉi~Ä»=îPKS Software Release Note
files as well as simple filesystem images.
Issues Resolved in BlueLab v3.5
ID
B-12478
Severity
Minor
Description
The spp library no longer sends MESSAGE_MORE_DATA and
MESSAGE_MORE_SPACE messages. It now sends SPP_MESSAGE_MORE_DATA
and SPP_MESSAGE_MORE_SPACE instead.
These new messages have structures SPP_MESSAGE_MORE_DATA_T and
SPP_MESSAGE_MORE_SPACE_T, which contain an additional field SPP *spp;
pointing to the associated SPP instance.
Minor
B-12483
Minor
The BlueLab linker, ld, no longer crashes when run with no arguments.
B-12533
Minor
The DSP code has been reordered to avoid stalls when running on BlueCore5Multimedia.
B-12549
Minor
BlueLab can now use CSR's USB->SPI converter (Babel) as an SPI connection,
instead of a direct connection to LPT1.
B-12613
Minor
The DSP libraries and pre-built applications are now placed in bc3mm or bc5mm
subdirectories as appropriate.
B-12620
Major
The hfp library will now supply default parameters that will allow an incoming
synchronous connection request with S3 settings to be negotiated.
B-12646
Minor
The PioSetAudioLDORegulator and PioSetBtLDORegulator functions
have been added to control the linear regulators on BlueCore5-Multimedia.
B-12648
Minor
Two new routines have been added to the DSP timer library,
$timer.n_ms_delay and $timer.n_us_delay, which implement an n
millisecond and n microsecond delay respectively. They both use slower clock rates
to improve current consumption.
B-12664
Minor
A scale operator has been added to the cbops library. This allows combinations of
integer and fractional multiplies.
B-12752
Minor
A _print variant of pio.h library has been added which prints debug output.
B-12753
Minor
A VARIANTS file has been added to produce a version of the dun library which will
display debug output (dun_print).
B-12754
Minor
A VARIANTS file has been added to the goep library to produce versions which will
display debug output (goep_print) and packet decode (goep_print_decode).
B-12755
Minor
A VARIANTS file has been added to the pbaps library to produce versions which
will perform debug checks (pbaps_debug) and to display debug output
(goep_debug_print).
B-12756
Minor
VARIANTS file have been extended to produce libraries which will display debug
output (ftps_debug_print, ftpc_debug_print, oppc_debug_print,
opps_debug_print).
B-12779
Major
GCC failed to generate code for uninitialised static const globals, causing linker
errors. The problem is now resolved.
B-12787
Minor
To prevent a panic in debug mode on a stream disconnect,
MESSAGE_STREAM_DISCONNECT is ignored.
MESSAGE_SOURCE_EMPTY is also ignored on RFCOMM disconnect to prevent a
panic.
B-12796
Minor
The default set of code segments has been expanded to include a segment in Data
memory 1 which will be linked first, i.e. it will always start at address 0x0000. This is
for use in cVc applications but may be useful in others.
B-12803
Minor
The stream subsystem now uses the value of PS Key PCM_CONFIG32, making it
possible to support external 8bit CODECs. (Previously it assumed all external
CODECs were 16bit.)
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 27 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-12479
The dun library now handles the MESSAGE_MORE_SPACE message. It also creates
DUN equivalents of MESSAGE_MORE_DATA and MESSAGE_MORE_SPACE
(DUN_MESSAGE_MORE_xxxx). New SPP messages
(SPP_MESSAGE_MORE_xxx) are also handled.
Issues Resolved in BlueLab v3.5
ID
B-12820
Severity
Minor
Description
DSP projects in xIDE now have a property which controls whether the DSP
application is loaded fully by the Xap, or use a small DSP bootstrap which loads the
rest of the application more quickly. (This is ignored for BlueCore3-Multimedia where
it is not supported.)
ConnectionSmSetSdpSecurityIn and
ConnectionSmSetSdpSecurityOut previously could be delayed in an internal
B-12903
Major
B-12913
Major
An issue has been resolved where the max_frame_size field of an
RFC_START_CFM would contain the locally requested value and not the negotiated
value.
B-12939
Minor
The battery library now uses scaled values provided by the firmware for the
internal battery monitor. This allows it to cope with chip differences between
BlueCore4-Audio and BlueCore5-Multimedia parts.
B-12977
Minor
BlueCore5-Multimedia can make UART and PCM pins appear as PIOs 16 to 23. The
traps PioGet32, PioSet32, PioGetDir32, PioSetDir32,
PioGetStrongBias32, PioSetStrongBias32, PioSetMapPins,
PioGetMapPins, PioSetKalimba32 and PioGetKalimba32 have been
added to support this new functionality.
B-13038
Major
Routing of 8bit data through transparent SCO using the stream subsystem produced
corrupted output since parts of the data path were incorrectly configured for 16bit
data. This has been fixed.
B-13178
Minor
BlueCore5-Multimedia now supports an 8bit mode in reading/writing to MMU ports.
Also automatic saturation to 8/16bits is supported. The cbuffer libraries have been
updated to support this.
B-13189
Minor
The DSP on BlueCore5-Multimedia cannot write into the second memory region
shared with Xap (used for MMU handles.) It never needed to, and this removes one
mechanism for an errant DSP application to cause problems for the rest of BlueCore.
B-13232
Minor
On BlueCore3-Multimedia (later chips already have this feature supported in the
firmware), the PIO lines used to wake the chip from deep sleep can now be active
low. This is controlled by PS Key PIO_WAKEUP_STATE.
B-13290
Major
An issue that caused a firmware panic to occurred when using VM SCO Streams and
a SCO link was opened and closed within a few tens of milliseconds, has been fixed.
Minor
Previously you could only register a handler against a particular message ID. In the
DSP libraries if you wanted to receive IDs 0x10 & 0x11, you had to register two
handlers.
Now you can register to receive an ID and a mask field, so in this example you
register ID 0x10 mask 0x1.
Major
An SDS issue has been fixed which meant that searching for non-Bluetooth 128bit
UUIDs could return incorrect results. This bug was caused by SDS assuming that all
128bit UUIDs were using the Bluetooth Base UUID and hence only comparing the
lower 32bits which could result in an incorrect match or a no match if the bottom
32bits were zero.
B-13406
Major
BlueCore5-Multimedia can enable a low power mode for the output stage of each
CODEC channel. Enabling the low power modes will reduce power consumption at
the cost of a slight reduction in audio quality. The traps
CodecOutputStageAEnableLowPower and
CodecOutputStageBEnableLowPower have been added to support this new
functionality.
B-13481
Major
SBC headers include a 1 byte check sum to detect if the frame is corrupted. However
it is possible for the frame to be corrupt and the check sum to pass. Consequently
further sanity checks have been added to certain parameters read from the header.
B-13506
Major
If a source was manipulated directly by the application (using, say, SourceDrop)
before being connected to the DSP it was possible for the DSP to see an incorrect
figure for the amount of data present in the source. This has been fixed.
B-13374
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 28 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-13338
message queue. It was possible for functions called later to execute first. This has
now been remedied.
Issues Resolved in BlueLab v3.5
ID
Severity
B-13511
Minor
Description
A field (sco_handle) has been added to the CL_DM_SYNC_CONNECT_CFM_T to
enable the LM SCO handle to be forwarded to the application or library.
21 and prior firmware contained hard-coded limits on the shallow sleep power-saving
mode when a PCM interface or internal codec was in use. PS Key
PCM_MIN_CPU_CLOCK provided a way for the user to further limit shallow sleep.
B-13529
Minor
These limits have now been removed. This may allow more power to be saved, but it
is also now possible to configure the system such that the PCM/CODEC do not
function correctly. The shallow sleep limit PS Keys should only be reduced on advice
from CSR.
Previously, kalasm2 would not expand a macro if it was preceded by a $ (which marks
global scope in a variable). So the following would not work:
.VAR $bar = 5;
B-13535
Minor
.define FOO bar
.VAR $foo = $FOO;
Support for expanding macros such as FOO when they have a $ in front of them has
now been added. In the above example, $foo would take on the value of $bar.
B-13577
Minor
The vm.h online documentation now includes a description of the
VmTransmitEnable function.
B-13611
Minor
The aghfp library explicitly ignores the CL_SM_ENCRYPTION_CHANGE_IND
message from the connection library.
B-13635
Minor
I2S can only be used on PCM ports 0 and 1. PcmRateAndRoute will now return
FALSE on attempts to route I2S to any other port.
A more detailed configuration of the Digital Audio Interface has been added, typically
used for outputing I2S.
B-13696
Major
B-13704
Major
An issue has been fixed in the SDP server which meant that records containing 128bit
UUIDs were not parsed correctly and could result in a search incorrectly returning
PDU_SYNTAX_ERROR.
B-13769
Minor
The debug version of the DSP SCO processing library did not build correctly. The
internal define SCO_DEBUG_ON was never defined. This has been corrected.
B-13833
Minor
When a DSP timer is set it is allocated an ID, which could be zero. If a timer was
cancelled that had never been used the ID would be zero which could have been a
real timer. The DSP libraries have been modified so that zero is never an assigned
timer.
B-13984
Minor
On-chip flash burn speed has been improved.
B-14020
Minor
The user friendly names of PS Keys USRx have been slightly altered so that they sort
more nicely in PS Tool's list box.
B-14024
Minor
The BlueLab installer now adds copies of the relevant transport DLLs (spilpt,
pttransport) alongside the mexspi DLL which is the basis of the DSP matlab
tools.
B-14043
Major
Fixed an audio corruption issue when routing multiple SCO links to the external PCM
port and using an 8bit codec. When one of the SCO links was disconnected, the
format would default back to 16bit and hence cause audio on the remaining SCO links
to become corrupted.
B-14122
Minor
The stereo headset application supplied now includes version 2.76 of cVc and an
update version of the ParamMgr tool.
CS-110737-RNP1
These settings are controlled via PS Key DIGITAL_AUDIO_CONFIG, PS Key
DIGITAL_AUDIO_RATE and PS Key DIGITAL_AUDIO_BITS_PER_SAMPLE.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 29 of 60
_äìÉi~Ä»=îPKS Software Release Note
A new PS Key CODEC_MIN_CPU_CLOCK has been provided to give separate
control over shallow sleep when a PCM interface and an internal CODEC is in use.
(Previously, PS Key PCM_MIN_CPU_CLOCK applied to both.)
Issues Resolved in BlueLab v3.5
Severity
Description
B-14173
Minor
A new function has been added to the DSP message library to return the amount of
space in the message queue.
B-14213
Minor
A project property has been added which allows the stereo_headset application
to run on DEV-PC-1442 board.
B-14271
Minor
A set of PS Key retrieval routines have been added to the core DSP library. Now
users simply request a key to be retrieved and the relevant handler is called when
ready. Mutliple keys can be requested without having to wait for the previous requests
to complete.
B-14337
Minor
It was possible for the chip version stored in kalprocessor, in the DSP matlab
tools, to become stale very easily. As you need to reload the symbols when you
change chips kalloadsym now forces kalprocessor to read the chip version.
B-14365
Minor
A new tool - kalports - has been added to the Matlab tools which allows users to
determine the state of Kalimba's MMU ports - connected or disconnected.
B-14389
Minor
The BlueCore variant, storage size and storage type can now be specified from xIDE>Project->Properties. These settings will override the automatic detection that usually
takes place
B-14479
Minor
The default configuration files for the mono headset have reduced microphone gains
to improve audio quality.
B-14546
Major
Several issues have been addressed in the configuration tool for the mono headset
which could lead to it generating incorrect PSR files.
M-678
Minor
Pointers to opaque types (such as GAVDP) in a VM application sometimes failed to
display correctly in xIDE, even when the type was fully defined elsewhere in the
source file. This has been fixed.
M-780
Minor
If a project has been removed (e.g. deleted) and xIDE attempts to perform an
operation in a workspace which referenced that project it now cleanly handles this.
Previously it would fail with a memory exception.
M-821
Minor
Removing all projects from a workspace crashed xIDE. This has now been fixed.
M-829
Minor
When debugging a multi-project workspace in xIDE, the project selector in the debug
toolbar could activate the wrong project or show the wrong project as being active.
This has been corrected.
M-871
Major
xIDE could crash with a memory access if you chose to "restart all processors" in a
combined DSP and VM project. This has now been fixed.
M-874
Minor
Stepping over kalimba instructions like if [condition] call [address]
failed to stop on the following instruction if the condition was not satisfied. This has
been fixed.
M-923
Major
Structures that refered to themselves in their definition (e.g, struct list_item
{ int val; struct list_item *next; }; ) caused xIDE to crash when
it attempted to display the type in the variables pane. This has now been fixed.
Table C.1: Issues Resolved in BlueLab v3.5
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 30 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.4
Appendix D
Issues Resolved in BlueLab v3.4
The following issues have been fixed since BlueLab v3.3 was released.
Severity
Description
B-2770
Cosmetic
BlueLab3 (especially make) does not understand file or directory names containing
spaces. BlueLab now enforces this by refusing to install in a directory under Program
Files (or any other path containing spaces.)
B-4522
Minor
The avcontrol application no longer leaks memory if left running with the AV
dongle unplugged.
B5153
Minor
SourceSize can now return up to 3K for file sources; previously only the next
1.5K of each file could be accessed through SourceMap.
B-6160
Minor
kalasm2 no longer crashes if asked to assemble malformed instructions involving a
memory access in parallel with reading the result from a division.
kalasm2 incorrectly accepted a memory read in parallel with a divide instruction,
generating code only for the divide. This problem affected code such as:
B-6161
Major
Div = rMAC / r1 r0 = M[I0, 1];
This issue is now fixed and kalasm 2 will report that a semi-colon is expected
immediately after the divide instruction.
Attempting to send a message to an invalid task now panics the application
immediately. Previously it would be paniced when the memory was accessed during
message delivery. This makes it easier to diagnose the source of the problem.
B-6894
Cosmetic
B-6975
Minor
A HID dongle example application has been added.
B-7101
Minor
The Device Manager now returns to Active Mode before issuing a roleswitch to HCI.
It previously sent the command irrespective of the mode and hence it could fail.
B-7115
Minor
Firmware changes have improved the Bluetooth bandwidth available to a device
receiving streaming data whilst in a scatternet with a third device which was idle but
in active mode.
B-7365
Minor
The pbap_common library has been added to BlueLab, providing functionality
common to both the pbap server and client libraries.
B-7366
Minor
The pbabs library has been added to BlueLab, implementing the server role of the
Phone Book Access Profile.
B-7367
Minor
The pbabc library has been added to BlueLab, implementing the client role of the
Phone Book Access Profile.
B-7375
Minor
Using DM_LP_WRITE_POWERSTATE_REQ to configure new powerstates always
resets the state machine to the initial state; previously the existing state was
sometimes used.
B-7385
Minor
The behaviour of the DM policy manager has been improved so that it now only
retries a failed power mode change a limited number of times. It previously retried
indefinitely.
B-7901
Cosmetic
The BlueLab battery library now supports reading the internal charger voltage (for
BlueCore4-Audio ROM and BlueCore4-Audio Flash parts.)
kalasm2 now requires that code lines containing multiple expressions should have
commas separating them. For example, the following is valid syntax:
r3 = M[r3 + r2], r4 = M[I0,1], r5 = M[I4, -1];
B-8028
CS-110737-RNP1
Minor
kalasm2 will, by default, issue a warning for lines which do not have comma
separators. The command line flag "-es" promotes such warnings to errors. The
command line flag "-ns" causes the presence or lack of separators to be ignored
(that is, restores the old default behaviour). These options can be controlled from
the project properties in xIDE.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 31 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.4
ID
Severity
Description
B-8225
Fatal
Previously, kalasm2 reported an unspecified fatal error if source code has a block
defined within a block. Nested blocks now report a suitable error message.
B-8387
Major
The a2dp_source_dongle example application will no longer panic on the
fourteenth connection attempt to an a2dp sink if it is built as an analogue input
device.
B-8389
Minor
BlueLab now includes a hid_keyboard reference application.
B-8918
Minor
The genparse tool now accepts a prefix command in the input file which
allows multiple AT parsers to co-exist in a single application.
B-8967
Minor
TestTxData1, TestPcmLb, TestPcmExtLb, TestCfgXtalFtrim,
TestPcmTone, and TestCodecStereoLb have been added to the test
B-9136
Minor
The default debug behaviour for new installations of xIDE is now to stop the current
processor; previously it would stop all processors. This can be changed using
Tools\Options\Debug.
B-9215
Fatal
It is no longer possible to crash BlueFlash by attempting to change the transport
while a download is in progress.
B-9386
Minor
VM projects in xIDE now understand how to handle the .parse files used by
genparse.
B-9589
Major
The hfp library now parses +CME ERROR notifications correctly.
B-9593
Minor
The ConnectionReadLocalName function has been added to the connection
library to return the local friendly name.
Minor
The ConnectionSmGetAuthDevice function has been added to the
connection library to allow clients to retrieve link keys after pairing. (Use of this
function is unusual since the connection library takes care of storing link keys for
the application.)
B-9599
Major
Fixed a rare bug where the HCI would issue two identical Command Status Events
(NOP, num_hci_command_packets=1) when attempting to allow the host to
send another command packet. If the host was to send a command after processing
the first event, but before seeing the second, a credit mismatch could occur.
B-9603
Minor
Unused parameters have been removed from the AghfpSlcConnect and
AghfpSlcConnectResponse functions in the aghfp library.
B-9606
Minor
The AT commands +CIND and +CIEV in the aghfp library now send colons
instead of equals signs.
B-9653
Minor
When establishing an RFCOMM connection, parameter negotiation is now
performed for all DLCs on a mux.
B-9688
Minor
Calling ConnectionAuthDevice() with the Bluetooth Device address of the
Default user will now result in the link key of the default device being deleted. The
default device will also be removed from the security database immediately. This
means that new connections to this device will require authentication.
B-9753
Minor
The aghfp library's API has been extended to provide the means to set up/shut
down a call to a HS/HF device.
B-9811
Minor
kalasm2 incorrectly rejected type B add and subtract instructions if they included a
memory access on the left of the arithmetic operator. The fault which only applied to
opcodes where the AM field is 10 (0x2), is now fixed.
B-9832
Minor
The DSP code in the sco_dsp example application has been re-written to reduce
latency, improve audio quality and serve as a basis for simple SCO processing code
development.
B-9876
Minor
The supplied OBEX Server applications now set the Object Transfer bit of the Class
Of Device. Although not required in the profile specifications. (except PBAP) some
stacks use it for profile support.
B-9882
Minor
xIDE no longer crashes if DSP breakpoints are manipulated but the SPI cable has
been unplugged.
B-9595
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 32 of 60
_äìÉi~Ä»=îPKS Software Release Note
library.
Issues Resolved in BlueLab v3.4
Severity
Description
B-9886
Minor
A dtmf (Dual Tone Multi-frequency) library has been added to the Kalimba library
set.
B-9921
Minor
The DM has been improved so that when an ACL link enters a new Power State, the
DM will automatically update the link policy to prevent the remote device changing
the low-power mode to an undesired mode. For example, when the powerstate is
active, all sniff/park/hold requests from the remote device will be rejected.
B-9961
Minor
kalstacktrace now checks if the DSP is loaded as well as running before
attempting to read stack data from the chip.
B-9965
Minor
If kalstacktrace finds a rogue value in the stack it now displays it in the trace
with "*** Corrupt ***" to allow the user to try and work out what has
happened.
B-9984
Minor
A hid_mouse example application has been added.
B-9992
Major
The DSP assembler, kalasm2, silently accepted conditional memory writes, even
though the Kalimba DSP on BlueCore3-Multimedia always executes the resulting
write unconditionally. If assembling BlueCore3-Multimedia code, any attempt to use
conditional memory writes will now correctly generate an error.
B-10002
Minor
The AghfpSetRingRepeatInterval function has been added to the aghfp
library to control the behaviour when sending ring indications.
B-10046
Minor
vmSpy now reports the month correctly in its timestamps. Previously it was off by
one.
B-10083
Minor
SourceSize on a region source is now limited to 3K. Previously it could report
more than this for very large constants, but would fail when that memory was
accessed through SourceMap.
B-10110
Minor
The cbops part of the core library has been split into a separate library. It has been
redesigned to provide a more flexible method of routing audio through buffers on the
DSP. The copy routines, the operators and the example applications that use the
cbops library have been updated.
B-10136
Minor
vmbuilder now reports how much space is in use by the filesystem and how much
remains.
B-10138
Minor
GOEP now uses StreamMove for sending data instead of memcpy.
B-10140
Minor
With the fix to B-10138, the offset parameter in send packet functions in the
goep library which take a source became unused. This is because StreamMove
can only send from the beginning of a source and it drops the data it moves when it
finished. The offset parameter has been removed.
B-10141
Minor
The aghfp library now automatically attempts to negotiate a mutually acceptable
SCO link from the specified packet type bit mask.
B-10146
Fatal
The hfp library's internal audio connection state is now initialised correctly.
B-10178
Cosmetic
Incorrectly named GOEP source files have been changed from geop to goep.
AGHFP_CALL_HANG_UP_IND now replaces AGHFP_CALL_TERMINATE_IND
as the primitive used to indicate that a HF device wishes to reject/end a call.
B-10187
Cosmetic
B-10273
Minor
A library (piolib) has been added to allow multiple tasks to receive
MESSAGE_PIO_CHANGED messages.
B-10313
Minor
Support has been added to SPP to enable it to register DUN SDP records. This
means DUN can be a thin wrapper round SPP.
B-10580
Minor
SPP can now forward the CL_RFCOMM_CONTROL_IND which DUN needs to
perform modem signalling
CS-110737-RNP1
AGHFP_CALL_TERMINATE_IND is now used by the Call Manager to indicate
that a call has actually been terminated.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 33 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.4
ID
Severity
Description
B-10614
Minor
RFCOMM has been improved so that if it receives an RFC_PARNEG_REQ for an
already established DLC, it now responds with an RFC_PARNEG_CFM with the
current parameters. It previously did not respond which could cause the client to
hang.
B-10622
Minor
A bug has been fixed which meant the SourceConfigure and
SinkConfigure of messages always behaved as if VM_MESSAGE_SOME had
been passed as the value.
B-10632
Minor
A library implementing the MD5 hash function has been added (this is a VM library
and is unsuitable for large volumes of data.)
Version 2.02 of kalasm2, as shipped with BlueLab 3.3, incorrectly assembled three
instructions involving rMAC sub-register moves. The affected instructions were:
Major
rMAC2 = rMAC1;
rMAC0 = rMAC2;
Please note that no libraries or applications shipped with BlueLab 3.3 made use of
these instructions. This problem is fixed in BlueLab 3.4 (kalasm2 version 2.03).
B-10682
Major
Functions using more than 127 words of local variables no longer confuse the
BlueLab linker. Previously it would report an unrealistically low stack usage figure,
typically resulting in an application panic as the stack overflowed.
B-10687
Minor
Cleaning a DSP project now removes additional temporary files (those with dm1,
dm2, pm, kmap, kpp, or ksm extensions.)
B-10695
Minor
B-10697
Minor
Firmware changes have been made to the stream subsystem to reduce the latency
of data flowing out of the DSP.
B-10726
Major
The stereo_headset application now stores the last codec that was used to
stream audio, so when the headset connects back it can use the stored codec.
Minor
The stack usage calculation made by the BlueLab linker now includes the
run_init function as well as main. Previously it was possible for an application
where main was trivial to be given enough stack space to run main but not
run_init, resulting an application panic during the run_init function.
B-10743
Major
When used in a configuration where a full Bluetooth stack and a Virtual Machine
application are being executed on-chip, it is possible that the responses to an
inquiry-with-RSSI operation could be queued for the VM application faster than that
application can process them. In extreme cases, this could lead to the queue
overflowing and the device becoming unresponsive. This flow control issue has
been resolved.
B-10775
Minor
The connection library now supports Inquiry Scan with RSSI.
B-10801
Major
An AghfpSendError command has been added to the aghfp library.
B-10818
Major
The a2dp_source_dongle application, when configured to use the wolfson
WM8731, now correctly sets the input gain once the codec has been configured.
B-10829
Minor
The firmware has been updated to prevent the application receiving
L2CA_DATAWRITE_CFM primitives which arrive while the link is being
disconnected.
B-10846
Minor
When reporting incompatibilities between a VM application and the BlueCore
firmware, the vmbuilder tool now reports the functions which are causing the
problem. Previously it just reported the trapsets containing those functions.
B-11001
Major
The current consumption of the stereo_headset application in Bluelab v3.4 has
been reduced to match that of the av_headset_hfp application in Bluelab v3.2.
B-11015
Major
Several errors have been fixed in the HFP service record of the aghfp library.
B-10736
CS-110737-RNP1
ConnectionWritePagescanActivity no longer claims to have not been
implemented when it has.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 34 of 60
_äìÉi~Ä»=îPKS Software Release Note
rMAC2 = rMAC0;
B-10655
Issues Resolved in BlueLab v3.4
Severity
B-11123
Minor
A new helper function, RegionMatchesUUID128 has been added to the
region library.
B-11134
Minor
The aghfp library will now send blank CLIP notifications if no caller id details have
been specified.
B-11140
Minor
The TransformPollTraffic function has been added to detect activity on
connected streams.
B-11141
Minor
TransformFromSource and TransformFromSink have been added to find
the transform connected to a stream.
B-11158
Minor
The aghfp library primitives AGHFP_AUDIO_CONNECT_CFM and
AGHFP_AUDIO_DISCONNECT_IND now use the correct enumerated type for the
returned status code.
B-11181
Major
When a VM application was reading data from the USB bulk endpoint, data flow
could suddenly stop and never restart. The stream subsystem has been updated to
prevent this happening.
B-11210
Minor
Support has been added for Agilent 3030/3040 mouse sensors.
B-11225
Minor
.psr files with the name of the project are now passed through the C preprocessor before being passed to pscli. This allows tests for defined symbols to be
used in the .psr file.
B-11228
Minor
An issue has been resolved which could prevent xIDE from locating source files
corresponding to DSP source code.
B-11266
Minor
The Agilent sensor code now checks the sensors product ID and panics if the ID is
unknown.
B-11276
Minor
The hid_mouse application now supports Agilent 2030/2051 and 3030/3040 in a
single application.
B-11332
Fatal
Memory leaks have been fixed that occured when processing AT+CLIP and
AT+CHLD commands. A race condition that could occur when sending an AT
command if the underlying RFCOMM sink had just been removed, has been fixed.
All issues would have ultimately resulted in a firmware panic.
B-11396
Minor
The stereo_headset application now does not enable MP3 support as default.
It must be turned on using a user PS key.
B-11417
Minor
GOEP Remote get commands referred to GOEP_REMOTE_GET_DATA_IND this
has been corrected to GOEP_REMOTE_GET_MORE_DATA_REQUEST_IND.
B-11437
Minor
Support for the HID keyboard matrix sensor type has been added.
B-11453
Minor
The aghfp library no longer rejects unrecognised AT commands by responding
with ERROR. It is now the responsibility of the app to handle unrecognised AT
commands.
B-11471
Minor
Description
Due to a bug in the Kalimba assembler zeroing bank 2 registers would always be
coded as a type A instruction. There is a type C instruction which could be used and
would allow more flexible parallel memory accesses.
This bug has been resolved and the Kalimba library code has been updated to
reflect this.
B-11501
Minor
Support for external events in ButtonParse has been added.
B-11504
Minor
Buttonparse now works with active low PIOs by using
PSKEY_PIO_WAKEUP_STATE.
B-11531
Minor
app/ps/ps_if.h now includes the value of PSKEY_PIO_WAKEUP_STATE for
use by buttonparse.
B-11534
Minor
The VM application can now send reports on the HID interrupt channel.
B-11541
Minor
Hid Keyboard security has been improved
B-11575
Minor
BlueLab 3.4 includes the same version of the mono headset as the headset update
kit made available for BlueLab 3.3.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 35 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.4
Severity
Description
B-11576
Major
The connection library has been updated connection failure due to timeout
correctly.
B-11577
Major
CPU usage when handling HID input reports has been reduced.
B-11599
Minor
New SourceConfigureHidSensor traps have been added to configure HID
sensors. These supersede the use of SourceConfigure for this (as used in
BlueLab v3.3), adding type safety and additional parameter checking.
B-11639
Major
When using the raw transport, it was possible for a burst of data arriving on the
UART to be ignored if it had a particular timing and no further data was ever
received. This no longer occurs.
B-11656
Minor
The task registered using MessageSystemTask now receives
MESSAGE_USB_SUSPENDED messages when BlueCore suspends and resumes
on the USB bus. These are only sent when BlueCore is self-powered.
B-11690
Cosmetic
Minor changes in coding style have been made to reduce the code footprint of the
hfp, aghfp and connection libraries. These have reduced the size of the
mono headset by over 4% compared to BlueLab v3.3.
B-11725
Minor
StreamConfigure(STREAM_UART_CONFIG, ...) now only modifies
settings if the user transport is selected. Previously it could be called for any
transport, with undefined consequences.
B-11790
Minor
The response and hold functions in the aghfp library have been revised to better
support real use cases.
M-443
Cosmetic
Double-clicking on a BlueStack primitive in the output tabs no longer causes xIDE to
prompt for a non-existent file.
M-469
Major
Stepping over functions in DSP code in xIDE incorrectly stepped into the function. It
now behaves correctly.
M-478
Minor
xIDE no longer produces misleading messages when debugging DSP applications
in their own workspace.
M-493
Major
If a breakpoint was set at a multiple word DSP instruction, then xIDE would only
execute the final word of the instruction when resuming execution after hitting the
breakpoint. This issue is now resolved.
M-522
Fatal
Data symbols are now available when debugging DSP applications using xIDE, in
both the variable and watch windows.
M-730
Major
xIDE now discards content from the debugger output windows to keep them below
1000 lines and avoid excessive memory consumption when running for extended
periods.
M-758
Minor
xIDE now remembers window positions on a per-project basis; previously if two
projects had the same kind of window open, the windows would reopen in the same
location.
Run in xIDE previously ran the active project, along with the remaining projects if
action on run is set to Start all processors. This behaviour was undesirable since the
M-759
Major
M-766
Minor
Multiple projects in a workspace can include the same source file. If a breakpoint is
set in the source file xIDE will locate it in the current project if it includes the file.
Otherwise it sets the breakpoint in the first project which does include the file.
M-773
Major
Running from breakpoints now works as expected when interrupts are enabled,
rather than merely executing an interrupt.
M-790
Major
M-814
Minor
xIDE now correctly preserves the location of undocked windows between sessions.
Minor
Kalimba breakpoints sometimes did not work when the vm was restarted by the
debugger. This issue has been resolved.
DSP application should be launched by the VM application. This is fixed - running
now always selects the VM project if one is present.
Kalimba watch window now understands a subscript format. For example:
M-828
CS-110737-RNP1
VarName[Offset] displays the word of memory at the address of
VarName+Offset.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 36 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.4
ID
Severity
Description
Under some circumstances, breakpoints set on lines without any code would be
moved to sensible lines and the following message generated in the debug window:
"Failed to install breakpoint at address [incorrect
address], is this really RAM?". This issue has been resolved.
Minor
M-862
Minor
xIDE now notices that the dsp has stopped when it hits a data breakpoint.
M-863
Minor
The Kalimba DM breakpoint dialog no longer rejects symbols containing
underscores.
M-866
Minor
Writing to registers no longer causes the kalimba to jump to the interrupt service
routine.
M-867
Minor
The kalimba symbol table on occasion became corrupt after the second time the
debugger was started, causing breakpoints to behave erratically. This issue is now
resolved.
M-868
Minor
Running from a dsp break instruction no longer crashes the dsp application.
Table D.1: Issues Resolved in BlueLab v3.4
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 37 of 60
_äìÉi~Ä»=îPKS Software Release Note
M-854
Issues Resolved in BlueLab v3.3
Appendix E
Issues Resolved in BlueLab v3.3
The following issues have been fixed since BlueLab v3.2 was released.
Severity
B-514
Minor
gcc saves constant memory by placing zero initialised global variables into a memory
segment that is zero initialised at start-up. They were previously treated in the same
way as any other constant initialised variables.
B-3551
Minor
The GOEP & FTP client libraries now implement the optional OBEX level authorisation
feature.
B-3584
Minor
HID streams and transforms have been added to BlueLab3.
B-4355
Minor
The connection library has been optimised to use fewer globals.
B-4801
Minor
PcmClearRouting and PcmClearAllRouting calls have been added to the
PCM library; these are convenience functions which are equivalent to calling
PcmRateAndRoute.
B-4804
Minor
Type B instructions (those involving a constant) can contain only one memory access,
but Kalasm2 would incorrectly accept code of the form r? = M[r?] + M[k16],
generating code corresponding with the instruction M[k16] = rN +rN instead of
reporting an error. This is now fixed.
B-4826
Minor
Support of Radio Power Tables for EDR has been
added,(PSKEY_LC_ENHANCED_POWER_TABLE) in PSTool.
B-4832
Minor
Kalasm2 would incorrectly interpret binary '-' as '+' in some circumstances, such as in
the code: r1 = M[r1 - 1]; This is now fixed.
B-4833
Minor
kalasm2 would incorrectly accept M[r1-r2] in an instruction. This has now been
fixed.
B-5093
Minor
kalasm2 would incorrectly accept rMAC sub-registers as source operands, coding
them simply as rMAC. This is now fixed.
B-5136
Minor
kalasm2 now outputs a memory usage summary for code and data groups.
B-5211
Major
The ChargerEnable, ChargerSupressLed0, and ChargerStatus
functions have been added to support the charger hardware on BlueCore4-Audio
ROM. Where appropriate these functions also support the charger hardware on
BlueCore3-Audio Flash.
B-5214
Minor
The functions PioDimLed0 and PioDimLed0 have been added to control the
dimmed LED hardware on BlueCore4-Audio ROM.
B-5778
Minor
The mp3_decoder project files for stereo_headset application have been
moved into the BlueLab mp3 add-on and are not installed by default.
B-5836
Minor
VmSetPcmClock will now return FALSE when passed illegal values; previously it
would indicate success but ignore the value.
B-5896
Minor
Using xIDE to single step and step over VM code is now faster.
B-6091
Minor
The automatic gain control algorithm used by BlueCore has changed, in a way which
should reduce power consumption. The residual bit error rate on D8PSK is enhanced,
and the maximum input signal level (primarily EDR) is raised.
B-6116
Minor
Support for HID (Human Interface Device) has been added.
B-6212
Cosmetic
B-6227
Minor
The ConnectionWriteInquiryAccessCode function has been added to the
connection library.
Major
When streaming SBC audio from the a2dp_source_dongle to the
av_headset_hfp, there were glitches every several hours. This was due to clock
drift between the two devices. The problem has been addressed by DSP changes in
B-6347.
B-6281
CS-110737-RNP1
Description
gcc now has certain optimisations on small leaf functions turned on by default.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 38 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.3
Severity
Description
B-6505
Minor
Scripts to help Matlab users to inspect DSP state (such as buffer levels) have been
added to the tools/matlab directory.
B-6512
Minor
The rfcomm primitive set has been extended to include RFC_EX_ESTABLISH_IND
primitive which contains the Bluetooth address of the remote device. If extended
primitives are enabled this is sent instead of the RFC_ESTABLISH_IND primitive.
B-6516
Minor
Debugging code built with leaf optimisation no longer breaks the Call Graph
functionality. (This includes the library code supplied with BlueLab33.)
B-6521
Minor
VM extended versions of the Device Manager Synchronous Connection primitives
have been added.
B-6749
Minor
The DM_SCO primitives have been removed from Bluestack as they have now been
deprecated by the DM_SYNC API.
B-6800
Cosmetic
Accessing L2CAP and RFCOMM data through streams is now mandatory. (This
feature has always been used by the BlueLab3 connection library.) The ability to
receive DATA_IND primitives from BlueStack has been removed, along with the
parameters to StreamConfigure to control this.
B-7030
Minor
Added DM_EX versions of the DM_SYNC_RENEGOTIATE_xxx primitives which
allow the VM to reference a connection using the Sink rather than HCI handle.
B-7033
Minor
A new feature has been added to the VM to allow it to access the USB Isochronous
Out endpoint. This allows a device to send PCM audio to USB Host, such as a PC.
B-7036
Major
connection library L2CAP connections can now be handled by tasks other than
the one registered to the PSM.
B-7042
Minor
A new AGHFP library implementing the audio component of the hands-free profile has
been added.
B-7050
Minor
xIDE will now relink a VM application if it detects that a library has changed.
B-7092
Minor
The library call CodecSetSideToneGain has been added to control the sidetone
gain on BlueCore4-Audio ROM.
B-7097
Minor
The MP3 decoder libraries available for BlueLab now support mpeg2 and mpeg2.5
sample rates of 8-22.025KHz.
B-7159
Minor
Previously, kalasm2 displayed the string NO VERSION CONTROL instead of a
version number. A version number has now been added, and should be quoted in
requests for help.
B-7160
Minor
The version of gcc included with BlueLab now includes the BlueLab version number
when you pass --version on the command-line.
B-7224
Minor
The VmTransmitEnable function has been added to disable the transmitter.
B-7266
Minor
The hfp library now uses the hfp_connect_rejected status code in the
HFP_SLC_CONNECT_CFM message if the connect attempt fails due to the remote
end rejecting the connection.
B-7321
Minor
The connection library now requests profile libraries to vote with their link policy
settings on rfcomm disconnect.
B-7354
Minor
The connection library now asks tasks with sinks on a given ACL to vote with their
link policy settings every time an audio connection is connected or disconnected on
that ACL. This allows a profile library to specify a different link policy if it has an audio
connection open
B-7437
Fatal
The unusual case of StreamConnect from the DSP to the DSP from a VM
application is now handled correctly in the firmware.
B-7452
Fatal
The firmware could panic when a DM_EX_SYNC_CONNECT_COMPLETE_IND was
generated with a status other than success. This has been fixed.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 39 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.3
ID
Severity
Description
The following new codec gain control traps have been added:
CodecSetRawInputGainA
CodecSetRawInputGainB
B-7476
Minor
CodecSetRawOutputGainA
CodecSetRawOutputGainB
CodecEnableMicInputGainA
CodecEnableMicInputGainB.
Minor
The gavdp library now cleans up all connections properly if remote end does not
respond to a CLOSE request.
B-7493
Minor
IR OBEX has the concept of parameters that are specific to a particular application.
This has been implemented.
B-7501
Cosmetic
B-7502
Minor
The hfp library will no longer inform its client of +CNUM, +BTRH or +CLCC
notifications, sent by an AG, if they contain parameters that are out of spec.
B-7507
Minor
xIDE can now create .button or .parse files in BlueLab.
B-7584
Minor
The hfp library now passes a HFP_CALLER_ID_IND message to the client even if
the AG did not send the number of the caller.
B-7611
Major
If a file was selected and successfully downloaded then changing the filename and
trying to do a subsequent download caused a crash. This has been fixed.
B-7747
Minor
The VM will now immediately panic an application which attempts to call a NULL
function pointer. Previously it would mysteriously restart the application.
B-7762
Minor
The spp library now handles the MESSAGE_SOURCE_EMPTY message.
B-7792
Minor
The avrcp library now stores the service records it needs in constant space.
B-7801
Minor
The battery charger current on BlueCore4-Audio ROM can now be controlled from the
VM application using the ChargerSetChargeCurrent call.
B-7831
Minor
If a .button file is included in an application, PIO states are now read immediately
when the application starts, so events are reported as defined in the .button file
from startup.
B-7841
Minor
Final negotiated parameters (link type and bandwidths) are now passed to an
application on successful creation of a synchronous connection.
Buttonparse can now decode PIO events that are separate from PIOs that are
used for buttons.
B-7862
Minor
Previously, Kalasm2 would not allow code to completely fill available program
memory, because automatically generated zero prefix instructions were being
counted, despite these being stripped out at link time. This problem has now been
fixed.
B-7944
Major
An issue has been resolved in BlueFlash which could lead to it reporting an incorrect
firmware ID.
B-7952
Minor
An issue has been resolved in the SPI transport which could prevent tools such as
BlueFlash and xIDE in BlueLab from correctly identifying the chip being used.
B-7953
Minor
The hfp library message HFP_INTERNAL_SDP_REGISTER_CFM is now allowed
in the connecting state.
B-8000
Minor
The BlueLab reference documentation is now built at the same time as the VM
libraries, so it automatically reflects any local changes that might have been made.
B-8011
Minor
A display library has been added for controlling an LDA33S481J1D module
(containing an PCF8548 LCD controller) over I2C.
B-8040
Minor
HFP will now issue a request for extended error result codes if the AG supports them.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 40 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-7490
Issues Resolved in BlueLab v3.3
ID
Severity
Description
B-8047
Minor
The CL_DM_MODE_CHANGE_EVENT message has been added to the
connection library to allow the application to monitor power-saving settings.
Applications must call ConnectionInitEx with suitable parameters to enable this
message.
B-8115
Minor
The gavdp and a2dp libraries now notify their client when link loss occurs with a
new error code in the close message.
B-8139
High
HFP will now inform applications of the phone number type (i.e. national, international
etc) when +CNUM, +CLIP, +CCWA and +CLCC notifications are received from the
AG.
B-8153
Minor
The hfp library now sends VGS commands when connected over an HSP
connection with a Fujitsu F900iT.
B-8214
Minor
When the sniffed link is unsniffed, BlueCore pauses data on all links during the unsniff
of the sniffed link, unpausing afterwards. This causes delays in the data on the
streaming link, which lead to breakups in an audio stream.
The firmware has been changed so that it does not pause data on all links in this
scenario. This resolves the problem in the case where the headset is master of both
links and in the case where the headset is master of the AV link and slave of the
phone. Work to support other scatternet scenarios is ongoing.
B-8264
Major
The cbop operator upsample and mix would incorrectly update the parameter
structure (corrupting the linked list) if it was used as two mono operators processing a
stereo stream. This has been fixed.
B-8292
Major
The hfp library has been modified to correctly parse all possible formats of +CLCC,
+CNUM and +COPS notifications received from an AG.
B-8316
Fatal
When running higher layers on chip (either with a VM application or when using BCHS
with L2CAP or higher layers on chip) and when running more than one simultaneous
connection, it was possible for the firmware to leak flow control tokens until eventually
L2CAP data flow would stop on all but one link (and that link might run slowly). This
has been resolved.
B-8318
Minor
The StreamEnableSniffSubrating calls has been added to enable subrating
on a connection.
B-8416
Minor
During a GOEP connect request where the server forces authentication, a client can
cancel the request by issuing a disconnect. GOEP accepts the disconnect and
cancels the connect request.
B-8430
Minor
A change has been made to the code generator for gcc which can prevent a fatal
register spill when comparing 32-bit values.
B-8435
Minor
A headset application, based closely on BC4-headset, has been added to BlueLab.
B-8441
Major
gcc no longer experiences an internal compiler error in certain code involving a
memcpy between structure elements.
B-8455
Minor
A new stereo_headset application (corresponding to BlueTunes1) has replaced
the av_headset_hfp application which shipped with BlueLab3.2.
B-8460
Minor
With an active SLC in sniff mode, data sent over the link will force the link exit sniff
and become active for 1 second. Previously, this was 5 seconds. Some phones spam
the headset with CIEV messages which resulted in higher standby current
consumption.
B-8473
Minor
gcc no longer experiences an internal compiler error in certain code involving a
memcpy between structure elements.
B-8493
Minor
An enhanced firmware variant for BlueCore3-Multimedia has been added to
BlueLab3.3 which offers limited EDR support.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 41 of 60
_äìÉi~Ä»=îPKS Software Release Note
A problem has been observed when BlueCore is in a scatternet or piconet with two
links, one of which is in sniff and the other is streaming data to BlueCore. A typical
use case is an AV headset that is streaming AV data from a PC while also connected
to a phone, which periodically unsniffs the link and sends data such as signal strength
reports.
Issues Resolved in BlueLab v3.3
ID
Severity
B-8497
Major
gcc no longer generates invalid multiplies by register AH and AL.
B-8536
Minor
genparse no longer needs the –task, -dict and -find command-line
B-8538
Minor
The connection library no longer sends a CL_RFCOMM_DSICONNECT_IND
message to the client task if the local device rejected the rfcomm connect attempt.
B-8553
Minor
The USB Audio EndPoint descriptor in the a2dp_source_dongle application has
been updated to include the bRefresh and bSyncAddress fields required by the
USB2.0 chapter 9 tests.
B-8577
Minor
Previously, kalasm2 allocated addresses to code and data based on which group had
the least space remaining. This has been improved, such that group allocation follows
the order of segment declarations in default.asm. For example, given a segment
declaration DM corresponding to two groups, DM1Group and DM2Group, then, for
any allocations to segment DM, DM1Group will be filled to capacity before any data is
allocated to DM2Group.
B-8607
Minor
A unified_no_fs firmware variant for BlueCore4-External has been added to
BlueLab3.3 for specific applications which cannot use the read-only filesystem.
B-8615
Minor
The gcc code generator has been improved to give slightly smaller output in certain
code similar to a-=b where a is 32-bits wide and b is 16-bits wide.
B-8728
Cosmetic
B-8731
Minor
B-8786
Minor
Firmware support has been added for Persistent Store reading from the DSP.
B-8787
Minor
Firmware support and VM access have been added for passing longer messages
between the DSP and the application.
B-8824
Cosmetic
B-8841
Minor
The identifiers for some BlueCore variants were out of date. These have been
updated.
B-8886
Minor
The connection library now correctly rejects an rfcomm connection attempt from a
remote device when the channel is already in use
B-8919
Minor
gcc no longer generates incorrect code for certain obscure circumstances involving
sign extension of bit fields.
Minor
options; they are now the default.
The accuracy comments of the sin routine have been updated, as they previously
implied it was less accurate than it actually is.
The PSKEY_ prefix has been removed from the Programmer IDs. This helps location
of keys by allowing skipping to a key in PSTool by pressing the letter it begins with.
If the selected firmware cannot be found for the hardware in use, xIDE now produces
a sensible error message (previously it would complain about being unable to
determine if the firmware supported the filesystem).
The codec_decoder Kalimba app sometimes produced slight ticking clicks in the
right earphone. This was due to the interrupt rate for audio copies not being quite fast
enough in certain instances. To speed up the interrupt rate the timer scheduling
function $timer.schedule_event_in_period is now used rather than
$timer.schedule_event_in
B-8951
Major
An issue with gcc has been fixed where function pointers in arrays or structs could (in
some limited circumstances) cause the compiler to crash.
B-8956
Major
A cross-over audio scenario which could cause interop problems with the Nokia 6230
has been worked around in the hfp library.
B-9031
Major
If EnergyEstimationOn() was invoked from the VM, even if it returned a
success value, no MESSAGE_ENERGY_CHANGED would subsequently be
generated. This has been resolved.
B-9035
Minor
A new function, VmAmuxClockEnable has been added to enable and disable the
clock which some BlueCore4 variants can output on AIO0.
Minor
Saturation code has been added to the SBC joint_stereo_processing
routines of the encoder and decoder. Note: Previous tests have not shown overflow
occurring, but the addition of some saturation code was thought worth while as a
safety measure.
B-9040
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 42 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-8944
Description
Issues Resolved in BlueLab v3.3
Severity
Description
B-9042
Minor
MessageSystemTask and MESSAGE_USB_ENUMERATED have been added to
the VM libraries to allow an application to receive an indication when USB
enumeration is complete.
B-9043
Minor
The cbops routines upsample_mix_mono and upsample_mix_stereo
incorrectly check the amount of tone data used in each call. This means the routine
will always assume there is tone data available to mix.
B-9047
Fatal
Fixed a problem where the USB to-host Isochronous Endpoint which had been
configured from the VM would be disabled following USB Reset. This prevented USB
Audio flowing to the PC.
B-9100
Major
The codec library now provides a new API, CodecSetInputGainNow and
CodecSetOutputGainNow for setting the codec gain immediately.
B-9172
Minor
A user editable filter has been added to PSTool's display of PS Keys.
StreamSourceConfigure and StreamSinkConfigure can now be used
B-9175
Minor
B-9356
Minor
B-9372
Minor
Fields have been added to the VM USB EndPointInfo structure to allow a VM
application to append class specific fields to an EndPoint descriptor.
B-9374
Minor
USB enumeration for USB Audio devices has been updated in order to interoperate
with MacOS X.
B-9413
Minor
The VM_SOURCE_MESSAGES and VM_SINK_MESSAGES keys can now be used
with SourceConfigure and SinkConfigure to selectively suppress
MORE_DATA and MORE_SPACE messages.
B-9470
Minor
A bug has been found where by the routines $cbuffer.set_write_address
and $cbuffer.set_read_address could overwrite the memory at address 0.
This would only occur if code accessed an MMU port outside of an interrupt when a
stream disconnection occurred. This bug has been fixed so that address 0 is not
written to.
B-9473
Minor
A connection library API has been added to allow application to register trusted
devices.
B-9481
Minor
The font library functions are now supported by the unified firmware supplied with
BlueLab (previously they were only present in special customer-specific builds.)
B-9485
Minor
Support has been added to kalpac2 and the firmware to allow the DSP on BlueCore3Multimedia to access data values from flash on BlueCore3-Multimedia_r03 and later.
See examples/kalimba_flash_access_example.
B-9512
Cosmetic
Shortcuts to PSTool, BlueFlash, VMSpy and AVControl utilities has been added to the
Start menu.
B-9535
Minor
In goep_hander.h function handleSDPServSrchAttrCfm, there is a check
to see if the returned SDP attribute contains an RFCOMM channel. The code was
repeated, a copy of the code has been removed
B-9539
Minor
xIDE now passes .button files through the C preprocessor which allows #ifdef
to be used to adjust for multiple hardware configurations.
B-9579
Minor
Kalimba projects now have individual project properties to allow more useful
properties to be listed in a user-friendly way.
B-9664
Minor
In the test_tonegen example application in BlueLab the psr file was incorrectly
named, matching the name of the Kalimba project not the VM project.
B-9727
Major
DFUWizard is not included with this release of BlueLab.
B-9759
Minor
Values being sent over byte-oriented streams to the host (StreamHostSink) could
be sign-extended into the adjacent byte. This has been fixed.
CS-110737-RNP1
for connected streams and have a boolean return value to indicate if the request was
not possible.
Nested interrupt support in the Kalimba DSP library has been turned off by default to
ease debugging with xIDE. To enable it see the define comment at the top of
interrupt.h
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 43 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.3
Severity
Description
B-9787
Minor
The Kalimba Matlab tools kalvarprs and kalprocessor were locked between
calls which meant they were not cleared by clear all. This is unnecessary and the lock
has been removed.
B-9812
Major
Attempting to StreamConnect a FileSource or StreamAudioSource to a
PcmSink when PCM port 0 has been configured to a rate of 0 no longer causes a
firmware panic.
B-9830
Major
The sco_dsp and sco_master example applications have been updated to use
CodecSetRawInputGainA/B and CodecSetRawOutputGainA/B instead
of CodecSetInputGainA/B and CodecSetOutputGainA/B.
B-9843
Major
On BlueCore3-Multimedia, the internal CODECs now operate correctly when routed to
slots 2 or 3.
M-375
Minor
Fixes have been made to make stepping Kalimba in xIDE faster.
M-463
Minor
Go To Line now works correctly in xIDE when the active project is a Kalimba project.
M-480
Major
Many problems with multi-project workspaces in xIDE have been fixed.
M-524
Cosmetic
Starting a search in xIDE with some text selected now defaults to searching for that
text.
M-579
Cosmetic
An issue has been resolved which could result in xIDE intermittently ignoring uses of
F4 to go to the next compile error.
M-591
Minor
File Open from within xIDE now includes .button, .parse and .asm files in the
default filter.
M-601
Major
Changing the number format of a DSP register in the register window in xIDE no
longer changes the on chip value of the corresponding register.
M-605
Minor
The BlueStack tab in xIDE now correctly decodes the states in the
DM_LP_WRITE_POWERSTATES_REQ primitive.
M-652
Major
Hitting the escape key when xIDE dialogues appear now cancels the operation;
previously the operation could sometimes proceed.
M-664
Minor
An issue has been resolved which could result in xIDE opening the same file twice in
two different buffers.
M-699
Minor
xIDE could fail to display the parameters of functions that don't contain any automatic
variables. This has been fixed.
M-703
Minor
xIDE now shows the full path of open files as a tool tip if the mouse pointer is held
over the file tab of the editor window.
M-726
Minor
xIDE no longer tries to connect over SPI to identify the chip being used when
compiling a single file (using Ctrl+F7).
M-748
Major
Using a single workspace for VM and Kalimba projects caused a slowdown in traffic to
and from the chip. This has been fixed.
M-750
Fatal
The licence file has been modified to allow use the BlueLab version of xIDE from
within a Terminal Services session.
Table E.1: Issues Resolved in BlueLab v3.3
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 44 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.2
Appendix F
Issues Resolved in BlueLab v3.2
The following issues were fixed in the BlueLab v3.2 release.
Severity
B-998
Minor
If a peer device opens and then closes a SCO connection before the application has a
chance to respond with DM_SCO_CONNECT_RES, a DM_SCO_DISCONNECT_IND is
now sent (previously no primitive was sent to indicate the disconnection.)
B-3579
Minor
The MessageStatusTask and StatusQuery calls have been introduced; these
allow querying of link status which was performed using the event library in BlueLab2.
The examples/test_status application illustrates their use.
B-3839
Minor
The connection library no longer rejects multiple rounds of RFCOMM parameter
negotiation.
B-4026
Cosmetic
The security related function calls in the connection library now take a uint32 as the
channel parameter (previously they took a uint16 which was passed to BlueStack as a
uint32.)
B-4175
Cosmetic
The code generated by genparse has been adjusted to lint cleanly, but no functional
changes were involved.
B-4390
Minor
The examples/test_headset application supplied with BlueLab3.0 and 3.1 was
incomplete and has been removed from BlueLab3.2. It will be replaced with a full
application in a later release.
B-4412
Minor
In the a2dp library a number of debug panics have been removed. If this error
condition occurs the a2dp library now sends an error message instead.
B-4572
Major
gcc no longer generates invalid calling patterns for obscure cases involving 32-bit
division where the result is passed to functions with many arguments.
B-4639
Minor
xIDE now correctly handles the case where both a .button file and the .c file it
generates are part of a project. Previously it would cause an error from the linker.
B-4699
Fatal
SPI transports, no longer fail on fast ( > 2.1 GHz ) machines. The problem was caused
by a signed integer being used for storing the clock speed.
B-4925
Minor
The AV_Control debug application for the PC no longer displays the SBC format
and bitpool. This is a result of changes made to CODEC negotiation in the on-chip
application.
B-5007
Minor
On receiving a DM_SM_ENCRYPTION_CHANGE message from BlueStack the
connection library now sends a CL_SM_ENCRYPTION_CHANGE_IND message to
each task that owns a connection on that ACL.
B-5011
Minor
The ConnectionSmEncrypt function has been added to the connection library.
B-5012
Minor
The CL_SM_REMOVE_DEVICE_CFM message has been removed from the
connection library interface as it was never sent.
B-5038
Fatal
B-5086
Minor
The documentation for the ConnectionSmSetSdpSecurityIn() function has
been updated to make its usage clearer, and its use in the supplied code has been
made more consistent.
B-5133
Minor
Within BlueLab applications, MORE_DATA messages used to be generated for every
piece of data which arrived. The firmware has been updated to combine such
messages automatically when they would be adjacent. This can vastly reduce the
number of such messages seen by the application, and reduces the likelihood that a
flood of messages can crash the firmware.
B-5167
Minor
The a2dp_source_dongle application no longer initialises a superfluous instance
of the codec library when USB_AUDIO_MODE is defined.
B-5230
Fatal
kalasm2 now works reliably on Windows XP SP2; problems included errors being
reported incorrectly and also incorrect assembler output.
CS-110737-RNP1
Description
kalasm2 should no longer report ERROR linking ????.klib "already in
Module $mymodule".
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 45 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.2
Severity
Description
B-5236
Minor
The BlueLab toolchain has been extended to support large read-only filesystems on
custom hardware using 16-Mbit of flash.
B-5248
Minor
gcc no longer outputs redundant nop instructions.
B-5249
Minor
The hfp library now sends a HFP_ENCRYPTION_CHANGE_IND message to the
application task in response to receiving a CL_SM_ENCRYPTION_CHANGE_IND
message from the connection library.
B-5250
Minor
In HFP mode, if a remote device disables encryption and does not re-enable it within 5
seconds, the av_headset_hfp application will now disconnect the Service Level
Connection to that device.
B-5277
Minor
The a2dp library now allows switching between SBC rates by passing in configuration
values, rather than requiring the profile library to be rebuilt.
B-5325
Minor
The gavdp library Reconfigure error codes have been reworked to be compliant to
AVDTP test TP/SIG/SMG/BI-14-C
B-5332
Minor
The connection library has been updated to use the newly added power states
interface to BlueStack. The connection library no longer needs to manage switching
between the different low power modes as this is done automatically by BlueStack
based on a power table supplied to it.
B-5339
Minor
A vGen library has been added to help OBEX applications generation vCard-like
values.
B-5380
Major
The connection library now correctly handles crossover between incoming and
outgoing L2CAP connections.
B-5390
Minor
Fixed a memory leak in av_headset_hfp, av_headset, and
a2dp_source_dongle when AVRCP requests are received in unexpected states.
B-5397
Minor
The avrcp library now rejects L2CAP connection requests if it is currently not in the
correct state to accept an incoming connection.
B-5414
Minor
Adding and removing files from the image/ directory now forces the read-only filesystem
to be rebuilt (previously it was only rebuilt if a file was added with a date-stamp later
than the last time the filesystem was built.)
B-5425
Minor
When removing a device from the list of paired devices the connection library did
not remove it from the security manager in BlueStack. This would allow a device that
had been removed from the list of paired devices to still connect, until a reset had been
performed.
B-5426
Minor
A debug panic has been removed from the connection library; it could be triggered
when it received an RFC_ESTABLISH_CFM message for a connection that had
already been disconnected.
B-5427
Cosmetic
B-5438
Major
The A2dpConfigure()function has been removed because it had no effect and if
exposed required qualification.
B-5440
Minor
The l2cap_mtu parameter has been removed from the GavdpInit function as it
was not being used.
B-5458
Major
In the spp library, the SPP_CONNECT_CFM message now correctly contains the SPP
profile instance pointer.
B-5465
Minor
The battery library function BattInit has been renamed to BatteryInit.
The av_headset_hfp headset application cancels the
BUTTON_PLAY_PAUSE_REL message on a failure to create an SLC connection so it
no longer continually attempts to connect the SLC if the first attempt failed.
B-5475
Minor
The connection library now sends a CL_DM_ACL_CLOSED_IND message
whenever an ACL is closed. The message is sent to the task registered with the
connection library as the main client task.
B-5476
Minor
The hfp library now correctly handles rejecting a call while another call is active.
B-5480
Minor
The gavdp library now rejects malformed set_configuration requests where
more than one bit is set in any particular configuration field.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 46 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.2
ID
Severity
Description
B-5485
Medium
MPEG-2/4 AAC support added in a2dp library
B-5492
Minor
The goep library no longer calls ConnectionSmSetSdpSecurityOut to disable
SDP security; it now leaves this policy decision to the application.
B-5496
Minor
The debug variant of the ftpc library has been updated to perform additional checking
(as with other BlueLab libraries).
B-5498
Minor
The debug variant of the ftps library has been updated to perform additional checking
(as with other BlueLab libraries).
B-5510
Minor
GAVDP_CONFIGURE_CODEC_IND message no longer includes a media_sink
B-5514
Major
Fixed a bug in the AVRCP state machine of the av_headset_hfp and
av_headset applications where receiving a START with an AVRCP connection
B-5525
Minor
Ringtones can now be played from locations other than VM constant space, such as
stack memory or dynamic memory.
B-5526
Minor
Playing ringtones from the file system via audio sequence rather than using streams is
no longer supported.
B-5527
Minor
A number of fields in library messages have been renamed in order to conform with
BlueLab coding conventions. Messages with pointer fields name ptr have had their
length field renamed to size_ptr.
B-5528
Major
gcc no longer overwrites arguments in functions which use partially initialised unions.
B-5533
Minor
The av_headset_hfp headset application now accepts an incoming AVRCP
connection when it is in the "ready" state. Previously it refused and then opened later.
B-5543
Minor
The gavdp library will now always return a GAVDP_START_CFM when there is a
crossover between two devices directing GavdpStart at each other.
B-5557
Minor
A debug variant has been added for the oppc and opps libraries.
B-5564
Minor
When using stream-based RFCOMM connections from a BlueLab application, the
RFCOMM streams are destroyed less aggressively. This means that the sink in an
RFC_RELEASE_IND generated by BlueStack is valid whereas previously it was
always zero.
B-5570
Minor
field. This field was invalid and the SEID should be used to identify the connection.
The gavdp library now determines whether to send a GAVDP_OPEN_IND or a
GAVDP_OPEN_CFM message depending on the device opening the AV channels
rather than on the SEP role.
B-5585
Minor
The gavdp library now delays creation of internal data structures until a new
connection instance is being created.
B-5592
Minor
The gavdp library now delays creation of internal data structures until a new
connection data is being created.
B-5598
Minor
An ftp_server application has been added.
B-5601
Minor
The connection library API functions ConnectionSmSetTrustLevel and
ConnectionSmDeleteAuthDevice now return void instead of uint16.
B-5610
Minor
Error robustness of sbc and mp3 decoding improved
B-5611
Fatal
gcc now generates more efficient code for 32-bit by 32-bit multiplication. (This also fixes
an issue where the code could be incorrect in rare circumstances.)
B-5612
Minor
ISR (Interrupt Service Routine) now clears all length registers so that routines that are
called from an interrupt have the length registers cleared.
B-5613
Minor
B-5616
Minor
CS-110737-RNP1
The naming convention for Kalimba DSP library routines has changed from
$lib_routine to $lib.routine
gcc now generates correct code for multiplying a 32-bit integer by a constant power of
2.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 47 of 60
_äìÉi~Ä»=îPKS Software Release Note
already established would confuse the state machine and prevent remote control
commands being sent to the source.
Issues Resolved in BlueLab v3.2
Severity
Description
B-5623
Minor
In the avrcp library, AvrcpConnectResponse no longer expects a bluetooth
address to be passed in.
B-5624
Minor
In the avrcp library, calling AvrcpConnect will now always return a confirmation
message if the request fails.
B-5625
Minor
The debug version of the connection library now panics if an L2CAP connect
response from the client contains invalid parameters.
B-5629
Minor
The avrcp library will now return confirmation messages for all API calls when the
attempt fails, and not just when they are a success.
B-5631
Minor
The examples/test_mp3decoder application has been added to the MP3 addon for BlueLab.
B-5639
Minor
PSR files have been added to the a2dp_source_dongle application to help
configure the application for operation as a USB or analogue audio device. (These are
selected automatically based on the project settings.)
B-5647
Minor
Reduced the sensitivity of the overflow check in stream_decode.asm in order to
prevent it firing incorrectly with a bursty audio stream.
B-5649
Major
Putting multiple file systems (or applications) into a single DFU file no longer causes
dfubuild to fail.
It is now possible for a VM application to specify directly the analogue and digital gain
settings for the internal CODEC on certain BlueCore devices.
B-5658
Minor
This can be done by setting bit 14 of the gain supplied to
CodecSetInput/OutputGain. If this is done, bits 0..3 are written to the digital
gain register and bits 4..6 are written to the analogue gain register.
For more recent BlueCore variants, the PIO lines used to wake the chip from deep
sleep can now be active low. This is controlled by PSKEY_PIO_WAKEUP_STATE.
B-5665
Minor
B-5670
Minor
B-5674
Minor
A font lookup library has been added for a particular project (support for this is not
present in the supplied firmware.)
B-5691
Minor
Tools and firmware have been modified to allow applications in the read-only filesystem
to use a full 64Kwords of code space as well as 24Kwords of constants. (Previously the
total of code and constant was limited to 64Kwords.)
B-5694
Minor
B-5695
Minor
The avrcp library function, AvcrpPassthrough, now correctly truncates vendor
data to 255 bytes.
B-5702
Medium
Modified the initial streaming state in stream_decode.asm so that it will start
playing audio sooner than before. It previously started in poorlink which meant it could
be several seconds before audio could be heard.
B-5703
Minor
A bug in the MP3 decoder has been fixed where reorder_spectrum wouldn't occur
if only the right channel was using short windows.
B-5706
Minor
The Kalimba DSP decoders now start in their gobble state rather than poorlink to avoid
an initial silence at the start of tracks.
B-5732
Minor
B-5748
Minor
The HfpGetBdaddr() function has now been removed from the hfp library API.
The address of the remote device can be obtained from the connection sink.
B-5749
Minor
The HFP_SLC_CONNECT_CFM message sent from the hfp library now includes the
sink for the SLC connection.
CS-110737-RNP1
AvrcpPassthrough in the avrcp library will now send subunit data to the remote
end correctly.
The PIOs used to drive the WM8731 are now configured during initialisation of the
codec library.
BlueFlashCmd now supports querying BlueCore for the chip version and flash size;
this is used to automatically identify suitable firmware.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 48 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.2
ID
B-5751
Severity
Minor
Description
When the mp3 decoder was requested to skip over an 'mp3 granule' (equivalent to half
an mp3 frame) it would actually consume a whole mp3 frame. This caused it to
consume data twice as quickly as expected during the 'poorlink' condition. To get
around this problem the 'poorlink percentage' in the past had to be half the value that
you'd imagine it should have been.
This bug has been corrected, i.e. the decoder correctly skips granules (half frames)
when requested.
Minor
On exiting the poorlink state, the Kalimba DSP decoders now start buffering rather than
entering the gobbling state.
B-5759
Minor
In order to be consistent with the other BlueLab libraries the avrcp library no longer
defines the AVRCP_DISCONNECT_CFM message. AVRCP_DISCONNECT_IND is
used instead.
B-5765
Minor
The avrcp library now returns the status avrcp_invalid_sink in confirmation
messages, if its functions are passed an invalid sink.
B-5766
Minor
The avrcp library now always returns the correct confirmation message for the API
function called.
B-5767
Minor
AvrcpSubUnitInfo in the avrcp library now sends the page data correctly.
B-5771
Minor
The avrcp library message, AVRCP_VENDORDEPENDENT_IND, now contains the
command type that was sent from the remote end.
B-5775
Minor
BlueLab upstream messages no longer contain pointers to data that their client must
free. All such data is now allocated as part of the message so it is destroyed together
with the message.
B-5780
Minor
The gavdp library now correctly rejects configurations which are not within the
reported capabilities.
B-5784
Minor
All state in the gavdp library is now stored in the task instance; previously global data
prevented multiple gavdp instances with differing client tasks.
B-5786
Minor
The gavdp library now correctly rejects configurations which are not within the
reported capabilities.
B-5788
Minor
The appquery helper utility has been extended to report the traps supported by a
firmware build; this is now used by the BlueLab makefiles to decide whether an
application should be placed in the read-only filesystem.
B-5791
Minor
A firmware bug has been fixed which prevented MESSAGE_ENERGY_CHANGED from
being delivered to a VM application.
B-5797
Minor
gcc now generates the correct labels for constant segment jump tables when optimising
switches on values it can calculate at compile time.
B-5799
Minor
Passing a null bluetooth address to AvrcpConnect in the avrcp library will now
cause a Panic in the debug build of the library.
B-5805
Minor
The sink is no longer passed in to many of the avrcp library API functions. It is stored
internally within the library.
B-5808
Minor
The profile instance pointer is now the first field in all messages returned from the
profile libraries.
B-5819
Minor
Some type definitions which were only relevant to BlueLab2 applications have been
eliminated from the (shared) vm_if.h header file.
B-5830
Minor
The VM version of xIDE now provides stack backtracing functionality. CallStack and
Backtrace variables windows have been added.
B-5863
Cosmetic
The pio_if.h header defined types which were used only for BlueLab2 and has
been removed.
B-5864
Minor
The PcmRoute and PcmRateAndRoute calls now support Kalimba DSP-mode.
B-5866
Minor
Attempting to step over a switch statement in a VM app no longer causes xIDE to lock
up in certain circumstances.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 49 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-5752
Issues Resolved in BlueLab v3.2
Severity
Description
B-5870
Minor
The default PIN code for all supplied applications has been changed from "4444" to
"8888"
B-5871
Major
The a2dp library now respects the local bitpool parameters set during initialisation.
B-5874
Major
gcc3.3 is now less likely to fail with an internal error while compiling calls to memcpy
involving pointers to pointers.
B-5890
Minor
A optimisation to the startup code for VM applications has saved one word of RAM in
the global variables.
B-5891
Minor
The hfp library now handles CL_RFCOMM_CONTROL_IND messages sent by the
connection library.
B-5893
Minor
The tools in BlueLab now support the read-only filesystem on 6-Mbit parts with suitable
firmware. (Previously 8-Mbit parts were required.)
B-5894
Minor
Step over/into now copes with larger switch statements when debugging VM
applications.
B-5898
Minor
As issue has been resolved which could cause warbling in the right channel when the
MP3 decoder was decoding from mono.
B-5901
Minor
Some variables that were in scope were not shown when debugging a VM application.
These variables now appear correctly.
B-5906
Minor
The combined headset application now checks its current state before attempting to
close the AVRCP connection.
B-5909
Minor
The six functions to set the input and output gains in the codec library, have been
replaced by two, where the channel that should be affected is now passed into the
function.
B-5910
Minor
CLASS_OF_DEVICE is no longer defined in the spp library. The type named
deviceType that was passed into SppInit has been renamed as
spp_device_type.
B-5914
Minor
The examples/test_headset application has been removed; it was incomplete
and will be replaced by a fully featured headset application in a later BlueLab release.
B-5915
Minor
The SBC and MP3 decoders are now better at correcting byte alignment when resynchronising.
B-5918
Minor
A debug variant of the avrcp library is now built by default when installing Bluelab.
B-5919
Minor
The combined headset application now sends a button press to the AG if connected as
HSP after an HFP connect has failed.
B-5920
Minor
The interface to the goep library has been substantially updated to make it more
understandable and more consistent with other BlueLab libraries.
B-5921
Minor
The AvrcpPassthrough and AvrcpVendorDependent interfaces have been
changed so that vendor data is passed as a Source and they handle it correctly.
B-5926
Minor
The hfp library API now complies with the BlueLab library coding standard.
B-5934
Minor
B-5945
Major
The a2dp library now uses kalimba_standard_messages.h for the kalimba
message types.
B-5946
Minor
The connection library API now complies with the BlueLab library coding standard.
B-5949
Major
BlueLab now probes over SPI to automatically identify which hardware you are using,
both BlueCore variant and flash size. As a result the 'hardware' project property in xIDE
has been removed.
B-5955
Minor
BlueLab now includes 'compact' firmware builds that support the read-only filesystem
(but not DFU) on 6-Mbit parts. These allow applications to exceed 32Kwords on 6-Mbit
parts.
spp library code to connect the rfcomm stream to the UART and to operate LEDs has
CS-110737-RNP1
been moved to the application. The connect confirmation status has now been changed
from type rfcomm_connect_status to spp_connect_status.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 50 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.2
Severity
Description
B-5967
Minor
AV streaming has been improved so that the start of a track will play straight away
rather than 200ms being lost. Also the poorlink state is now less likey to be entered and
so previous mute periods between audio tracks should not exist any more.
B-5972
Minor
The power table in the gavdp library now uses passive mode.
B-5978
Minor
The firmware now correctly handles overlapping calls to AdcRequest; previously
using the battery library to sample two sources could result in no readings being
produced.
B-5988
Minor
The gavdp library no longer panics during A2dpOpen if the signalling channel
establishment failed; checks have been added to make sure the signalling channel is
valid when looking for a stream endpoint.
B-6029
Minor
MESSAGE_SOURCE_EMPTY has been added.
B-6053
Minor
The interface to the ftpc library has been updated to make it more consistent with
other BlueLab libraries.
B-6059
Major
MESSAGE_STREAM_DISCONNECT is now sent to the task associated with the sink;
previously it was only sent there if no task was associated with the source.
B-6060
Minor
The gavdp library no longer rejects connections from devices that have their MTU set
to less than the L2CAP default MTU (672 bytes). The library will now accept a
connection from a remote device advertising any legal MTU.
B-6062
Minor
The combined headset application correctly updates its internal state when notified of
an incoming call while currently in an active call.
B-6068
Minor
Debounce settings can now be specified in .button files using debounce samples
delay .
B-6071
Minor
Low power table support has been added to the spp library.
B-6073
Minor
The av_headset_hfp application now uses the codec library.
The Connection library manages a list of trusted devices. The list is keyed by
Bluetooth address. A new API has been added to allow additional device attributes to
be stored.
B-6104
Minor
- ConnectionSmSetAttribute(..)
- ConnectionSmGetAttribute(..)
This API can be used to store and retrieve attribute data for a device keyed by
Bluetooth address.
B-6105
Minor
The default L2CAP configuration in the connection library now sets the local MTU to
895 bytes, the maximum we can support, rather than 672 bytes.
B-6107
Cosmetic
kalasm2 no longer prints out random characters instead of meaningful strings as part of
some warning and error messages.
B-6110
Major
The gavdp library now correctly updates its internal state if a suspend request is
rejected by the remote end. This was causing it to reject subsequent suspend requests
from the remote end.
B-6117
Minor
The Kalimba DSP decoder code has been adjusted to eliminate ticks which were
sometimes heard at the beginning of a track.
B-6123
Minor
When reading or writing data to a Kalimba DSP port, you can now force different
settings, for big/little endian and sign extension, than the defaults. To use different
settings from the defaults the port identifiers can now be defined with the following extra
definitions:
$cbuffer.FORCE_BIG_ENDIAN or $cbuffer.FORCE_LITTLE_ENDIAN
and
$cbuffer.FORCE_SIGN_EXTEND or $cbuffer.FORCE_NO_SIGN_EXTEND
B-6124
Major
CS-110737-RNP1
The connection library no longer leaks memory when its client attempts to connect
to an invalid Bluetooth address.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 51 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Issues Resolved in BlueLab v3.2
ID
Severity
B-6129
Minor
B-6143
Minor
B-6152
Minor
A firmware change means that the sink value in DM_EX_SCO_DISCONNECT_IND
primitives is now correctly set, rather than being zero.
B-6153
Minor
The av_headset_hfp application now checks stream validity before routing SCO to
the PCM hardware.
B-6155
Minor
Freeing a pointer which points into the middle of an allocated region (rather than the
start of the region) now causes a VM panic.
B-6163
Minor
If the remote end initiates closing the media channel the gavdp library waits for 500ms
(thus allowing the remote end to disconnect the signalling channel) before initiating a
disconnect of the signalling channel, if it is still connected. Previously it would
disconnect the signalling channel immediately.
B-6165
Minor
The a2dp and gavdp libraries now provide a CloseAll function to clean up all
existing AV connections.
B-6177
Minor
The gavdp library no longer tries to use a signalling connection that doesn't exist.
B-6178
Minor
The gavdp library now does some additional checking on the result of a SinkClaim.
B-6179
Minor
The oppc library API has been updated as part of the changes to the goep API.
B-6188
Minor
Code has been added to prevent changing track, or playing of very short sound clips,
resulting in a short clip of the last sound being played.
B-6194
Minor
If the AG does not support an in-band ring tone but opens a SCO while sending RING
indications, the combined headset application will now play its own ring tone.
B-6198
Minor
A new 'Message' tab in xIDE traces messages passed to the tasks in the application,
both from other tasks and from the firmware.
B-6208
Minor
The a2dp and gavdp no longer contain a media_sink field in their CODEC settings
indication messages.
B-6210
Minor
The opps API has been updated to match the new goep API.
B-6214
Minor
An opp_server application has been added.
B-6217
Minor
A minor issue in the firmware has been resolved which could mean updates to local
variables placed at 0xFFF8 were ignored by xIDE.
B-6230
Minor
SinkIsValid and SourceIsValid library routines have been added.
B-6233
Minor
A debug variant of the spp library is now built by default when installing BlueLab.
B-6234
Minor
The opps library no longer assumes that vCard mime types will all be lower case.
B-6245
Minor
The hfp library now correctly hangs up the active call if a second call comes in and the
application issues an HfpTerminateCall request.
B-6259
Minor
gcc no longer allows bitfields to straddle word boundaries any more. Doing so
generated extra code and broke applications which made assumptions about structure
packing.
B-6275
Minor
An obex_server application has been added.
B-6276
Fatal
The gavdp library now correctly validates the service capabilities received in a get
capabilities response.
B-6283
Minor
The examples/oppc application has been added.
B-6284
Minor
DFU tools have been included with BlueLab in tools/dfu.
B-6286
Minor
The AG may optionally include an alphanumeric representation of the number sent in
the CLIP indication. If the hfp receives this it sends a single
HFP_CALLER_ID_NAME_IND message to the client containing this string.
B-6287
Minor
The Kalimba DSP message library has been updated to avoid corrupting the timer list
when the firmware took longer than expected to acknowledge a message.
The interface to the ftps library has been updated to make it more consistent with
other BlueLab libraries.
ConnectionSmDeleteAllAuthDevices(..) previously failed to remove all
devices from the paired device list.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 52 of 60
_äìÉi~Ä»=îPKS Software Release Note
CS-110737-RNP1
Description
Issues Resolved in BlueLab v3.2
ID
B-6330
Severity
Minor
Description
Any streams connected to the Kalimba DSP are now disconnected before a new
Kalimba DSP application is loaded by KalimbaLoad; previously the firmware could
believe that streams were still connected, despite the Kalimba DSP having been
restarted.
A warping operator has been added to the Kalimba DSP libraries allowing
stream_decode to maintain buffer levels at the good working level. This supports
B-6347
Minor
B-6375
Minor
B-6380
Minor
B-6386
Minor
The hfp and a2dp libraries now allow their client task to supply a service record to be
registered instead of the default service record for that profile.
B-6417
Minor
The hfp library now returns more specific error codes if the SLC attempt fails so its
client can differentiate between a connect fail due to page timeout and the remote
device not supporting the requested service.
B-6439
Minor
A connection_id field has been added to the CL_L2CAP_CONNECT_CFM
message sent by the connection library.
B-6447
Minor
source and sink having non perfect sampling frequencies and helps to conceals flaws in
encoders with poor buffer-level jitter control.
The connection library now waits for the client to read the
CL_L2CAP_DISCONNECT_IND message before acknowledging the disconnect.
PcmRateAndRoute to internal CODECs on kalimba will now rejects 48kHz for the
The Kalimba DSP profiler library no longer requires explicit calls to
profiler.register before the first call to profiler.start.
To be more consistent with other Kalimba DSP libraries the names of some constants
have been changed. For example:
B-6448
Minor
$codec.STREAM_ENCODER_IN_LEFT_BUFFER_FIELD
has been changed to:
$codec.stream_encode.IN_LEFT_BUFFER_FIELD
B-6451
Major
The Kalimba DSP loop registers are now reset during KalimbaLoad; previously they
were left alone. If, as a result of switching Kalimba DSP applications, this left them
pointing to the first instruction in a loop, the Kalimba DSP could branch to a random
address.
B-6483
Minor
The structures used to configure the profile library instance for the hfp and a2dp
libraries have been renamed to hfp_init_params and a2dp_init_params
respectively.
B-6503
Minor
The hfp library now ignores RING indications if the AG sends them before the SLC is
fully established. Both ends are forbidden (by the profiles) from sending any signalling
messages until the SLC has completed.
B-6505
Minor
Scripts to help Matlab users to inspect Kalimba DSP state (such as buffer levels) have
been added to the tools/matlab directory.
B-6510
Minor
A subtle bug in the gcc register allocator caused gcc to delete an instruction that was
necessary in some obscure circumstances.
B-6555
Minor
Improved interop of Bluestack by always exiting sniff mode or park mode before
opening a SCO or eSCO link. It was seen that certain phones would always reject a
SCO connection if the ACL was in sniff.
B-6597
Minor
The firmware implementation of StreamConnectDispose has been optimised
when applied to common case of region, file and audio sources.
B-6598
Minor
The av_headset_hfp application no longer attempts to configure the ADC to a rate
the hardware does not support.
B-6601
Minor
When connecting an Audio Source to the Kalimba DSP, garbage data was occasionally
sent. This has been fixed.
B-6631
Minor
At above maximum amplitude saturation now correctly occurs.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 53 of 60
_äìÉi~Ä»=îPKS Software Release Note
ADCs since it is not supported by the hardware.
Issues Resolved in BlueLab v3.2
ID
Severity
Description
B-6641
Major
The MPEG-2 extended sample rates have been removed from the MP3 capabilities in
the a2dp library because these are not supported by the Kalimba DSP application.
B-6694
Major
Calls to StreamConnect with a SCO stream no longer fail if the SCO connection is
in the process of being closed by the baseband but the VM application has yet to be
informed.
B-6699
Minor
B-6901
Fatal
BlueFlash and BlueFlashCmd no longer report errors writing to sector 64 on BlueCore 3
when using certain flash devices.
B-6906
Fatal
The version of strncpy supplied as part of the BlueLab libraries could illegally access
memory beyond the bound given on the source string. This has been fixed.
B-6941
Major
xIDE no longer reports nonsense values for the contents of a service record when
logging a SDS_REGISTER_REQ in the BlueStack tab. (In unusual circumstance the
firmware could panic while logging such a primitive.)
B-6980
Major
The AVRCP library now leaves data in the source until a response has been sent;
previously it would hold the data in a dynamic block which caused problems with stacks
(such as the iPaq HX2415) which sent multiple AVRCP messages without waiting for an
acknowledgement.
B-6983
Major
A problem has been resolved which could, in unusual circumstances, lead to gcc3
generating incorrect code when switching on a variable and then referencing the
variable soon after the switch.
B-6996
Minor
The spp_dev_a application no longer looks for an exact class of device match during
an inquiry result.
B-7203
Major
If the connection library receives an L2CAP connect response and cannot find the
internally stored data for this connection it will now send a
CL_L2CAP_CONNECT_CFM message to the client indicating this rather than
panicking.
B-7217
Major
The hfp library now allows audio transfer when in the incoming and outgoing call
states.
B-7246
Minor
Reference documentation for the Kalimba DSP library code is now included and
accessible from xIDE's help panel.
B-7265
Minor
The CVSD filter is now available when using SCO streams.
B-7319
Major
The gavdp library could fail to attempt a role switch even when the device was
configured as an AV sink. This could result in degraded throughput and poor AV
performance and has been fixed.
B-7360
Minor
The hfp no longer leaks memory when an HfpSlcConnect() is issued with the
extra_indicators parameter set and the connect attempt fails.
B-7370
Minor
The hfp library has been updated to use a longer sniff interval.
B-7386
Minor
The gavdp library now cleans up its state properly if it attempts to open a transport
channel and this attempt fails.
A memory leak when connecting to an invalid Bluetooth address has been fixed in the
goep library.
B-7388
Major
B-7402
Minor
The hfp library now correctly parses +CCWA indications sent from the AG with fewer
parameters than required by the HFP specification.
B-7405
Minor
The avrcp library has been updated so it can be configured to support either the
target or the controller role. The correct UUID is inserted into the service record
registered by the avrcp library depending on the role selected by the client.
B-7433
Minor
This release of firmware adds support for slave mode I2S audio.
Minor
Explicit support for MBM29SL800BE was missing from BlueFlash and BlueFlashCmd. It
has been added.
B-7439
CS-110737-RNP1
is initiating the AV connection. Previously it was not expecting that message in that
state and would panic.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 54 of 60
_äìÉi~Ä»=îPKS Software Release Note
The av source dongle application now correctly handles an
A2DP_CODEC_SETTINGS_IND message from the a2dp library if the remote device
Issues Resolved in BlueLab v3.2
ID
Severity
B-7638
Minor
Description
A demonstration version of the CVC DSP code has been added to the
av_headset_hfp application (this can be enabled by defining INCLUDE_CVC in
the project properties.)
Major
The EnergyEstimationOn/Off functions no longer fail if the SCO sink is
connected to a source.
KEX-20
Minor
A spurious read has been eliminated from the gargle filter. This caused the audio to
sound gargled even when the filter was off.
KEX-23
Minor
A tone generation example has been added, making use of the Kalimba DSP to
generate the tones, and the VM to parse instructions typed by the user into an interface
such as HyperTerminal.
KEX-28
Minor
BlueLab3.2 kalimba examples have been updated to align with the current naming
convention. To that end modules are now named using the following convention:
$M.modName not $M_modName.
KEX-29
Minor
A demonstration of the mix operator has been added to the test_sbc_loopback
example in BlueLab.
M-399
Minor
Kalimba breakpoints are no longer lost when the Kalimba application is reloaded by the
vm.
M-412
Minor
Debug output in xIDE is no longer slower with the BlueCore host transport set to none,
and in general performance and robustness of the SPI transport has been improved.
M-427
Cosmetic
M-442
Minor
The accuracy of timestamps in the xIDE primitive trace has been improved.
M-571
Minor
If the pre-processor symbols used in a Kalimba DSP project are changed, xIDE will now
force a rebuild of the assembler source code. Previously, a manual 'clean' step was
required to force this to happen.
M-577
Cosmetic
M-595
Major
Expanding certain items in the variable widget (especially pointers) could cause xIDE to
crash. This no longer occurs.
M-596
Minor
xIDE can now parse debug information for code with variables declared as `volatile'.
M-599
Minor
Certain variables were displayed as ???? in the xIDE debugger. These variables are
now read correctly.
M-690
Major
xIDE should now correctly handle setting breakpoints in Kalimba DSP source files.
Previously it could refuse to set them if the file was opened from the File menu, rather
than from the project file list.
The debug transport for xIDE can no longer be 'unset' by dismissing the debug transport
dialog without making a selection; which could prevent the debugger making contact
with BlueCore.
The version of BlueLab being used in now displayed in the title bar of the main xIDE
window.
Table F.1: Issues Resolved in BlueLab v3.2
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 55 of 60
_äìÉi~Ä»=îPKS Software Release Note
B-7693
Issues Resolved in BlueLab v3.1
Appendix G
Issues Resolved in BlueLab v3.1
The following issues were fixed in the BlueLab v3.1 release.
ID
Severity
B-1730
Minor
B-3997
Minor
ConnectionReadRemoteName has been implemented in the connection library. (It
B-4158
Minor
The (unused) a2dp_discover call has been removed from the a2dp library.
B-4335
Major
The hfp profile library will silently ignore any AT+VGS commands which come in faster
than they can be handled. This is to avoid memory exhaustion.
B-4379
Minor
Server side functionality has been added to the GOEP library.
B-4404
Minor
The av_headset and av_headset_hfp applications now attempt to close down
the AV connection gracefully when powered down.
B-4658
Minor
The avrcp library now provides a power table to the connection library. It uses the
priority passed to AvrcpInit by the application.
B-4677
Major
An issue in the av_headset_hfp application where audio playback would not
resume after the Source initiated an AVDTP_SUSPEND followed by AVDTP_START
has been resolved.
B-4760
Minor
B-4769
Fatal
Messaging from the Kalimba DSP to the VM application does not work with the
firmware shipped with BlueLab 3.0-release. This has been resolved in subsequent
firmware builds.
B-4771
Fatal
gcc3 has been updated to prevent it from generating incorrect assembler code for shifts
in certain code fragments.
B-4811
Fatal
kalasm2 no longer writes truncated .klib files on certain source files.
B-4813
Cosmetic
B-4841
Minor
The goep and ftpc libraries have been extended to enable use of the optional type
header.
B-4848
Major
Selection and loading of the Kalimba CODEC has been moved into the a2dp library
(previously it was performed by the client applications.)
B-4849
Major
The a2dp library now performs capability negotiation for the CODECs and notifies the
application of the result.
B-4895
Minor
The a2dp and gavdp libraries now refers internally to the AV stream using sinks
rather than the SEID. The SEID is still passed up to the application for informational
purposes.
B-4916
Major
The a2dp library now handles SEP registration. The application only needs to specify
the type(s) (SBC,MP3, ...) of SEP they wish to register.
B-4918
Minor
The a2dp_source_dongle application can now be built so that it accepts an
analogue input using the new codec library, or enumerates as USB speakers.
B-4973
Minor
A generic codec library for BleCore3 Multimedia has been added which currently
supports both the internal CODECs and an external Wolfson WM8731.
B-5005
Minor
The connection library now informs clients that an ACL connection has been
opened by sending CL_DM_ACL_OPENED_IND.
B-5008
Minor
The debug variant of the connection library now checks the status field of primitives
it would otherwise ignore and panics if the status field is bad.
B-5010
Minor
Support for changing the local name has been added to the connection library.
The strcmp and memcmp functions in the C library now correctly use unsigned char
according to the C standard, rather than plain char.
truncates names longer than 31 characters.)
kalimba_standard_messages.h header has been added listing various
messages passed between the Kalimba DSP code and the supplied VM applications.
xIDE no longer displays the (unused) BH and BL registers which were needed for gcc2.
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 56 of 60
_äìÉi~Ä»=îPKS Software Release Note
CS-110737-RNP1
Description
Issues Resolved in BlueLab v3.1
Severity
Description
B-5039
Minor
The GOEP library now sends an explicit delete request to its application when a remote
client wishes to delete an object.
B-5059
Major
The hfp library now unconditionally sends volume indications to the client when in
headset mode. Previously it incorrectly checked the local supported features but those
are relevant only to the hands-free profile.
B-5069
Minor
Firmware for BlueCore4-external is now included with BlueLab.
B-5084
Major
A possible infinite loop in gavdpHandleTransportChannelClosed in the
gavdp library has been eliminated.
B-5098
Minor
The gavdp library no longer relies on a (30 second) timeout to detect failed
connections.
B-5111
Minor
A FileParent function has been added to find the directory containing an item in the
read-only file system.
B-5120
Minor
The buttonparse tool has been extended to allow the creation of messages for
double key presses.
B-5131
Minor
The gavdp library now returns an error message to the client if GavdpClose is
attempted while in the wrong state. The close operation itself is not attempted.
B-5138
Major
The hfp library now correctly frees the memory containing the results of an SDP
search.
B-5171
Major
The spp and goep libraries now correctly free the memory containing the results of an
SDP search.
B-5181
Minor
The TGAVDP100 timeout in the gavdp library has been increased to avoid signalling
timeouts in cases where the packets are delayed due to heavy Bluetooth usage such as
a scatternet with both a SCO connection and AV streaming.
B-5188
Minor
The test_headset application now correctly sets up PSKEY_FIXED_PIN.
B-5192
Minor
The PcmRate and PcmRoute calls are deprecated; the supplied example
applications now use the combined PcmRateAndRoute call.
B-5193
Minor
The test_headset application now tries to use the internal CODEC and, if that
doesn’t exist, an external CODEC. As a result it will work on BlueCore variants with
internal and external CODECs.
B-5194
Minor
Both av_headset and av_headset_hfp now panic if an attempt to register an
SEP fails during startup. Previously they would just fail mysteriously if, say, the required
Kalimba DSP application was not present on-chip.
B-5253
Fatal
gcc3 has been updated to eliminate a possible fatal failure during the reload phase of a
'movhi' instruction.
B-5297
Major
The linker 'ld' has been updated to eliminate warnings and a possibly incorrect
stackusage calculation for programs containing very large call instructions.
B-5409
Minor
New StreamConnectAndDispose function added.
M-387
Major
xIDE should now correctly display the source code for kalimba libraries.
M-530
Minor
PSKEY_VM_DISABLE can no longer be accidentally left set to 2 (debug) if xIDE
terminates abnormally; the VM will be left in the state it was before debugging.
Table G.1: Issues Resolved in BlueLab v3.1
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 57 of 60
_äìÉi~Ä»=îPKS Software Release Note
ID
Terms and Definitions
Terms and Definitions
ADC
Analogue to Digital Converter (the analogue inputs on BlueCore)
AG
Audio Gateway
AT
Attention (modem command prefix)
API
Application Programming Interface
AVRCP
Audio/Video Remote Control Profile
BCCMD
BlueCore Command
BlueCore Serial Protocol
BlueCore™
Group term for CSR’s range of Bluetooth wireless technology chips
BlueLab™
CSR’s development toolset for building applications to run in the firmware’s VM
®
Bluetooth
Set of technologies providing audio and data transfer over short-range radio connections
BlueStack™
Mezoe’s implementation of a Bluetooth protocol stack (up to RFCOMM level)
BlueSuite™
Family of software utilities for Bluetooth evaluation and development (supplied with CSR
development systems Casira, MicroSira, CompactSira).
Casira™
CSR’s main Bluetooth evaluation hardware
CODEC
COder DECoder
CPU
Central Processing Unit
CSR
Cambridge Silicon Radio
cVc
Clear Voice3 Capture
DM
Device Manager
DTMF
Dual Tone Multi-frequency
DSP
Digital Signal Processor
EAG
Embedded Audio Gateway
FTPC
File Transport Profile Client
FTPS
File Transport Profile Server
GAVDP
Generic Audio/Video Distribution Profile
GCC
GNU Compiler Collection
GOEP
Generic Object Exchange Profile
H4
UART-based HCI transport, described in section of H4of v1.0b of Bluetooth Specification
HCI
Host Controller Interface
HFP
Handsfree Profile
HID
Human Interface Device
OBEX
Object EXchange Protocol
OPPC
Object Push Protocol Client
OPPS
Object Push Protocol Server
PABP
Phonebook Access Profile
Persistent Store
Storage of BlueCore’s configuration values in non-volatile memory
PIO
Parallel Input Output; the parallel port on BlueCore
PM
Program Memory
RAM
Random Access Memory
RFCOMM
Serial cable emulation protocol (element of Bluetooth)
SBC
Sub-Band Coding
SCO
Synchronous Connection Oriented link
SDK
Software Development Kit
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 58 of 60
_äìÉi~Ä»=îPKS Software Release Note
BCSP
Terms and Definitions
Service Discovery Protocol
SLC
Subscriber Loop Carrier
SIG
Special Interest Group (Bluetooth SIG controls the Bluetooth specifications)
SPI
Serial Peripheral Interface
SPP
Serial Port Profile
TCP
Transmission Control Protocol
UART
Universal Asynchronous Receiver Transmitter
UDP
User Datagram Protocol
USB
Universal Serial Bus
VM
Virtual Machine; environment in the BlueCore firmware for running application-specific
code produced with BlueLab
xIDE
BlueLab’s Integrated Development Environment
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
_äìÉi~Ä»=îPKS Software Release Note
SDP
Page 59 of 60
Document History
Document History
Revision
Date
ISSUE 1
05 DEC 06
Reason for Change
Original publication of this document. (CSR reference: CS-110737-RNP1)
BlueLab v3.6 Software Release Note
CS-110737-RNP1
December 2006
®
Unless otherwise stated, words and logos marked with ™ or are trademarks registered or owned by Cambridge
®
Silicon Radio Limited or its affiliates. Bluetooth and the Bluetooth logos are trademarks owned by Bluetooth SIG,
Inc. and licensed to CSR. Other products, services and names used in this document may have been
trademarked by their respective owners.
The publication of this information does not imply that any license is granted under any patent or other rights
owned by Cambridge Silicon Radio Limited.
CSR reserves the right to make technical changes to its products as part of its development programme.
While every care has been taken to ensure the accuracy of the contents of this document, CSR cannot accept
responsibility for any errors.
CSR’s products are not authorised for use in life-support or safety-critical applications.
CS-110737-RNP1
© CSR plc 2006
This material is subject to CSR’s non-disclosure agreement.
Page 60 of 60
_äìÉi~Ä»=îPKS Software Release Note
_äìÉi~Ä=
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : No Tagged PDF : Yes Page Mode : UseOutlines XMP Toolkit : 3.1-701 Producer : Acrobat Distiller 7.0 (Windows) Company : CSR Source Modified : D:20061208103026 Creator Tool : Acrobat PDFMaker 7.0 for Word Modify Date : 2006:12:08 10:39:19Z Create Date : 2006:12:08 10:33:13Z Metadata Date : 2006:12:08 10:39:19Z Document ID : uuid:c76b98c1-326d-4773-b9b9-fedceef519e4 Instance ID : uuid:8be1dad0-0f10-403e-b9cf-3b2d1dc794df Version ID : 202 Format : application/pdf Title : Technical Communications Style Guidelines FEB02 Creator : sm01 Subject : Headline : Page Count : 60 Page Layout : SinglePage Author : sm01EXIF Metadata provided by EXIF.tools