Part 2: Controlling Pass-Through Volume via Telnet
3-8
Getting Started with ADSP-BF537 EZ-KIT Lite
To generate
VOL_CHANGE
messages:
1. Open the
Caesar_Cipher_ThreadType.cpp
file.
2. Replace the implementation of
Casesar_Cipher_ThreadType::Run()
with the contents of
3-1. Caesar_Cipher_ThreadType::Run() New Implementation” on
page 3-19
.
Note how the
+
(plus) and – (minus) characters are used to change
the
volume
variable in the range of
0.0
and
48.0
(inclusive), with
zero being no volume (mute) and
48.0
being maximum volume.
After changing the variable, its value is passed to the audio threads
by posting a
VOL_CHANGE
message. Since the entire payload of the
message is the volume change only (a four-byte
float
), the message
has a size of four bytes, with the payload being the volume value
itself.
VOL_CHANGE
is declared in
AudioMsg.h
, so the header file must
be
#include
’d in
Caesar_Cipher_ThreadType.cpp
.
Build and run the project. When the audio output starts, telnet to the
EZ-KIT Lite and use the
+
and
–
on your keyboard to change the volume
of the output. Now you are running an interactive real-time application
(audio pass-through) that communicates through a TCP/IP connection.
Now we use monitoring and analysis tools to understand the application’s
behavior. We already are familiar with the statistical profiler used in the
earlier exercise. Using the statistical profiler, we will show that the applica-
tion spends the majority of its time in the
VDK::IdleThread
functions.
The
Idle Thread
is where a VDK application goes when all the processing
is complete. It represents the amount of spare capacity available for other
work to be done in the system.
Halt the EZ-KIT Lite with
Debug
–>
Halt
. We can now examine the
behavior of the system’s thread with the
View
–>
VDK Windows
–>
History
menu item. The
VDK State History
window displays the recent history of
the application. Resize the window to a comfortable size. Turn on the leg-
end by right-clicking in the window and selecting
Legend
. The window
www.BDTIC.com/ADI