Page 1 29-Jan-07 Protocol 3.0 © FlexiPanel Ltd Patents pending www.FlexiPanel.com
FlexiPanel
FlexiPanel Protocol 3.0
User Interface Services Layer for Bluetooth
Summary
The FlexiPanel Bluetooth Protocol is a remote user
interface service for computers, electrical
appliances and other machinery.
A FlexiPanel server resides on the application and
holds a user interface database that reflects the
appliance’s human-ma chine interface needs.
A FlexiPanel client can connect at any time, read
the database and displays the user interface. A
user may then control the application from the
client device. Using Bluetooth, the client can be
up to 330 feet away, without need for line-of-sight
communication. FlexiPanel clients have been
implemented on a range of PDAs and cellphones
and are freely available.
Like many higher-level protocols such as OBEX
file exchange, FlexiPanel sits on top of the
RFCOMM serial port emulation layer of the
Bluetooth protocol stack (see graphic below). It is
not part of the “official” Bluetooth standard.
However, the standard is relatively open in that
anyone is free to create FlexiPanel clients, and
FlexiPanel server licenses are mode st.
Creators of FlexiPanel Servers must pay a license fee.
Creators of FlexiPanel Clients need not.
Contact us for details and refer to Legal Notices section.
The types of control that may be created, and the
underlying data types they represent, are listed in
the table below. Under the hood, the FlexiPanel
Protocol is based on just a few basic types of
message passed between client and server
these are the core of the protocol described in this
document.
The main differences between the FlexiPanel
Protocol and regular user interface services (such
as Microsoft Windows) are:
Client Device Independence: The nature of the
client’s user interface may be unknown. The
controls displayed will always be logically correct,
but appearances may vary between different client
devices, e.g. a cellphone and a PDA. If the client
device can be anticipated in advance, certain
additional preferences can be requested, such as
a particular control layout or keyboard accelerators.
Fail Safe Performance: The connection might be
broken at any time, for example if the client’s
batteries fail or the client goes out of range. The
appliance must enter a fail-safe state if connection
is lost at a critical moment.
Compact Server Code: FlexiPanel servers might
be very small, low cost microcontrollers.
Consequently system requirements on the server
side must be extremely lean and communication
very succinct. The remote client device takes over
as many responsibilities as possible. For example,
a server is not required to buffer any I/O,
manipulate any floating point numbers or make
any conversions between single-byte characters
and Unicode.
Control type Function / value
Button Single-press event
Latch, check box,
radio button
Binary value
Text Character string
Number Integer or fixed-point value
Matrix, chart 2-D array of numbers
Date, time Seconds to years
List box 1-of-n selection
Section, popup
menu
Arranges controls in a
hierarchy
Password Provides access control
Message box Alerts user
Blob Exchanges binary data
Files Exchanges files
Image Graphical image
Baseband
Link Manager, Link Controller & Radio
L2CAP
Lo
g
ical Link Control
Audio
RFCOMM
Serial Port Emulation
SDP
Service Discovery
FlexiPanel
Remote UI
OBEX
Appliance
Page 2 29-Jan-07 Protocol 3.0 © FlexiPanel Ltd Patents pending www.FlexiPanel.com
FlexiPanel Protocol 3.0
Summary ........................................................................................................1
Overview.........................................................................................................3
Message Header ............................................................................................4
Greetings From Client...................................................................................6
Greetings From Server..................................................................................7
Goodbye From Client....................................................................................8
Goodbye From Server...................................................................................9
New Control Panel From Server.................................................................10
Control Update From Client........................................................................36
Control Update From Server ......................................................................40
Control Partial Update From Server ..........................................................44
Ping From Server.........................................................................................46
Ping From Client..........................................................................................47
Ping Reply From Server..............................................................................48
Ping Reply From Client...............................................................................49
Acknowledge From Server .........................................................................50
Acknowledge From Client ..........................................................................51
New Server...................................................................................................52
Control Properties Update From Server ...................................................53
Files From Server ........................................................................................54
Files From Client .........................................................................................55
Profile Request From Client .......................................................................56
Profile Data From Server ............................................................................57
Program Device ...........................................................................................58
Device-Specific Data From Client..............................................................59
Device-Specific Data From Server.............................................................60
FlexiPanel Protocol Revision History........................................................61
Protocol Errata History ...............................................................................62
Glossary and Notation ................................................................................63
Legal Notices ...............................................................................................65
Contact Details ............................................................................................65