First off, a big Thank You! to John. I've gotten an i1Display Pro recently, and I was quite frustrated with the apps available (or not available) for it. Reactivating the project is awesome !
Now on to my initial experience with the new version of HCFR. I'll be a little verbose, and hopefully that will help John with the development, so bear with me here. I have 2 colorimeters: a DTP-94 that I've had for a very, very long time, and an i1Display Pro retail (i1D3). I got the i1D3 because I've become suspicious of the DTP-94 recently, and it turns out that the DTP-94 indeed has a big problem. But I digress.
I installed the new package on my computer without any problems. I already had the latest version of HCFR from 2009, but the new install selected a different folder, and I had no problems. I started the program, with both devices plugged in, selected the Argyll device, and I suddenly got the "Incorrect Driver - starting communications with the meter failed with severe error" message. Both devices were running with the XRite drivers. I went back to the sensor selection screen, selected the DTP-94 device, and voila, the program started up just fine. Took a full set of readings, and everything looked OK.
But, my interest was with the i1D3. So I installed the Argyll drivers, first just for the i1D3, then for the DTP-94 as well. I tried all possible combinations between them, but the result was the same: HCFR would work fine with the DTP-94 on both drivers, but it wouldn't work with the i1D3 on either driver.
As I've already mentioned, I was pretty desperate to get the program working. I am a programmer, but I haven't done any C in a very, very, VERY long time. Well, desperation makes you do crazy things. I downloaded the source code, brought it up in VS2008 and compiled it. It compiled right out of the box - great job on that, John. Running the program in debug mode gave me the same results, so I decided to tinker with it. I commented a couple of lines of code where the program is bypassing HID devices (lines 80-81 in usbio.c):
if (descriptor.bDeviceClass == LIBUSB_CLASS_HID)
I reinstalled the original XRite drivers for the i1D3, restarted the program, selected the Argyll sensor, and voila again ! The i1D3 showed up and was working ! I took some readings, and everything looked good. I went back to the precompiled EXE, and that one started to work as well with the i1D3. I'm not sure what to make of it, except that Windows either had a glitch, or it somehow reset the device and allowed it to better report its details. At this point, the device was working, so I moved on.
I verified both sensors by taking multiple readings, with and without the monitor calibration profiles loaded. The readings have been in the expected range, and they have been consistent. The i1D3 has some slight variations - I think due to the speed it reads the patches - I timed it at exactly 10 seconds for the entire grayscale, primaries and secondaries set. That's 17 patches in 10 seconds, just over half a second for each. The variations were just slight in my case, so I don't worry about it. Of note is that the first 3-4 gray patches were considerably slower, just over a second, while the light grays went by very, very fast. The DTP-94 was consistent as well (though wrong, but that's a device problem).
I did however, find some issues that bear mentioning.
1) if you use an i1D3, make sure you disable "Confirmation message" under Advanced -> Preferences -> Advanced. The device will not wait for your confirmation, and it will start reading, giving errant readings. By the time you click OK, the generator has almost already finished going through the grayscale.
2) in a couple of instances, the Argyll meter selection did not recognize the i1D3 because the cap on the lens was on. In my case, I usually keep it on until just before I run the process. The odd thing is that I can't replicate the issue. It happened a couple of times, and then it just went away.
3) if you have multiple meters on your computer, you may get strange problems. In my case I was running at times with both devices attached. The Argyll selection screen would not populate the device name after it was selected, and you might not know which device is selected, since the selection screen only displays the meter number, not the name.
4) as I just mentioned the Argyll selection screen does not always populate the name of the device once you make your selection and close the window. I was able to consistently replicate that. I would go to the selection screen, select meter 2 (the i1D3), click OK, and the Sensor would show just "Argyll Meter" no matter how long I waited. I would go back in the selection screen, simply click OK, and now the name would appear under sensor, i1Display3. The meter was still selected the first time around, and it was working fine, but the sensor data was just not being updated.
5) I have an odd issue when both meters are running on the XRite drivers, and both are plugged in. I suppose this is due to the enumeration of the devices in the original list. Here's the issue: the i1D3 is assigned meter 2; meter 1 seems to be assigned, but it generates the "Incorrect Driver - starting communications with the meter failed with severe error" message, if selected. If I unplug the DTP-94, the i1D3 is assigned to meter 1, and it works fine. I am speculating that somehow Argyll still detects the DTP-94 as a valid device when it's connected, but it can't initialize it with the XRite drivers.
6) you CANNOT have 2 active calibration windows with the same meter selected. The original calibration window will work fine, but the second window will give you the "Incorrect Driver ..." message
7) the "Argyll Meter Property Page" screen (sensor selection screen) will default to the previously selected meter number. If you plug/unplug meters, or unplug them and then plug them in another USB port, the assigned meter number can, and most likely will, change. If you ever selected a meter higher than 1, the screen will never default back to meter 1, unless you specifically select it.
8) if you have a problem with the meter selected, you will not know it when you click OK. The Argyll properties page will close without any message, and it will seem like everything is working fine. If there is an error, you will usually get it only when you re-open the Argyll properties window.
9) if a sensor is detected on a particular meter number, you will either get no error message when selected, or the "Incorrect driver ..." message. If there is no sensor detected on a given meter number, you will receive the message "No meter found - Create new Argyll instrument failed with severe error"
10) with the i1D3, if you get the message "Meter is in incorrect position", it means that the cap is on the lens. You need to open it up before you take any readings
11) in my case, both meters work with both drivers (XRite and Argyll), as long as they are set up correctly.
I'm sure I forgot some stuff - I worked on this well into the night - but I think these are my major findings. Now let me try to give some pointers to anybody else who's testing with the i1D3 (and, I'm guessing the ColorMunki as well):
- install the new executable
- for the beginning, at least, make sure you only have 1 meter attached to your computer.
- I suggest using the original XRite drivers first
- when the program opens up, select New -> View Images (Generator) -> Argyll (Sensor) -> Finish
- the "Argyll Meter Property Page" is shown - click OK
- if you get an "Incorrect Driver ..." message click OK, click on the icon next to "Argyll Meter" in the Sensor box, and select meter #2. Click OK. If you get the same error, try again with all the remaining meter numbers. If you don't get the error, but the sensor name does not appear in the Sensor box, go back into the Argyll properties page, and simply click OK. (you can also get to the Argyll properties page from the Menu: Measures -> Sensor -> Configure)
- if none of this works, install the Argyll driver for the device and restart the program,
Wow, I didn't realize I was going to type this much. I hope this was of help to some of you. John, thanks again for restarting the project. Keep up the good work !