Определение информации об устройстве

Чтобы указать информацию о конкретном устройстве в файле IMDF, используйте Device элемент. Можно включать как многих Device узлы в файле IMDF, как вы хотите, но они должны все быть дочерними элементами корневого узла.

В Device узел, вы задаете имя устройства как атрибут. Имя обычно является вектором символов, заданным SDK устройства. Используя другие элементы IMDF как дочерние элементы Device узел, можно указать информацию о специфичных для устройства свойствах, форматах видео, и инициировать информацию.

Следующий пример обрисовывает в общих чертах, как использовать эти элементы, чтобы создать Device узлы. Слова курсивом представляют текст, который вы задаете.

<ImageAcquisitionInfo>
	<Device device=devicename>
		<VideoFormat name=formatname>
		</VideoFormat>
		
		<Property constraint=constraint_value
				 deviceSpecific=true_or_false
				 name=property_name
				 readOnly=always_never_or_whileRunning
				 type=cell_double_int_or_string
				 min=minimum_value
				 max=maximum_value
				 optional=on_or_off
				 default=default_value>
		</Property>

		<TriggerInfo>
			<TriggerSource id=ID name=string>
				<TriggerCondition id=ID name=string/>
			</TriggerSource>
		</TriggerInfo
	</Device>
	.
	.
	.
</ImageAcquisitionInfo>

Следующая таблица обобщает элементы, которые могут быть дочерними элементами Узла устройства в порядке, они должны быть заданы. Для примера смотрите Пример: Узел устройства.

Элемент

Описание

Атрибуты

<VideoFormat>

Указывает информацию о формате видео. Это - дополнительный элемент. Device узел может содержать несколько VideoFormat узлы.

name=formatname, где formatname является вектором символов, который идентифицирует конкретное устройство

<Include>

Включайте Section узел в другом узле. Это - дополнительный элемент. Device узел может содержать несколько Include узлы.

tag=sectionname, где sectionname является вектором символов, который идентифицирует конкретный Section узел

<Section>

Группирует набор узлов в Section узел. Это - дополнительный элемент. Device узел может содержать несколько Section узлы.

name=sectionname, где sectionname является именем, вы хотите присвоить группе узлов

<Property>

Описывает свойства устройства. Это - дополнительный элемент. Device узел может содержать несколько Property узлы.

Смотрите указывающую информацию свойства.

<Source>

Задает источник видеоданных. Это - дополнительный элемент.

Смотрите источники видеосигнала определения

<TriggerInfo>

Предоставляет информацию об аппаратных триггерах, таких как источник и условие. Это - дополнительный элемент.

Примечание: Device узел может содержать только один TriggerInfo узел.

Смотрите указывающую аппаратную триггерную информацию.

Пример: узел устройства

Следующий пример создает Device узел, содержащий свойство и информацию о триггере. Для получения дополнительной информации о Property элемент, смотрите Указывающую информацию Свойства. Для получения дополнительной информации о TriggerInfo элемент, смотрите Указывающую Аппаратную Триггерную информацию.

<Device name="PCVision">
   <Property optional="on"
             constraint="enum"
             deviceSpecific="true"
             name="SyncSource"
             readOnly="whileRunning" 
             type="string">
      <EnumConstraintValue id="1" name="strippedSync" />
      <EnumConstraintValue id="2" name="separateSync" />
      <EnumConstraintValue id="3" name="compositeSync" />
      <EnumConstraintValue id="4" name="variableScan" />
   </Property>

   <Property optional="on"
             constraint="enum"
             deviceSpecific="true"
             name="FieldStart"
             readOnly="whileRunning" 
             type="string">
      <EnumConstraintValue id="0" name="evenField" />
      <EnumConstraintValue id="1" name="oddField" />
   </Property>

   <TriggerInfo>
      <TriggerSource id="1" name="extTrig">
         <TriggerCondition id="0" name="risingEdge"/>
         <TriggerCondition id="1" name="fallingEdge"/>
      </TriggerSource>
   </TriggerInfo>
</Device>