
The system crashes with a NullPointException if you enable notifications
before your register a listener.
 
Example:
    notifyOnDataAvailable(true);
    addEventListener( this );
 
It is OK if you first register the listener, then enable notifications
(which is probably the best thing to do anyway).

DSR does not work reliably for some people.  contrib/DSR-workaround.java
contains a workaround the Ken Eisner contributed.  If you are able to reproduce
the problem and find a fix for RXTX please let the maintainer know.

Buffer Size is just a var.  No memory is allocated.  This was done to duplicate
the behavior in the behavior table in javax.comm.CommPort.html.  Its not clear
to me if the buffers are just mallocs or modem buffers.  Any experts there?
(its probably refering to fopen()/fread()/fwrite()/fclose() which may or may
not be of interest to someone)

While looking through the blackdown mail list, it was obvious that some people
really want printer support.  Here is a chance to put it in themselves.

ParallelPort and CommPortIdentifier files are provided so you can start 
implementing right away without worrying about how automake works.  They are 
not written in stone.  If you want to do it differently feel free.
The good side is the stuff compiles as is.  

Currently (rxtx-1.4-5) sun's jdk (version 1.2.2_006) with native threads is 
locking up with multiple open()/closes().  Its ugly.   The stack trace is 
useless.  No insight from jdb.  The green threads are working.

I'd suggest avoiding native threads with 1.2.2_006 unless you can figure out
whats going wrong.

Irix SerialPort support
	I've heard it works.  I didnt get an exact diff back but it should work.

HP-UX   I've heard it works.  The fix was distructive to other ports by hard
        coding the device files.  An attempt was made to add what was required.
	
*BSD SerialPort support
	freebsd serial works.
	kernel specific implementations
	buggy event loop.

Win95/98 with mingw32
	The maintainer has integrated Wayne Roberts improvements.  The code
	95% there but needs work.
	for starters look at select()
	http://msdn.microsoft.com/library/techart/msdn_serial.htm
	for documentation.   WaitForSingleObject() may be of use.

BeOS
	BeOS support is in the early stages.  It should read and write bytes
	See the BeOS documentation for more information.  See rxtx-1.5 for 
	details

RXTXPort.java
	framing control -?-
	buffer control -?-
	look for FIXME

ParallelPort support.  Needs some code.
	files:
		ParallelImp.c stubs 
                      A  large fraction of the stubs are filled in now.
		ParallelImp.h
		LPRPort.java simular to RXTXPort.java + stubs.
	Printer support was working earlier.  Recent kernel changes have 
	probably broken the printer support.  More comments in ParallelImp.c
	
----------------------------------------------------------------------------
From This point on, You have the wrong version.  All of this work is 
being done in the development branch of the cvs archive.

cvs checkout -r commapi-0-0-1 rxtx-devel 

gets the recent work.
----------------------------------------------------------------------------

RS485 Support

	This is intended to be an rs232->rs485 driver.
	The basic layout is in place with no native implementation.

	devices are not coded into RXTXDriver.java see /dev/ttyS0 and gang
	for examples.
	Nothing is carved in stone.  Changes will probably be needed in
	several of the files.

	So far the only significant difference between RS485Imp.c and RXTXImp.c
	is writeByte and writeArray raise and drop DTR as needed.  I've not
	spent a large amount of time on this.  It compiles.  I need to find
	an RS485 device to test this.

	I could picture enumerating the devices on the bus simular to
	enumerating ports with 232 comm.  It could be possible to build
	the packets with vendor specific bits.

	files:
		RS485.java
		RS485Port.java
		RS485PortEvent.java
		RS485PortEventListener.java
I2C Support

	The basic layout is in place with no native implementation.
	devices are not coded into RXTXDriver.java see /dev/ttyS0 and gang
	for examples.
	Nothing is carved in stone.  Changes will probably be needed in
	several of the files.

	I want I2C support for a recycling infusion mash system (home brewery)
	I'm looking at building.  Who said there isnt free beer?

	files:
		I2C.java
		I2CPort.java
		I2CPortEvent.java 
		I2CPortEventListener.java

	I'll be returning to this after I order the parts for dallas semi.

CommPortIdentifier support. Needs some code.

	This is starting to shape up.  Maybe 100 lines from a the full
	montey.  Grep for FIXME for known bad spots.

	Ownership needs work.  BlackBox fires up, finds the ports and
	read/writes with the rxtx implemented comm.jar.

	This has actually expanded to a complete comm.jar implementation.
	Contact the maintainer if you have interest in working on this.
	While automatic enumeration of ports needs some work you can
	open specific ports.

	Plenty of example code can be found in commapi/samples/porting
	Please don't send in Sun's code.  

	files:
		CommDriver.java
		CommPort.java
		CommPortEnumerator.java
		CommPortIdentifier.java
		CommPortOwnershipListener.java
		SerialPort.java
		SerialPortEvent.java
		SerialPortEventListener.java
		UnsupportedCommOperationException.java
		NoSuchPortException.java
		OwnershipEventThread.java
		ParallelPort.java
		ParallelPortEvent.java
		ParallelPortEventListener.java
		PortInUseException.java
	
------------------
backwards compatibility for older Linux systems.
------------------
non Linux specific implementations
------------------
allow the library to catch sigint so it can shut down the port properly when
sent
------------------
Add more documentation.
------------------

IDEAS:

Make rxtx apps capable of being spawned from mgetty.  <gluck@tempo-services.com.au>
