the UK & European home automation networking and entertainment resource

navigation bar

Please register
Subscribe to ezine
Bookmark this site
Quick navigation
 

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


 
home | ezine | directory | resources | about us
use our newsfeed | subscribe to ezine | submit a link | advertise | link to us

Whilst every effort has been made to ensure the accuracy of all articles, advertisements and other insertions
in this website, the publisher can accept no responsibility for any errors or omissions or incorrect insertions.
The views of the contributors are not necessarily those of the publisher or the advertisers.