Testing out the PPD42 Air Quality Sensor, with an MSP430 Launchpad and graphing the data with GNUplot.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

277 lines
9.7 KiB

5 years ago
  1. This is TODO Tue Nov 13 14:54:06 MST 2001
  2. ----------------------------------------------------------------------------
  3. HIGH PRIORITY TODO's
  4. ----------------------------------------------------------------------------
  5. Win32 Frame Parity CD and RI events. TIOCGICOUNT is commented out in
  6. win32termios.h to avoid SIG11's. The source of these has not been
  7. identified. I could not figure this one out. If BlackBox is run on COM1
  8. and COM2 and you plug in a null modem cable between the ports things blow
  9. up. I dont know if variables is on the native side get gc'd or if there
  10. is a bad pointer someplace.
  11. The next bug is also report using BlackBox on Win32:
  12. "Using all of the default settings, if I click auto-transmit it
  13. runs for about half a second and then crashes. I've attached the log file
  14. it gave. Sometimes it runs a little longer than others. If you enable and
  15. disable auto-transmit repeatedly it seems to help it crash faster. This
  16. looks like a fairly repeatable way to cause the problem so hopefully
  17. debugging would be easier." I'm going to try looking at this tonight.
  18. And the final bug report is reported on FreeBSD 4.5 with some in house
  19. software:
  20. "Okay, now the application runs. I don't get a sig11, but my application
  21. freezes when it tries to talk to the modem. The user has access to the
  22. modem as minicom works on that modem. This application works well under
  23. windows with the JavaComm from Sun."
  24. Sat Jul 28 09:55:37 MDT 2001
  25. ----------------------------------------------------------------------------
  26. REMAINING TODOS
  27. ----------------------------------------------------------------------------
  28. The following TODO's are known to need work but will not be implmented in the
  29. near future.
  30. DSR does not work reliably for some people. contrib/DSR-workaround.java
  31. contains a workaround the Ken Eisner contributed. If you are able to reproduce
  32. the problem and find a fix for RXTX please let the maintainer know.
  33. Buffer Size is just a var. No memory is allocated. This was done to duplicate
  34. the behavior in the behavior table in javax.comm.CommPort.html. Its not clear
  35. to me if the buffers are just mallocs or modem buffers. Any experts there?
  36. (its probably refering to fopen()/fread()/fwrite()/fclose() which may or may
  37. not be of interest to someone)
  38. While looking through the blackdown mail list, it was obvious that some people
  39. really want printer support. Here is a chance to put it in themselves.
  40. ParallelPort and CommPortIdentifier files are provided so you can start
  41. implementing right away without worrying about how automake works. They are
  42. not written in stone. If you want to do it differently feel free.
  43. The good side is the stuff compiles as is. Write was tested on a printer.
  44. Currently (rxtx-1.4-5) sun's jdk (version 1.2.2_006) with native threads is
  45. locking up with multiple open()/closes(). Its ugly. The stack trace is
  46. useless. No insight from jdb. The green threads are working.
  47. I'd suggest avoiding native threads with 1.2.2_006 unless you can figure out
  48. whats going wrong.
  49. ----------------------------------------------------------------------------
  50. Porting Status.
  51. ----------------------------------------------------------------------------
  52. Irix SerialPort support
  53. I've heard it works. I didnt get an exact diff back but it should work.
  54. rxtx-1.5 has not been tested. Last report was that the library built
  55. but there was unsatified link errors when an application was run.
  56. The following showed up in the build:
  57. /usr/include/standards.h:128: warning: `_NO_POSIX' redifined
  58. /usr/include/standars.h:156: warning: `_NO_XOPEN4' redefined
  59. ld32: WARING 84: /usr/lib32/libc.so is not used for resolving any symbol
  60. *BSD SerialPort support
  61. freebsd serial works.
  62. kernel specific implementations
  63. possibly a buggy event loop.
  64. AIX
  65. It has not been confirmed that AIX works. I've heard of people building
  66. it though
  67. WinCE
  68. WinCE should work now
  69. The following should work with Serial communication. Sometimes breakage slips
  70. in.
  71. Solaris (x86/Sparc), OpenUnix, UnixWare, Digital Unix, True64,
  72. Mac OS X, HP-UX, Win32.
  73. If you would like to donate ssh access for any of these for compile tests before
  74. release contact taj@www.linux.org.uk. We have Solaris x86 2.6 and 2.8. Also
  75. a DEC UDB without an OS. Binaries will be offered if access to build boxes is
  76. provided.
  77. Win95/98/ME/NT/2K/XP with mingw32
  78. Long story there. Ever put together a few hundred lines of code for
  79. fun and then have to support it 4 years later?
  80. It started as mentioned with some toy code while playing with cross
  81. compilers.
  82. The Wayne Roberts provided many improvements.
  83. Another big push was made after this.
  84. The code should be fairly good now.
  85. Some of the builds are hairy.
  86. The library was tested (rxtx-1.5-4). The library built and installed
  87. using lcc and mingw32(on windows and from linux)
  88. The library passed multiple tests after rxtx-1.5-7.
  89. files:
  90. SerialImp.c termios based JNI code
  91. SerialImp.h ""
  92. termios.c termios implementation for win32
  93. win32termios.h ""
  94. init.c lcc dll support
  95. init.cc mingw32 dll support
  96. fixup.c mingw32 dll support
  97. Makefile.lcc static Makefile for building with lcc
  98. Makefile.cc static Makefile for building with mingw32
  99. The following other options are possible but not started
  100. use cygwin.dll and release rxtx under the GPL
  101. replace SerialImp.c/h with something that does not use termios.
  102. win32 API documentation:
  103. ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe
  104. Microsoft Online Library:
  105. http://msdn.microsoft.com/
  106. Serial API doc:
  107. http://msdn.microsoft.com/library/techart/msdn_serial.htm
  108. BeOS
  109. BeOS support is in the early stages. It should read and write bytes
  110. See the BeOS documentation for more information. See rxtx-2.1 for
  111. details. This effort is mostly abandoned.
  112. ----------------------------------------------------------------------------
  113. File specific thoughts
  114. ----------------------------------------------------------------------------
  115. RXTXPort.java
  116. framing control -?-
  117. buffer control -?-
  118. look for FIXME
  119. ParallelPort support. Needs some code.
  120. files:
  121. ParallelImp.c stubs
  122. A large fraction of the stubs are filled in now.
  123. ParallelImp.h
  124. LPRPort.java similar to RXTXPort.java + stubs.
  125. Printer support is working with simiple print tests.
  126. Full support for printing will be put in when 2.4 linux kernels
  127. are mainstream.
  128. ----------------------------------------------------------------------------
  129. From This point on, You need to use rxtx 1.5. All of this work is
  130. being done in the development branch of the cvs archive.
  131. cvs checkout -r commapi-0-0-1 rxtx-devel
  132. gets the recent work.
  133. ----------------------------------------------------------------------------
  134. RS485 Support
  135. This is intended to be an rs232->rs485 driver.
  136. The basic layout is in place with no native implementation.
  137. devices are not coded into RXTXDriver.java see /dev/ttyS0 and gang
  138. for examples.
  139. Nothing is carved in stone. Changes will probably be needed in
  140. several of the files.
  141. So far the only significant difference between RS485Imp.c and RXTXImp.c
  142. is writeByte and writeArray raise and drop DTR as needed. I've not
  143. spent a large amount of time on this. It compiles. I need to find
  144. an RS485 device to test this.
  145. I could picture enumerating the devices on the bus similar to
  146. enumerating ports with 232 comm. It could be possible to build
  147. the packets with vendor specific bits.
  148. files:
  149. RS485.java
  150. RS485Port.java
  151. RS485PortEvent.java
  152. RS485PortEventListener.java
  153. I2C Support
  154. The basic layout is in place with no native implementation.
  155. devices are not coded into RXTXDriver.java see /dev/ttyS0 and gang
  156. for examples.
  157. Nothing is carved in stone. Changes will probably be needed in
  158. several of the files.
  159. I want I2C support for a recycling infusion mash system (home brewery)
  160. I'm looking at building. Who said there isnt free beer?
  161. files:
  162. I2C.java
  163. I2CPort.java
  164. I2CPortEvent.java
  165. I2CPortEventListener.java
  166. I'll be returning to this after I order the parts for dallas semi.
  167. CommPortIdentifier support. Needs some code.
  168. This is starting to shape up. Maybe 100 lines from a the full
  169. montey. Grep for FIXME for known bad spots.
  170. Ownership needs work. BlackBox fires up, finds the ports and
  171. read/writes with the rxtx implemented comm.jar.
  172. This has actually expanded to a complete comm.jar implementation.
  173. Contact the maintainer if you have interest in working on this.
  174. While automatic enumeration of ports needs some work you can
  175. open specific ports.
  176. Plenty of example code can be found in commapi/samples/porting
  177. Please don't send in Sun's code.
  178. files:
  179. CommDriver.java
  180. CommPort.java
  181. CommPortEnumerator.java
  182. CommPortIdentifier.java
  183. CommPortOwnershipListener.java
  184. SerialPort.java
  185. SerialPortEvent.java
  186. SerialPortEventListener.java
  187. UnsupportedCommOperationException.java
  188. NoSuchPortException.java
  189. OwnershipEventThread.java
  190. ParallelPort.java
  191. ParallelPortEvent.java
  192. ParallelPortEventListener.java
  193. PortInUseException.java
  194. ------------------
  195. backwards compatibility for older Linux systems.
  196. ------------------
  197. non Linux specific implementations
  198. ------------------
  199. allow the library to catch sigint so it can shut down the port properly when
  200. sent
  201. ------------------
  202. Add more documentation.
  203. ------------------
  204. ----------------------------------------------------------------------------
  205. IDEAS
  206. ----------------------------------------------------------------------------
  207. Make rxtx apps capable of being spawned from mgetty. <gluck@tempo-services.com.au>
  208. Lock file server for multiple users: see src/lfd.