--- a +++ b/tags/v1.0.0.0/CfUnitTimedTestExample.project.xml @@ -0,0 +1,607 @@ +<?xml version="1.0" encoding="utf-8"?> +<project xmlns="http://www.plcopen.org/xml/tc6_0200"> + <fileHeader companyName="" productName="CODESYS" productVersion="CODESYS V3.5 SP14 Patch 2" creationDateTime="2019-08-31T20:36:36.201118" /> + <contentHeader name="CfUnitTimedTestExample.project" modificationDateTime="2019-08-31T18:41:02.3508983"> + <coordinateInfo> + <fbd> + <scaling x="1" y="1" /> + </fbd> + <ld> + <scaling x="1" y="1" /> + </ld> + <sfc> + <scaling x="1" y="1" /> + </sfc> + </coordinateInfo> + <addData> + <data name="http://www.3s-software.com/plcopenxml/projectinformation" handleUnknown="implementation"> + <ProjectInformation> + <property name="Project" type="string">CfUnitTimedTestExample</property> + </ProjectInformation> + </data> + </addData> + </contentHeader> + <types> + <dataTypes /> + <pous /> + </types> + <instances> + <configurations> + <configuration name="Device"> + <resource name="Application"> + <task name="MainTask" interval="PT0.02S" priority="1"> + <pouInstance name="MAIN" typeName=""> + <documentation> + <xhtml xmlns="http://www.w3.org/1999/xhtml" /> + </documentation> + </pouInstance> + <addData> + <data name="http://www.3s-software.com/plcopenxml/tasksettings" handleUnknown="implementation"> + <TaskSettings KindOfTask="Cyclic" Interval="t#20ms" IntervalUnit="ms" WithinSPSTimeSlicing="true"> + <Watchdog Enabled="false" TimeUnit="ms" Sensitivity="1" /> + </TaskSettings> + </data> + </addData> + </task> + <addData> + <data name="http://www.3s-software.com/plcopenxml/pou" handleUnknown="implementation"> + <pou name="FB_Timer" pouType="functionBlock"> + <interface> + <inputVars> + <variable name="xSwitch"> + <type> + <BOOL /> + </type> + </variable> + <variable name="xOff"> + <type> + <BOOL /> + </type> + </variable> + <variable name="tDuration"> + <type> + <TIME /> + </type> + <initialValue> + <simpleValue value="TIME#10s0ms" /> + </initialValue> + </variable> + </inputVars> + <outputVars> + <variable name="xOut"> + <type> + <BOOL /> + </type> + </variable> + </outputVars> + <localVars> + <variable name="tonDuration"> + <type> + <derived name="TON" /> + </type> + </variable> + <variable name="rtrigSwitch"> + <type> + <derived name="R_TRIG" /> + </type> + </variable> + <variable name="rtrigOff"> + <type> + <derived name="R_TRIG" /> + </type> + </variable> + <variable name="bStart"> + <type> + <BOOL /> + </type> + </variable> + </localVars> + </interface> + <body> + <ST> + <xhtml xmlns="http://www.w3.org/1999/xhtml">rtrigSwitch(CLK := xSwitch); +IF (rtrigSwitch.Q) THEN + bStart := TRUE; + xOut := TRUE; + tonDuration(IN := FALSE); +END_IF + +rtrigOff(CLK := xOff); +IF (rtrigOff.Q) THEN + bStart := FALSE; + xOut := FALSE; + tonDuration(IN := FALSE); +END_IF + +IF (bStart) THEN + tonDuration(IN := TRUE, PT := tDuration); + IF (tonDuration.Q) THEN + tonDuration(IN := FALSE); + xOut := FALSE; + bStart := FALSE; + END_IF +END_IF +</xhtml> + </ST> + </body> + <addData /> + </pou> + </data> + <data name="http://www.3s-software.com/plcopenxml/pou" handleUnknown="implementation"> + <pou name="MAIN" pouType="program"> + <interface> + <localVars> + <variable name="fbFoo_Tests"> + <type> + <derived name="FB_Timer_Tests" /> + </type> + </variable> + </localVars> + </interface> + <body> + <ST> + <xhtml xmlns="http://www.w3.org/1999/xhtml">CfUnit.RUN();</xhtml> + </ST> + </body> + <addData /> + </pou> + </data> + <data name="http://www.3s-software.com/plcopenxml/pou" handleUnknown="implementation"> + <pou name="FB_Timer_Tests" pouType="functionBlock"> + <interface> + <localVars> + <variable name="State"> + <type> + <WORD /> + </type> + <initialValue> + <simpleValue value="0" /> + </initialValue> + </variable> + <variable name="tonDelay"> + <type> + <derived name="TON" /> + </type> + </variable> + <variable name="fbTimer_0100"> + <type> + <derived name="FB_Timer" /> + </type> + </variable> + <variable name="fbTimer_0200"> + <type> + <derived name="FB_Timer" /> + </type> + </variable> + <variable name="fbTimer_0300"> + <type> + <derived name="FB_Timer" /> + </type> + </variable> + <variable name="fbTimer_0400"> + <type> + <derived name="FB_Timer" /> + </type> + </variable> + <variable name="xError"> + <type> + <BOOL /> + </type> + </variable> + <variable name="xDone"> + <type> + <BOOL /> + </type> + </variable> + </localVars> + <addData> + <data name="http://www.3s-software.com/plcopenxml/pouinheritance" handleUnknown="implementation"> + <Inheritance> + <Extends>CfUnit.FB_TestSuite</Extends> + </Inheritance> + </data> + </addData> + </interface> + <body> + <ST> + <xhtml xmlns="http://www.w3.org/1999/xhtml">SomeTimerTest( xError => xError, + xDone => xDone );</xhtml> + </ST> + </body> + <addData> + <data name="http://www.3s-software.com/plcopenxml/method" handleUnknown="implementation"> + <Method name="SomeTimerTest"> + <interface> + <outputVars> + <variable name="xDone"> + <type> + <BOOL /> + </type> + </variable> + <variable name="xError"> + <type> + <BOOL /> + </type> + </variable> + </outputVars> + </interface> + <body> + <ST> + <xhtml xmlns="http://www.w3.org/1999/xhtml">CASE State OF +{region "start"} + 0: + TEST('SomeFooTest'); + LOGSTR( 1, 'Test start: %s' , CfUnit.GVL_CfUnit.CurrentTestNameBeingCalled ); // send a message to the log as information(1), warning(2), or error(4) + xError := FALSE; + xDone := FALSE; + State := 100; +{endregion} + +{region "Switch_RisingEdgeAndDuration1s_OutIsTrueFor1s"} + 100: + fbTimer_0100(xSwitch := TRUE, tDuration := T#1S); + AssertEquals_BOOL(TRUE, fbTimer_0100.xOut, 'Switch_RisingEdgeAndDuration1s_OutIsTrueFor1s'); + tonDelay(IN := TRUE, PT := T#900MS); + IF (tonDelay.Q) THEN + tonDelay(IN := FALSE); + State := 200; + END_IF +{endregion} + +{region "Switch_RisingEdgeAndDuration1s_OutIsFalseAfter1100ms"} + 200: + fbTimer_0200(xSwitch := TRUE, tDuration := T#1S); + tonDelay(IN := TRUE, PT := T#1100MS); + IF (tonDelay.Q) THEN + tonDelay(IN := FALSE); + AssertEquals_BOOL(FALSE, fbTimer_0200.xOut, 'Switch_RisingEdgeAndDuration1s_OutIsFalseAfter1100ms'); + State := 300; + END_IF +{endregion} + +{region "Switch_RetriggerSwitch_OutKeepsTrue"} + 300: + fbTimer_0300(xSwitch := TRUE, tDuration := T#500MS); + AssertEquals_BOOL(TRUE, fbTimer_0300.xOut, 'Switch_RetriggerSwitch_OutKeepsTrue'); + tonDelay(IN := TRUE, PT := T#400MS); + IF (tonDelay.Q) THEN + tonDelay(IN := FALSE); + fbTimer_0300(xSwitch := FALSE); + State := 310; + END_IF + + 310: + fbTimer_0300(xSwitch := TRUE, tDuration := T#500MS); + AssertEquals_BOOL(TRUE, fbTimer_0300.xOut, 'Switch_RetriggerSwitch_OutKeepsTrue'); + tonDelay(IN := TRUE, PT := T#400MS); + IF (tonDelay.Q) THEN + tonDelay(IN := FALSE); + State := 400; + END_IF +{endregion} + +{region "Off_RisingEdgeAndOutIsTrue_OutIsFalse"} + 400: + fbTimer_0400(xSwitch := TRUE, tDuration := T#200MS); + AssertEquals_BOOL(TRUE, fbTimer_0400.xOut, 'Off_RisingEdgeAndOutIsTrue_OutIsFalse'); + tonDelay(IN := TRUE, PT := T#100MS); + IF (tonDelay.Q) THEN + tonDelay(IN := FALSE); + fbTimer_0400(xOff := TRUE); + AssertEquals_BOOL(FALSE, fbTimer_0400.xOut, 'Off_RisingEdgeAndOutIsTrue_OutIsFalse'); + State := 1000; + END_IF +{endregion} + +{region "done"} + 1000: + State := 1010; + LOGSTR( 1, 'Test finished: %s' , CfUnit.GVL_CfUnit.CurrentTestNameBeingCalled ); + + 1010: + TEST_FINISHED(); + xDone := TRUE; +{endregion} + +{region "error"} + 1200: + xError := TRUE; + +{endregion} + ELSE + state := 1200; +END_CASE</xhtml> + </ST> + </body> + <addData /> + </Method> + </data> + </addData> + </pou> + </data> + <data name="http://www.3s-software.com/plcopenxml/libraries" handleUnknown="implementation"> + <Libraries> + <Library Name="#Standard" Namespace="Standard" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="false" LinkAllContent="false" DefaultResolution="Standard, * (System)" /> + <Library Name="#BreakpointLogging" Namespace="BPLog" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="true" LinkAllContent="false" DefaultResolution="Breakpoint Logging Functions, 3.5.5.0 (3S - Smart Software Solutions GmbH)" /> + <Library Name="CfUnit, 1.0.0.0 (Open Source)" Namespace="CfUnit" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="false" LinkAllContent="false"> + <Parameters> + <Parameter Name="MAXAMOUNTOFTESTSUITES" Value="300" /> + <Parameter Name="MAXAMOUNTOFTESTSFOREACHTESTSUITE" Value="100" /> + <Parameter Name="MAXAMOUNTOFASSERTS" Value="300" /> + <Parameter Name="MAXNUMBEROFTESTSUITES" Value="300" /> + <Parameter Name="MAXNUMBEROFTESTSFOREACHTESTSUITE" Value="100" /> + <Parameter Name="MAXNUMBEROFASSERTS" Value="300" /> + <Parameter Name="MAXFILESIZE" Value="4096" /> + </Parameters> + </Library> + <Library Name="#IoStandard" Namespace="IoStandard" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="true" LinkAllContent="true" DefaultResolution="IoStandard, 3.5.13.0 (System)" /> + <Library Name="#3SLicense" Namespace="_3S_LICENSE" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="true" LinkAllContent="false" DefaultResolution="3SLicense, 0.0.0.0 (3S - Smart Software Solutions GmbH)" ResolverGuid="97c3b452-d9fa-4ac2-9d0c-3d420aa6d95b" /> + <Library Name="#SM3_Basic" Namespace="SM3_Basic" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="true" LinkAllContent="false" DefaultResolution="SM3_Basic, 4.5.0.0 (3S - Smart Software Solutions GmbH)" /> + <Library Name="#SM3_CNC" Namespace="SM3_CNC" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="true" LinkAllContent="false" DefaultResolution="SM3_CNC, 4.5.0.0 (3S - Smart Software Solutions GmbH)" /> + <Library Name="IoDrvGPIO, 3.5.11.0 (3S - Smart Software Solutions GmbH)" Namespace="IoDrvGPIO" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="true" LinkAllContent="false" /> + <Library Name="#SM3_Robotics" Namespace="SM3_Robotics" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="true" LinkAllContent="false" DefaultResolution="SM3_Robotics, 4.5.0.1 (3S - Smart Software Solutions GmbH)" /> + <Library Name="#SM3_Robotics_Visu" Namespace="SM3_Robotics_Visu" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="true" LinkAllContent="false" DefaultResolution="SM3_Robotics_Visu, 4.5.0.0 (3S - Smart Software Solutions GmbH)" /> + <Library Name="#SM3_Transformation" Namespace="TRAFO" HideWhenReferencedAsDependency="false" PublishSymbolsInContainer="false" SystemLibrary="true" LinkAllContent="false" DefaultResolution="SM3_Transformation, 4.5.0.1 (3S - Smart Software Solutions GmbH)" /> + <addData /> + </Libraries> + </data> + </addData> + </resource> + <addData> + <data name="Device" handleUnknown="discard"> + <Device xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns=""> + <DeviceType> + <DeviceIdentification> + <Type>4102</Type> + <Id>0000 0010</Id> + <Version>3.5.14.20</Version> + </DeviceIdentification> + <Connector moduleType="256" interface="Common.PCI" connectorId="0"> + <HostParameterSet /> + </Connector> + <Connector moduleType="769" interface="SafetyInterface" connectorId="1"> + <HostParameterSet /> + </Connector> + <Connector moduleType="1279" interface="Common.SoftMotion.General" connectorId="2"> + <HostParameterSet /> + </Connector> + <Connector moduleType="496" interface="Raspberry.I2CMaster" connectorId="3"> + <HostParameterSet /> + </Connector> + <Connector moduleType="497" interface="Raspberry.SPIMaster" connectorId="4"> + <HostParameterSet /> + </Connector> + <Connector moduleType="504" interface="Raspberry.GPIOs" connectorId="5"> + <HostParameterSet /> + </Connector> + <Connector moduleType="499" interface="Raspberry.OnewireMaster" connectorId="6"> + <HostParameterSet /> + </Connector> + <Connector moduleType="502" interface="Raspberry.Camera2" connectorId="7"> + <HostParameterSet /> + </Connector> + <DeviceParameterSet /> + </DeviceType> + </Device> + </data> + <data name="configurations" handleUnknown="discard"> + <configurations> + <configuration name="SoftMotion General Axis Pool"> + <addData> + <data name="ExplicitConnector" handleUnknown="discard"> + <ExplicitConnector connectorID="2" /> + </data> + </addData> + </configuration> + <configuration name="I²C"> + <addData> + <data name="ExplicitConnector" handleUnknown="discard"> + <ExplicitConnector connectorID="3" /> + </data> + </addData> + </configuration> + <configuration name="SPI"> + <addData> + <data name="ExplicitConnector" handleUnknown="discard"> + <ExplicitConnector connectorID="4" /> + </data> + </addData> + </configuration> + <configuration name="GPIOs_A_B"> + <addData> + <data name="Device" handleUnknown="discard"> + <Device xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns=""> + <DeviceType> + <DeviceIdentification> + <Type>504</Type> + <Id>0000 0000</Id> + <Version>3.5.11.0</Version> + </DeviceIdentification> + <Connector moduleType="504" role="child" interface="Raspberry.GPIOs" connectorId="1"> + <HostParameterSet> + <Parameter ParameterId="4" type="local:GPIOType" IndexInDevDesc="0"> + <Attributes onlineaccess="read" /> + <Value name="_x0034_" visiblename="GPIO4" onlineaccess="read" desc="configuration of GPIO4">255</Value> + <Name>GPIO4</Name> + <Description>configuration of GPIO4</Description> + </Parameter> + <Parameter ParameterId="17" type="local:GPIOType" IndexInDevDesc="1"> + <Attributes onlineaccess="read" /> + <Value name="_x0031_7" visiblename="GPIO17" onlineaccess="read" desc="configuration of GPIO17">255</Value> + <Name>GPIO17</Name> + <Description>configuration of GPIO17</Description> + </Parameter> + <Parameter ParameterId="18" type="local:GPIOType" IndexInDevDesc="2"> + <Attributes onlineaccess="read" /> + <Value name="_x0031_8" visiblename="GPIO18" onlineaccess="read" desc="configuration of GPIO18">255</Value> + <Name>GPIO18</Name> + <Description>configuration of GPIO18</Description> + </Parameter> + <Parameter ParameterId="22" type="local:GPIOType" IndexInDevDesc="3"> + <Attributes onlineaccess="read" /> + <Value name="_x0032_2" visiblename="GPIO22" onlineaccess="read" desc="configuration of GPIO22">255</Value> + <Name>GPIO22</Name> + <Description>configuration of GPIO22</Description> + </Parameter> + <Parameter ParameterId="23" type="local:GPIOType" IndexInDevDesc="4"> + <Attributes onlineaccess="read" /> + <Value name="_x0032_3" visiblename="GPIO23" onlineaccess="read" desc="configuration of GPIO23">255</Value> + <Name>GPIO23</Name> + <Description>configuration of GPIO23</Description> + </Parameter> + <Parameter ParameterId="24" type="local:GPIOType" IndexInDevDesc="5"> + <Attributes onlineaccess="read" /> + <Value name="_x0032_4" visiblename="GPIO24" onlineaccess="read" desc="configuration of GPIO24">255</Value> + <Name>GPIO24</Name> + <Description>configuration of GPIO24</Description> + </Parameter> + <Parameter ParameterId="25" type="local:GPIOType" IndexInDevDesc="6"> + <Attributes onlineaccess="read" /> + <Value name="_x0032_5" visiblename="GPIO25" onlineaccess="read" desc="configuration of GPIO25">255</Value> + <Name>GPIO25</Name> + <Description>configuration of GPIO25</Description> + </Parameter> + <Parameter ParameterId="27" type="local:GPIOType" IndexInDevDesc="7"> + <Attributes onlineaccess="read" /> + <Value name="_x0032_7" visiblename="GPIO27" onlineaccess="read" desc="configuration of GPIO27">255</Value> + <Name>GPIO27</Name> + <Description>configuration of GPIO27</Description> + </Parameter> + <Parameter ParameterId="28" type="local:GPIOType" IndexInDevDesc="8"> + <Attributes onlineaccess="read" /> + <Value name="_x0032_8" visiblename="GPIO28" onlineaccess="read" desc="configuration of GPIO28">255</Value> + <Name>GPIO28</Name> + <Description>configuration of GPIO28</Description> + </Parameter> + <Parameter ParameterId="29" type="local:GPIOType" IndexInDevDesc="9"> + <Attributes onlineaccess="read" /> + <Value name="_x0032_9" visiblename="GPIO29" onlineaccess="read" desc="configuration of GPIO29">255</Value> + <Name>GPIO29</Name> + <Description>configuration of GPIO29</Description> + </Parameter> + <Parameter ParameterId="30" type="local:GPIOType" IndexInDevDesc="10"> + <Attributes onlineaccess="read" /> + <Value name="_x0033_0" visiblename="GPIO30" onlineaccess="read" desc="configuration of GPIO30">255</Value> + <Name>GPIO30</Name> + <Description>configuration of GPIO30</Description> + </Parameter> + <Parameter ParameterId="31" type="local:GPIOType" IndexInDevDesc="11"> + <Attributes onlineaccess="read" /> + <Value name="_x0033_1" visiblename="GPIO31" onlineaccess="read" desc="configuration of GPIO31">255</Value> + <Name>GPIO31</Name> + <Description>configuration of GPIO31</Description> + </Parameter> + <Parameter ParameterId="1000" type="local:BITFIELD_GPIO" IndexInDevDesc="12"> + <Attributes channel="input" /> + <Value name="_x0031_000" visiblename="digital inputs (GPIO0..GPIO31)"> + <Element name="Bit0" visiblename="Bit0" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit1" visiblename="Bit1" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit2" visiblename="Bit2" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit3" visiblename="Bit3" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit4" visiblename="Bit4" onlineaccess="read" /> + <Element name="Bit5" visiblename="Bit5" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit6" visiblename="Bit6" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit7" visiblename="Bit7" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit8" visiblename="Bit8" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit9" visiblename="Bit9" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit10" visiblename="Bit10" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit11" visiblename="Bit11" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit12" visiblename="Bit12" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit13" visiblename="Bit13" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit14" visiblename="Bit14" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit15" visiblename="Bit15" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit16" visiblename="Bit16" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit17" visiblename="Bit17" onlineaccess="read" /> + <Element name="Bit18" visiblename="Bit18" onlineaccess="read" /> + <Element name="Bit19" visiblename="Bit19" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit20" visiblename="Bit20" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit21" visiblename="Bit21" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit22" visiblename="Bit22" onlineaccess="read" /> + <Element name="Bit23" visiblename="Bit23" onlineaccess="read" /> + <Element name="Bit24" visiblename="Bit24" onlineaccess="read" /> + <Element name="Bit25" visiblename="Bit25" onlineaccess="read" /> + <Element name="Bit26" visiblename="Bit26" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit27" visiblename="Bit27" onlineaccess="read" /> + <Element name="Bit28" visiblename="Bit28" onlineaccess="read" /> + <Element name="Bit29" visiblename="Bit29" onlineaccess="read" /> + <Element name="Bit30" visiblename="Bit30" onlineaccess="read" /> + <Element name="Bit31" visiblename="Bit31" onlineaccess="read" /> + </Value> + <Name>digital inputs (GPIO0..GPIO31)</Name> + </Parameter> + <Parameter ParameterId="2000" type="local:BITFIELD_GPIO" IndexInDevDesc="13"> + <Attributes channel="output" /> + <Value name="_x0032_000" visiblename="digital outputs (GPIO0..GPIO31)"> + <Element name="Bit0" visiblename="Bit0" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit1" visiblename="Bit1" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit2" visiblename="Bit2" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit3" visiblename="Bit3" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit4" visiblename="Bit4" onlineaccess="read" /> + <Element name="Bit5" visiblename="Bit5" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit6" visiblename="Bit6" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit7" visiblename="Bit7" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit8" visiblename="Bit8" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit9" visiblename="Bit9" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit10" visiblename="Bit10" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit11" visiblename="Bit11" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit12" visiblename="Bit12" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit13" visiblename="Bit13" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit14" visiblename="Bit14" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit15" visiblename="Bit15" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit16" visiblename="Bit16" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit17" visiblename="Bit17" onlineaccess="read" /> + <Element name="Bit18" visiblename="Bit18" onlineaccess="read" /> + <Element name="Bit19" visiblename="Bit19" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit20" visiblename="Bit20" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit21" visiblename="Bit21" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit22" visiblename="Bit22" onlineaccess="read" /> + <Element name="Bit23" visiblename="Bit23" onlineaccess="read" /> + <Element name="Bit24" visiblename="Bit24" onlineaccess="read" /> + <Element name="Bit25" visiblename="Bit25" onlineaccess="read" /> + <Element name="Bit26" visiblename="Bit26" offlineaccess="none" onlineaccess="none" /> + <Element name="Bit27" visiblename="Bit27" onlineaccess="read" /> + <Element name="Bit28" visiblename="Bit28" onlineaccess="read" /> + <Element name="Bit29" visiblename="Bit29" onlineaccess="read" /> + <Element name="Bit30" visiblename="Bit30" onlineaccess="read" /> + <Element name="Bit31" visiblename="Bit31" onlineaccess="read" /> + </Value> + <Name>digital outputs (GPIO0..GPIO31)</Name> + </Parameter> + </HostParameterSet> + </Connector> + <DeviceParameterSet /> + </DeviceType> + </Device> + </data> + </addData> + </configuration> + <configuration name="Onewire"> + <addData> + <data name="ExplicitConnector" handleUnknown="discard"> + <ExplicitConnector connectorID="6" /> + </data> + </addData> + </configuration> + <configuration name="Camera device"> + <addData> + <data name="ExplicitConnector" handleUnknown="discard"> + <ExplicitConnector connectorID="7" /> + </data> + <data name="configurations" handleUnknown="discard"> + <configurations> + <configuration name="<Empty>"> + <addData> + <data name="Device" handleUnknown="discard" /> + </addData> + </configuration> + </configurations> + </data> + </addData> + </configuration> + </configurations> + </data> + </addData> + </configuration> + </configurations> + </instances> +</project> \ No newline at end of file