The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024

Latest message you have seen: RE: xAP - The Proposed Architecture Explained...


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xAP] Protocol revisions?


  • To: ukha_d@xxxxxxx
  • Subject: [xAP] Protocol revisions?
  • From: "PatrickLidstone" <patrickl@xxxxxxx>
  • Date: Thu, 15 Aug 2002 11:23:53 -0000
  • Mailing-list: list ukha_d@xxxxxxx; contact ukha_d-owner@xxxxxxx
  • Reply-to: ukha_d@xxxxxxx

--- In ukha_d@y..., "Mark Harrison" <Mark.Harrison@e...> wrote:
> Agreed - we need to start maintaining a registry of the custom-
extensions...
>
> M.
>

Further proposed change to the xAP protocol:

1. Config Discovery.

Convert config discovery to a heartbeart message. Heartbeat contains
flag indicating request for config info. This allows the status of
all devices on the network to be monitored from any point.

2. Name-space.

Allow support for hierarchial, nested and bridged messages by
grouping name-value pairs:

e.g.

xAP-source=Outlook<0x0A>
xAP-instance=Mark<0x0a>
unread=19<0x0a>
last subject=101 useful things to do with string<0x0a>


becomes

xAP-header {<0x0A>
  hop=1<0x0a>
  source=Outlook<0x0A>
  instance=Mark<0x0a>
}

Outlook { <0x0A>
unread=19<0x0a>
last subject=101 useful things to do with string<0x0a>
} <0x0A>

[xAP-header.hop increments for each re-broadcast, allowing for auto-
loop recognition in bridged networks]

The introduction of {} actually reduces the message size, especially
in the xAP header.


3. Framing for Serial protocols

Serial protocols generally benefit from framing, and from the
identification of the start and end of a valid message.

I propose wrapping a xAP message in <STX> and <ETX> - even over TCP,
to support dumb bridging. STX and ETX will generally only occur in
the body of messages where that message contains a binary blob, which
is probably to be discouraged, but is in some cases unavoidable.

STX and ETX will be escaped in-body by (a) preceding with the <ESC>
char and (b) setting the top bit of the escaped character.
The <ESC> code itself is escaped in the same way.

4. Plain text descriptor
A dumb device would not be able to compose a useful display text from
the message below. I propose that information ASCII text is included
in the body of a message aimed at dumb display. As a rule of thumb,
this message should never be parsed (the constituent values should be
available explicitly in the body of the message, and the format of
this text may change at the programmers discretion), should be human
readable and concise. Think of it as an event-log message and you
won't go far wrong.


Summary:

<STX>

xAP-header {<0x0A>
  hop=1<0x0a>
  source=Outlook<0x0A>
  instance=Mark<0x0a>
}

Outlook { <0x0A>
unread=19<0x0a>
last subject=101 useful things to do with string<0x0a>
demo escape stx=this is an embedded stx char<ESC><0x82> <0x0a>
} <0x0A>

<ETX>



Yahoo! Groups Sponsor
ADVERTISEMENT

For more information: http://www.automatedhome.co.uk
Post message: ukha_d@xxxxxxx
Subscribe:  ukha_d-subscribe@xxxxxxx
Unsubscribe:  ukha_d-unsubscribe@xxxxxxx
List owner:  ukha_d-owner@xxxxxxx

Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

Home | Main Index | Thread Index

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.