|
|
- This is TODO Tue Nov 13 14:54:06 MST 2001
-
- ----------------------------------------------------------------------------
-
- HIGH PRIORITY TODO's
-
- ----------------------------------------------------------------------------
- Win32 Frame Parity CD and RI events. TIOCGICOUNT is commented out in
- win32termios.h to avoid SIG11's. The source of these has not been
- identified. I could not figure this one out. If BlackBox is run on COM1
- and COM2 and you plug in a null modem cable between the ports things blow
- up. I dont know if variables is on the native side get gc'd or if there
- is a bad pointer someplace.
-
-
- The next bug is also report using BlackBox on Win32:
- "Using all of the default settings, if I click auto-transmit it
- runs for about half a second and then crashes. I've attached the log file
- it gave. Sometimes it runs a little longer than others. If you enable and
- disable auto-transmit repeatedly it seems to help it crash faster. This
- looks like a fairly repeatable way to cause the problem so hopefully
- debugging would be easier." I'm going to try looking at this tonight.
-
- And the final bug report is reported on FreeBSD 4.5 with some in house
- software:
-
- "Okay, now the application runs. I don't get a sig11, but my application
- freezes when it tries to talk to the modem. The user has access to the
- modem as minicom works on that modem. This application works well under
- windows with the JavaComm from Sun."
-
-
- Sat Jul 28 09:55:37 MDT 2001
-
- ----------------------------------------------------------------------------
-
- REMAINING TODOS
-
- ----------------------------------------------------------------------------
-
- The following TODO's are known to need work but will not be implmented in the
- near future.
-
- 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. Write was tested on a printer.
-
- 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.
-
- ----------------------------------------------------------------------------
-
- Porting Status.
-
- ----------------------------------------------------------------------------
-
- Irix SerialPort support
- I've heard it works. I didnt get an exact diff back but it should work.
- rxtx-1.5 has not been tested. Last report was that the library built
- but there was unsatified link errors when an application was run.
-
- The following showed up in the build:
-
- /usr/include/standards.h:128: warning: `_NO_POSIX' redifined
- /usr/include/standars.h:156: warning: `_NO_XOPEN4' redefined
- ld32: WARING 84: /usr/lib32/libc.so is not used for resolving any symbol
-
- *BSD SerialPort support
- freebsd serial works.
- kernel specific implementations
- possibly a buggy event loop.
-
- AIX
- It has not been confirmed that AIX works. I've heard of people building
- it though
-
- WinCE
- WinCE should work now
-
- The following should work with Serial communication. Sometimes breakage slips
- in.
-
- Solaris (x86/Sparc), OpenUnix, UnixWare, Digital Unix, True64,
- Mac OS X, HP-UX, Win32.
-
- If you would like to donate ssh access for any of these for compile tests before
- release contact taj@www.linux.org.uk. We have Solaris x86 2.6 and 2.8. Also
- a DEC UDB without an OS. Binaries will be offered if access to build boxes is
- provided.
-
- Win95/98/ME/NT/2K/XP with mingw32
-
- Long story there. Ever put together a few hundred lines of code for
- fun and then have to support it 4 years later?
-
- It started as mentioned with some toy code while playing with cross
- compilers.
- The Wayne Roberts provided many improvements.
- Another big push was made after this.
- The code should be fairly good now.
- Some of the builds are hairy.
-
- The library was tested (rxtx-1.5-4). The library built and installed
- using lcc and mingw32(on windows and from linux)
- The library passed multiple tests after rxtx-1.5-7.
-
- files:
- SerialImp.c termios based JNI code
- SerialImp.h ""
- termios.c termios implementation for win32
- win32termios.h ""
- init.c lcc dll support
- init.cc mingw32 dll support
- fixup.c mingw32 dll support
- Makefile.lcc static Makefile for building with lcc
- Makefile.cc static Makefile for building with mingw32
-
- The following other options are possible but not started
-
- use cygwin.dll and release rxtx under the GPL
- replace SerialImp.c/h with something that does not use termios.
-
- win32 API documentation:
- ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe
- Microsoft Online Library:
- http://msdn.microsoft.com/
- Serial API doc:
- http://msdn.microsoft.com/library/techart/msdn_serial.htm
-
- BeOS
- BeOS support is in the early stages. It should read and write bytes
- See the BeOS documentation for more information. See rxtx-2.1 for
- details. This effort is mostly abandoned.
-
- ----------------------------------------------------------------------------
-
- File specific thoughts
-
- ----------------------------------------------------------------------------
- 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 similar to RXTXPort.java + stubs.
- Printer support is working with simiple print tests.
- Full support for printing will be put in when 2.4 linux kernels
- are mainstream.
-
- ----------------------------------------------------------------------------
- From This point on, You need to use rxtx 1.5. 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 similar 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>
-
- Lock file server for multiple users: see src/lfd.
|