|
Articles and whitepapers
PDA-Control using Windows Mobile (2/8/2006)
By
Anton Ahmad, Linn Products
Imagine this: you get home from work, pick
up your PDA and within seconds you are connected to your home entertainment
system. You have full control of your system controller and other
sources connected to it. These sources include a DVD player, tuner
and hard disk audio server. You can browse your collection of CDs,
or search alphabetically by artist. You can iterate over a list
of 3000 artists and find any disc within seconds!
While Windows Mobile-powered devices allow
you to access information that is only normally available on your
desktop PC, viewing web pages and email are only the beginning of
the freedom this technology can bring.
A flexible platform
Windows Mobile is an open platform that is
based on Microsoft's .NET framework, which gives developers a flexible
platform to work on. At Linn Products for example, we have harnessed
this power by exploiting features in our own and third party products
that are intended for integration in today's smart home.
The Linn Kinik (pronounced Kin-eek) is a
.NET compact framework application that runs on a PDA running Windows
Mobile, and leverages many of the resources found on today's pocket
PCs. Via a wireless router, it can wirelessly control devices such
as A/V system controllers and audio or video source products, and
receive feedback from these devices. Furthermore, its use of radio
frequencies means that it works anywhere within the router's range.

Kinik displaying track information from the Linn Unidisk player
The first thing to hit you when you see Kinik
running is the amazing 640x480 graphics. This resolution has been
used in office and home PC systems for some time, but pack it into
a four-inch screen, and the detail can be breathtaking. The next
thing to hit you is the ease of use and responsiveness of the application.
Threading
There is nothing worse than an application
that can become unresponsive or hang, so to avoid this and improve
the responsiveness, we use threading. A thread is a part of a software
program that can execute independently of other parts, and consumes
only a portion of the total processor time. Multitasking operating
systems handle multiple tasks by quickly switching between threads,
giving the impression that all the threads are running concurrently.
Asynchronous call-back
Threading is useful for some tasks within
applications, but socket-level connections, which can be wired or
wireless, can become processor hungry. This could cause degradation
in performance - a thread could, in theory, consume nearly 100%
of processor time in trying to create a connection. Although this
situation is unlikely to happen in practice, it is important that
the application is kept scalable, as in the future, it may need
to connect to even more devices simultaneously and efficiently,
without requiring a major overhaul.
To overcome this problem whilst connecting,
Kinik employs a managed .NET feature called an 'asynchronous call-back.'
Call-backs are handled at operating system level and they pass information
back to threads (I/O completion ports) within the application. Data
from these call-backs is collated and passed to the application
user interface (UI) thread using event handlers, since .NET compact
framework does not allow asynchronous call-backs direct to the UI
thread. The data can then be processed to display useful information
on the PDA.
Connected systems
An example of a typical PDA-controlled system
is where an AV controller, such as the Linn Kisto or Kinos system
controller, becomes the hub. The Kinik software connects to the
system controller over a wireless network. It is then possible to
control the most commonly-used functions such as volume, source
selection and surround modes or speaker surround balancing. The
Kisto/Kinos controller allows the PDA to connect to additional components
via the Kisto/Kinos controller's RS232 ports. Using a unique identification
system, the Kinik controller can communicate bi-directionally with
Linn sources which are 'daisy-chained' through the RS232 loop. Sophisticated
microprocessing within each product and within the Kinik software
itself, allows each device to be controlled and to automatically
update the Kinik display, without any collisions of data. For example,
if SACD track information were being passed from a Linn Unidisk
player to the Kinik PDA controller, and at the same time, you were
ramping up the volume, the Kinik display would update the track
information and volume display without any difficulties.

Kinik being used to search the library of the Linn Kivor audio server
Sources can also be controlled directly and
do not necessarily need to pass communications through the Kisto/Kinos
controller. For example, the connection from the PDA to the Linn
Kivor audio server is achieved directly over TCP/IP. In this scenario,
the PDA is using two socket connections, one to the system controller
and the other to the Kivor audio server. The user does not need
to manage these connections; everything is handled automatically
within Kinik. For example, when we switch off a pocket PC, the wireless
network connection is cut immediately. When we switch it back on,
our applications start running instantaneously and there is no boot
up process. Within seconds the wireless adaptor in the PDA will
re-connect to the wireless network, so once the Kinik software sees
a viable network connection, it will connect to all the necessary
components automatically.
Conclusion
As an alternative to proprietary controllers,
a PDA running Windows Mobile provides developers with a flexible
and scalable platform from which to provide familiar and flexible
touchscreen control of a home theatre system. It offers excellent
graphic quality, and techniques such a threading and asynchronous
call-back programming ensure responsive, flexible and fast connectivity
and operation, all in the palm of your hand!
Anton Ahmad is an applications engineer for Linn
Products Limited. Linn designs, manufactures and markets pitch-accurate
sound reproduction entertainment systems that are enjoyed by the
most discerning audio and music enthusiasts throughout the world.
Linn systems are also installed in royal residences, luxury homes,
performance motorcars and superyachts.
www.linn.co.uk
|