Updatable

The Updatable element represents an updatable entity such as a firmware binary or lookup table data, providing functions to query its version and to get or set its contents.

Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<Controller Name="Arcas 5EG-0">
  <Template Name="PositionControlTemplate" TemplateType="ProcessingBlock">
    <Updatable Name="Updatable">
      <FilePath>PositionControlSimple-windows-x86_64.bin</FilePath>
    </Updatable>
  </Template>

  <Updatable Name="PersistentStorage0">
    <Content>
      RGl0IGlzIGVlbiB0ZXN0IG9tIGVlbiBiYXNlIDY0IGZvcm1hdCBzdHJpbmcgdGUgdmVya3Jpamdlbg==
    </Content>
  </Updatable>
</Controller>

Note

  • The content of the updatable can be set using an absolute or relative path. Alternatively, a binary encoded as a Base64-string can be used. Both methods can be under controller and sub-controller.

  • Setting/loading the content of an updatable is not reversible: When an error occurs during setting/loading the content, the original content is destroyed.

XML schema

Complex type UpdatableType
1
2
3
4
5
6
7
8
<xs:complexType name="UpdatableType">
  <xs:choice minOccurs="0" maxOccurs="1">
    <xs:element name="FilePath" type="PathType"/>
    <xs:element name="Content" type="xs:base64Binary"/>
    <xs:element name="Variant" type="UpdatableVariantType"/>
  </xs:choice>
  <xs:attribute name="Name" type="xs:string" use="required"/>
</xs:complexType>

Attribute

Description

Name

Used to define a name for an updatable.

Complex type UpdatableVariantType
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<xs:complexType name="UpdatableVariantType">
  <xs:complexContent>
    <xs:extension base="BaseVariantType">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="FilePath" type="PathType"/>
        <xs:element name="Content" type="xs:base64Binary"/>
        <xs:element name="Variant" type="UpdatableVariantType"/>
      </xs:choice>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
Simple type PathType
1
2
3
4
5
6
7
<xs:complexType name="PathType">
  <xs:simpleContent>
    <xs:extension base='xs:string'>
      <xs:attribute name="RelativeTo" type="RelativeToType" use="optional" default="CurrentWorkingDirectory"/>
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>
Simple type RelativeToType
1
2
3
4
5
6
<xs:simpleType name="RelativeToType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="CurrentWorkingDirectory"/>
    <xs:enumeration value="File"/>
  </xs:restriction>
</xs:simpleType>