diff options
| author | nicolas.zilio@hotmail.fr <> | 2015-09-14 15:49:46 +0200 | 
|---|---|---|
| committer | nicolas.zilio@hotmail.fr <> | 2015-09-14 15:49:46 +0200 | 
| commit | a1bf5e300e2345b642d0a13e7e26d22c56156e47 (patch) | |
| tree | 35f55b62ab50bfbbb47bd8911aa3ca24c405e0a1 /xml | |
| parent | 2dfb23016c39a331bf5ed4111b630dffa330edbb (diff) | |
| download | pcitool-a1bf5e300e2345b642d0a13e7e26d22c56156e47.tar.gz pcitool-a1bf5e300e2345b642d0a13e7e26d22c56156e47.tar.bz2 pcitool-a1bf5e300e2345b642d0a13e7e26d22c56156e47.tar.xz pcitool-a1bf5e300e2345b642d0a13e7e26d22c56156e47.zip | |
views with units functionnal (beware, as formulas are completely crap now, we could get segfault, for example if we want to write a negative value in register)
Diffstat (limited to 'xml')
| -rw-r--r-- | xml/model.xsd | 24 | ||||
| -rw-r--r-- | xml/test/camera.xml | 34 | 
2 files changed, 57 insertions, 1 deletions
| diff --git a/xml/model.xsd b/xml/model.xsd index 5febd1a..cd0b4b0 100644 --- a/xml/model.xsd +++ b/xml/model.xsd @@ -4,8 +4,9 @@      <xsd:element name="model">          <xsd:complexType>              <xsd:sequence> -                <xsd:element name="banks" type="banks_type"/> +                <xsd:element name="banks" type="banks_type" minOccurs="0" maxOccurs="1"/>                  <xsd:element name="views" type="views_type" minOccurs="0" maxOccurs="1"/> +                <xsd:element name="units" type="units_type" minOccurs="0" maxOccurs="1"/>              </xsd:sequence>          </xsd:complexType>          <xsd:key name="Registerkey"> @@ -107,8 +108,29 @@              <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>              <xsd:element name="views" type="reg_to_views_type" minOccurs="0" maxOccurs="1"/>          </xsd:sequence> +    </xsd:complexType> +    <xsd:complexType name="units_type"> +      <xsd:sequence maxOccurs="unbounded"> +	<xsd:element name="unit" type="unit_type"/> +      </xsd:sequence>      </xsd:complexType> + + +  <xsd:complexType name="unit_type"> +    <xsd:sequence maxOccurs="unbounded"> +      <xsd:element name="convert_unit" type="convert_unit_type"/> +    </xsd:sequence> +    <xsd:attribute name="name" type="xsd:string"/> +  </xsd:complexType> + +  <xsd:complexType name="convert_unit_type"> +    <xsd:simpleContent> +      <xsd:extension base="xsd:string"> +	<xsd:attribute name="value" type="xsd:string"/> +      </xsd:extension> +    </xsd:simpleContent> +  </xsd:complexType>      <xsd:simpleType name="uint8_t">          <xsd:restriction base="xsd:integer"> diff --git a/xml/test/camera.xml b/xml/test/camera.xml index bf26d80..ed01014 100644 --- a/xml/test/camera.xml +++ b/xml/test/camera.xml @@ -491,4 +491,38 @@  	<description>enum towards cmosis_exp_register register</description>      </view>    </views> +  <units> +    <unit name="C"> +      <convert_unit value="K">@self+273.15</convert_unit> +      <convert_unit value="F">@self*(9./5)+32</convert_unit> +    </unit> +    <unit name="K"> +      <convert_unit value="C">@self-273.15</convert_unit> +      <convert_unit value="F">(@self-273.15)*(9./5)+32</convert_unit> +    </unit> +    <unit name="F"> +      <convert_unit value="C">(@self-32)*5./9</convert_unit> +      <convert_unit value="K">(@self+273.15-32)*5./9</convert_unit> +    </unit> +    <unit name="s"> +      <convert_unit value="ms">@self*1000</convert_unit> +      <convert_unit value="us">@self*1000000</convert_unit> +      <convert_unit value="ns">@self*1000000000</convert_unit> +    </unit> +    <unit name="ms"> +      <convert_unit value="s">@self/1000</convert_unit> +      <convert_unit value="us">@self*1000</convert_unit> +      <convert_unit value="ns">@self*1000000</convert_unit> +    </unit> +    <unit name="us"> +      <convert_unit value="s">@self/1000000</convert_unit> +      <convert_unit value="ms">@self/1000</convert_unit> +      <convert_unit value="ns">@self*1000</convert_unit> +    </unit> +    <unit name="ns"> +      <convert_unit value="s">@self/1000000000</convert_unit> +      <convert_unit value="ms">@self/1000000</convert_unit> +      <convert_unit value="us">@self/1000</convert_unit> +    </unit> +  </units>  </model> | 
