123

Dependencies:   mbed

Fork of LG by igor Apu

device.xml

Committer:
Diletant
Date:
2016-06-05
Revision:
167:bedc0a9d559a
Parent:
166:c3c0b8a90d81
Child:
173:7f938afb0447

File content as of revision 167:bedc0a9d559a:

<?xml version="1.0" encoding="utf-8" ?>
<root>
    <structure name="device" typedef="Device">
        <structure name="user" typedef="DeviceUserProtocol">
            <variable name="address" typedef="uint16_t" value="0"/>
        </structure>

        <structure name="sensor" typedef="DeviceSensor">
            <structure name="settings" typedef="DeviceSensorSettings">
                <variable name="id" typedef="uint16_t" value="0"/>
                <variable name="block" typedef="uint16_t" value="0"/>
            </structure>
        </structure>
        
        <structure name="lightUp" typedef="DeviceLightUp">
            <structure name="settings" typedef="DeviceLightUpSettings">
                <variable name="sequence" typedef="uint16_t" value="0x0055"/>
            </structure>
            <structure name="state" typedef="DeviceLightUpState">
                <variable name="enabled" typedef="uint8_t" value="1"/>
                <variable name="sequence" typedef="uint16_t" value="0x0055"/>
            </structure>
        </structure>
        
        <structure name="dither" typedef="DeviceDither">
            <structure name="pulse" typedef="DeviceDitherPulse">
                <structure name="settings" typedef="DeviceDitherPulseSettings">
                    <variable name="rise" typedef="uint32_t" value="0"/>
                    <variable name="fall" typedef="uint32_t" value="0"/>
                </structure>
                
                <structure name="state" typedef="DeviceDitherPulseState">
                    <variable name="rise" typedef="uint32_t" value="0"/>
                    <variable name="fall" typedef="uint32_t" value="0"/>
                    <variable name="counter" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="noise" typedef="DeviceDitherNoise">
                <structure name="settings" typedef="DeviceDitherNoiseSettings">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="period" typedef="uint32_t" value="0"/>
                    <variable name="range" typedef="uint32_t" value="0"/>
                    <variable name="phase" typedef="uint32_t" value="0"/>
                </structure>
                
                <structure name="state" typedef="DeviceDitherNoiseState">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                </structure>
            </structure>
            
            <structure name="cycle" typedef="DeviceDitherCycle">
                <structure name="settings" typedef="DeviceDitherCycleSettings">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                </structure>
                
                <structure name="state" typedef="DeviceDitherCycleState">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="pin1" typedef="uint8_t" value="0"/>
                    <variable name="pin2" typedef="uint8_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="detector" typedef="DeviceDitherPhaseDetector">
                <structure name="settings" typedef="DeviceDitherPhaseDetectorSettings">
                    <variable name="offset" typedef="uint8_t" value="0"/>
                    <variable name="weight[0]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[1]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[2]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[3]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[4]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[5]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[6]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[7]" typedef="uint8_t" value="-1"/>
                    
                    <variable name="weight[8]" typedef="uint8_t" value="1"/>
                    <variable name="weight[9]" typedef="uint8_t" value="1"/>
                    <variable name="weight[10]" typedef="uint8_t" value="1"/>
                    <variable name="weight[11]" typedef="uint8_t" value="1"/>
                    <variable name="weight[12]" typedef="uint8_t" value="1"/>
                    <variable name="weight[13]" typedef="uint8_t" value="1"/>
                    <variable name="weight[14]" typedef="uint8_t" value="1"/>
                    <variable name="weight[15]" typedef="uint8_t" value="1"/>
                    
                    <variable name="weight[16]" typedef="uint8_t" value="1"/>
                    <variable name="weight[17]" typedef="uint8_t" value="1"/>
                    <variable name="weight[18]" typedef="uint8_t" value="1"/>
                    <variable name="weight[19]" typedef="uint8_t" value="1"/>
                    <variable name="weight[20]" typedef="uint8_t" value="1"/>
                    <variable name="weight[21]" typedef="uint8_t" value="1"/>
                    <variable name="weight[22]" typedef="uint8_t" value="1"/>
                    <variable name="weight[23]" typedef="uint8_t" value="1"/>
                    
                    <variable name="weight[24]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[25]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[26]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[27]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[28]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[29]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[30]" typedef="uint8_t" value="-1"/>
                    <variable name="weight[31]" typedef="uint8_t" value="-1"/>
                </structure>
                <structure name="state" typedef="DeviceDitherPhaseDetectorState">
                    <variable name="error" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="oscillation" typedef="DeviceDitherOscillationFrequencyRegulator">
                <structure name="settings" typedef="DeviceDitherOscillationFrequencyRegulatorSettings">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="reference" typedef="uint32_t" value="1"/>
                    <variable name="scale" typedef="uint32_t" value="1"/>
                </structure>
                
                <structure name="state" typedef="DeviceDitherOscillationFrequencyRegulatorState">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="reference" typedef="uint32_t" value="1"/>
                    <variable name="scale" typedef="uint32_t" value="1"/>
                    <variable name="error" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="carrier" typedef="DeviceDitherCarrierFrequencyRegulator">
                <structure name="settings" typedef="DeviceDitherCarrierFrequencyRegulatorSettings">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="reference" typedef="uint32_t" value="1"/>
                    <variable name="scale" typedef="uint32_t" value="1"/>
                </structure>
                
                <structure name="state" typedef="DeviceDitherCarrierFrequencyRegulatorState">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="reference" typedef="uint32_t" value="1"/>
                    <variable name="scale" typedef="uint32_t" value="1"/>
                    <variable name="error" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
        </structure>
        
        <structure name="isacs" typedef="DeviceISACS">
            <structure name="potentiometers" typedef="DeviceISACSPotentiometers">
                <structure name="settings" typedef="DeviceISACSPotentiometersSettings">
                    <variable name="a" typedef="uint32_t" value="150"/>
                    <variable name="b" typedef="uint32_t" value="150"/>
                </structure>
                <structure name="state" typedef="DeviceISACSPotentiometersState">
                    <variable name="a" typedef="uint32_t" value="150"/>
                    <variable name="b" typedef="uint32_t" value="150"/>
                </structure>
            </structure>
            
            <structure name="input" typedef="DeviceISACSInput">
                <structure name="settings" typedef="DeviceISACSInputSettings">
                    <structure name="transfer" typedef="DeviceISACSInputTransferFunction">
                        <variable name="points" typedef="uint32_t" value="2"/>
                        <variable name="voltage[0]" typedef="uint32_t" value="0x00000000"/>
                        <variable name="code[0]" typedef="uint32_t" value="0"/>
                        <variable name="voltage[1]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[1]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[2]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[2]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[3]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[3]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[4]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[4]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[5]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[5]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[6]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[6]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[7]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[7]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[8]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[8]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[9]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[9]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[10]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[10]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[11]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[11]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[12]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[12]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[13]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[13]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[14]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[14]" typedef="uint32_t" value="4095"/>
                        <variable name="voltage[15]" typedef="uint32_t" value="0x00040000"/>
                        <variable name="code[15]" typedef="uint32_t" value="4095"/>
                    </structure>
                </structure>
                
                <structure name="state" typedef="DeviceISACSInputState">
                    <variable name="voltage" typedef="uint32_t" value="0"/>
                    <variable name="average" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="output" typedef="DeviceISACSOutput">
                <structure name="settings" typedef="DeviceISACSOutputSettings">
                    <structure name="start" typedef="DeviceISACSOutputStart">
                        <variable name="voltage" typedef="int32_t" value="0x000c7fff"/>
                    </structure>
                    <structure name="reset" typedef="DeviceISACSOutputReset">
                        <variable name="voltage" typedef="int32_t" value="0x000c7fff"/>
                    </structure>
                    <structure name="transfer" typedef="DeviceISACSOutputTransferFunction">
                        <variable name="points" typedef="uint32_t" value="2"/>
                        <variable name="voltage[0]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="code[0]" typedef="uint32_t" value="800"/>
                        <variable name="voltage[1]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[1]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[2]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[2]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[3]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[3]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[4]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[4]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[5]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[5]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[6]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[6]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[7]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[7]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[8]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[8]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[9]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[9]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[10]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[10]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[11]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[11]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[12]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[12]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[13]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[13]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[14]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[14]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[15]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[15]" typedef="uint32_t" value="2048"/>
                    </structure>
                </structure>
                
                <structure name="state" typedef="DeviceISACSOutputState">
                    <variable name="voltage" typedef="uint32_t" value="0"/>
                </structure>
            
                
                    
                
            </structure>
            
            <structure name="regulator" typedef="DeviceISACSRegulator">
                <structure name="settings" typedef="DeviceISACSRegulatorSettings">
                    <structure name="start" typedef="DeviceISACSRegulatorConditionSettings">
                        <variable name="enabled" typedef="uint8_t" value="1"/>
                        <variable name="reference" typedef="uint32_t" value="1"/>
                        <variable name="scale" typedef="uint32_t" value="1"/>
                    </structure>
                    
                    <structure name="regular" typedef="DeviceISACSRegulatorConditionSettings">
                        <variable name="enabled" typedef="uint8_t" value="1"/>
                        <variable name="reference" typedef="uint32_t" value="1"/>
                        <variable name="scale" typedef="uint32_t" value="1"/>
                    </structure>
                    
                    <structure name="reset" typedef="DeviceISACSRegulatorConditionSettings">
                        <variable name="enabled" typedef="uint8_t" value="1"/>
                        <variable name="reference" typedef="uint32_t" value="1"/>
                        <variable name="scale" typedef="uint32_t" value="1"/>
                    </structure>
                </structure>
                
                <structure name="state" typedef="DeviceISACSRegulatorState">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="reference" typedef="uint32_t" value="1"/>
                    <variable name="scale" typedef="uint32_t" value="1"/>
                    <variable name="error" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
        </structure>

        <structure name="plcs" typedef="DevicePathLengthControlSystem">
            <structure name="sequencer" typedef="DevicePLCSSequencer">
                <structure name="settings" typedef="DevicePLCSSequencerSettings">
                    <variable name="enabled" typedef="uint8_t" value="0"/>
                    <variable name="analog" typedef="uint8_t" value="0"/>
                    <variable name="logic" typedef="uint8_t" value="0"/>
                    <variable name="amplitude" typedef="uint32_t" value="0"/>
                    <variable name="sequence[0]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[1]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[2]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[3]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[4]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[5]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[6]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[7]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[8]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[9]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[10]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[11]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[12]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[13]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[14]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[15]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[16]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[17]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[18]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[19]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[20]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[21]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[22]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[23]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[24]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[25]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[26]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[27]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[28]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[29]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[30]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[31]" typedef="uint32_t" value="0"/>
                    <variable name="sequence[32]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[33]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[34]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[35]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[36]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[37]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[38]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[39]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[40]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[41]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[42]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[43]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[44]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[45]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[46]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[47]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[48]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[49]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[50]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[51]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[52]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[53]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[54]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[55]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[56]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[57]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[58]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[59]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[60]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[61]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[62]" typedef="uint32_t" value="1"/>
                    <variable name="sequence[63]" typedef="uint32_t" value="1"/>
                    <variable name="position[0]" typedef="uint32_t" value="0"/>
                    <variable name="position[1]" typedef="uint32_t" value="16"/>
                </structure>
                
                <structure name="state" typedef="DevicePLCSSequencerState">
                    <variable name="enabled" typedef="uint8_t" value="0"/>
                    <variable name="analog" typedef="uint8_t" value="0"/>
                    <variable name="logic" typedef="uint8_t" value="0"/>
                    <variable name="amplitude" typedef="uint32_t" value="0"/>
                    <variable name="position[0]" typedef="uint32_t" value="0"/>
                    <variable name="position[1]" typedef="uint32_t" value="16"/>
                    <variable name="sample[0]" typedef="uint32_t" value="0"/>
                    <variable name="sample[1]" typedef="uint32_t" value="0"/>
                    <variable name="voltage" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="feedback" typedef="DevicePLCSFeedback">
                <structure name="settings" typedef="DevicePLCSFeedbackSettings">
                    <variable name="input" typedef="uint32_t" value="1"/>
                    <variable name="output" typedef="uint32_t" value="0"/>
                    <structure name="transfer" typedef="DevicePLCSFeedbackTransferFunctionSettings">
                        <variable name="points" typedef="uint32_t" value="2"/>
                        <variable name="raw[0]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[0]" typedef="uint32_t" value="800"/>
                        <variable name="raw[1]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[1]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[2]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[2]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[3]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[3]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[4]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[4]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[5]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[5]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[6]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[6]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[7]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[7]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[8]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[8]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[9]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[9]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[10]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[10]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[11]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[11]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[12]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[12]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[13]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[13]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[14]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[14]" typedef="uint32_t" value="2048"/>
                        <variable name="raw[15]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="normalized[15]" typedef="uint32_t" value="2048"/>
                    </structure>
                </structure>
                
                <structure name="state" typedef="DevicePLCSFeedbackState">
                    <variable name="input" typedef="uint32_t" value="1"/>
                    <variable name="output" typedef="uint32_t" value="0"/>
                    <variable name="voltage" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="reference" typedef="DevicePLCSReference">
                <structure name="settings" typedef="DevicePLCSReferenceSettings">
                    <variable name="sequencer" typedef="uint32_t" value="0"/>
                    <variable name="delta" typedef="uint32_t" value="1"/>
                </structure>
                
                <structure name="state" typedef="DevicePLCSReferenceState">
                    <variable name="sequencer" typedef="uint32_t" value="0"/>
                    <variable name="delta" typedef="uint32_t" value="1"/>
                </structure>
            </structure>
            
            <structure name="detector" typedef="DevicePLCSDetector">
                <structure name="state" typedef="DevicePLCSDetectorState">
                    <variable name="in[0]" typedef="uint32_t" value="0"/>
                    <variable name="in[1]" typedef="uint32_t" value="0"/>
                    <variable name="out" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
                
            <structure name="bias" typedef="DevicePLCSBias">
                <structure name="settings" typedef="DevicePLCSBiasSettings">
                    <structure name="transfer" typedef="DevicePLCSBiasTransferFunction">
                        <variable name="points" typedef="uint32_t" value="2"/>
                        <variable name="raw[0]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[0]" typedef="uint32_t" value="800"/>
                        <variable name="raw[1]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[1]" typedef="uint32_t" value="800"/>
                        <variable name="raw[2]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[2]" typedef="uint32_t" value="800"/>
                        <variable name="raw[3]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[3]" typedef="uint32_t" value="800"/>
                        <variable name="raw[4]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[4]" typedef="uint32_t" value="800"/>
                        <variable name="raw[5]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[5]" typedef="uint32_t" value="800"/>
                        <variable name="raw[6]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[6]" typedef="uint32_t" value="800"/>
                        <variable name="raw[7]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[7]" typedef="uint32_t" value="800"/>
                        <variable name="raw[8]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[8]" typedef="uint32_t" value="800"/>
                        <variable name="raw[9]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[9]" typedef="uint32_t" value="800"/>
                        <variable name="raw[10]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[10]" typedef="uint32_t" value="800"/>
                        <variable name="raw[11]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[11]" typedef="uint32_t" value="800"/>
                        <variable name="raw[12]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[12]" typedef="uint32_t" value="800"/>
                        <variable name="raw[13]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[13]" typedef="uint32_t" value="800"/>
                        <variable name="raw[14]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[14]" typedef="uint32_t" value="800"/>
                        <variable name="raw[15]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="normalized[15]" typedef="uint32_t" value="800"/>
                    </structure>
                </structure>
                <structure name="state" typedef="DevicePLCSBiasState">
                    <variable name="raw" typedef="uint32_t" value="0"/>
                    <variable name="sum" typedef="uint32_t" value="0"/>
                    <variable name="counter" typedef="uint32_t" value="0"/>
                    <variable name="average" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
       
            <structure name="reset" typedef="DevicePLCSReset">
                    <structure name="levels" typedef="DevicePLCSResetLevels">
                        <variable name="upper" typedef="int32_t" value="12.5V"/>
                        <variable name="lower" typedef="int32_t" value="1.5V"/>
                    </structure>
                    
                    <structure name="up" typedef="DevicePLCSResetTemperatureFunction">
                        <variable name="points" typedef="uint32_t" value="16"/>
                        <variable name="temperature[0]" typedef="int32_t" value="-60C"/>
                        <variable name="voltage[0]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[0]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[1]" typedef="int32_t" value="-50C"/>
                        <variable name="voltage[1]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[1]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[2]" typedef="int32_t" value="-40C"/>
                        <variable name="voltage[2]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[2]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[3]" typedef="int32_t" value="-30C"/>
                        <variable name="voltage[3]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[3]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[4]" typedef="int32_t" value="-20C"/>
                        <variable name="voltage[4]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[4]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[5]" typedef="int32_t" value="-10C"/>
                        <variable name="voltage[5]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[5]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[6]" typedef="int32_t" value="0C"/>
                        <variable name="voltage[6]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[6]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[7]" typedef="int32_t" value="10C"/>
                        <variable name="voltage[7]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[7]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[8]" typedef="int32_t" value="20C"/>
                        <variable name="voltage[8]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[8]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[9]" typedef="int32_t" value="30C"/>
                        <variable name="voltage[9]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[9]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[10]" typedef="int32_t" value="40C"/>
                        <variable name="voltage[10]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[10]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[11]" typedef="int32_t" value="50C"/>
                        <variable name="voltage[11]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[11]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[12]" typedef="int32_t" value="60C"/>
                        <variable name="voltage[12]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[12]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[13]" typedef="int32_t" value="70C"/>
                        <variable name="voltage[13]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[13]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[14]" typedef="int32_t" value="80C"/>
                        <variable name="voltage[14]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[14]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[15]" typedef="int32_t" value="90C"/>
                        <variable name="voltage[15]" typedef="int32_t" value="12.5V"/>
                        <variable name="duration[15]" typedef="uint32_t" value="3s"/>
                    </structure>
                    <structure name="down" typedef="DevicePLCSResetTemperatureFunction">
                        <variable name="points" typedef="uint32_t" value="16"/>
                        <variable name="temperature[0]" typedef="int32_t" value="-60C"/>
                        <variable name="voltage[0]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[0]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[1]" typedef="int32_t" value="-50C"/>
                        <variable name="voltage[1]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[1]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[2]" typedef="int32_t" value="-40C"/>
                        <variable name="voltage[2]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[2]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[3]" typedef="int32_t" value="-30C"/>
                        <variable name="voltage[3]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[3]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[4]" typedef="int32_t" value="-20C"/>
                        <variable name="voltage[4]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[4]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[5]" typedef="int32_t" value="-10C"/>
                        <variable name="voltage[5]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[5]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[6]" typedef="int32_t" value="0C"/>
                        <variable name="voltage[6]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[6]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[7]" typedef="int32_t" value="10C"/>
                        <variable name="voltage[7]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[7]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[8]" typedef="int32_t" value="20C"/>
                        <variable name="voltage[8]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[8]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[9]" typedef="int32_t" value="30C"/>
                        <variable name="voltage[9]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[9]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[10]" typedef="int32_t" value="40C"/>
                        <variable name="voltage[10]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[10]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[11]" typedef="int32_t" value="50C"/>
                        <variable name="voltage[11]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[11]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[12]" typedef="int32_t" value="60C"/>
                        <variable name="voltage[12]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[12]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[13]" typedef="int32_t" value="70C"/>
                        <variable name="voltage[13]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[13]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[14]" typedef="int32_t" value="80C"/>
                        <variable name="voltage[14]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[14]" typedef="uint32_t" value="3s"/>
                        <variable name="temperature[15]" typedef="int32_t" value="90C"/>
                        <variable name="voltage[15]" typedef="int32_t" value="1.5V"/>
                        <variable name="duration[15]" typedef="uint32_t" value="3s"/>
                    </structure>
                
                <structure name="state" typedef="DevicePLCSResetState">
                    <variable name="countdown" typedef="int32_t" value="0"/>
                    <variable name="voltage" typedef="int32_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="regulator" typedef="DevicePLCSRegulator">
                <structure name="settings" typedef="DevicePLCSRegulatorSettings">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="reference" typedef="uint32_t" value="0"/>
                    <structure name="transfer" typedef="DevicePLCSCorrectionTransferFunction">
                        <variable name="points" typedef="uint32_t" value="2"/>
                        <variable name="error[0]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[0]" typedef="uint32_t" value="800"/>
                        <variable name="error[1]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[1]" typedef="uint32_t" value="800"/>
                        <variable name="error[2]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[2]" typedef="uint32_t" value="800"/>
                        <variable name="error[3]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[3]" typedef="uint32_t" value="800"/>
                        <variable name="error[4]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[4]" typedef="uint32_t" value="800"/>
                        <variable name="error[5]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[5]" typedef="uint32_t" value="800"/>
                        <variable name="error[6]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[6]" typedef="uint32_t" value="800"/>
                        <variable name="error[7]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[7]" typedef="uint32_t" value="800"/>
                        <variable name="error[8]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[8]" typedef="uint32_t" value="800"/>
                        <variable name="error[9]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[9]" typedef="uint32_t" value="800"/>
                        <variable name="error[10]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[10]" typedef="uint32_t" value="800"/>
                        <variable name="error[11]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[11]" typedef="uint32_t" value="800"/>
                        <variable name="error[12]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[12]" typedef="uint32_t" value="800"/>
                        <variable name="error[13]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[13]" typedef="uint32_t" value="800"/>
                        <variable name="error[14]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[14]" typedef="uint32_t" value="800"/>
                        <variable name="error[15]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="correction[15]" typedef="uint32_t" value="800"/>
                    </structure>
                </structure>
                
                <structure name="state" typedef="DevicePLCSRegulatorState">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="reference" typedef="uint32_t" value="0"/>
                    <variable name="error" typedef="uint32_t" value="1"/>
                    <variable name="correction" typedef="uint32_t" value="1"/>
                </structure>
            </structure>
            
            <structure name="output" typedef="DevicePLCSOutput">
                <structure name="settings" typedef="DevicePLCSOutputSettings">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <structure name="start" typedef="DevicePLCSOutputStart">
                        <variable name="voltage" typedef="int32_t" value="0x000c7fff"/>
                    </structure>
                    <structure name="transfer" typedef="DevicePLCSOutputTransferFunction">
                        <variable name="points" typedef="uint32_t" value="2"/>
                        <variable name="voltage[0]" typedef="uint32_t" value="0x00017fff"/>
                        <variable name="code[0]" typedef="uint32_t" value="800"/>
                        <variable name="voltage[1]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[1]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[2]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[2]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[3]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[3]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[4]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[4]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[5]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[5]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[6]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[6]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[7]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[7]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[8]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[8]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[9]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[9]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[10]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[10]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[11]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[11]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[12]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[12]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[13]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[13]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[14]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[14]" typedef="uint32_t" value="2048"/>
                        <variable name="voltage[15]" typedef="uint32_t" value="0x000c7fff"/>
                        <variable name="code[15]" typedef="uint32_t" value="2048"/>
                    </structure>
                </structure>
                
                <structure name="state" typedef="DevicePLCSOutputState">
                    <variable name="enabled" typedef="uint8_t" value="1"/>
                    <variable name="voltage" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
        </structure>
        
        <structure name="controller" typedef="DeviceController">
            <variable name="chip" typedef="uint32_t" value="(1768 lsh 16) | 100"/>

            <structure name="flash" typedef="DeviceFlash">
                <structure name="settings" typedef="DeviceFlashSettings">
                    <variable name="hashSector" typedef="uint16_t" value="22"/>
                    <variable name="dataSector" typedef="uint16_t" value="23"/>
                </structure>
            </structure>
            
            <structure name="uart[0]" typedef="DeviceUART">
                <structure name="settings" typedef="DeviceUARTSettings">
                    <variable name="baudRate" typedef="uint32_t" value="921600"/>
                </structure>
                
                <structure name="state" typedef="DeviceUARTState">
                    <variable name="LCR" typedef="uint8_t" value="0"/>
                    <variable name="DLM" typedef="uint8_t" value="0"/>
                    <variable name="DLL" typedef="uint8_t" value="0"/>
                    <variable name="FCR" typedef="uint8_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="uart[1]" typedef="DeviceUART">
                <structure name="settings" typedef="DeviceUARTSettings">
                    <variable name="baudRate" typedef="uint32_t" value="38400"/>
                </structure>
                
                <structure name="state" typedef="DeviceUARTState">
                    <variable name="LCR" typedef="uint8_t" value="0"/>
                    <variable name="DLM" typedef="uint8_t" value="0"/>
                    <variable name="DLL" typedef="uint8_t" value="0"/>
                    <variable name="FCR" typedef="uint8_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="timer[0]" typedef="DeviceTimer">
                <structure name="settings" typedef="DeviceTimerSettings">
                    <variable name="match" typedef="uint32_t" value="0"/>
                </structure>
                
                <structure name="state" typedef="DeviceTimerState">
                    <variable name="MR0" typedef="uint32_t" value="0"/>
                    <variable name="MCR" typedef="uint32_t" value="0"/>
                    <variable name="TCR" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="SSP" typedef="DeviceSSP">
                <variable name="in[0]" typedef="uint32_t" value="0"/>
                <variable name="in[1]" typedef="uint32_t" value="0"/>
                <variable name="in[2]" typedef="uint32_t" value="0"/>
                <variable name="in[3]" typedef="uint32_t" value="0"/>
                <variable name="in[4]" typedef="uint32_t" value="0"/>
                <variable name="out[0]" typedef="uint32_t" value="0"/>
                <variable name="out[1]" typedef="uint32_t" value="0"/>
            </structure>
            
            <structure name="I2C" typedef="DeviceI2C">
                <structure name="settings" typedef="DeviceI2CSettings">
                    <variable name="trigger" typedef="uint32_t" value="38400"/>
                </structure>
                
                <structure name="state" typedef="DeviceI2CState">
                    <variable name="CON0" typedef="uint32_t" value="0"/>
                    <variable name="buffer[0]" typedef="uint32_t" value="0"/>
                    <variable name="buffer[1]" typedef="uint32_t" value="0"/>
                    <variable name="buffer[2]" typedef="uint32_t" value="0"/>
                    <variable name="buffer[3]" typedef="uint32_t" value="0"/>
                    <variable name="buffer[4]" typedef="uint32_t" value="0"/>
                    <variable name="buffer[5]" typedef="uint32_t" value="0"/>
                    <variable name="position" typedef="uint32_t" value="0"/>
                    <variable name="counter" typedef="uint32_t" value="0"/>
                    <variable name="trigger" typedef="uint32_t" value="0"/>
                    <variable name="enabled" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
            
            <structure name="QEI" typedef="DeviceQEI">
                <structure name="settings" typedef="DeviceQEISettings">
                </structure>
                
                <structure name="state" typedef="DeviceQEIState">
                    <variable name="position" typedef="uint32_t" value="0"/>
                    <variable name="delta" typedef="uint32_t" value="0"/>
                </structure>
            </structure>
        </structure>
    </structure>
    
    <function name="FlashReadAll" result="void">
    </function>
    <function name="FlashWriteAll" result="void">
    </function>
    <function name="StartLightUp" result="void">
    </function>
</root>