<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Colord" version="1.0"/>
  <include name="GObject" version="2.0"/>
  <include name="GUsb" version="1.0"/>
  <include name="Gio" version="2.0"/>
  <package name="colorhug"/>
  <c:include name="colorhug.h"/>
  <doc:format name="unknown"/>
  <namespace name="Colorhug"
             version="1.0"
             shared-library="libcolorhug.so.0.0"
             c:identifier-prefixes="Ch"
             c:symbol-prefixes="ch">
    <alias name="Cmd" c:type="ChCmd">
      <source-position filename="lib/colorhug/ch-common.h" line="1649"/>
      <type name="guint8" c:type="guint8"/>
    </alias>
    <constant name="BUFFER_INPUT_CMD" value="0" c:type="CH_BUFFER_INPUT_CMD">
      <source-position filename="lib/colorhug/ch-common.h" line="1490"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="BUFFER_INPUT_DATA" value="1" c:type="CH_BUFFER_INPUT_DATA">
      <source-position filename="lib/colorhug/ch-common.h" line="1491"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="BUFFER_OUTPUT_CMD" value="1" c:type="CH_BUFFER_OUTPUT_CMD">
      <source-position filename="lib/colorhug/ch-common.h" line="1493"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="BUFFER_OUTPUT_DATA"
              value="2"
              c:type="CH_BUFFER_OUTPUT_DATA">
      <source-position filename="lib/colorhug/ch-common.h" line="1494"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="BUFFER_OUTPUT_RETVAL"
              value="0"
              c:type="CH_BUFFER_OUTPUT_RETVAL">
      <source-position filename="lib/colorhug/ch-common.h" line="1492"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_DESCRIPTION_LEN"
              value="23"
              c:type="CH_CALIBRATION_DESCRIPTION_LEN">
      <source-position filename="lib/colorhug/ch-common.h" line="1507"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_INDEX_CRT"
              value="1"
              c:type="CH_CALIBRATION_INDEX_CRT">
      <source-position filename="lib/colorhug/ch-common.h" line="1532"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_INDEX_FACTORY_ONLY"
              value="0"
              c:type="CH_CALIBRATION_INDEX_FACTORY_ONLY">
      <source-position filename="lib/colorhug/ch-common.h" line="1530"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_INDEX_LCD"
              value="0"
              c:type="CH_CALIBRATION_INDEX_LCD">
      <source-position filename="lib/colorhug/ch-common.h" line="1531"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_INDEX_LED"
              value="3"
              c:type="CH_CALIBRATION_INDEX_LED">
      <source-position filename="lib/colorhug/ch-common.h" line="1534"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_INDEX_MAX"
              value="6"
              c:type="CH_CALIBRATION_INDEX_MAX">
      <source-position filename="lib/colorhug/ch-common.h" line="1535"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_INDEX_PROJECTOR"
              value="2"
              c:type="CH_CALIBRATION_INDEX_PROJECTOR">
      <source-position filename="lib/colorhug/ch-common.h" line="1533"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_MAX" value="64" c:type="CH_CALIBRATION_MAX">
      <source-position filename="lib/colorhug/ch-common.h" line="1505"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_SPECTRAL"
              value="65535"
              c:type="CH_CALIBRATION_SPECTRAL">
      <source-position filename="lib/colorhug/ch-common.h" line="1506"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_TYPE_ALL"
              value="255"
              c:type="CH_CALIBRATION_TYPE_ALL">
      <source-position filename="lib/colorhug/ch-common.h" line="1514"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_TYPE_CRT"
              value="2"
              c:type="CH_CALIBRATION_TYPE_CRT">
      <source-position filename="lib/colorhug/ch-common.h" line="1511"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_TYPE_LCD"
              value="1"
              c:type="CH_CALIBRATION_TYPE_LCD">
      <source-position filename="lib/colorhug/ch-common.h" line="1510"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_TYPE_LED"
              value="8"
              c:type="CH_CALIBRATION_TYPE_LED">
      <source-position filename="lib/colorhug/ch-common.h" line="1513"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CALIBRATION_TYPE_PROJECTOR"
              value="4"
              c:type="CH_CALIBRATION_TYPE_PROJECTOR">
      <source-position filename="lib/colorhug/ch-common.h" line="1512"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CCD_SPECTRAL_RESOLUTION"
              value="1024"
              c:type="CH_CCD_SPECTRAL_RESOLUTION">
      <source-position filename="lib/colorhug/ch-common.h" line="1501"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_BOOT_FLASH"
              value="39"
              c:type="CH_CMD_BOOT_FLASH"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="816">Boot into to the flash memory.

IN:  [1:cmd]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ✓       |      ×
ColorHug2      |      ✓       |      ×
ColorHug+      |      ✓       |      ×
ColorHugALS    |      ✓       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="835"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_CLEAR_ERROR"
              value="97"
              c:type="CH_CMD_CLEAR_ERROR"
              version="1.3.1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1421">Clears any recorded error on the device.

PROTOCOLv2:
bRequest:   [cmd]
wValue:     0x00
wIndex:     interface
wLength:    0x00
Direction:  DEVICE-&gt;HOST
Data:       []

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1445"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_ERASE_FLASH"
              value="41"
              c:type="CH_CMD_ERASE_FLASH"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="771">Erases flash memory before a write is done.
Erasing flash can only be done in 1k byte chunks and should be
aligned to 1k.

IN:  [1:cmd][2:address][2:length]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ✓       |      ×
ColorHug2      |      ✓       |      ×
ColorHug+      |      ✓       |      ×
ColorHugALS    |      ✓       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="792"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_ADC_CALIBRATION_NEG"
              value="82"
              c:type="CH_CMD_GET_ADC_CALIBRATION_NEG"
              version="0.1.31">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="663">Gets the value of the Vref- ADC adjustment.
@vref is a packed float.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:vref]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="683"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_ADC_CALIBRATION_POS"
              value="81"
              c:type="CH_CMD_GET_ADC_CALIBRATION_POS"
              version="0.1.31">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="641">Gets the value of the Vref+ ADC adjustment.
@vref is a packed float.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:vref]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="661"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_CALIBRATION"
              value="9"
              c:type="CH_CMD_GET_CALIBRATION"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="211">Gets the calibration matrix. The description does not have to be NULL
terminated.

@types is a bitmask which corresponds to:

bit:
 0     Can be used with LCD panels
 1     Can be used with CRT monitors
 2     Can be used with projectors
 3     Can be used with LED panels
 4-7   Reserved for future use

IN:  [1:cmd][2:index]
OUT: [1:retval][1:cmd][2*9:matrix_value][1:types][23:description]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="240"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_CALIBRATION_MAP"
              value="46"
              c:type="CH_CMD_GET_CALIBRATION_MAP"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="957">Get the mappings from default calibration type to calibration
indexes.

The calibration types are as follows:
LCD		= 0
CRT		= 1
Projector	= 2
LED		= 3
Custom1	= 4
Custom2	= 5

In the future CustomX may be renamed to another display technology,
e.g. e-ink.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][6*2:types]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="988"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_CCD_CALIBRATION"
              value="83"
              c:type="CH_CMD_GET_CCD_CALIBRATION"
              version="0.1.31">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="685">Gets the spectral indexes for the RGB calibration which are values between 0
and %CH_CCD_SPECTRAL_RESOLUTION pointing to the dominant peak for the color.
Red is nominally 625nm, green 520nm and blue 465nm.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][2:red-idx][2:green-idx][2:blue-idx]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="706"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_COLOR_SELECT"
              value="1"
              c:type="CH_CMD_GET_COLOR_SELECT"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="64">Get the color select state.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][1:color_select]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="83"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_DAC_VALUE"
              value="60"
              c:type="CH_CMD_GET_DAC_VALUE"
              version="1.1.6">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1279">Get the DAC value. @scale is a packed float, where 1.0f is 3.3V

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:value]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1298"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_DARK_OFFSETS"
              value="15"
              c:type="CH_CMD_GET_DARK_OFFSETS"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="393">Get the dark offsets.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][2:red][2:green][2:blue]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="412"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_ERROR"
              value="96"
              c:type="CH_CMD_GET_ERROR"
              version="1.3.1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1395">Gets any recorded error from the device.

PROTOCOLv2:
bRequest:   [cmd]
wValue:     0x00
wIndex:     interface
wLength:    0x00
Direction:  DEVICE-&gt;HOST
Data:       [1:error][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1419"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_FIRMWARE_VERSION"
              value="7"
              c:type="CH_CMD_GET_FIRMWARE_VERSION"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="190">Gets the firmware version.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][2:major][2:minor][2:micro]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ✓       |      ✓
ColorHug2      |      ✓       |      ✓
ColorHug+      |      ✓       |      ✓
ColorHugALS    |      ✓       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="209"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_HARDWARE_VERSION"
              value="48"
              c:type="CH_CMD_GET_HARDWARE_VERSION"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1011">Get the hardware version.

The hardware versions are as follows:
0x00		= Pre-production hardware
0x01		= ColorHug
0x02		= ColorHug2
0x03		= ColorHug+
0x04		= ColorHugALS
0x05-0x0f	= Reserved for future use

IN:  [1:cmd]
OUT: [1:retval][1:cmd][1:hw_version]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ✓       |      ✓
ColorHug2      |      ✓       |      ✓
ColorHug+      |      ✓       |      ✓
ColorHugALS    |      ✓       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1038"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_ILLUMINANTS"
              value="21"
              c:type="CH_CMD_GET_ILLUMINANTS"
              version="1.3.4">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="351">Get the illuminant state.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][1:illuminants]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="370"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_INTEGRAL_TIME"
              value="5"
              c:type="CH_CMD_GET_INTEGRAL_TIME"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="148">Gets the integral time.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][2:integral_time]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="167"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_LEDS"
              value="13"
              c:type="CH_CMD_GET_LEDS"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="305">Get the LED state.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][1:led_state]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ✓       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="324"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_MEASURE_MODE"
              value="55"
              c:type="CH_CMD_GET_MEASURE_MODE"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1186">Gets the measurement mode.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][1:measure_mode]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1205"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_MULTIPLIER"
              value="3"
              c:type="CH_CMD_GET_MULTIPLIER"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="106">Gets the multiplier value.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][1:multiplier_value]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="125"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_OWNER_EMAIL"
              value="19"
              c:type="CH_CMD_GET_OWNER_EMAIL"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="479">Get User's Email Address

IN:  [1:cmd]
OUT: [1:retval][1:cmd][60:owner-email]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="498"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_OWNER_NAME"
              value="17"
              c:type="CH_CMD_GET_OWNER_NAME"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="437">Get User's Name

IN:  [1:cmd]
OUT: [1:retval][1:cmd][60:owner-name]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="456"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_PCB_ERRATA"
              value="51"
              c:type="CH_CMD_GET_PCB_ERRATA"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1097">Gets the board errata value.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][2:pcb_errata]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1116"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_POST_SCALE"
              value="42"
              c:type="CH_CMD_GET_POST_SCALE"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="915">Get the post XYZ scaling constant. @scale is a packed float.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:scale]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="934"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_PRE_SCALE"
              value="44"
              c:type="CH_CMD_GET_PRE_SCALE"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="873">Get the pre XYZ scaling constant. @scale is a packed float.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:scale]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="892"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_REMOTE_HASH"
              value="53"
              c:type="CH_CMD_GET_REMOTE_HASH"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1141">Gets the remote hash which is used to get the last profile saved
to a public web service.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][20:sha1_hash]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1161"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_SERIAL_NUMBER"
              value="11"
              c:type="CH_CMD_GET_SERIAL_NUMBER"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="263">Gets the device serial number.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:serial_number]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="282"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_GET_TEMPERATURE"
              value="59"
              c:type="CH_CMD_GET_TEMPERATURE"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1258">Gets the temperature of the sensor in degrees celsius

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:temperature]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1277"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_LOAD_SRAM"
              value="65"
              c:type="CH_CMD_LOAD_SRAM"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1343">Load the SRAM from the EEPROM.

PROTOCOLv2:
bRequest:   [cmd]
wValue:     0x00
wIndex:     interface
wLength:    0x00
Direction:  DEVICE-&gt;HOST
Data:       [1:error][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1367"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_READ_FLASH"
              value="37"
              c:type="CH_CMD_READ_FLASH"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="750">Read in raw data from the flash memory.

IN:  [1:cmd][2:address][1:length]
OUT: [1:retval][1:cmd][1:checksum][1-60:data]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ✓       |      ×
ColorHug2      |      ✓       |      ×
ColorHug+      |      ✓       |      ×
ColorHugALS    |      ✓       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="769"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_READ_SRAM"
              value="56"
              c:type="CH_CMD_READ_SRAM"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1207">Read in raw data from the SRAM memory.

PROTOCOLv1:
IN:  [1:cmd][2:address][1:length]
OUT: [1:retval][1:cmd][1-60:data]

PROTOCOLv2:
bRequest:   [cmd]
wValue:     [address-index/64]
wIndex:     interface
wLength:    0x64
Direction:  DEVICE-&gt;HOST
Data:       [64:DATA]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1235"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_RESET"
              value="36"
              c:type="CH_CMD_RESET"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="729">Reset the processor.

IN:  [1:cmd]
OUT: [1:retval][1:cmd] (but with success the device will disconnect)

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ✓       |      ✓
ColorHug2      |      ✓       |      ✓
ColorHug+      |      ✓       |      ✓
ColorHugALS    |      ✓       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="748"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SAVE_SRAM"
              value="66"
              c:type="CH_CMD_SAVE_SRAM"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1369">Save the SRAM to the EEPROM.

PROTOCOLv2:
bRequest:   [cmd]
wValue:     0x00
wIndex:     interface
wLength:    0x00
Direction:  DEVICE-&gt;HOST
Data:       [1:error][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1393"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SELF_TEST"
              value="64"
              c:type="CH_CMD_SELF_TEST"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1321">Tests the device by trying to get a non-zero reading from each
color channel.

IN:  [1:cmd]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ✓       |      ✓
ColorHug2      |      ✓       |      ✓
ColorHug+      |      ✓       |      ✓
ColorHugALS    |      ✓       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1341"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_CALIBRATION"
              value="10"
              c:type="CH_CMD_SET_CALIBRATION"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="242">Sets the calibration matrix.

IN:  [1:cmd][2:index][4*9:matrix_value][1:types][23:description]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="261"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_CALIBRATION_MAP"
              value="47"
              c:type="CH_CMD_SET_CALIBRATION_MAP"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="990">Set the calibration type to index map.

IN:  [1:cmd][6*2:types]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1009"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_CCD_CALIBRATION"
              value="84"
              c:type="CH_CMD_SET_CCD_CALIBRATION"
              version="0.1.31">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="708">Sets the spectral indexes for the RGB calibration.

IN:  [1:cmd][2:red-idx][2:green-idx][2:blue-idx]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="727"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_COLOR_SELECT"
              value="2"
              c:type="CH_CMD_SET_COLOR_SELECT"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="85">Set the color select state.

IN:  [1:cmd][1:color_select]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="104"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_CRYPTO_KEY"
              value="112"
              c:type="CH_CMD_SET_CRYPTO_KEY"
              version="1.3.1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1447">Sets the 128 bit encryption key for the device.

PROTOCOLv2:
bRequest:   [cmd]
wValue:     0x00
wIndex:     interface
wLength:    0x00
Direction:  DEVICE-&gt;HOST
Data:       [4:key0][4:key1][4:key2][4:key3]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1471"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_DAC_VALUE"
              value="61"
              c:type="CH_CMD_SET_DAC_VALUE"
              version="1.1.6">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1300">Set the DAC value. @scale is a packed float, where 1.0f is 3.3V

IN:  [1:cmd][4:value]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1319"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_DARK_OFFSETS"
              value="16"
              c:type="CH_CMD_SET_DARK_OFFSETS"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="414">Set the dark offsets for use when taking samples when the measure
mode is FREQUENCY. When the measure mode is DURATION these values
have no effect.

IN:  [1:cmd][2:red][2:green][2:blue]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="435"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_FLASH_SUCCESS"
              value="40"
              c:type="CH_CMD_SET_FLASH_SUCCESS"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="837">Sets the result of the firmware flashing. The idea of this command
is that the flashing interaction is thus:

1.	Reset()			device goes to bootloader mode
2.	SetFlashSuccess(FALSE)
3.	WriteFlash($data)
4.	ReadFlash($data)	to verify
5.	BootFlash()		switch to program mode
6.	SetFlashSuccess(TRUE)

The idea is that we only set the success FALSE from the bootoloader
to indicate that on booting we should not boot into the program.
We can only set the success true from the *new* program code so as
to verify that the new program boots, and can accept HID commands.

IN:  [1:cmd][1:success]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ✓       |      ✓
ColorHug2      |      ✓       |      ✓
ColorHug+      |      ✓       |      ✓
ColorHugALS    |      ✓       |      ✓

Different values of @success are permitted in each mode.</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="871"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_ILLUMINANTS"
              value="22"
              c:type="CH_CMD_SET_ILLUMINANTS"
              version="1.3.4">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="372">Set the illuminants.

IN:  [1:cmd][1:illuminant]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="391"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_INTEGRAL_TIME"
              value="6"
              c:type="CH_CMD_SET_INTEGRAL_TIME"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="169">Sets the integral time.

IN:  [1:cmd][2:integral_time]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="188"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_LEDS"
              value="14"
              c:type="CH_CMD_SET_LEDS"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="326">Set the LED state. Using a @repeat value of anything other than
0 will block the processor for the duration of the command.

If @repeat is not 0, then the LEDs are reset to all off at the end
of the sequence.

IN:  [1:cmd][1:led_state][1:repeat][1:on-time][1:off-time]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="349"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_MEASURE_MODE"
              value="54"
              c:type="CH_CMD_SET_MEASURE_MODE"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1163">Sets the measurement mode. The mode can either be frequency or pulse
duration. The former is well tested, but the latter is much more
precise.

IN:  [1:cmd][1:measure_mode]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1184"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_MULTIPLIER"
              value="4"
              c:type="CH_CMD_SET_MULTIPLIER"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="127">Sets the multiplier value.

IN:  [1:cmd][1:multiplier_value]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="146"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_OWNER_EMAIL"
              value="20"
              c:type="CH_CMD_SET_OWNER_EMAIL"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="500">Set User's Email Address

IN:  [1:cmd][60:owner-email]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="519"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_OWNER_NAME"
              value="18"
              c:type="CH_CMD_SET_OWNER_NAME"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="458">Set User's Name

IN:  [1:cmd][60:owner-name]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="477"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_PCB_ERRATA"
              value="50"
              c:type="CH_CMD_SET_PCB_ERRATA"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1069">Sets the board errata value. Board errata is used to correct swapped
LEDs and any future problems discovered that only affect some batches
of hardware version 1.

The errata bitmask is as follows:
0x00		= No errata for this PCB
0x01		= Leds are swapped
0x02-0xffff	= Reserved for future use

IN:  [1:cmd][2:pcb_errata]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1095"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_POST_SCALE"
              value="43"
              c:type="CH_CMD_SET_POST_SCALE"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="936">Set the post XYZ scaling constant. @scale is a packed float.

IN:  [1:cmd][4:scale]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="955"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_PRE_SCALE"
              value="45"
              c:type="CH_CMD_SET_PRE_SCALE"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="894">Set the pre XYZ scaling constant. @scale is a packed float.

IN:  [1:cmd][4:scale]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="913"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_REMOTE_HASH"
              value="52"
              c:type="CH_CMD_SET_REMOTE_HASH"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1118">Sets the remote SHA1 hash of the profile. This is designed to
be used by the calibration program to indicate the key which allows
the completed profile to be found from a public web service.

IN:  [1:cmd][20:sha1_hash]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1139"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_SET_SERIAL_NUMBER"
              value="12"
              c:type="CH_CMD_SET_SERIAL_NUMBER"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="284">Sets the device serial number.

IN:  [1:cmd][4:serial_number]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="303"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_TAKE_READINGS"
              value="34"
              c:type="CH_CMD_TAKE_READINGS"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="563">Take a reading taking into account just dark offsets.
All of @red, @green and @blue are packed float values.

This command is useful if you want to do an ambient reading.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:red][4:green][4:blue]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="585"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_TAKE_READING_ARRAY"
              value="49"
              c:type="CH_CMD_TAKE_READING_ARRAY"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1040">Takes 30 raw samples and returns them in an array.

This command can be used to find the optimum delay between patches
by showing a black sample area, then white, and then using this
command to find out how long the actual hardware delay is.

It can also be used to find out how stable the device or output is
over a small amount of time, typically ~2.5 seconds for the maximum
integral time.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][30:reading_array]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ×
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1067"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_TAKE_READING_RAW"
              value="33"
              c:type="CH_CMD_TAKE_READING_RAW"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="542">Take a raw reading.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:count]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ✓</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="561"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_TAKE_READING_SPECTRAL"
              value="85"
              c:type="CH_CMD_TAKE_READING_SPECTRAL"
              version="0.1.31">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="617">Takes a spectral reading putting %CH_CCD_SPECTRAL_RESOLUTION uint16_t values
(typically 7296 bytes) in SRAM.
The values are scaled from 0x0000 to 0x03ff and correspond to the actual
signal amplitude once Vref- and Vref+ have been taken into account.

IN:  [1:cmd]
OUT: [1:retval][1:cmd][4:addr]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ×
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="639"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_TAKE_READING_XYZ"
              value="35"
              c:type="CH_CMD_TAKE_READING_XYZ"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="587">Take a reading taking into account:
 1. dark offsets
 2. the calibration matrix

If the calibration index &gt; %CH_CALIBRATION_MAX then the calibration
map is used to find the default calibration index to use.

If the calibration index is set to %CH_CALIBRATION_SPECTRAL then the
spectral hardware is used if it is available. The CIE 1931 luminosity
function data is used by default.

IN:  [1:cmd][2:calibration-index]
OUT: [1:retval][1:cmd][4:red][4:green][4:blue]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="615"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_WRITE_EEPROM"
              value="32"
              c:type="CH_CMD_WRITE_EEPROM"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="521">Write values to EEPROM.

IN:  [1:cmd][8:eeprom_magic]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ✓
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="540"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_WRITE_FLASH"
              value="38"
              c:type="CH_CMD_WRITE_FLASH"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="794">Write raw data to the flash memory. You can only write aligned to
a 32 byte boundary, and you must flush any incomplete 64 byte block.

IN:  [1:cmd][2:address][1:length][1:checksum][1-32:data]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ✓       |      ×
ColorHug2      |      ✓       |      ×
ColorHug+      |      ✓       |      ×
ColorHugALS    |      ✓       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="814"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CMD_WRITE_SRAM"
              value="57"
              c:type="CH_CMD_WRITE_SRAM"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.h"
           line="1237">Write raw data to the SRAM memory.

IN:  [1:cmd][2:address][1:length][1-60:data]
OUT: [1:retval][1:cmd]

This command is available under these conditions:

               |  Bootloader  |  Firmware
---------------+--------------+-----------
ColorHug       |      ×       |      ×
ColorHug2      |      ×       |      ✓
ColorHug+      |      ×       |      ✓
ColorHugALS    |      ×       |      ×</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1256"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <enumeration name="ColorSelect" c:type="ChColorSelect">
      <source-position filename="lib/colorhug/ch-common.h" line="1543"/>
      <member name="red" value="0" c:identifier="CH_COLOR_SELECT_RED">
      </member>
      <member name="white" value="1" c:identifier="CH_COLOR_SELECT_WHITE">
      </member>
      <member name="blue" value="2" c:identifier="CH_COLOR_SELECT_BLUE">
      </member>
      <member name="green" value="3" c:identifier="CH_COLOR_SELECT_GREEN">
      </member>
    </enumeration>
    <constant name="DEVICE_GUID_COLORHUG"
              value="40338ceb-b966-4eae-adae-9c32edfcc484"
              c:type="CH_DEVICE_GUID_COLORHUG">
      <source-position filename="lib/colorhug/ch-common.h" line="1484"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DEVICE_GUID_COLORHUG2"
              value="2082b5e0-7a64-478a-b1b2-e3404fab6dad"
              c:type="CH_DEVICE_GUID_COLORHUG2">
      <source-position filename="lib/colorhug/ch-common.h" line="1485"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DEVICE_GUID_COLORHUG_ALS"
              value="84f40464-9272-4ef7-9399-cd95f12da696"
              c:type="CH_DEVICE_GUID_COLORHUG_ALS">
      <source-position filename="lib/colorhug/ch-common.h" line="1486"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DEVICE_GUID_COLORHUG_PLUS"
              value="6d6f05a9-3ecb-43a2-bcbb-3844f1825366"
              c:type="CH_DEVICE_GUID_COLORHUG_PLUS">
      <source-position filename="lib/colorhug/ch-common.h" line="1487"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DEVICE_USB_TIMEOUT"
              value="10000"
              c:type="CH_DEVICE_USB_TIMEOUT">
      <source-position filename="lib/colorhug/ch-common.h" line="59"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <enumeration name="DeviceMode" c:type="ChDeviceMode">
      <source-position filename="lib/colorhug/ch-common.h" line="1639"/>
      <member name="unknown" value="0" c:identifier="CH_DEVICE_MODE_UNKNOWN">
      </member>
      <member name="legacy" value="1" c:identifier="CH_DEVICE_MODE_LEGACY">
      </member>
      <member name="bootloader"
              value="2"
              c:identifier="CH_DEVICE_MODE_BOOTLOADER">
      </member>
      <member name="firmware" value="3" c:identifier="CH_DEVICE_MODE_FIRMWARE">
      </member>
      <member name="bootloader_plus"
              value="4"
              c:identifier="CH_DEVICE_MODE_BOOTLOADER_PLUS">
      </member>
      <member name="firmware_plus"
              value="5"
              c:identifier="CH_DEVICE_MODE_FIRMWARE_PLUS">
      </member>
      <member name="firmware2"
              value="6"
              c:identifier="CH_DEVICE_MODE_FIRMWARE2">
      </member>
      <member name="bootloader2"
              value="7"
              c:identifier="CH_DEVICE_MODE_BOOTLOADER2">
      </member>
      <member name="bootloader_als"
              value="8"
              c:identifier="CH_DEVICE_MODE_BOOTLOADER_ALS">
      </member>
      <member name="firmware_als"
              value="9"
              c:identifier="CH_DEVICE_MODE_FIRMWARE_ALS">
      </member>
    </enumeration>
    <class name="DeviceQueue"
           c:symbol-prefix="device_queue"
           c:type="ChDeviceQueue"
           parent="GObject.Object"
           glib:type-name="ChDeviceQueue"
           glib:get-type="ch_device_queue_get_type"
           glib:type-struct="DeviceQueueClass">
      <source-position filename="lib/colorhug/ch-device-queue.h" line="58"/>
      <constructor name="new"
                   c:identifier="ch_device_queue_new"
                   version="0.1.29">
        <source-position filename="lib/colorhug/ch-device-queue.h" line="87"/>
        <return-value transfer-ownership="full">
          <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
        </return-value>
      </constructor>
      <virtual-method name="device_failed">
        <source-position filename="lib/colorhug/ch-device-queue.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="error_message" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="progress_changed">
        <source-position filename="lib/colorhug/ch-device-queue.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="percentage" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add" c:identifier="ch_device_queue_add" version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="504">Adds a raw command to the device queue.</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="506">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="507">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="cmd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="508">The command, e.g. %CH_CMD_TAKE_READINGS</doc>
            <type name="guint8" c:type="guint8"/>
          </parameter>
          <parameter name="buffer_in" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="509">The input buffer, or %NULL</doc>
            <type name="guint8" c:type="const guint8*"/>
          </parameter>
          <parameter name="buffer_in_len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="510">The size of @buffer_in</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="buffer_out" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="511">The output buffer, or %NULL</doc>
            <type name="guint8" c:type="guint8*"/>
          </parameter>
          <parameter name="buffer_out_len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="512">The size of @buffer_out</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="boot_flash"
              c:identifier="ch_device_queue_boot_flash"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2690">Boots the device from bootloader to firmware mode.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="220"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2692">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2693">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_calibration"
              c:identifier="ch_device_queue_clear_calibration"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1308">Clears a calibration slot.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="157"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1310">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1311">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="calibration_index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1312">Slot</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="erase_flash"
              c:identifier="ch_device_queue_erase_flash"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2622">Erase program code on the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="242"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2624">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2625">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="address" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2626">The device EEPROM address</doc>
            <array length="2" zero-terminated="0" c:type="guint16">
              <type name="guint16" c:type="guint16"/>
            </array>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2627">The length of @data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_adc_vref_neg"
              c:identifier="ch_device_queue_get_adc_vref_neg"
              version="0.1.31">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1590">Gets the ADC Vref- calibration value.

NOTE: This command is available on hardware version: 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="289"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1592">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1593">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="vref" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1594">The voltage reference, ranging from 0.0 to 3.3V.</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_adc_vref_pos"
              c:identifier="ch_device_queue_get_adc_vref_pos"
              version="0.1.31">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1552">Gets the ADC Vref+ calibration value.

NOTE: This command is available on hardware version: 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="286"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1554">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1555">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="vref" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1556">The voltage reference, ranging from 0.0 to 3.3V.</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_calibration"
              c:identifier="ch_device_queue_get_calibration"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="961">Gets the calibration data.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="963">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="964">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="calibration_index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="965">The slot position</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="calibration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="966">the 3x3 calibration matrix</doc>
            <type name="Colord.Mat3x3" c:type="CdMat3x3*"/>
          </parameter>
          <parameter name="types" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="967">The types the matrix supports</doc>
            <type name="guint8" c:type="guint8*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="968">The description of the calibration</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_calibration_map"
              c:identifier="ch_device_queue_get_calibration_map"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="774">Gets the calibration map.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="134"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="776">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="777">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="calibration_map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="778">An array of slot positions</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_ccd_calibration"
              c:identifier="ch_device_queue_get_ccd_calibration"
              version="0.1.31">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1659">Gets the CCD spectral calibration indexes. These are "pointers" to specific
spectral peaks returned by the CCD.

NOTE: This command is available on hardware version: 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="295"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1661">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1662">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="indexes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1663">An array of red, green, blue indexes</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_color_select"
              c:identifier="ch_device_queue_get_color_select"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="544">Gets the selected sensor color.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="546">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="547">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="color_select" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="548">The color select, e.g. %CH_COLOR_SELECT_RED</doc>
            <type name="ColorSelect" c:type="ChColorSelect*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_dac_value"
              c:identifier="ch_device_queue_get_dac_value"
              version="1.1.6">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1480">Gets the DAC value.

NOTE: This command is available on hardware version: 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="283"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1482">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1483">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="dac_value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1484">value between 0.0 and 0.99</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_dark_offsets"
              c:identifier="ch_device_queue_get_dark_offsets"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2116">Gets the device dark offsets.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="199"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2118">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2119">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2120">A #CdColorRGB</doc>
            <type name="Colord.ColorRGB" c:type="CdColorRGB*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_firmware_ver"
              c:identifier="ch_device_queue_get_firmware_ver"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="863">Gets the firmware version.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="865">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="866">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="major" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="867">The firmware major version</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
          <parameter name="minor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="868">The firmware minor version</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
          <parameter name="micro" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="869">The firmware micro version</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_hardware_version"
              c:identifier="ch_device_queue_get_hardware_version"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2742">Gets the hardware version.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2744">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2745">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="hw_version" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2746">The hardware version</doc>
            <type name="guint8" c:type="guint8*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_integral_time"
              c:identifier="ch_device_queue_get_integral_time"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="706">Gets the reading integral time.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="708">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="709">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="integral_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="710">The sensor integral time in device units</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_leds"
              c:identifier="ch_device_queue_get_leds"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1867">Gets the LED status.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="178"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1869">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1870">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="leds" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1871">The LED bitfield</doc>
            <type name="guint8" c:type="guint8*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_measure_mode"
              c:identifier="ch_device_queue_get_measure_mode"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2934">Gets the measurement mode.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="261"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2936">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2937">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="measure_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2938">The #ChMeasureMode, e.g. %CH_MEASURE_MODE_DURATION</doc>
            <type name="MeasureMode" c:type="ChMeasureMode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_multiplier"
              c:identifier="ch_device_queue_get_multiplier"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="605">Gets the sensor multiplier.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="122"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="607">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="608">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="multiplier" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="609">The device multiplier, e.g. %CH_FREQ_SCALE_100</doc>
            <type name="FreqScale" c:type="ChFreqScale*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_owner_email"
              c:identifier="ch_device_queue_get_owner_email"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2838">Gets the owner email address.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="255"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2840">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2841">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="email" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2842">An email address</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_owner_name"
              c:identifier="ch_device_queue_get_owner_name"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2772">Gets the owner name.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="249"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2774">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2775">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2776">The owner name</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pcb_errata"
              c:identifier="ch_device_queue_get_pcb_errata"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1940">Gets the PCB errata level.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="187"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1942">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1943">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="pcb_errata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1944">The PCB errata, e.g. %CH_PCB_ERRATA_SWAPPED_LEDS</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_post_scale"
              c:identifier="ch_device_queue_get_post_scale"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1726">Gets the post scale value.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="166"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1728">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1729">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="post_scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1730">The post-scale value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pre_scale"
              c:identifier="ch_device_queue_get_pre_scale"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1370">Gets the pre scale value.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="160"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1372">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1373">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="pre_scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1374">Pre-scale value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_remote_hash"
              c:identifier="ch_device_queue_get_remote_hash"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2000">Gets the remote hash stored on the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="193"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2002">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2003">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="remote_hash" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2004">A #ChSha1</doc>
            <type name="Sha1" c:type="ChSha1*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_serial_number"
              c:identifier="ch_device_queue_get_serial_number"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1798">Gets the device serial number.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="172"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1800">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1801">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="serial_number" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1802">The device serial number</doc>
            <type name="guint32" c:type="guint32*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_temperature"
              c:identifier="ch_device_queue_get_temperature"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1442">Gets the device temperature.

NOTE: This command is available on hardware version: 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="277"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1444">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1445">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="temperature" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1446">Temperature in Celsius</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="process"
              c:identifier="ch_device_queue_process"
              version="0.1.29"
              throws="1"
              glib:async-func="process_async">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="423">Processes all commands in the command queue.
WARNING: this function is synchronous and will block.</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device-queue.c"
               line="433">%TRUE if the commands were executed successfully.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="425">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="process_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="426">Flags how to process the queue, e.g. %CH_DEVICE_QUEUE_PROCESS_FLAGS_CONTINUE_ERRORS</doc>
            <type name="DeviceQueueProcessFlags"
                  c:type="ChDeviceQueueProcessFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="427">#GCancellable or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="process_async"
              c:identifier="ch_device_queue_process_async"
              version="0.1.29"
              glib:finish-func="process_finish"
              glib:sync-func="process">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="334">Processes all commands in the command queue.</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="336">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="process_flags" transfer-ownership="none">
            <type name="DeviceQueueProcessFlags"
                  c:type="ChDeviceQueueProcessFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="337">A #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="338">A #GAsyncReadyCallback that will be called when finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="339">User data passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="process_finish"
              c:identifier="ch_device_queue_process_finish"
              version="0.1.29"
              throws="1">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="382">Gets the result from the asynchronous function.</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device-queue.c"
               line="390">%TRUE if the request was fulfilled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="384">a #ChDeviceQueue instance.</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="385">the #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_firmware"
              c:identifier="ch_device_queue_read_firmware"
              version="1.2.11">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1253">Reads firmware on the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="317"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1255">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1256">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1257">Firmware binary data</doc>
            <array length="2" zero-terminated="0" c:type="guint8**">
              <type name="guint8" c:type="guint8*"/>
            </array>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1258">Size of @data</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_flash"
              c:identifier="ch_device_queue_read_flash"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2468">Read flash code from the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="232"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2470">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2471">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="address" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2472">The device EEPROM address</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2473">Binary data</doc>
            <array length="3" zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2474">The length of @data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_sram"
              c:identifier="ch_device_queue_read_sram"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="3088">Reads binary data from the SRAM.

NOTE: This command is available on hardware version: 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="272"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3090">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3091">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="address" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3092">The device memory address</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3093">The binary data</doc>
            <array length="3" zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3094">Size of @data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="reset"
              c:identifier="ch_device_queue_reset"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2351">Resets the device back to bootloader mode.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="218"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2353">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2354">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
        </parameters>
      </method>
      <method name="self_test"
              c:identifier="ch_device_queue_self_test"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2716">Performs some self tests on the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="222"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2718">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2719">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_calibration"
              c:identifier="ch_device_queue_set_calibration"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1011">Sets the calibration data.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="151"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1013">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1014">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="calibration_index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1015">The slot position</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="calibration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1016">the 3x3 calibration matrix</doc>
            <type name="Colord.Mat3x3" c:type="const CdMat3x3*"/>
          </parameter>
          <parameter name="types" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1017">The types the matrix supports</doc>
            <type name="guint8" c:type="guint8"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1018">The description of the calibration</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_calibration_ccmx"
              c:identifier="ch_device_queue_set_calibration_ccmx"
              version="0.1.29"
              throws="1">
        <source-position filename="lib/colorhug/ch-device-queue.h" line="303"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="calibration_index" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="ccmx" transfer-ownership="none">
            <type name="Colord.It8" c:type="CdIt8*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_calibration_map"
              c:identifier="ch_device_queue_set_calibration_map"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="804">Sets the calibration map.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="137"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="806">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="807">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="calibration_map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="808">An array of slot positions</doc>
            <type name="guint16" c:type="const guint16*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_ccd_calibration"
              c:identifier="ch_device_queue_set_ccd_calibration"
              version="0.1.31">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1691">Sets the CCD spectral calibration indexes. These are "pointers" to specific
spectral peaks returned by the CCD.

NOTE: This command is available on hardware version: 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="298"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1693">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1694">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="indexes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1695">An array of red, green, blue indexes</doc>
            <type name="guint16" c:type="const guint16*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_color_select"
              c:identifier="ch_device_queue_set_color_select"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="574">Sets the sensor measurement color.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="576">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="577">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="color_select" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="578">The color select, e.g. %CH_COLOR_SELECT_RED</doc>
            <type name="ColorSelect" c:type="ChColorSelect"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dac_value"
              c:identifier="ch_device_queue_set_dac_value"
              version="1.1.6">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1518">Sets the post scale value.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="280"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1520">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1521">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="dac_value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1522">The DAC value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dark_offsets"
              c:identifier="ch_device_queue_set_dark_offsets"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2153">Sets the device dark offsets.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="202"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2155">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2156">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2157">A #CdColorRGB</doc>
            <type name="Colord.ColorRGB" c:type="CdColorRGB*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_flash_success"
              c:identifier="ch_device_queue_set_flash_success"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2660">Sets the firmware flash success value.
Be careful using this function as misuse can result in a 'bricked'
ColorHug device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="224"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2662">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2663">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2664">Success value</doc>
            <type name="guint8" c:type="guint8"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_integral_time"
              c:identifier="ch_device_queue_set_integral_time"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="740">Sets the reading integral time.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="742">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="743">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="integral_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="744">The sensor integral time in device units</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_leds"
              c:identifier="ch_device_queue_set_leds"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1898">Sets the LED status.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="181"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1900">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1901">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="leds" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1902">The LEDs bitfield</doc>
            <type name="guint8" c:type="guint8"/>
          </parameter>
          <parameter name="repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1903">Sets the number of times to repeat the pattern</doc>
            <type name="guint8" c:type="guint8"/>
          </parameter>
          <parameter name="on_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1904">Set the on time</doc>
            <type name="guint8" c:type="guint8"/>
          </parameter>
          <parameter name="off_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1905">Set the off time</doc>
            <type name="guint8" c:type="guint8"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_measure_mode"
              c:identifier="ch_device_queue_set_measure_mode"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2964">Sets the measurement mode.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="264"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2966">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2967">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="measure_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2968">The #ChMeasureMode, e.g. %CH_MEASURE_MODE_DURATION</doc>
            <type name="MeasureMode" c:type="ChMeasureMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_multiplier"
              c:identifier="ch_device_queue_set_multiplier"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="635">Sets the sensor multiplier.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="637">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="638">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="multiplier" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="639">The device multiplier, e.g. %CH_FREQ_SCALE_100</doc>
            <type name="FreqScale" c:type="ChFreqScale"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_owner_email"
              c:identifier="ch_device_queue_set_owner_email"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2869">Sets the owner email address.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="252"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2871">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2872">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="email" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2873">An email address</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_owner_name"
              c:identifier="ch_device_queue_set_owner_name"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2803">Sets the owner name.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="246"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2805">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2806">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2807">The owner name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pcb_errata"
              c:identifier="ch_device_queue_set_pcb_errata"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1971">Sets the PCB board errata.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="190"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1973">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1974">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="pcb_errata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1975">The PCB errata, e.g. %CH_PCB_ERRATA_SWAPPED_LEDS</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_post_scale"
              c:identifier="ch_device_queue_set_post_scale"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1764">Sets the post scale value.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="169"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1766">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1767">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="post_scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1768">The post-scale value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pre_scale"
              c:identifier="ch_device_queue_set_pre_scale"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1408">Sets the pre-scale value.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1410">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1411">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="pre_scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1412">Pre-scale value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_remote_hash"
              c:identifier="ch_device_queue_set_remote_hash"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2030">Sets the remote hash on the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="196"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2032">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2033">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="remote_hash" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2034">A #ChSha1</doc>
            <type name="Sha1" c:type="ChSha1*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_serial_number"
              c:identifier="ch_device_queue_set_serial_number"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1833">Sets the device serial number.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="175"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1835">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1836">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="serial_number" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1837">The device serial number</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_reading_array"
              c:identifier="ch_device_queue_take_reading_array"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2904">Get an array of raw readings in quick succession.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="258"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2906">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2907">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="reading_array" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2908">An array of raw readings</doc>
            <type name="guint8" c:type="guint8*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_reading_raw"
              c:identifier="ch_device_queue_take_reading_raw"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2187">Take a raw reading from the sensor.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="208"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2189">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2190">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="take_reading" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2191">A raw reading value</doc>
            <type name="guint32" c:type="guint32*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_reading_spectral"
              c:identifier="ch_device_queue_take_reading_spectral"
              version="0.1.31">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1628">Takes a raw spectral reading.

NOTE: This command is available on hardware version: 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="292"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1630">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1631">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="sram_addr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1632">The SRAM location where the data is held</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_readings"
              c:identifier="ch_device_queue_take_readings"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2248">Take a RGB triplet of readings from the sensor without applying the
calibration matrix.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="211"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2250">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2251">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2252">The #CdColorRGB of the raw reading</doc>
            <type name="Colord.ColorRGB" c:type="CdColorRGB*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_readings_xyz"
              c:identifier="ch_device_queue_take_readings_xyz"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2313">Take an XYZ fully cooked reading from the sensor.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="214"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2315">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2316">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="calibration_index" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2317">The #CdColorXYZ for a given calibration slot</doc>
            <type name="Colord.ColorXYZ" c:type="CdColorXYZ*"/>
          </parameter>
        </parameters>
      </method>
      <method name="verify_firmware"
              c:identifier="ch_device_queue_verify_firmware"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1207">Verifies firmware on the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="313"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1209">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1210">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1211">Firmware binary data</doc>
            <array length="2" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1212">Size of @data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="verify_flash"
              c:identifier="ch_device_queue_verify_flash"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2570">Verify flash code from the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="237"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2572">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2573">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="address" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2574">The device EEPROM address</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2575">Binary data</doc>
            <array length="3" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2576">The length of @data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_eeprom"
              c:identifier="ch_device_queue_write_eeprom"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2059">Writes values to the firmware to be set at device startup.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="205"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2061">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2062">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="magic" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2063">The magic sekret string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_firmware"
              c:identifier="ch_device_queue_write_firmware"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="1151">Writes new firmware to the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="309"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1153">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1154">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1155">Firmware binary data</doc>
            <array length="2" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="1156">Size of @data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_flash"
              c:identifier="ch_device_queue_write_flash"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="2389">Write flash code to the device.

NOTE: This command is available on hardware version: 1 &amp; 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="227"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2391">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2392">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="address" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2393">The device EEPROM address</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2394">Binary data</doc>
            <array length="3" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="2395">The length of @data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_sram"
              c:identifier="ch_device_queue_write_sram"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device-queue.c"
             line="3020">Writes binary data to the SRAM.

NOTE: This command is available on hardware version: 2</doc>
        <source-position filename="lib/colorhug/ch-device-queue.h" line="267"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="device_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3022">A #ChDeviceQueue</doc>
            <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3023">A #GUsbDevice</doc>
            <type name="GUsb.Device" c:type="GUsbDevice*"/>
          </parameter>
          <parameter name="address" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3024">The device memory address</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3025">The binary data</doc>
            <array length="3" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-device-queue.c"
                 line="3026">Size of @data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="device-failed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GObject.Object"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="progress-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DeviceQueueClass"
            c:type="ChDeviceQueueClass"
            glib:is-gtype-struct-for="DeviceQueue">
      <source-position filename="lib/colorhug/ch-device-queue.h" line="58"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="device_failed">
        <callback name="device_failed">
          <source-position filename="lib/colorhug/ch-device-queue.h"
                           line="46"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="device_queue" transfer-ownership="none">
              <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
            </parameter>
            <parameter name="device" transfer-ownership="none">
              <type name="GUsb.Device" c:type="GUsbDevice*"/>
            </parameter>
            <parameter name="error_message" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="progress_changed">
        <callback name="progress_changed">
          <source-position filename="lib/colorhug/ch-device-queue.h"
                           line="49"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="device_queue" transfer-ownership="none">
              <type name="DeviceQueue" c:type="ChDeviceQueue*"/>
            </parameter>
            <parameter name="percentage" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_ch_reserved1" introspectable="0">
        <callback name="_ch_reserved1">
          <source-position filename="lib/colorhug/ch-device-queue.h"
                           line="53"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ch_reserved2" introspectable="0">
        <callback name="_ch_reserved2">
          <source-position filename="lib/colorhug/ch-device-queue.h"
                           line="54"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ch_reserved3" introspectable="0">
        <callback name="_ch_reserved3">
          <source-position filename="lib/colorhug/ch-device-queue.h"
                           line="55"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ch_reserved4" introspectable="0">
        <callback name="_ch_reserved4">
          <source-position filename="lib/colorhug/ch-device-queue.h"
                           line="56"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ch_reserved5" introspectable="0">
        <callback name="_ch_reserved5">
          <source-position filename="lib/colorhug/ch-device-queue.h"
                           line="57"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <bitfield name="DeviceQueueProcessFlags"
              c:type="ChDeviceQueueProcessFlags">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device-queue.h"
           line="60">CH_DEVICE_QUEUE_PROCESS_FLAGS_NONE:
	Normal operation, where a single device command failure makes
the return value of the process %FALSE, but the queue contibues
to run for other devices.

CH_DEVICE_QUEUE_PROCESS_FLAGS_CONTINUE_ERRORS:
	Continue to submit commands to a device that has failed a
command, for example where one command might not be supported
in the middle of a queue of commands.

CH_DEVICE_QUEUE_PROCESS_FLAGS_NONFATAL_ERRORS:
	Do not consider a device error to be fatal, but instead emit
a signal and continue with the rest of the queue. If the flag
%CH_DEVICE_QUEUE_PROCESS_FLAGS_CONTINUE_ERRORS is not used then
other commands to the same device will not be submitted.

Flags for controlling processing options</doc>
      <source-position filename="lib/colorhug/ch-device-queue.h" line="85"/>
      <member name="none"
              value="0"
              c:identifier="CH_DEVICE_QUEUE_PROCESS_FLAGS_NONE">
      </member>
      <member name="continue_errors"
              value="1"
              c:identifier="CH_DEVICE_QUEUE_PROCESS_FLAGS_CONTINUE_ERRORS">
      </member>
      <member name="nonfatal_errors"
              value="2"
              c:identifier="CH_DEVICE_QUEUE_PROCESS_FLAGS_NONFATAL_ERRORS">
      </member>
    </bitfield>
    <constant name="EEPROM_ADDR_RUNCODE"
              value="16384"
              c:type="CH_EEPROM_ADDR_RUNCODE">
      <source-position filename="lib/colorhug/ch-common.h" line="1497"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="EEPROM_ADDR_RUNCODE_ALS"
              value="8192"
              c:type="CH_EEPROM_ADDR_RUNCODE_ALS">
      <source-position filename="lib/colorhug/ch-common.h" line="1498"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="EP0_TRANSFER_SIZE"
              value="64"
              c:type="CH_EP0_TRANSFER_SIZE">
      <source-position filename="lib/colorhug/ch-common.h" line="1474"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="EP0_TRANSFER_SIZE_V2"
              value="1024"
              c:type="CH_EP0_TRANSFER_SIZE_V2">
      <source-position filename="lib/colorhug/ch-common.h" line="1475"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <enumeration name="Error" c:type="ChError">
      <source-position filename="lib/colorhug/ch-common.h" line="1609"/>
      <member name="none" value="0" c:identifier="CH_ERROR_NONE">
      </member>
      <member name="unknown_cmd" value="1" c:identifier="CH_ERROR_UNKNOWN_CMD">
      </member>
      <member name="wrong_unlock_code"
              value="2"
              c:identifier="CH_ERROR_WRONG_UNLOCK_CODE">
      </member>
      <member name="not_implemented"
              value="3"
              c:identifier="CH_ERROR_NOT_IMPLEMENTED">
      </member>
      <member name="underflow_sensor"
              value="4"
              c:identifier="CH_ERROR_UNDERFLOW_SENSOR">
      </member>
      <member name="no_serial" value="5" c:identifier="CH_ERROR_NO_SERIAL">
      </member>
      <member name="watchdog" value="6" c:identifier="CH_ERROR_WATCHDOG">
      </member>
      <member name="invalid_address"
              value="7"
              c:identifier="CH_ERROR_INVALID_ADDRESS">
      </member>
      <member name="invalid_length"
              value="8"
              c:identifier="CH_ERROR_INVALID_LENGTH">
      </member>
      <member name="invalid_checksum"
              value="9"
              c:identifier="CH_ERROR_INVALID_CHECKSUM">
      </member>
      <member name="invalid_value"
              value="10"
              c:identifier="CH_ERROR_INVALID_VALUE">
      </member>
      <member name="unknown_cmd_for_bootloader"
              value="11"
              c:identifier="CH_ERROR_UNKNOWN_CMD_FOR_BOOTLOADER">
      </member>
      <member name="no_calibration"
              value="12"
              c:identifier="CH_ERROR_NO_CALIBRATION">
      </member>
      <member name="overflow_multiply"
              value="13"
              c:identifier="CH_ERROR_OVERFLOW_MULTIPLY">
      </member>
      <member name="overflow_addition"
              value="14"
              c:identifier="CH_ERROR_OVERFLOW_ADDITION">
      </member>
      <member name="overflow_sensor"
              value="15"
              c:identifier="CH_ERROR_OVERFLOW_SENSOR">
      </member>
      <member name="overflow_stack"
              value="16"
              c:identifier="CH_ERROR_OVERFLOW_STACK">
      </member>
      <member name="device_deactivated"
              value="17"
              c:identifier="CH_ERROR_DEVICE_DEACTIVATED">
      </member>
      <member name="incomplete_request"
              value="18"
              c:identifier="CH_ERROR_INCOMPLETE_REQUEST">
      </member>
      <member name="self_test_sensor"
              value="19"
              c:identifier="CH_ERROR_SELF_TEST_SENSOR">
      </member>
      <member name="self_test_red"
              value="20"
              c:identifier="CH_ERROR_SELF_TEST_RED">
      </member>
      <member name="self_test_green"
              value="21"
              c:identifier="CH_ERROR_SELF_TEST_GREEN">
      </member>
      <member name="self_test_blue"
              value="22"
              c:identifier="CH_ERROR_SELF_TEST_BLUE">
      </member>
      <member name="self_test_color_select"
              value="23"
              c:identifier="CH_ERROR_SELF_TEST_COLOR_SELECT">
      </member>
      <member name="self_test_multiplier"
              value="24"
              c:identifier="CH_ERROR_SELF_TEST_MULTIPLIER">
      </member>
      <member name="invalid_calibration"
              value="25"
              c:identifier="CH_ERROR_INVALID_CALIBRATION">
      </member>
      <member name="sram_failed"
              value="26"
              c:identifier="CH_ERROR_SRAM_FAILED">
      </member>
      <member name="out_of_memory"
              value="27"
              c:identifier="CH_ERROR_OUT_OF_MEMORY">
      </member>
      <member name="self_test_temperature"
              value="28"
              c:identifier="CH_ERROR_SELF_TEST_TEMPERATURE">
      </member>
      <member name="self_test_i2c"
              value="29"
              c:identifier="CH_ERROR_SELF_TEST_I2C">
      </member>
      <member name="self_test_adc_vdd"
              value="30"
              c:identifier="CH_ERROR_SELF_TEST_ADC_VDD">
      </member>
      <member name="self_test_adc_vss"
              value="31"
              c:identifier="CH_ERROR_SELF_TEST_ADC_VSS">
      </member>
      <member name="self_test_adc_vref"
              value="32"
              c:identifier="CH_ERROR_SELF_TEST_ADC_VREF">
      </member>
      <member name="i2c_slave_address"
              value="33"
              c:identifier="CH_ERROR_I2C_SLAVE_ADDRESS">
      </member>
      <member name="i2c_slave_config"
              value="34"
              c:identifier="CH_ERROR_I2C_SLAVE_CONFIG">
      </member>
      <member name="self_test_eeprom"
              value="35"
              c:identifier="CH_ERROR_SELF_TEST_EEPROM">
      </member>
    </enumeration>
    <constant name="FIRMWARE_ID_TOKEN1"
              value="40338ceb"
              c:type="CH_FIRMWARE_ID_TOKEN1">
      <source-position filename="lib/colorhug/ch-common.h" line="1479"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="FIRMWARE_ID_TOKEN2"
              value="2082b5e0"
              c:type="CH_FIRMWARE_ID_TOKEN2">
      <source-position filename="lib/colorhug/ch-common.h" line="1480"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="FIRMWARE_ID_TOKEN_ALS"
              value="84f40464"
              c:type="CH_FIRMWARE_ID_TOKEN_ALS">
      <source-position filename="lib/colorhug/ch-common.h" line="1481"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="FIRMWARE_ID_TOKEN_PLUS"
              value="6d6f05a9"
              c:type="CH_FIRMWARE_ID_TOKEN_PLUS">
      <source-position filename="lib/colorhug/ch-common.h" line="1482"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="FLASH_ERASE_BLOCK_SIZE"
              value="1024"
              c:type="CH_FLASH_ERASE_BLOCK_SIZE">
      <source-position filename="lib/colorhug/ch-common.h" line="1524"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="FLASH_RECONNECT_TIMEOUT"
              value="5000"
              c:type="CH_FLASH_RECONNECT_TIMEOUT">
      <source-position filename="lib/colorhug/ch-common.h" line="1527"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="FLASH_TRANSFER_BLOCK_SIZE"
              value="32"
              c:type="CH_FLASH_TRANSFER_BLOCK_SIZE">
      <source-position filename="lib/colorhug/ch-common.h" line="1526"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="FLASH_WRITE_BLOCK_SIZE"
              value="64"
              c:type="CH_FLASH_WRITE_BLOCK_SIZE">
      <source-position filename="lib/colorhug/ch-common.h" line="1525"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <enumeration name="FreqScale" c:type="ChFreqScale">
      <source-position filename="lib/colorhug/ch-common.h" line="1567"/>
      <member name="0" value="0" c:identifier="CH_FREQ_SCALE_0">
      </member>
      <member name="20" value="1" c:identifier="CH_FREQ_SCALE_20">
      </member>
      <member name="2" value="2" c:identifier="CH_FREQ_SCALE_2">
      </member>
      <member name="100" value="3" c:identifier="CH_FREQ_SCALE_100">
      </member>
    </enumeration>
    <constant name="INTEGRAL_TIME_VALUE_100MS"
              value="14848"
              c:type="CH_INTEGRAL_TIME_VALUE_100MS">
      <source-position filename="lib/colorhug/ch-common.h" line="1519"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="INTEGRAL_TIME_VALUE_200MS"
              value="29952"
              c:type="CH_INTEGRAL_TIME_VALUE_200MS">
      <source-position filename="lib/colorhug/ch-common.h" line="1520"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="INTEGRAL_TIME_VALUE_50MS"
              value="7936"
              c:type="CH_INTEGRAL_TIME_VALUE_50MS">
      <source-position filename="lib/colorhug/ch-common.h" line="1518"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="INTEGRAL_TIME_VALUE_5MS"
              value="768"
              c:type="CH_INTEGRAL_TIME_VALUE_5MS">
      <source-position filename="lib/colorhug/ch-common.h" line="1517"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="INTEGRAL_TIME_VALUE_MAX"
              value="65535"
              c:type="CH_INTEGRAL_TIME_VALUE_MAX">
      <source-position filename="lib/colorhug/ch-common.h" line="1521"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="Illuminant" c:type="ChIlluminant">
      <source-position filename="lib/colorhug/ch-common.h" line="1559"/>
      <member name="none" value="0" c:identifier="CH_ILLUMINANT_NONE">
      </member>
      <member name="a" value="1" c:identifier="CH_ILLUMINANT_A">
      </member>
      <member name="uv" value="2" c:identifier="CH_ILLUMINANT_UV">
      </member>
    </bitfield>
    <enumeration name="MeasureMode" c:type="ChMeasureMode">
      <source-position filename="lib/colorhug/ch-common.h" line="1615"/>
      <member name="frequency"
              value="0"
              c:identifier="CH_MEASURE_MODE_FREQUENCY">
      </member>
      <member name="duration"
              value="1"
              c:identifier="CH_MEASURE_MODE_DURATION">
      </member>
    </enumeration>
    <constant name="OWNER_LENGTH_MAX" value="60" c:type="CH_OWNER_LENGTH_MAX">
      <source-position filename="lib/colorhug/ch-common.h" line="62"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="PcbErrata" c:type="ChPcbErrata">
      <source-position filename="lib/colorhug/ch-common.h" line="1624"/>
      <member name="none" value="0" c:identifier="CH_PCB_ERRATA_NONE">
      </member>
      <member name="swapped_leds"
              value="1"
              c:identifier="CH_PCB_ERRATA_SWAPPED_LEDS">
      </member>
      <member name="no_welcome"
              value="2"
              c:identifier="CH_PCB_ERRATA_NO_WELCOME">
      </member>
    </bitfield>
    <record name="Sha1" c:type="ChSha1">
      <source-position filename="lib/colorhug/ch-hash.h" line="36"/>
      <field name="bytes" writable="1">
        <array zero-terminated="0" fixed-size="20">
          <type name="guint8" c:type="guint8"/>
        </array>
      </field>
      <method name="to_string"
              c:identifier="ch_sha1_to_string"
              version="0.1.29">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-hash.c"
             line="29">Gets a string representation of the SHA1 hash.</doc>
        <source-position filename="lib/colorhug/ch-hash.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-hash.c"
               line="35">A string, free with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="sha1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-hash.c"
                 line="31">A %ChSha1</doc>
            <type name="Sha1" c:type="const ChSha1*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="parse"
                c:identifier="ch_sha1_parse"
                version="0.1.29"
                throws="1">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-hash.c"
             line="56">Parses a SHA1 hash from a string value.</doc>
        <source-position filename="lib/colorhug/ch-hash.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-hash.c"
               line="64">%TRUE for success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-hash.c"
                 line="58">A string representation of the SHA1 hash</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="sha1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lib/colorhug/ch-hash.c"
                 line="59">A %ChSha1</doc>
            <type name="Sha1" c:type="ChSha1*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <enumeration name="SpectrumKind" c:type="ChSpectrumKind">
      <source-position filename="lib/colorhug/ch-common.h" line="1647"/>
      <member name="raw" value="0" c:identifier="CH_SPECTRUM_KIND_RAW">
      </member>
      <member name="dark_cal"
              value="1"
              c:identifier="CH_SPECTRUM_KIND_DARK_CAL">
      </member>
      <member name="temp_cal"
              value="2"
              c:identifier="CH_SPECTRUM_KIND_TEMP_CAL">
      </member>
      <member name="irradiance_cal"
              value="3"
              c:identifier="CH_SPECTRUM_KIND_IRRADIANCE_CAL">
      </member>
      <member name="last" value="4" c:identifier="CH_SPECTRUM_KIND_LAST">
      </member>
    </enumeration>
    <bitfield name="StatusLed" c:type="ChStatusLed">
      <source-position filename="lib/colorhug/ch-common.h" line="1550"/>
      <member name="green" value="1" c:identifier="CH_STATUS_LED_GREEN">
      </member>
      <member name="red" value="2" c:identifier="CH_STATUS_LED_RED">
      </member>
      <member name="blue" value="4" c:identifier="CH_STATUS_LED_BLUE">
      </member>
    </bitfield>
    <constant name="USB_CONFIG" value="1" c:type="CH_USB_CONFIG">
      <source-position filename="lib/colorhug/ch-common.h" line="47"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_HID_EP" value="1" c:type="CH_USB_HID_EP">
      <source-position filename="lib/colorhug/ch-common.h" line="49"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_HID_EP_IN" value="128" c:type="CH_USB_HID_EP_IN">
      <source-position filename="lib/colorhug/ch-common.h" line="50"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_HID_EP_OUT" value="0" c:type="CH_USB_HID_EP_OUT">
      <source-position filename="lib/colorhug/ch-common.h" line="51"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_HID_EP_SIZE" value="64" c:type="CH_USB_HID_EP_SIZE">
      <source-position filename="lib/colorhug/ch-common.h" line="52"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_INTERFACE" value="0" c:type="CH_USB_INTERFACE">
      <source-position filename="lib/colorhug/ch-common.h" line="48"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_BOOTLOADER"
              value="4096"
              c:type="CH_USB_PID_BOOTLOADER">
      <source-position filename="lib/colorhug/ch-common.h" line="36"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_BOOTLOADER2"
              value="4101"
              c:type="CH_USB_PID_BOOTLOADER2">
      <source-position filename="lib/colorhug/ch-common.h" line="38"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_BOOTLOADER_ALS"
              value="4102"
              c:type="CH_USB_PID_BOOTLOADER_ALS">
      <source-position filename="lib/colorhug/ch-common.h" line="39"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_BOOTLOADER_DFU"
              value="4106"
              c:type="CH_USB_PID_BOOTLOADER_DFU">
      <source-position filename="lib/colorhug/ch-common.h" line="37"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_BOOTLOADER_PLUS"
              value="4099"
              c:type="CH_USB_PID_BOOTLOADER_PLUS">
      <source-position filename="lib/colorhug/ch-common.h" line="40"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_FIRMWARE"
              value="4097"
              c:type="CH_USB_PID_FIRMWARE">
      <source-position filename="lib/colorhug/ch-common.h" line="41"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_FIRMWARE2"
              value="4100"
              c:type="CH_USB_PID_FIRMWARE2">
      <source-position filename="lib/colorhug/ch-common.h" line="43"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_FIRMWARE_ALS"
              value="4103"
              c:type="CH_USB_PID_FIRMWARE_ALS">
      <source-position filename="lib/colorhug/ch-common.h" line="44"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_FIRMWARE_ALS_SENSOR_HID"
              value="4104"
              c:type="CH_USB_PID_FIRMWARE_ALS_SENSOR_HID">
      <source-position filename="lib/colorhug/ch-common.h" line="45"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_FIRMWARE_DFU"
              value="4105"
              c:type="CH_USB_PID_FIRMWARE_DFU">
      <source-position filename="lib/colorhug/ch-common.h" line="42"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_FIRMWARE_PLUS"
              value="4098"
              c:type="CH_USB_PID_FIRMWARE_PLUS">
      <source-position filename="lib/colorhug/ch-common.h" line="46"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_PID_LEGACY" value="63706" c:type="CH_USB_PID_LEGACY">
      <source-position filename="lib/colorhug/ch-common.h" line="56"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_VID" value="10047" c:type="CH_USB_VID">
      <source-position filename="lib/colorhug/ch-common.h" line="35"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="USB_VID_LEGACY" value="1240" c:type="CH_USB_VID_LEGACY">
      <source-position filename="lib/colorhug/ch-common.h" line="55"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="WRITE_EEPROM_MAGIC"
              value="Un1c0rn2"
              c:type="CH_WRITE_EEPROM_MAGIC">
      <source-position filename="lib/colorhug/ch-common.h" line="1478"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function name="color_select_to_string"
              c:identifier="ch_color_select_to_string"
              version="0.1.29">
      <source-position filename="lib/colorhug/ch-common.h" line="1655"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="color_select" transfer-ownership="none">
          <type name="ColorSelect" c:type="ChColorSelect"/>
        </parameter>
      </parameters>
    </function>
    <function name="command_to_string"
              c:identifier="ch_command_to_string"
              version="0.1.29">
      <source-position filename="lib/colorhug/ch-common.h" line="1653"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="cmd" transfer-ownership="none">
          <type name="Cmd" c:type="ChCmd"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_check_firmware"
              c:identifier="ch_device_check_firmware"
              version="1.2.3"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="765">Checks the firmware is suitable for the ColorHug device that is attached.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="70"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="772">%TRUE if the command was executed successfully.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="767">firmware binary data</doc>
          <array length="2" zero-terminated="0" c:type="const guint8*">
            <type name="guint8" c:type="guint8"/>
          </array>
        </parameter>
        <parameter name="data_len" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="768">size of @data</doc>
          <type name="gsize" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_close"
              c:identifier="ch_device_close"
              version="1.2.11"
              throws="1">
      <source-position filename="lib/colorhug/ch-device.h" line="43"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_error_quark"
              c:identifier="ch_device_error_quark"
              version="0.1.1">
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="36">ChDevice error quark.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="device_get_adc_calibration_neg"
              c:identifier="ch_device_get_adc_calibration_neg"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1958">Gets the ADC positive calibration value.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="149"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1967">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1960">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1961">offset value</doc>
          <type name="gdouble" c:type="gdouble*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1962">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_adc_calibration_pos"
              c:identifier="ch_device_get_adc_calibration_pos"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1897">Gets the ADC positive calibration value.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="145"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1906">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1899">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1900">offset value</doc>
          <type name="gdouble" c:type="gdouble*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1901">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_ccd_calibration"
              c:identifier="ch_device_get_ccd_calibration"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1618">Gets any PCB wavelength_cal from the device.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="126"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1626">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1620">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="nm_start" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble*"/>
        </parameter>
        <parameter name="c0" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble*"/>
        </parameter>
        <parameter name="c1" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble*"/>
        </parameter>
        <parameter name="c2" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1621">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_error"
              c:identifier="ch_device_get_error"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2019">Gets the status for the last operation.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="153"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2029">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2021">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="status"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2022">a #ChError, e.g. %CH_ERROR_INVALID_ADDRESS</doc>
          <type name="Error" c:type="ChError*"/>
        </parameter>
        <parameter name="cmd"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2023">a #ChCmd, e.g. %CH_CMD_TAKE_READING_SPECTRAL</doc>
          <type name="Cmd" c:type="ChCmd*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2024">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_guid"
              c:identifier="ch_device_get_guid"
              version="1.2.9">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="877">Returns the GUID for the connected ColorHug device.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="76"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="883">the GUID address, or %NULL for error</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="879">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_illuminants"
              c:identifier="ch_device_get_illuminants"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1301">Gets the illuminants from the device.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="103"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1310">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1303">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1304">serial number</doc>
          <type name="Illuminant" c:type="ChIlluminant*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1305">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_integral_time"
              c:identifier="ch_device_get_integral_time"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1748">Gets the integration time used for taking the next samples.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="137"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1757">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1750">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1751">integration time in ms</doc>
          <type name="guint16" c:type="guint16*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1752">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_leds"
              c:identifier="ch_device_get_leds"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1190">Gets the LEDs from the device.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="95"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1199">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1192">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1193">serial number</doc>
          <type name="StatusLed" c:type="ChStatusLed*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1194">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_mode"
              c:identifier="ch_device_get_mode"
              version="0.1.29">
      <source-position filename="lib/colorhug/ch-device.h" line="47"/>
      <return-value transfer-ownership="none">
        <type name="DeviceMode" c:type="ChDeviceMode"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_pcb_errata"
              c:identifier="ch_device_get_pcb_errata"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1427">Gets any PCB errata from the device.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="111"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1436">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1429">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1430">#ChPcbErrata, e.g. %CH_PCB_ERRATA_SWAPPED_LEDS</doc>
          <type name="PcbErrata" c:type="ChPcbErrata*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1431">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_runcode_address"
              c:identifier="ch_device_get_runcode_address"
              version="1.2.9">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="846">Returns the runcode address for the ColorHug device.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="75"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="852">the runcode address, or 0 for error</doc>
        <type name="guint16" c:type="guint16"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="848">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_serial_number"
              c:identifier="ch_device_get_serial_number"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1066">Gets the serial number from the device.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="87"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1075">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1068">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1069">serial number</doc>
          <type name="guint32" c:type="guint32*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1070">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_spectrum"
              c:identifier="ch_device_get_spectrum"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2511">Gets the spectrum from the device. This queries the device multiple times
until the spectrum has been populated.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="166"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2520">a #CdSpectrum, or %NULL for error</doc>
        <type name="Colord.Spectrum" c:type="CdSpectrum*"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2513">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2514">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_spectrum_full"
              c:identifier="ch_device_get_spectrum_full"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2428">Gets the spectrum from the device. This queries the device multiple times
until the spectrum has been populated.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="169"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2438">a #CdSpectrum, or %NULL for error</doc>
        <type name="Colord.Spectrum" c:type="CdSpectrum*"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2430">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="kind" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2431">A #ChSpectrumKind</doc>
          <type name="SpectrumKind" c:type="ChSpectrumKind"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2432">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_get_temperature"
              c:identifier="ch_device_get_temperature"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1820">Gets the PCB board temperature from the device.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="141"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1829">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1822">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1823">temperature in Celsius</doc>
          <type name="gdouble" c:type="gdouble*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1824">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_is_colorhug"
              c:identifier="ch_device_is_colorhug"
              version="0.1.29">
      <source-position filename="lib/colorhug/ch-device.h" line="46"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_load_sram"
              c:identifier="ch_device_load_sram"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2583">Loads the entire SRAM from the device EEPROM.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="178"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2591">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2585">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2586">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_mode_from_firmware"
              c:identifier="ch_device_mode_from_firmware"
              version="1.2.3">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-common.c"
           line="449">Gets the device mode from the unique code stored in the firmware data.
The firmware identifier has been present since colorhug-1.2.2.bin for
ColorHug and all firmware versions for ColorHug2 and ColorHug+.</doc>
      <source-position filename="lib/colorhug/ch-common.h" line="1658"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-common.c"
             line="458">A #ChDeviceMode</doc>
        <type name="DeviceMode" c:type="ChDeviceMode"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-common.c"
               line="451">firmware binary data</doc>
          <array length="1" zero-terminated="0" c:type="const guint8*">
            <type name="guint8" c:type="guint8"/>
          </array>
        </parameter>
        <parameter name="data_len" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-common.c"
               line="452">size of @data</doc>
          <type name="gsize" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_mode_to_string"
              c:identifier="ch_device_mode_to_string"
              version="0.1.29">
      <source-position filename="lib/colorhug/ch-common.h" line="1657"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="device_mode" transfer-ownership="none">
          <type name="DeviceMode" c:type="ChDeviceMode"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_open"
              c:identifier="ch_device_open"
              version="0.1.29"
              throws="1">
      <source-position filename="lib/colorhug/ch-device.h" line="40"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_open_full"
              c:identifier="ch_device_open_full"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2084">Opens the device ready for use.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="77"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2092">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2086">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2087">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_read_sram"
              c:identifier="ch_device_read_sram"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2700">Reads a value from the SRAM.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="184"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2708">%TRUE for success</doc>
        <type name="GLib.Bytes" c:type="GBytes*"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2702">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="addr" transfer-ownership="none">
          <type name="guint16" c:type="guint16"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="guint16" c:type="guint16"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2703">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_save_sram"
              c:identifier="ch_device_save_sram"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2531">Saves the entire SRAM space into the device EEPROM.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="181"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2539">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2533">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2534">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_self_test"
              c:identifier="ch_device_self_test"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="962">Performs a self test on the device</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="80"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="970">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="964">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="965">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_set_ccd_calibration"
              c:identifier="ch_device_set_ccd_calibration"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1499">Sets any PCB wavelength_cal on the device</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="115"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1507">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1501">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="nm_start" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
        <parameter name="c0" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
        <parameter name="c1" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
        <parameter name="c2" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1502">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_set_crypto_key"
              c:identifier="ch_device_set_crypto_key"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1562">Sets the firmware signing keys on the device.

IMPORTANT: This can only be called once until the device is unlocked.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="122"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1573">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1564">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="keys" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1565">a set of XTEA keys</doc>
          <type name="guint32" c:type="guint32*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1566">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_set_illuminants"
              c:identifier="ch_device_set_illuminants"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1262">Sets the illuminants on the device</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="99"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1271">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1264">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1265">serial number</doc>
          <type name="Illuminant" c:type="ChIlluminant"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1266">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_set_integral_time"
              c:identifier="ch_device_set_integral_time"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1692">Sets the integration value for the next sample.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="133"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1701">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1694">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1695">integration time in ms</doc>
          <type name="guint16" c:type="guint16"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1696">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_set_leds"
              c:identifier="ch_device_set_leds"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1138">Sets the LEDs on the device</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="91"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1147">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1140">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1141">serial number</doc>
          <type name="StatusLed" c:type="ChStatusLed"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1142">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_set_pcb_errata"
              c:identifier="ch_device_set_pcb_errata"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1362">Sets any PCB errata on the device</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="107"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1371">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1364">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1365">#ChPcbErrata, e.g. %CH_PCB_ERRATA_SWAPPED_LEDS</doc>
          <type name="PcbErrata" c:type="ChPcbErrata"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1366">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_set_serial_number"
              c:identifier="ch_device_set_serial_number"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="1013">Sets the serial number on the device</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="83"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="1022">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1015">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1016">serial number</doc>
          <type name="guint32" c:type="guint32"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="1017">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_set_spectrum_full"
              c:identifier="ch_device_set_spectrum_full"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2319">Sets the spectrum from the device. This sends data multiple multiple times
until the spectrum has been populated.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="173"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2330">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2321">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="kind" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2322">A #ChSpectrumKind</doc>
          <type name="SpectrumKind" c:type="ChSpectrumKind"/>
        </parameter>
        <parameter name="sp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2323">A #CdSpectrum</doc>
          <type name="Colord.Spectrum" c:type="CdSpectrum*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2324">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_take_reading_spectral"
              c:identifier="ch_device_take_reading_spectral"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2175">Takes a reading from the device.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="158"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2184">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2177">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2178">a #ChSpectrumKind, e.g. %CH_SPECTRUM_KIND_RAW</doc>
          <type name="SpectrumKind" c:type="ChSpectrumKind"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2179">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_take_reading_xyz"
              c:identifier="ch_device_take_reading_xyz"
              version="1.3.1"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2225">Takes a reading from the device and returns the XYZ value.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="162"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2234">a #CdColorXYZ, or %NULL for error</doc>
        <type name="Colord.ColorXYZ" c:type="CdColorXYZ*"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2227">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="calibration_idx" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2228">A calibration index or 0 for none</doc>
          <type name="guint16" c:type="guint16"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2229">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_write_command"
              c:identifier="ch_device_write_command"
              version="0.1.29"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="713">Sends a message to the device and waits for a reply.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="61"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="726">%TRUE if the command was executed successfully.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="715">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="cmd" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="716">The command to use, e.g. %CH_CMD_GET_COLOR_SELECT</doc>
          <type name="guint8" c:type="guint8"/>
        </parameter>
        <parameter name="buffer_in" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="717">The input buffer of data, or %NULL</doc>
          <type name="guint8" c:type="const guint8*"/>
        </parameter>
        <parameter name="buffer_in_len" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="718">The input buffer length</doc>
          <type name="gsize" c:type="gsize"/>
        </parameter>
        <parameter name="buffer_out" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="719">The output buffer of data, or %NULL</doc>
          <type name="guint8" c:type="guint8*"/>
        </parameter>
        <parameter name="buffer_out_len" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="720">The output buffer length</doc>
          <type name="gsize" c:type="gsize"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="721">A #GCancellable or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_write_command_async"
              c:identifier="ch_device_write_command_async"
              version="0.1.29">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="549">Sends a message to the device and waits for a reply.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="48"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="551">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="cmd" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="552">The command to use, e.g. %CH_CMD_GET_COLOR_SELECT</doc>
          <type name="guint8" c:type="guint8"/>
        </parameter>
        <parameter name="buffer_in" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="553">The input buffer of data, or %NULL</doc>
          <type name="guint8" c:type="const guint8*"/>
        </parameter>
        <parameter name="buffer_in_len" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="554">The input buffer length</doc>
          <type name="gsize" c:type="gsize"/>
        </parameter>
        <parameter name="buffer_out" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="555">The output buffer of data, or %NULL</doc>
          <type name="guint8" c:type="guint8*"/>
        </parameter>
        <parameter name="buffer_out_len" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="556">The output buffer length</doc>
          <type name="gsize" c:type="gsize"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="557">A #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
        <parameter name="callback"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="async"
                   closure="8">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="558">A #GAsyncReadyCallback that will be called when finished.</doc>
          <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="559">User data passed to @callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_write_command_finish"
              c:identifier="ch_device_write_command_finish"
              version="0.1.29"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="177">Gets the result from the asynchronous function.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="57"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="185">%TRUE if the request was fulfilled.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="179">a #GUsbDevice instance.</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="res" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="180">the #GAsyncResult</doc>
          <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
        </parameter>
      </parameters>
    </function>
    <function name="device_write_sram"
              c:identifier="ch_device_write_sram"
              version="1.3.4"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-device.c"
           line="2635">Loads the entire SRAM from the device EEPROM.</doc>
      <source-position filename="lib/colorhug/ch-device.h" line="189"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-device.c"
             line="2644">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2637">A #GUsbDevice</doc>
          <type name="GUsb.Device" c:type="GUsbDevice*"/>
        </parameter>
        <parameter name="addr" transfer-ownership="none">
          <type name="guint16" c:type="guint16"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2638">A #GBytes</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-device.c"
               line="2639">a #GCancellable, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="measure_mode_to_string"
              c:identifier="ch_measure_mode_to_string"
              version="0.1.29">
      <source-position filename="lib/colorhug/ch-common.h" line="1656"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="measure_mode" transfer-ownership="none">
          <type name="MeasureMode" c:type="ChMeasureMode"/>
        </parameter>
      </parameters>
    </function>
    <function name="multiplier_to_string"
              c:identifier="ch_multiplier_to_string"
              version="0.1.29">
      <source-position filename="lib/colorhug/ch-common.h" line="1654"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="multiplier" transfer-ownership="none">
          <type name="FreqScale" c:type="ChFreqScale"/>
        </parameter>
      </parameters>
    </function>
    <function name="sha1_parse"
              c:identifier="ch_sha1_parse"
              moved-to="Sha1.parse"
              version="0.1.29"
              throws="1">
      <doc xml:space="preserve"
           filename="lib/colorhug/ch-hash.c"
           line="56">Parses a SHA1 hash from a string value.</doc>
      <source-position filename="lib/colorhug/ch-hash.h" line="39"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lib/colorhug/ch-hash.c"
             line="64">%TRUE for success</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-hash.c"
               line="58">A string representation of the SHA1 hash</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="sha1" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lib/colorhug/ch-hash.c"
               line="59">A %ChSha1</doc>
          <type name="Sha1" c:type="ChSha1*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strerror" c:identifier="ch_strerror" version="0.1.29">
      <source-position filename="lib/colorhug/ch-common.h" line="1652"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="error_enum" transfer-ownership="none">
          <type name="Error" c:type="ChError"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
