![]() | ![]() | |
| Make/Model | Device Version | Connection Type |
| Focus Enhancements/QuadScan | N/A | Serial |
This driver controls a Focus Enhancements QuadScan Elite video scaler. The QuadScan provides line doubling, tripling, and scaling for composite, S-Video and Component video sources, as well as flexible image positioning and aspect ratio control.
Though it doesn't need one, this driver has a client side driver interface. Here is a screen shot of the interface.
The QuadScan basically provides a set of registers, each of which can be set to a desired value. The client driver allows you to select the desired register from a combo box, and set the value. According to which register you select, the appropriate type of GUI widgets will appear in the "Value" area. In the shown example, the Contrast register is selected, which is a numeric range register. So in this case you get a slider which you can drag to the desired value. In some cases you will get a list of values to select from, a button, a set of buttons, etc...
This driver's server side component is CML based. The server driver classes for this device are in the MEng.System.CQC.Drivers.QuadScan scope.
Since the QuadScan's communications protocol is one way only, i.e. CQC can only send to it but not read from it, the values you see when you start up the client are just default values, and usually will not represent the actual QuadScan state. Once you set a particular value, that will be remembered, and when you come back to that register, the last value set will be displayed again. But, if you shut down the client or if the QuadScan is updated from some other source such as a macro, the client will again get out of sync with the actual state of the device.
There is unfortunately, but there is little that can be done about this. Until the QuadScan supports two way communications, CQC cannot reliably inform you of its current status. It also therefore cannot tell if the device is on or off, so if you send commands and the device is not running, CQC has no way of knowing this.
The QuadScan uses a serial connection. It runs at a pretty slow 9600 baud, at 8 bits, no parity, and one stop bit. Each command only requires two bytes; however, a seven byte activation sequence must also be sent before each command, and another seven byte deactivation command after, and it requires at least a 10ms delay between each byte. This all adds up to a very sluggish response time.
Since the QuadScan supports both RS-232 and RS-422 modes, and the 422 mode allows multiple QuadScans on a single cable, each QuadScan has an address that it will respond to. This is set on the front panel, so see your user's manual for instructions. When you install the driver, you will be allowed to indicate to CQC which address the desired QuadScan is on. Since the drivers sends the required activate/deactivate commands, it should work in 422 mode, but no one has reported trying it yet.
The cable is pretty unusual as well. Please see the QuadScan manual for details on the wiring scheme. You must use this special cable or it won't be happy.
This section lists the fields that the driver makes available, their types, minimum and maximum values, etc...
Name Type R/W Description/Limits AdjustInHPos Boolean W Adjusts the horizontal input position. If you write true to it, it increments the position. If you write false to it, it decrements the position. AdjustInVPos Boolean W Adjusts the vertical input position. If you write true to it, it increments the position. If you write false to it, it decrements the position. AdjustInHSize Boolean W Adjusts the horizontal input size. If you write true to it, it increments the size. If you write false to it, it decrements the size. AdjustInVSize Boolean W Adjusts the vertical input size. If you write true to it, it increments the size. If you write false to it, it decrements the size. AdjustOutHPos Boolean W Adjusts the horizontal output position. If you write true to it, it increments the position. If you write false to it, it decrements the position. AdjustOutVPos Boolean W Adjusts the vertical output position. If you write true to it, it increments the position. If you write false to it, it decrements the position. AdjustOutHSize Boolean W Adjusts the horizontal output size. If you write true to it, it increments the size. If you write false to it, it decrements the size. AdjustOutVSize Boolean W Adjusts the vertical output size. If you write true to it, it increments the size. If you write false to it, it decrements the size. Brightness Card W Sets the brightness level. It must be from 0 to 255. Contrast Card W Sets the contrast level. It must be from 0 to 255. EnableIR Boolean W Enables/disables the IR interface on the front panel. If disabled, the QuadScan will not respond to IR commands. Hue Int W Sets the hue level. It must be from -128 to 127. InAspect String W Sets the input aspect ration. This is an enumerated field which must be set to one of the following values: 4x3, 4x3LB, 16x9
KBDLock Boolean W Enables/disables the keyboard interface. If disabled, the QuadScan will not respond to the front panel buttons. MotionMode String W Sets the motion processing mode. This is an enumerated field which must be set to one of the following values: Still, Motion, Film, Auto
OutAspect String W Sets the output aspect ratio. This is an enumerated field which must be set to one of the following values: 4x3Top, 4x3Center, 4x3Bottom, 16x9Top, 16x9Center, 16x9Bottom
OutRes String W Sets the output resolution. This is an enumerated field which must be set to one of the following values: DILA, Triple, Quad, XGA, SVGA, Doubled, VGA
Saturation Card W Sets the saturation level. It must be from 0 to 255. SrcInput String W Sets the input which is to be monitored. This is an enumerated field which must be set to one of the following values: Auto, VGAPass, YUV_A, YUV_B, SVHS_A, SVHS_B, Comp_A, Comp_B