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

Чтобы указать информацию о конкретном устройстве в файле 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>