I made some progress: It looks like I cannot get it to work on my Macs (I tried both an Intel and a PPC Mac). The USB/Serial converter - even with the newest driver I downloaded - does not work correctly. I hooked the DTP51 up to a Linux box, and the communication got established right away - no strange read errors. However, I was not able to actually get to the part where the software would ask for the strip. Here is the log that I captured: icoms: Write_Read called with 'SV^M^J' About to write 'SV^M^J' ICOM err 0x0 icoms: Read called icoms: About to return read 'X-Rite DTP51 v5127^M^J<01>' ICOM err 0x0 icoms: Read returning with 0x0 icoms: Write_Read Write_Read success, returning 'X-Rite DTP51 v5127^M^J<01>' instType: Instrument type is 'Xrite DTP51' icoms: About to set port characteristics icoms: port characteristics set ok icoms: Write_Read called with '^M' About to write '^M' ICOM err 0x0 icoms: Read called icoms: About to return read '<01>' ICOM err 0x0 icoms: Read returning with 0x0 icoms: Write_Read Write_Read success, returning '<01>' icoms: Write_Read called with 'CE^M' About to write 'CE^M' ICOM err 0x0 icoms: Read called icoms: About to return read '<00>' ICOM err 0x0 icoms: Read returning with 0x0 icoms: Write_Read Write_Read success, returning '<00>' icoms: Write_Read called with '0104CF^M' About to write '0104CF^M' ICOM err 0x0 icoms: Read called icoms: About to return read '<00>' ICOM err 0x0 icoms: Read returning with 0x0 icoms: Write_Read Write_Read success, returning '<00>' icoms: Write_Read called with '30BR^M' About to write '30BR^M' ICOM err 0x0 icoms: Read called icoms: About to return read '<00>' ICOM err 0x0 icoms: Read returning with 0x0 icoms: Write_Read Write_Read success, returning '<00>' icoms: About to set port characteristics icoms: port characteristics set ok icoms: Write_Read called with '^M' About to write '^M' ICOM err 0x0 icoms: Read called icoms: About to return read '<00>' ICOM err 0x0 icoms: Read returning with 0x0 icoms: Write_Read Write_Read success, returning '<00>' icoms: Write_Read called with '^M' About to write '^M' ICOM err 0x0 icoms: Read called icoms: About to return read '<00>' ICOM err 0x0 icoms: Read returning with 0x0 icoms: Write_Read Write_Read success, returning '<00>' icoms: Write_Read called with 'GI^M' About to write 'GI^M' ICOM err 0x0 icoms: Read called icoms: About to return read '<01>' ICOM err 0x0 icoms: Read returning with 0x0 icoms: Write_Read Write_Read success, returning '<01>' icoms: Write_Read called with 'CE^M' About to write 'CE^M' ICOM err 0x0 icoms: Read called icoms: About to return read '<00>' ICOM err 0x0 icoms: Read returning with 0x0 icoms: Write_Read Write_Read success, returning '<00>' icoms: delete called icoms: closing port Steps in each Pass = 18 Passes in each Strip = 6, 6 Establishing communications with instrument failed with message 'Non-specific error' (Unrecognized command) With some debugging, I figured out that if I let the software continue in line 241 in dtp51.c instead of returning ev, I can actually read all my color patches. There seems to be something wrong with how the return value is determined after sending the "GI" command. I have not yet looked deeper into the code to see if I can actually fix the software. Does X-Rite (or now Gretag) have an API spec for this device that's freely available? I checked the web site, but did not find anything. Karl Heinz On 6/29/07, Karl Heinz Kremer <khk@xxxxxxx> wrote:
The binaries you created did segfault on my Intel Mac Pro. Once I downloaded the sources, and figured out that I could not use the Jam binary that comes with Mac OS (I guess it's too old), I was able to create a version that would at least start. I still cannot communicate with the device. The error messages are slightly different now. It also looks like the probing you do for the device type does lock up (at least my) DTP51. I changed the probing code so that it would only use the baud rate that the hardware is configured with, and that it would just send a CE command. The software does find the device, but once it follows up with the SV command, the device does no longer respond. When I do this with ZTerm, I can manually talk to the device. I guess I have to dust off my Linux machine to see if this is a problem with my DTP51, or if my USB/serial adapter has a problem (it's from Prolific). I'll keep on trying. Karl Heinz On 6/28/07, Graeme Gill <graeme@xxxxxxxxxxxxx> wrote: > Karl Heinz Kremer wrote: > > > The beta binaries give me a segmentation fault when I run printread: > > > > printread -v -d -i51 R800 > > Segmentation fault > > If I run the above on any platform, I get the usage, since the > -i option is no longer used in V0.7. > > Graeme Gill. > >