3.3
Camera
3.3.1
Description
The M400C camera enumerates as a UVC-compatible device. Starting video capture, capturing
still images, and controlling the resolution all follow the standard UVC API.
The M400C camera controller also enumerates a HID endpoint with additional custom com-
mands that do not use the UVC API. This HID endpoint uses a simple 64 byte buffer to read and
write data to the camera controller from a host application. The supported commands are listed
in Table 3.5.
The commands are explained in detail starting with Section 3.3.3. In the “HID Report Format”
field, only the bytes that are used are listed. Any bytes that are not shown from the 64 byte buffer
are considered reserved.
Index
Name
Description
1
Exposure Compensation Control
Set exposure compensation
2
Flicker Cancel Priority Control
Set flicker cancel priority
3
Max Frame Rate Control
Set maximum frame rate
4
AF Mode
Set auto focus mode
5
Noise Reduction
Set noise reduction mode
6
Scanner Mode
Set document scanner mode
7
Color Mode
Set color mode
8
JPEG Quality
Set JPEG Q factor
9
Torch On
Turn on LED flash
10
Torch Off
Turn off LED flash
11
Torch On (Still)
Turn on LED torch for still image capture
12
Flash On
Set LED for strobe fill mode
13
Flash Auto
Set LED for strobe auto mode
14
Flash Off
Turn off LED for still image capture
254
Get Parameters
Get value of parameter(s)
Table 3.5: Camera HID Commands
3.3.2
Example Command Execution
This section describes the steps required to execute the Torch On command. This example can
be referenced to implement any of the other commands as well.
Windows
This example is based on a Windows C++ implementation.
First, the application will need to get a handle to the CX3 USB device. This will depend on the
platform. On this Windows C++ example, the following code will do this:
#include <hid.h>
27
Revision 7
Vuzix Corporation