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: [OT] PC Help


[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Announcing xPL4Java V1.0


  • Subject: Announcing xPL4Java V1.0
  • From: Gerry Duprey <gerry@xxxxxxxxxxx>
  • Date: Mon, 06 Dec 2004 17:21:00 -0500


Howdy All,

The first release of my xPL4Java framework is now available for download at

http://www.dvarchive.org/xPL/xPL4Java.zip

This is a complete, cross platform implementation of xPL for Java.
It supports:

* raw xPL protocol
* automated heartbeat management
* groups
* filters
* configuration
* automatic resource management/shutdown/cleanup

You can code small apps that just receive xPL messages and sends them out
or
you can write apps where the framework takes care of all the grunt work
like
heartbeats, filters, group targeting and the configuration protocol.

This is built to implement the entire xPL protocol (including multiple
configuration values and such) in an efficient, compact, layered set of
classes that let you use as little or as much of the framework as you need.

Underlying transmission media is partitioned allowing you to create
adapters
for any type of transmission medium without having to change anything in
the
code above it.  This version comes with an EthernetHandler to handle
network
transmissions and I'm planning a SerialHandler for communicating over RS232
in a future release.  You could easily create media handlers for RS485,
I2C,
etc.  They are very straightforward and make no assumptions about how the
actual media works.

You can get a useful xPL app up and running in about 6 lines of code:

xPL_Manager xplManager = xPL_Manager.getManager();
ServiceManager serviceManager = theManager.getServiceManager();

theManager.doNetworkSmartStart();
xPL_ServiceI myService =
serviceManager.createConfigurableService("cdp1802",
"clock", new File("clock.cfg"));
myService.addMessageListener(this);
myService.setEnabled(true);

(the above code binds to all networks on this PC, starts a hub, if needed,
creates a service with the vendor/device name of cdp1802 and clock, loads
the
last saved config, if any, from clock.cfg, sets up the service to
auto-store
future changes to the configuration back to clock.cfg, adds a message
listener to get messages directed at this service and then, when set to be
enabled, starts broadcasting heartbeats and engaging in the xPL
configuration dialog with a xPL management console (like xPLHal).

xPL4Java requires Java 5 (i.e. 1.5) or higher and will run on any platform
that supports Java (Windows, Mac OSX, Linux, Solaris, AIX, etc, etc).

Please feel free to drop me a note if you have any questions, problems,
suggestions, etc.

Have a great day,

Gerry

--
Gerry Duprey
Ann Arbor, MI 48103
http://www.cdp1802.org



xPL Main Index | xPL Thread Index | xPL Home | Archives Home

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.