text:
" y="0" drill="0.8" diameter="1.27"/>
<text x="-3.667" y="-3.508" size="1.778" layer="25" font="vector" ratio="10">>NAME</text>
<text x="-4.699" y="3.937" size="1.778" layer="27" font="vector" ratio="10">>VALUE</text>
</package>
</packages>
<symbols>
<symbol name="TWIG_2.0">
<wire x1="-1.27" y1="5.08" x2="3.81" y2="5.08" width="0.254" layer="94"/>
<wire x1="3.81" y1="5.08" x2="3.81" y2="-5.08" width="0.254" layer="94"/>
<wire x1="3.81" y1="-5.08" x2="-1.27" y2="-5.08" width="0.254" layer="94"/>
<wire x1="-1.27" y1="-5.08" x2="-1.27" y2="5.08" width="0.254" layer="94"/>
<text x="-1.27" y="5.08" size="1.27" layer="95">>name</text>
<text x="2.54" y="-3.81" size="1.27" layer="96" rot="R90">>value</text>
<pin name="1" x="-3.81" y="3.81" visible="pad" length="middle" function="dotclk"/>
<pin name="2" x="-3.81" y="1.27" visible="pad" length="middle" function="dot"/>
<pin name="3" x="-3.81" y="-1.27" visible="pad" length="middle" function="dot"/>
<pin name="4" x="-3.81" y="-3.81" visible="pad" length="middle" function="dot"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="TWIG-4P-2.0" prefix="J" uservalue="yes">
<gates>
<gate name="G$1" symbol="TWIG_2.0" x="0" y="0"/>
</gates>
<devices>
<device name="-2.0" package="4P-2.0">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="'90D'" package="4P-2.0-90D">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="template">
<packages>
<package name="SSOP20">
<description>Shrink Small Outline Package

package type SS</description>
<wire x1="3.8" y1="-2.6" x2="3.8" y2="2.6" width="0.2032" layer="21"/>
<wire x1="3.8" y1="2.6" x2="-3.8" y2="2.6" width="0.2032" layer="21"/>
<wire x1="-3.825" y1="2.575" x2="-3.8" y2="2.575" width="0.127" layer="21"/>
<wire x1="-3.8" y1="2.575" x2="-3.8" y2="-1.965" width="0.2032" layer="21"/>
<wire x1="-3.8" y1="-1.965" x2="-3.165" y2="-2.6" width="0.2032" layer="21"/>
<wire x1="-3.165" y1="-2.6" x2="3.8" y2="-2.6" width="0.2032" layer="21"/>
<circle x="-4.318" y="-3.048" radius="0.508" width="0" layer="21"/>
<smd name="1" x="-2.925" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="2" x="-2.275" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="3" x="-1.625" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="4" x="-0.975" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="5" x="-0.325" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="6" x="0.325" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="7" x="0.975" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="8" x="1.625" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="9" x="2.275" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="10" x="2.925" y="-3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="11" x="2.925" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="12" x="2.275" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="13" x="1.625" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="14" x="0.975" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="15" x="0.325" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="16" x="-0.325" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="17" x="-0.975" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="18" x="-1.625" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="19" x="-2.275" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<smd name="20" x="-2.925" y="3.625" dx="0.4" dy="1.5" layer="1"/>
<text x="-4.191" y="-3.937" size="1.778" layer="25" rot="R90">>NAME</text>
<text x="5.842" y="-4.826" size="1.778" layer="27" rot="R90">>VALUE</text>
<rectangle x1="-3.1028" y1="-3.937" x2="-2.7472" y2="-2.6416" layer="51"/>
<rectangle x1="-2.4529" y1="-3.937" x2="-2.0973" y2="-2.6416" layer="51"/>
<rectangle x1="-1.8029" y1="-3.937" x2="-1.4473" y2="-2.6416" layer="51"/>
<rectangle x1="-1.1529" y1="-3.937" x2="-0.7973" y2="-2.6416" layer="51"/>
<rectangle x1="-0.5029" y1="-3.937" x2="-0.1473" y2="-2.6416" layer="51"/>
<rectangle x1="0.1471" y1="-3.937" x2="0.5027" y2="-2.6416" layer="51"/>
<rectangle x1="0.7971" y1="-3.937" x2="1.1527" y2="-2.6416" layer="51"/>
<rectangle x1="1.4473" y1="-3.937" x2="1.8029" y2="-2.6416" layer="51"/>
<rectangle x1="2.0973" y1="-3.937" x2="2.4529" y2="-2.6416" layer="51"/>
<rectangle x1="2.7473" y1="-3.937" x2="3.1029" y2="-2.6416" layer="51"/>
<rectangle x1="2.7471" y1="2.6416" x2="3.1027" y2="3.937" layer="51"/>
<rectangle x1="2.0971" y1="2.6416" x2="2.4527" y2="3.937" layer="51"/>
<rectangle x1="1.4471" y1="2.6416" x2="1.8027" y2="3.937" layer="51"/>
<rectangle x1="0.7972" y1="2.6416" x2="1.1528" y2="3.937" layer="51"/>
<rectangle x1="0.1472" y1="2.6416" x2="0.5028" y2="3.937" layer="51"/>
<rectangle x1="-0.5027" y1="2.6416" x2="-0.1471" y2="3.937" layer="51"/>
<rectangle x1="-1.1527" y1="2.6416" x2="-0.7971" y2="3.937" layer="51"/>
<rectangle x1="-1.8027" y1="2.6416" x2="-1.4471" y2="3.937" layer="51"/>
<rectangle x1="-2.4527" y1="2.6416" x2="-2.0971" y2="3.937" layer="51"/>
<rectangle x1="-3.1027" y1="2.6416" x2="-2.7471" y2="3.937" layer="51"/>
<rectangle x1="-3.81" y1="-2.6" x2="3.81" y2="2.6" layer="39"/>
</package>
</packages>
<symbols>
<symbol name="CH340T">
<pin name="CKO" x="-10.16" y="11.43" length="short" direction="out"/>
<pin name="ACT#" x="-10.16" y="8.89" length="short" direction="out"/>
<pin name="TXD" x="-10.16" y="6.35" length="short" direction="out"/>
<pin name="RXD" x="-10.16" y="3.81" length="short" direction="in"/>
<pin name="V3" x="-10.16" y="1.27" length="short" direction="sup"/>
<pin name="UD+" x="-10.16" y="-1.27" length="short"/>
<pin name="UD-" x="-10.16" y="-3.81" length="short"/>
<pin name="GND" x="-10.16" y="-6.35" length="short" direction="sup"/>
<pin name="XI" x="-10.16" y="-8.89" length="short" direction="in"/>
<pin name="XO" x="-10.16" y="-11.43" length="short" direction="out"/>
<pin name="CTS#" x="10.16" y="-11.43" length="short" direction="in" rot="R180"/>
<pin name="DSR#" x="10.16" y="-8.89" length="short" direction="in" rot="R180"/>
<pin name="RI#" x="10.16" y="-6.35" length="short" direction="in" rot="R180"/>
<pin name="DCD#" x="10.16" y="-3.81" length="short" direction="in" rot="R180"/>
<pin name="DTR#" x="10.16" y="-1.27" length="short" direction="out" rot="R180"/>
<pin name="RTS#" x="10.16" y="1.27" length="short" direction="out" rot="R180"/>
<pin name="NC" x="10.16" y="3.81" length="short" direction="nc" rot="R180"/>
<pin name="R232" x="10.16" y="6.35" length="short" direction="in" rot="R180"/>
<pin name="VCC" x="10.16" y="8.89" length="short" direction="sup" rot="R180"/>
<pin name="NOS#" x="10.16" y="11.43" length="short" direction="sup" rot="R180"/>
<text x="-6.35" y="12.7" size="1.27" layer="95" ratio="10">>NAME</text>
<text x="0" y="12.7" size="1.27" layer="96" ratio="10">>VALUE</text>
<wire x1="-6.35" y1="12.7" x2="6.35" y2="12.7" width="0.1524" layer="94"/>
<wire x1="6.35" y1="12.7" x2="6.35" y2="11.43" width="0.1524" layer="94"/>
<wire x1="6.35" y1="11.43" x2="6.35" y2="8.89" width="0.1524" layer="94"/>
<wire x1="6.35" y1="8.89" x2="6.35" y2="6.35" width="0.1524" layer="94"/>
<wire x1="6.35" y1="6.35" x2="6.35" y2="3.81" width="0.1524" layer="94"/>
<wire x1="6.35" y1="3.81" x2="6.35" y2="1.27" width="0.1524" layer="94"/>
<wire x1="6.35" y1="1.27" x2="6.35" y2="-1.27" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-1.27" x2="6.35" y2="-3.81" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-3.81" x2="6.35" y2="-6.35" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-6.35" x2="6.35" y2="-8.89" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-8.89" x2="6.35" y2="-11.43" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-11.43" x2="6.35" y2="-12.7" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-12.7" x2="-6.35" y2="-12.7" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="-12.7" x2="-6.35" y2="-11.43" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="-11.43" x2="-6.35" y2="-8.89" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="-8.89" x2="-6.35" y2="-6.35" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="-6.35" x2="-6.35" y2="-3.81" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="-3.81" x2="-6.35" y2="-1.27" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="-1.27" x2="-6.35" y2="1.27" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="1.27" x2="-6.35" y2="3.81" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="3.81" x2="-6.35" y2="6.35" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="6.35" x2="-6.35" y2="8.89" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="8.89" x2="-6.35" y2="11.43" width="0.1524" layer="94"/>
<wire x1="-6.35" y1="11.43" x2="-6.35" y2="12.7" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="11.43" x2="-6.35" y2="11.43" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="8.89" x2="-6.35" y2="8.89" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="6.35" x2="-6.35" y2="6.35" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="3.81" x2="-6.35" y2="3.81" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="1.27" x2="-6.35" y2="1.27" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="-1.27" x2="-6.35" y2="-1.27" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="-3.81" x2="-6.35" y2="-3.81" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="-6.35" x2="-6.35" y2="-6.35" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="-8.89" x2="-6.35" y2="-8.89" width="0.1524" layer="94"/>
<wire x1="-7.62" y1="-11.43" x2="-6.35" y2="-11.43" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-11.43" x2="7.62" y2="-11.43" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-8.89" x2="7.62" y2="-8.89" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-6.35" x2="7.62" y2="-6.35" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-3.81" x2="7.62" y2="-3.81" width="0.1524" layer="94"/>
<wire x1="6.35" y1="-1.27" x2="7.62" y2="-1.27" width="0.1524" layer="94"/>
<wire x1="6.35" y1="1.27" x2="7.62" y2="1.27" width="0.1524" layer="94"/>
<wire x1="6.35" y1="3.81" x2="7.62" y2="3.81" width="0.1524" layer="94"/>
<wire x1="6.35" y1="6.35" x2="7.62" y2="6.35" width="0.1524" layer="94"/>
<wire x1="6.35" y1="8.89" x2="7.62" y2="8.89" width="0.1524" layer="94"/>
<wire x1="6.35" y1="11.43" x2="7.62" y2="11.43" width="0.1524" layer="94"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="CH340T" prefix="U" uservalue="yes">
<gates>
<gate name="G$1" symbol="CH340T" x="0" y="0"/>
</gates>
<devices>
<device name="" package="SSOP20">
<connects>
<connect gate="G$1" pin="ACT#" pad="2"/>
<connect gate="G$1" pin="CKO" pad="1"/>
<connect gate="G$1" pin="CTS#" pad="11"/>
<connect gate="G$1" pin="DCD#" pad="14"/>
<connect gate="G$1" pin="DSR#" pad="12"/>
<connect gate="G$1" pin="DTR#" pad="15"/>
<connect gate="G$1" pin="GND" pad="8"/>
<connect gate="G$1" pin="NC" pad="17"/>
<connect gate="G$1" pin="NOS#" pad="20"/>
<connect gate="G$1" pin="R232" pad="18"/>
<connect gate="G$1" pin="RI#" pad="13"/>
<connect gate="G$1" pin="RTS#" pad="16"/>
<connect gate="G$1" pin="RXD" pad="4"/>
<connect gate="G$1" pin="TXD" pad="3"/>
<connect gate="G$1" pin="UD+" pad="6"/>
<connect gate="G$1" pin="UD-" pad="7"/>
<connect gate="G$1" pin="V3" pad="5"/>
<connect gate="G$1" pin="VCC" pad="19"/>
<connect gate="G$1" pin="XI" pad="9"/>
<connect gate="G$1" pin="XO" pad="10"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="Power or GND ">
<packages>
</packages>
<symbols>
<symbol name="GND_POWER">
<wire x1="-1.27" y1="-0.635" x2="0" y2="-0.635" width="0.1524" layer="94"/>
<wire x1="0" y1="-0.635" x2="1.27" y2="-0.635" width="0.1524" layer="94"/>
<wire x1="-0.635" y1="-1.27" x2="0.635" y2="-1.27" width="0.1524" layer="94"/>
<wire x1="-0.3175" y1="-1.905" x2="0.3175" y2="-1.905" width="0.1524" layer="94"/>
<pin name="GND" x="0" y="0" visible="off" length="point" direction="sup" rot="R270"/>
<wire x1="0" y1="0" x2="0" y2="-0.635" width="0.1524" layer="94"/>
<text x="-1.905" y="-3.175" size="0.8128" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="GND_POWER" uservalue="yes">
<gates>
<gate name="G$1" symbol="GND_POWER" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="My-Eagle-Lib">
<packages>
<package name="MICRO-USB">
<wire x1="-3.75" y1="0" x2="-3.75" y2="5" width="0.127" layer="21"/>
<wire x1="3.75" y1="5" x2="3.75" y2="0" width="0.127" layer="21"/>
<smd name="5" x="1.3" y="4.525" dx="1.75" dy="0.4" layer="1" rot="R90"/>
<smd name="1" x="-1.3" y="4.525" dx="1.75" dy="0.4" layer="1" rot="R90"/>
<smd name="4" x="0.65" y="4.525" dx="1.75" dy="0.4" layer="1" rot="R90"/>
<smd name="3" x="0" y="4.525" dx="1.75" dy="0.4" layer="1" rot="R90"/>
<smd name="2" x="-0.65" y="4.525" dx="1.75" dy="0.4" layer="1" rot="R90"/>
<text x="-5.2" y="0.5" size="0.762" layer="25" rot="R90">>NAME</text>
<text x="5.2" y="0.5" size="0.762" layer="27" rot="R90" align="top-left">>VALUE</text>
<pad name="GND1" x="-3.725" y="1.7" drill="1.2" diameter="2.54" shape="square"/>
<pad name="GND2" x="3.725" y="1.7" drill="1.2" diameter="2.54" shape="square"/>
<hole x="-2.425" y="4.73" drill="1.05"/>
<hole x="2.425" y="4.73" drill="1.05"/>
<wire x1="-3.75" y1="5" x2="-3.25" y2="5" width="0.127" layer="21"/>
<wire x1="3.75" y1="5" x2="3.25" y2="5" width="0.127" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="MICRO-USB">
<description>Micro USB connector</description>
<wire x1="12.7" y1="0" x2="12.7" y2="-15.24" width="0.508" layer="94"/>
<wire x1="12.7" y1="-15.24" x2="0" y2="-15.24" width="0.508" layer="94"/>
<wire x1="0" y1="-15.24" x2="0" y2="0" width="0.508" layer="94"/>
<wire x1="0" y1="0" x2="12.7" y2="0" width="0.508" layer="94"/>
<text x="0.254" y="3.048" size="1.778" layer="95">>NAME</text>
<text x="0" y="0.254" size="1.778" layer="96">>VALUE</text>
<pin name="VCC" x="15.24" y="-2.54" length="short" direction="pwr" rot="R180"/>
<pin name="D-" x="15.24" y="-5.08" length="short" rot="R180"/>
<pin name="D+" x="15.24" y="-7.62" length="short" rot="R180"/>
<pin name="ID" x="15.24" y="-10.16" length="short" rot="R180"/>
<pin name="GND" x="15.24" y="-12.7" length="short" direction="pwr" rot="R180"/>
<pin name="GND@1" x="2.54" y="-17.78" visible="pad" length="short" direction="pwr" rot="R90"/>
<pin name="GND@2" x="5.08" y="-17.78" visible="pad" length="short" direction="pwr" rot="R90"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="MICRO-USB">
<description>Micro USB B connector</description>
<gates>
<gate name="G$1" symbol="MICRO-USB" x="0" y="15.24"/>
</gates>
<devices>
<device name="" package="MICRO-USB">
<connects>
<connect gate="G$1" pin="D+" pad="3"/>
<connect gate="G$1" pin="D-" pad="2"/>
<connect gate="G$1" pin="GND" pad="5"/>
<connect gate="G$1" pin="GND@1" pad="GND1"/>
<connect gate="G$1" pin="GND@2" pad="GND2"/>
<connect gate="G$1" pin="ID" pad="4"/>
<connect gate="G$1" pin="VCC" pad="1"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0.1524" drill="0.3048">
<clearance class="0" value="0.1524"/>
</class>
<class number="3" name="usbvcc" width="0.2032" drill="0.3048">
<clearance class="3" value="0.2032"/>
</class>
</classes>
<parts>
<part name="UART" library="Connector" deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="D2" library="Connector" deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="D4" library="Connector" deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="D6" library="Connector" deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="A6" library="Connector " deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="A2" library="Connector " deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="I2C.." library="Connector" deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="I2C." library="Connector" deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="A0" library="Connector " deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="D3" library="Connector" deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="D5" library="Connector" deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="U4" library="IC" deviceset="ATMEGA8/168/328" device="MLF" value="ATmega328mu"/>
<part name="X2" library="Discrete" deviceset="CRYSTAL*" device="'5032'" value="16MHz"/>
<part name="C12" library="Discrete" deviceset="C*" device="-0603" value="12pF"/>
<part name="C13" library="Discrete" deviceset="C*" device="-0603" value="12pF"/>
<part name="R10" library="Discrete" deviceset="R*" device="-0603" value="1k"/>
<part name="RST" library="Discrete" deviceset="LED*" device="'0603'" value="RED"/>
<part name="PWR" library="Discrete" deviceset="LED*" device="'0603'" value="GREEN"/>
<part name="R9" library="Discrete" deviceset="R*" device="-0603" value="1k"/>
<part name="C9" library="Discrete" deviceset="C*" device="-0603" value="100nF"/>
<part name="R11" library="Discrete" deviceset="R*" device="-0603" value="10k"/>
<part name="C7" library="Discrete" deviceset="C*" device="-0603" value="100nF"/>
<part name="RESET" library="Discrete" deviceset="BUTTON-4P-REINFORCE" device="'TS-1188E'" value="TS-118E"/>
<part name="U$1" library="moudle" deviceset="SEEEDSTUDIO_SCH_FRAME" device=""/>
<part name="D7" library="Connector" deviceset="TWIG-4P-2.0" device="-2.0" value="DIP Grove"/>
<part name="U2" library="template" deviceset="CH340T" device="" value="CH340T"/>
<part name="U$3" library="Power or GND " deviceset="GND_POWER" device=""/>
<part name="X1" library="Discrete" deviceset="CRYSTAL*" device="'5032'" value="12MHz"/>
<part name="U$6" library="Power or GND " deviceset="GND_POWER" device=""/>
<part name="C4" library="Discrete" deviceset="C*" device="-0603" value="100nF"/>
<part name="U$7" library="Power or GND " deviceset="GND_POWER" device=""/>
<part name="C10" library="Discrete" deviceset="C*" device="-0603" value="12pF"/>
<part name="C11" library="Discrete" deviceset="C*" device="-0603" value="12pF"/>
<part name="U$8" library="Power or GND " deviceset="GND_POWER" device=""/>
<part name="U1" library="IC" deviceset="LD1117" device="'SOT89'" value="1117-3.3V"/>
<part name="C3" library="Discrete" deviceset="CAP*" device="-AVX-A" value="22uF-10V"/>
<part name="C15" library="Discrete" deviceset="C*" device="-0603" value="100nF"/>
<part name="U$10" library="Power or GND " deviceset="GND_POWER" device=""/>
<part name="C8" library="Discrete" deviceset="CAP*" device="-AVX-A" value="22uF-10V"/>
<part name="R2" library="Discrete" deviceset="R*" device="-0603" value="1k"/>
<part name="R3" library="Discrete" deviceset="R*" device="-0603" value="1k"/>
<part name="!RTS" library="Discrete" deviceset="PAD-TEST-POINT" device="'4545'"/>
<part name="!CTS" library="Discrete" deviceset="PAD-TEST-POINT" device="'4545'"/>
<part name="F1" library="Discrete" deviceset="FUSE" device="'1206'" value="500mA"/>
<part name="C5" library="Discrete" deviceset="C*" device="-0603" value="100nF"/>
<part name="L" library="Discrete" deviceset="LED*" device="'0603'" value="GREEN"/>
<part name="U$11" library="Power or GND " deviceset="GND_POWER" device=""/>
<part name="R12" library="Discrete" deviceset="R*" device="-0603" value="1k"/>
<part name="C6" library="Discrete" deviceset="C*" device="-0603" value="100nF"/>
<part name="C1" library="Discrete" deviceset="C*" device="-0603" value="10nF"/>
<part name="U$5" library="Power or GND " deviceset="GND_POWER" device=""/>
<part name="GND" library="Discrete" deviceset="PAD-TEST-POINT" device="'4545'"/>
<part name="D+" library="Discrete" deviceset="PAD-TEST-POINT" device="'4545'"/>
<part name="D-" library="Discrete" deviceset="PAD-TEST-POINT" device="'4545'"/>
<part name="VCC" library="Discrete" deviceset="PAD-TEST-POINT" device="'4545'"/>
<part name="U3" library="moudle" deviceset="ARDUINO-38P" device=""/>
<part name="U$9" library="My-Eagle-Lib" deviceset="MICRO-USB" device=""/>
<part name="U$13" library="Power or GND " deviceset="GND_POWER" device=""/>
</parts>
<sheets>
<sheet>
<plain>
<text x="190.5" y="11.43" size="1.778" layer="97" ratio="10">Wangcf</text>
<text x="224.79" y="11.43" size="1.778" layer="97" ratio="10">Bruce</text>
</plain>
<instances>
<instance part="UART" gate="G$1" x="12.7" y="165.1" rot="R180"/>
<instance part="D2" gate="G$1" x="29.21" y="165.1" rot="R180"/>
<instance part="D4" gate="G$1" x="62.23" y="165.1" rot="R180"/>
<instance part="D6" gate="G$1" x="95.25" y="165.1" rot="R180"/>
<instance part="A6" gate="G$1" x="161.29" y="165.1" rot="R180"/>
<instance part="A2" gate="G$1" x="144.78" y="165.1" rot="R180"/>
<instance part="I2C.." gate="G$1" x="177.8" y="165.1" rot="R180"/>
<instance part="I2C." gate="G$1" x="194.31" y="165.1" rot="R180"/>
<instance part="A0" gate="G$1" x="128.27" y="165.1" rot="R180"/>
<instance part="D3" gate="G$1" x="45.72" y="165.1" rot="R180"/>
<instance part="D5" gate="G$1" x="78.74" y="165.1" rot="R180"/>
<instance part="U4" gate="G$1" x="185.42" y="101.6"/>
<instance part="X2" gate="X" x="147.32" y="106.68" smashed="yes" rot="R90">
<attribute name="NAME" x="146.05" y="104.14" size="1.27" layer="95" ratio="10" rot="R90"/>
<attribute name="VALUE" x="149.86" y="104.14" size="1.778" layer="96" rot="R90"/>
</instance>
<instance part="C12" gate="C" x="140.97" y="113.03"/>
<instance part="C13" gate="C" x="140.97" y="100.33"/>
<instance part="R10" gate="R" x="176.53" y="144.78" rot="MR0"/>
<instance part="RST" gate="LED" x="166.37" y="144.78" rot="R180"/>
<instance part="PWR" gate="LED" x="166.37" y="153.67" rot="R180"/>
<instance part="R9" gate="R" x="176.53" y="153.67" rot="MR0"/>
<instance part="C9" gate="C" x="140.97" y="116.84"/>
<instance part="R11" gate="R" x="166.37" y="137.16" rot="MR0"/>
<instance part="C7" gate="C" x="140.97" y="91.44"/>
<instance part="RESET" gate="SW" x="143.51" y="146.05"/>
<instance part="U$1" gate="G$1" x="0" y="0"/>
<instance part="D7" gate="G$1" x="111.76" y="165.1" rot="R180"/>
<instance part="U2" gate="G$1" x="123.19" y="40.64"/>
<instance part="U$3" gate="G$1" x="110.49" y="34.29" rot="R270"/>
<instance part="X1" gate="X" x="102.87" y="26.67" rot="R90"/>
<instance part="U$6" gate="G$1" x="120.65" y="64.77"/>
<instance part="C4" gate="C" x="143.51" y="44.45" rot="R90"/>
<instance part="U$7" gate="G$1" x="143.51" y="39.37"/>
<instance part="C10" gate="C" x="96.52" y="31.75"/>
<instance part="C11" gate="C" x="96.52" y="21.59"/>
<instance part="U$8" gate="G$1" x="90.17" y="19.05"/>
<instance part="U1" gate="G$1" x="120.65" y="76.2"/>
<instance part="C3" gate="C" x="139.7" y="71.12" rot="R270"/>
<instance part="C15" gate="C" x="82.55" y="27.94" rot="R270"/>
<instance part="U$10" gate="G$1" x="77.47" y="17.78"/>
<instance part="C8" gate="C" x="77.47" y="27.94" rot="R270"/>
<instance part="R2" gate="R" x="105.41" y="46.99"/>
<instance part="R3" gate="R" x="105.41" y="44.45"/>
<instance part="!RTS" gate="TP" x="139.7" y="41.91"/>
<instance part="!CTS" gate="TP" x="139.7" y="29.21"/>
<instance part="F1" gate="F" x="67.31" y="34.29"/>
<instance part="C5" gate="C" x="140.97" y="119.38"/>
<instance part="L" gate="LED" x="241.3" y="68.58"/>
<instance part="U$11" gate="G$1" x="247.65" y="68.58" rot="R90"/>
<instance part="R12" gate="R" x="231.14" y="68.58"/>
<instance part="C6" gate="C" x="143.51" y="137.16"/>
<instance part="C1" gate="C" x="104.14" y="41.91" rot="R180"/>
<instance part="U$5" gate="G$1" x="95.25" y="41.91" rot="R270"/>
<instance part="GND" gate="TP" x="62.23" y="44.45"/>
<instance part="D+" gate="TP" x="69.85" y="41.91" rot="R90"/>
<instance part="D-" gate="TP" x="73.66" y="39.37" rot="R90"/>
<instance part="VCC" gate="TP" x="60.96" y="31.75" rot="R270"/>
<instance part="U3" gate="SEEEDUINO" x="49.53" y="106.68"/>
<instance part="U$9" gate="G$1" x="10.16" y="44.45"/>
<instance part="U$13" gate="G$1" x="12.7" y="17.78"/>
</instances>
<busses>
</busses>
<nets>
<net name="GND" class="0">
<segment>
<pinref part="UART" gate="G$1" pin="4"/>
<wire x1="16.51" y1="168.91" x2="21.59" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D2" gate="G$1" pin="4"/>
<wire x1="33.02" y1="168.91" x2="38.1" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D4" gate="G$1" pin="4"/>
<wire x1="66.04" y1="168.91" x2="71.12" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D6" gate="G$1" pin="4"/>
<wire x1="99.06" y1="168.91" x2="104.14" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="A6" gate="G$1" pin="4"/>
<wire x1="165.1" y1="168.91" x2="170.18" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="A2" gate="G$1" pin="4"/>
<wire x1="148.59" y1="168.91" x2="153.67" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C.." gate="G$1" pin="4"/>
<wire x1="181.61" y1="168.91" x2="186.69" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C." gate="G$1" pin="4"/>
<wire x1="198.12" y1="168.91" x2="203.2" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="A0" gate="G$1" pin="4"/>
<wire x1="132.08" y1="168.91" x2="137.16" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D3" gate="G$1" pin="4"/>
<wire x1="49.53" y1="168.91" x2="54.61" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D5" gate="G$1" pin="4"/>
<wire x1="82.55" y1="168.91" x2="87.63" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<wire x1="30.48" y1="137.16" x2="30.48" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="GND@0"/>
</segment>
<segment>
<wire x1="162.56" y1="121.92" x2="134.62" y2="121.92" width="0.1524" layer="91"/>
<wire x1="134.62" y1="121.92" x2="134.62" y2="119.38" width="0.1524" layer="91"/>
<wire x1="134.62" y1="119.38" x2="134.62" y2="116.84" width="0.1524" layer="91"/>
<wire x1="134.62" y1="116.84" x2="137.16" y2="116.84" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="GND"/>
<pinref part="C9" gate="C" pin="1"/>
<pinref part="C5" gate="C" pin="1"/>
<wire x1="137.16" y1="119.38" x2="134.62" y2="119.38" width="0.1524" layer="91"/>
<junction x="134.62" y="119.38"/>
</segment>
<segment>
<wire x1="137.16" y1="113.03" x2="134.62" y2="113.03" width="0.1524" layer="91"/>
<wire x1="134.62" y1="113.03" x2="134.62" y2="100.33" width="0.1524" layer="91"/>
<wire x1="134.62" y1="100.33" x2="137.16" y2="100.33" width="0.1524" layer="91"/>
<wire x1="162.56" y1="96.52" x2="134.62" y2="96.52" width="0.1524" layer="91"/>
<wire x1="134.62" y1="96.52" x2="134.62" y2="100.33" width="0.1524" layer="91"/>
<wire x1="137.16" y1="91.44" x2="134.62" y2="91.44" width="0.1524" layer="91"/>
<wire x1="134.62" y1="91.44" x2="134.62" y2="96.52" width="0.1524" layer="91"/>
<junction x="134.62" y="100.33"/>
<junction x="134.62" y="96.52"/>

<pinref part="U4" gate="G$1" pin="GND@1"/>
<pinref part="C12" gate="C" pin="1"/>
<pinref part="C13" gate="C" pin="1"/>
<pinref part="C7" gate="C" pin="1"/>
</segment>
<segment>
<wire x1="152.4" y1="93.98" x2="162.56" y2="93.98" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="GND@2"/>
</segment>
<segment>
<wire x1="134.62" y1="144.78" x2="128.27" y2="144.78" width="0.1524" layer="91"/>
<wire x1="162.56" y1="153.67" x2="152.4" y2="153.67" width="0.1524" layer="91"/>
<wire x1="152.4" y1="153.67" x2="134.62" y2="153.67" width="0.1524" layer="91"/>
<wire x1="134.62" y1="153.67" x2="134.62" y2="147.32" width="0.1524" layer="91"/>
<wire x1="134.62" y1="147.32" x2="134.62" y2="144.78" width="0.1524" layer="91"/>
<wire x1="134.62" y1="144.78" x2="137.16" y2="144.78" width="0.1524" layer="91"/>
<junction x="134.62" y="144.78"/>

<pinref part="PWR" gate="LED" pin="-"/>
<pinref part="RESET" gate="SW" pin="1"/>
<pinref part="RESET" gate="SW" pin="S1"/>
<wire x1="137.16" y1="147.32" x2="134.62" y2="147.32" width="0.1524" layer="91"/>
<junction x="134.62" y="147.32"/>
<pinref part="RESET" gate="SW" pin="S2"/>
<wire x1="149.86" y1="147.32" x2="152.4" y2="147.32" width="0.1524" layer="91"/>
<wire x1="152.4" y1="147.32" x2="152.4" y2="153.67" width="0.1524" layer="91"/>
<junction x="152.4" y="153.67"/>
</segment>
<segment>
<wire x1="100.33" y1="107.95" x2="87.63" y2="107.95" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="GND"/>
</segment>
<segment>
<wire x1="43.18" y1="76.2" x2="43.18" y2="66.04" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="GND@1"/>
</segment>
<segment>
<wire x1="40.64" y1="76.2" x2="40.64" y2="66.04" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="GND@2"/>
</segment>
<segment>
<pinref part="D7" gate="G$1" pin="4"/>
<wire x1="115.57" y1="168.91" x2="120.65" y2="168.91" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="U$6" gate="G$1" pin="GND"/>
<wire x1="120.65" y1="64.77" x2="120.65" y2="66.04" width="0.1524" layer="91"/>
<wire x1="120.65" y1="66.04" x2="120.65" y2="68.58" width="0.1524" layer="91"/>
<junction x="120.65" y="66.04"/>
<wire x1="120.65" y1="66.04" x2="139.7" y2="66.04" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="GND"/>
<pinref part="C3" gate="C" pin="-"/>
<wire x1="139.7" y1="66.04" x2="139.7" y2="67.31" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U2" gate="G$1" pin="GND"/>
<pinref part="U$3" gate="G$1" pin="GND"/>
<wire x1="110.49" y1="34.29" x2="113.03" y2="34.29" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U$7" gate="G$1" pin="GND"/>
<pinref part="C4" gate="C" pin="1"/>
<wire x1="143.51" y1="39.37" x2="143.51" y2="40.64" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="C10" gate="C" pin="1"/>
<pinref part="C11" gate="C" pin="1"/>
<wire x1="90.17" y1="31.75" x2="92.71" y2="31.75" width="0.1524" layer="91"/>
<wire x1="92.71" y1="21.59" x2="90.17" y2="21.59" width="0.1524" layer="91"/>
<wire x1="90.17" y1="21.59" x2="90.17" y2="31.75" width="0.1524" layer="91"/>
<pinref part="U$8" gate="G$1" pin="GND"/>
<wire x1="90.17" y1="19.05" x2="90.17" y2="21.59" width="0.1524" layer="91"/>
<junction x="90.17" y="21.59"/>
</segment>
<segment>
<pinref part="C15" gate="C" pin="2"/>
<wire x1="82.55" y1="24.13" x2="82.55" y2="21.59" width="0.1524" layer="91"/>
<pinref part="C8" gate="C" pin="-"/>
<wire x1="77.47" y1="24.13" x2="77.47" y2="21.59" width="0.1524" layer="91"/>
<wire x1="77.47" y1="21.59" x2="82.55" y2="21.59" width="0.1524" layer="91"/>
<pinref part="U$10" gate="G$1" pin="GND"/>
<wire x1="77.47" y1="21.59" x2="77.47" y2="17.78" width="0.1524" layer="91"/>
<junction x="77.47" y="21.59"/>
</segment>
<segment>
<pinref part="U$11" gate="G$1" pin="GND"/>
<pinref part="L" gate="LED" pin="-"/>
<wire x1="245.11" y1="68.58" x2="247.65" y2="68.58" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U$5" gate="G$1" pin="GND"/>
<pinref part="C1" gate="C" pin="2"/>
<wire x1="95.25" y1="41.91" x2="100.33" y2="41.91" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U$9" gate="G$1" pin="GND@1"/>
<wire x1="12.7" y1="26.67" x2="12.7" y2="21.59" width="0.1524" layer="91"/>
<pinref part="U$9" gate="G$1" pin="GND@2"/>
<wire x1="12.7" y1="21.59" x2="12.7" y2="17.78" width="0.1524" layer="91"/>
<wire x1="15.24" y1="26.67" x2="15.24" y2="21.59" width="0.1524" layer="91"/>
<wire x1="15.24" y1="21.59" x2="12.7" y2="21.59" width="0.1524" layer="91"/>
<junction x="12.7" y="21.59"/>
<pinref part="U$13" gate="G$1" pin="GND"/>
<pinref part="U$9" gate="G$1" pin="GND"/>
<wire x1="25.4" y1="31.75" x2="27.94" y2="31.75" width="0.1524" layer="91"/>
<wire x1="27.94" y1="31.75" x2="27.94" y2="21.59" width="0.1524" layer="91"/>
<wire x1="27.94" y1="21.59" x2="15.24" y2="21.59" width="0.1524" layer="91"/>
<junction x="15.24" y="21.59"/>
</segment>
<segment>
<wire x1="59.69" y1="44.45" x2="57.15" y2="44.45" width="0.1524" layer="91"/>
<pinref part="GND" gate="TP" pin="T"/>
</segment>
</net>
<net name="VCC" class="0">
<segment>
<pinref part="UART" gate="G$1" pin="3"/>
<wire x1="16.51" y1="166.37" x2="21.59" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D2" gate="G$1" pin="3"/>
<wire x1="33.02" y1="166.37" x2="38.1" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D4" gate="G$1" pin="3"/>
<wire x1="66.04" y1="166.37" x2="71.12" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D6" gate="G$1" pin="3"/>
<wire x1="99.06" y1="166.37" x2="104.14" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="A6" gate="G$1" pin="3"/>
<wire x1="165.1" y1="166.37" x2="170.18" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="A2" gate="G$1" pin="3"/>
<wire x1="148.59" y1="166.37" x2="153.67" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C.." gate="G$1" pin="3"/>
<wire x1="181.61" y1="166.37" x2="186.69" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C." gate="G$1" pin="3"/>
<wire x1="198.12" y1="166.37" x2="203.2" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="A0" gate="G$1" pin="3"/>
<wire x1="132.08" y1="166.37" x2="137.16" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D3" gate="G$1" pin="3"/>
<wire x1="49.53" y1="166.37" x2="54.61" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D5" gate="G$1" pin="3"/>
<wire x1="82.55" y1="166.37" x2="87.63" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<wire x1="144.78" y1="116.84" x2="162.56" y2="116.84" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="AVCC"/>
<pinref part="C9" gate="C" pin="2"/>
</segment>
<segment>
<wire x1="144.78" y1="91.44" x2="162.56" y2="91.44" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="VCC@1"/>
<pinref part="C7" gate="C" pin="2"/>
</segment>
<segment>
<wire x1="152.4" y1="88.9" x2="162.56" y2="88.9" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="VCC@2"/>
</segment>
<segment>
<wire x1="181.61" y1="144.78" x2="187.96" y2="144.78" width="0.1524" layer="91"/>
<wire x1="180.34" y1="153.67" x2="181.61" y2="153.67" width="0.1524" layer="91"/>
<wire x1="181.61" y1="153.67" x2="181.61" y2="144.78" width="0.1524" layer="91"/>
<wire x1="180.34" y1="144.78" x2="181.61" y2="144.78" width="0.1524" layer="91"/>
<wire x1="170.18" y1="137.16" x2="181.61" y2="137.16" width="0.1524" layer="91"/>
<wire x1="181.61" y1="137.16" x2="181.61" y2="144.78" width="0.1524" layer="91"/>
<junction x="181.61" y="144.78"/>

<pinref part="R9" gate="R" pin="1"/>
<pinref part="R10" gate="R" pin="1"/>
<pinref part="R11" gate="R" pin="1"/>
</segment>
<segment>
<wire x1="100.33" y1="113.03" x2="87.63" y2="113.03" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="VCC"/>
</segment>
<segment>
<wire x1="30.48" y1="66.04" x2="30.48" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="ADC7"/>
</segment>
<segment>
<pinref part="D7" gate="G$1" pin="3"/>
<wire x1="115.57" y1="166.37" x2="120.65" y2="166.37" width="0.1524" layer="91"/>

</segment>
<segment>
<wire x1="38.1" y1="76.2" x2="38.1" y2="66.04" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="5V"/>
</segment>
<segment>
<pinref part="C15" gate="C" pin="1"/>
<wire x1="82.55" y1="34.29" x2="82.55" y2="31.75" width="0.1524" layer="91"/>
<wire x1="72.39" y1="34.29" x2="77.47" y2="34.29" width="0.1524" layer="91"/>
<pinref part="F1" gate="F" pin="2"/>

<pinref part="C8" gate="C" pin="+"/>
<wire x1="77.47" y1="34.29" x2="82.55" y2="34.29" width="0.1524" layer="91"/>
<wire x1="77.47" y1="31.75" x2="77.47" y2="34.29" width="0.1524" layer="91"/>
<junction x="77.47" y="34.29"/>
</segment>
<segment>
<wire x1="109.22" y1="76.2" x2="97.79" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U1" gate="G$1" pin="IN"/>
</segment>
<segment>
<pinref part="C4" gate="C" pin="2"/>
<wire x1="143.51" y1="49.53" x2="143.51" y2="48.26" width="0.1524" layer="91"/>
<pinref part="U2" gate="G$1" pin="VCC"/>
<wire x1="143.51" y1="49.53" x2="133.35" y2="49.53" width="0.1524" layer="91"/>

</segment>
</net>
<net name="AREF" class="0">
<segment>
<wire x1="144.78" y1="119.38" x2="162.56" y2="119.38" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="AREF"/>
<pinref part="C5" gate="C" pin="2"/>
</segment>
<segment>
<wire x1="27.94" y1="137.16" x2="27.94" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="AREF"/>
</segment>
</net>
<net name="PD4" class="0">
<segment>
<wire x1="58.42" y1="137.16" x2="58.42" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PD4/D4"/>
</segment>
<segment>
<wire x1="220.98" y1="93.98" x2="210.82" y2="93.98" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PD4(XCK/T0)"/>
</segment>
<segment>
<pinref part="D3" gate="G$1" pin="2"/>
<wire x1="49.53" y1="163.83" x2="54.61" y2="163.83" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D4" gate="G$1" pin="1"/>
<wire x1="66.04" y1="161.29" x2="71.12" y2="161.29" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PD1/TX" class="0">
<segment>
<wire x1="66.04" y1="137.16" x2="66.04" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PD1/D1/TX"/>
</segment>
<segment>
<wire x1="220.98" y1="101.6" x2="210.82" y2="101.6" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PD1(TXD)"/>
</segment>
<segment>
<pinref part="UART" gate="G$1" pin="2"/>
<wire x1="16.51" y1="163.83" x2="21.59" y2="163.83" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R3" gate="R" pin="1"/>
<wire x1="101.6" y1="44.45" x2="92.71" y2="44.45" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PD0/RX" class="0">
<segment>
<wire x1="68.58" y1="137.16" x2="68.58" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PD0/D0/RX"/>
</segment>
<segment>
<wire x1="220.98" y1="104.14" x2="210.82" y2="104.14" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PD0(RXD)"/>
</segment>
<segment>
<pinref part="UART" gate="G$1" pin="1"/>
<wire x1="16.51" y1="161.29" x2="21.59" y2="161.29" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R2" gate="R" pin="1"/>
<wire x1="101.6" y1="46.99" x2="92.71" y2="46.99" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PC3" class="0">
<segment>
<wire x1="220.98" y1="119.38" x2="210.82" y2="119.38" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PC3(ADC3)"/>
</segment>
<segment>
<wire x1="63.5" y1="66.04" x2="63.5" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PC3/AD3/D17"/>
</segment>
<segment>
<pinref part="A2" gate="G$1" pin="2"/>
<wire x1="148.59" y1="163.83" x2="153.67" y2="163.83" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PC2" class="0">
<segment>
<wire x1="220.98" y1="121.92" x2="210.82" y2="121.92" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PC2(ADC2)"/>
</segment>
<segment>
<wire x1="60.96" y1="66.04" x2="60.96" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PC2/AD2/D16"/>
</segment>
<segment>
<pinref part="A2" gate="G$1" pin="1"/>
<wire x1="148.59" y1="161.29" x2="153.67" y2="161.29" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PC1" class="0">
<segment>
<wire x1="220.98" y1="124.46" x2="210.82" y2="124.46" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PC1(ADC1)"/>
</segment>
<segment>
<wire x1="58.42" y1="66.04" x2="58.42" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PC1/AD1/D15"/>
</segment>
<segment>
<pinref part="A0" gate="G$1" pin="2"/>
<wire x1="132.08" y1="163.83" x2="137.16" y2="163.83" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PC0" class="0">
<segment>
<wire x1="220.98" y1="127" x2="210.82" y2="127" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PC0(ADC0)"/>
</segment>
<segment>
<wire x1="55.88" y1="66.04" x2="55.88" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PC0/AD0/D14"/>
</segment>
<segment>
<pinref part="A0" gate="G$1" pin="1"/>
<wire x1="132.08" y1="161.29" x2="137.16" y2="161.29" width="0.1524" layer="91"/>

</segment>
</net>
<net name="ADC7" class="0">
<segment>
<wire x1="220.98" y1="109.22" x2="210.82" y2="109.22" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="ADC7"/>
</segment>
<segment>
<pinref part="A6" gate="G$1" pin="2"/>
<wire x1="165.1" y1="163.83" x2="170.18" y2="163.83" width="0.1524" layer="91"/>

</segment>
</net>
<net name="ADC6" class="0">
<segment>
<wire x1="220.98" y1="111.76" x2="210.82" y2="111.76" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="ADC6"/>
</segment>
<segment>
<wire x1="27.94" y1="66.04" x2="27.94" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="ADC6"/>
</segment>
<segment>
<pinref part="A6" gate="G$1" pin="1"/>
<wire x1="165.1" y1="161.29" x2="170.18" y2="161.29" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PB5/SCK" class="0">
<segment>
<wire x1="33.02" y1="137.16" x2="33.02" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PB5/D13/SCK"/>
</segment>
<segment>

<pinref part="U4" gate="G$1" pin="PB5(SCK)"/>
<pinref part="R12" gate="R" pin="1"/>
<wire x1="227.33" y1="68.58" x2="210.82" y2="68.58" width="0.1524" layer="91"/>
</segment>
<segment>
<wire x1="87.63" y1="102.87" x2="100.33" y2="102.87" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="SCK"/>
</segment>
</net>
<net name="PD5" class="0">
<segment>
<wire x1="55.88" y1="137.16" x2="55.88" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PD5/D5/PWM"/>
</segment>
<segment>
<wire x1="220.98" y1="91.44" x2="210.82" y2="91.44" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PD5(T1)"/>
</segment>
<segment>
<pinref part="D5" gate="G$1" pin="1"/>
<wire x1="82.55" y1="161.29" x2="87.63" y2="161.29" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D4" gate="G$1" pin="2"/>
<wire x1="66.04" y1="163.83" x2="71.12" y2="163.83" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PD6" class="0">
<segment>
<wire x1="53.34" y1="137.16" x2="53.34" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PD6/D6/PWM"/>
</segment>
<segment>
<wire x1="220.98" y1="88.9" x2="210.82" y2="88.9" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PD6(AIN0)"/>
</segment>
<segment>
<pinref part="D5" gate="G$1" pin="2"/>
<wire x1="82.55" y1="163.83" x2="87.63" y2="163.83" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D6" gate="G$1" pin="1"/>
<wire x1="99.06" y1="161.29" x2="104.14" y2="161.29" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PD7" class="0">
<segment>
<wire x1="50.8" y1="147.32" x2="50.8" y2="137.16" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PD7/D7"/>
</segment>
<segment>
<wire x1="220.98" y1="86.36" x2="210.82" y2="86.36" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PD7(AIN1)"/>
</segment>
<segment>
<pinref part="D6" gate="G$1" pin="2"/>
<wire x1="99.06" y1="163.83" x2="104.14" y2="163.83" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D7" gate="G$1" pin="1"/>
<wire x1="115.57" y1="161.29" x2="120.65" y2="161.29" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PB0" class="0">
<segment>
<wire x1="45.72" y1="137.16" x2="45.72" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PB0/D8"/>
</segment>
<segment>
<wire x1="220.98" y1="81.28" x2="210.82" y2="81.28" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PB0(ICP)"/>
</segment>
<segment>
<pinref part="D7" gate="G$1" pin="2"/>
<wire x1="115.57" y1="163.83" x2="120.65" y2="163.83" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PB1" class="0">
<segment>
<wire x1="43.18" y1="137.16" x2="43.18" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PB1/D9/PWM"/>
</segment>
<segment>
<wire x1="220.98" y1="78.74" x2="210.82" y2="78.74" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PB1(OC1A)"/>
</segment>
</net>
<net name="PB2" class="0">
<segment>
<wire x1="40.64" y1="137.16" x2="40.64" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PB2/D10/SS/PWM"/>
</segment>
<segment>
<wire x1="220.98" y1="76.2" x2="210.82" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PB2(SS/OC1B)"/>
</segment>
</net>
<net name="PB3/MOSI" class="0">
<segment>
<wire x1="38.1" y1="137.16" x2="38.1" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PB3/D11/MOSI/PWM"/>
</segment>
<segment>
<wire x1="226.06" y1="73.66" x2="210.82" y2="73.66" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PB3(MOSI/OC2)"/>
</segment>
<segment>
<wire x1="100.33" y1="110.49" x2="87.63" y2="110.49" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="MOSI"/>
</segment>
</net>
<net name="PB4/MISO" class="0">
<segment>
<wire x1="35.56" y1="137.16" x2="35.56" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PB4/D12/MISO"/>
</segment>
<segment>
<wire x1="226.06" y1="71.12" x2="210.82" y2="71.12" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PB4(MISO)"/>
</segment>
<segment>
<wire x1="87.63" y1="100.33" x2="100.33" y2="100.33" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="MISO"/>
</segment>
</net>
<net name="XTAL1" class="0">
<segment>
<wire x1="152.4" y1="109.22" x2="162.56" y2="109.22" width="0.1524" layer="91"/>
<wire x1="152.4" y1="109.22" x2="152.4" y2="113.03" width="0.1524" layer="91"/>
<wire x1="152.4" y1="113.03" x2="147.32" y2="113.03" width="0.1524" layer="91"/>
<wire x1="147.32" y1="113.03" x2="147.32" y2="110.49" width="0.1524" layer="91"/>
<wire x1="147.32" y1="113.03" x2="144.78" y2="113.03" width="0.1524" layer="91"/>
<junction x="147.32" y="113.03"/>

<pinref part="U4" gate="G$1" pin="PB6(XTAL1/TOSC1)"/>
<pinref part="X2" gate="X" pin="2"/>
<pinref part="C12" gate="C" pin="2"/>
</segment>
</net>
<net name="XTAL2" class="0">
<segment>
<wire x1="152.4" y1="104.14" x2="162.56" y2="104.14" width="0.1524" layer="91"/>
<wire x1="152.4" y1="104.14" x2="152.4" y2="100.33" width="0.1524" layer="91"/>
<wire x1="152.4" y1="100.33" x2="147.32" y2="100.33" width="0.1524" layer="91"/>
<wire x1="147.32" y1="100.33" x2="147.32" y2="102.87" width="0.1524" layer="91"/>
<wire x1="147.32" y1="100.33" x2="144.78" y2="100.33" width="0.1524" layer="91"/>
<junction x="147.32" y="100.33"/>

<pinref part="U4" gate="G$1" pin="PB7(XTAL2/TOSC2)"/>
<pinref part="X2" gate="X" pin="1"/>
<pinref part="C13" gate="C" pin="2"/>
</segment>
</net>
<net name="PWR_IN" class="0">
<segment>
<wire x1="45.72" y1="76.2" x2="45.72" y2="66.04" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="VIN"/>
</segment>
</net>
<net name="RESET" class="0">
<segment>
<wire x1="152.4" y1="144.78" x2="162.56" y2="144.78" width="0.1524" layer="91"/>
<wire x1="152.4" y1="144.78" x2="152.4" y2="137.16" width="0.1524" layer="91"/>
<wire x1="152.4" y1="137.16" x2="152.4" y2="127" width="0.1524" layer="91"/>
<wire x1="152.4" y1="127" x2="162.56" y2="127" width="0.1524" layer="91"/>
<wire x1="152.4" y1="137.16" x2="162.56" y2="137.16" width="0.1524" layer="91"/>
<wire x1="149.86" y1="144.78" x2="152.4" y2="144.78" width="0.1524" layer="91"/>
<junction x="152.4" y="137.16"/>
<junction x="152.4" y="144.78"/>

<pinref part="RST" gate="LED" pin="-"/>
<pinref part="U4" gate="G$1" pin="PC6(/RESET)"/>
<pinref part="R11" gate="R" pin="2"/>
<pinref part="RESET" gate="SW" pin="2"/>
<pinref part="C6" gate="C" pin="2"/>
<wire x1="147.32" y1="137.16" x2="152.4" y2="137.16" width="0.1524" layer="91"/>
</segment>
<segment>
<wire x1="87.63" y1="105.41" x2="100.33" y2="105.41" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="RST"/>
</segment>
<segment>
<wire x1="33.02" y1="76.2" x2="33.02" y2="66.04" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="RESET"/>
</segment>
</net>
<net name="PC5/SCL" class="0">
<segment>
<wire x1="220.98" y1="114.3" x2="210.82" y2="114.3" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PC5(ADC5/SCL)"/>
</segment>
<segment>
<wire x1="22.86" y1="137.16" x2="22.86" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="SCL"/>
</segment>
<segment>
<wire x1="68.58" y1="66.04" x2="68.58" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PC5/AD5/D19/SCL"/>
</segment>
<segment>
<pinref part="I2C.." gate="G$1" pin="1"/>
<wire x1="181.61" y1="161.29" x2="186.69" y2="161.29" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C." gate="G$1" pin="1"/>
<wire x1="198.12" y1="161.29" x2="203.2" y2="161.29" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PC4/SDA" class="0">
<segment>
<wire x1="220.98" y1="116.84" x2="210.82" y2="116.84" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PC4(ADC4/SDA)"/>
</segment>
<segment>
<wire x1="25.4" y1="137.16" x2="25.4" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="SDA"/>
</segment>
<segment>
<wire x1="66.04" y1="66.04" x2="66.04" y2="76.2" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PC4/AD4/D18/SDA"/>
</segment>
<segment>
<pinref part="I2C.." gate="G$1" pin="2"/>
<wire x1="181.61" y1="163.83" x2="186.69" y2="163.83" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C." gate="G$1" pin="2"/>
<wire x1="198.12" y1="163.83" x2="203.2" y2="163.83" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PD3/INT1" class="0">
<segment>
<wire x1="220.98" y1="96.52" x2="210.82" y2="96.52" width="0.1524" layer="91"/>

<pinref part="U4" gate="G$1" pin="PD3(INT1)"/>
</segment>
<segment>
<wire x1="60.96" y1="137.16" x2="60.96" y2="147.32" width="0.1524" layer="91"/>

<pinref part="U3" gate="SEEEDUINO" pin="PD3/D3/INT1/PWM"/>
</segment>
<segment>
<pinref part="D2" gate="G$1" pin="2"/>
<wire x1="33.02" y1="163.83" x2="38.1" y2="163.83" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D3" gate="G$1" pin="1"/>
<wire x1="49.53" y1="161.29" x2="54.61" y2="161.29" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PD2/INT0" class="0">
<segment>
<wire x1="220.98" y1="99.06" x2="210.82" y2="99.06" width="0.1524" layer="91"/>
<label x="2

license: MIT

license_type: permissive

branch_name: refs/heads/master


text:
13.36" y="99.06" size="1.27" layer="95" ratio="10"/>
<pinref part="U4" gate="G$1" pin="PD2(INT0)"/>
</segment>
<segment>
<wire x1="63.5" y1="137.16" x2="63.5" y2="147.32" width="0.1524" layer="91"/>
<label x="63.5" y="138.43" size="1.27" layer="95" ratio="10" rot="R90"/>
<pinref part="U3" gate="SEEEDUINO" pin="PD2/D2/INT0"/>
</segment>
<segment>
<pinref part="D2" gate="G$1" pin="1"/>
<wire x1="33.02" y1="161.29" x2="38.1" y2="161.29" width="0.1524" layer="91"/>
<label x="34.29" y="161.29" size="1.27" layer="95" ratio="10"/>
</segment>
</net>
<net name="N$2" class="0">
<segment>
<wire x1="172.72" y1="144.78" x2="170.18" y2="144.78" width="0.1524" layer="91"/>
<pinref part="R10" gate="R" pin="2"/>
<pinref part="RST" gate="LED" pin="+"/>
</segment>
</net>
<net name="N$3" class="0">
<segment>
<wire x1="170.18" y1="153.67" x2="172.72" y2="153.67" width="0.1524" layer="91"/>
<pinref part="R9" gate="R" pin="2"/>
<pinref part="PWR" gate="LED" pin="+"/>
</segment>
</net>
<net name="USB_D-" class="0">
<segment>
<label x="59.69" y="36.83" size="1.27" layer="95"/>
<pinref part="U2" gate="G$1" pin="UD-"/>
<wire x1="57.15" y1="36.83" x2="73.66" y2="36.83" width="0.1524" layer="91"/>
<pinref part="D-" gate="TP" pin="T"/>
<wire x1="73.66" y1="36.83" x2="113.03" y2="36.83" width="0.1524" layer="91"/>
<junction x="73.66" y="36.83"/>
</segment>
<segment>
<pinref part="U$9" gate="G$1" pin="D-"/>
<wire x1="25.4" y1="39.37" x2="33.02" y2="39.37" width="0.1524" layer="91"/>
<label x="33.02" y="39.37" size="1.778" layer="95"/>
</segment>
</net>
<net name="USB_D+" class="0">
<segment>
<label x="59.69" y="39.37" size="1.27" layer="95"/>
<pinref part="U2" gate="G$1" pin="UD+"/>
<wire x1="57.15" y1="39.37" x2="69.85" y2="39.37" width="0.1524" layer="91"/>
<pinref part="D+" gate="TP" pin="T"/>
<wire x1="69.85" y1="39.37" x2="113.03" y2="39.37" width="0.1524" layer="91"/>
<junction x="69.85" y="39.37"/>
</segment>
<segment>
<pinref part="U$9" gate="G$1" pin="D+"/>
<wire x1="25.4" y1="36.83" x2="33.02" y2="36.83" width="0.1524" layer="91"/>
<label x="33.02" y="36.83" size="1.778" layer="95"/>
</segment>
</net>
<net name="N$4" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="XI"/>
<pinref part="C10" gate="C" pin="2"/>
<pinref part="X1" gate="X" pin="2"/>
<wire x1="100.33" y1="31.75" x2="102.87" y2="31.75" width="0.1524" layer="91"/>
<wire x1="102.87" y1="31.75" x2="102.87" y2="30.48" width="0.1524" layer="91"/>
<wire x1="113.03" y1="31.75" x2="102.87" y2="31.75" width="0.1524" layer="91"/>
<junction x="102.87" y="31.75"/>
</segment>
</net>
<net name="N$5" class="0">
<segment>
<wire x1="106.68" y1="29.21" x2="113.03" y2="29.21" width="0.1524" layer="91"/>
<pinref part="U2" gate="G$1" pin="XO"/>
<wire x1="106.68" y1="29.21" x2="106.68" y2="21.59" width="0.1524" layer="91"/>
<pinref part="C11" gate="C" pin="2"/>
<pinref part="X1" gate="X" pin="1"/>
<wire x1="100.33" y1="21.59" x2="102.87" y2="21.59" width="0.1524" layer="91"/>
<wire x1="102.87" y1="21.59" x2="102.87" y2="22.86" width="0.1524" layer="91"/>
<wire x1="106.68" y1="21.59" x2="102.87" y2="21.59" width="0.1524" layer="91"/>
<junction x="102.87" y="21.59"/>
</segment>
</net>
<net name="DTR" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="DTR#"/>
<wire x1="133.35" y1="39.37" x2="138.43" y2="39.37" width="0.1524" layer="91"/>
<label x="134.62" y="39.37" size="1.27" layer="95" ratio="10"/>
</segment>
<segment>
<pinref part="C6" gate="C" pin="1"/>
<wire x1="139.7" y1="137.16" x2="128.27" y2="137.16" width="0.1524" layer="91"/>
<label x="129.54" y="137.16" size="1.27" layer="95" ratio="10"/>
</segment>
</net>
<net name="RX" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="RXD"/>
<wire x1="113.03" y1="44.45" x2="109.22" y2="44.45" width="0.1524" layer="91"/>
<label x="109.22" y="44.45" size="1.27" layer="95" ratio="10"/>
<pinref part="R3" gate="R" pin="2"/>
</segment>
</net>
<net name="TX" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="TXD"/>
<wire x1="113.03" y1="46.99" x2="109.22" y2="46.99" width="0.1524" layer="91"/>
<label x="109.22" y="46.99" size="1.27" layer="95" ratio="10"/>
<pinref part="R2" gate="R" pin="2"/>
</segment>
</net>
<net name="CTS" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="CTS#"/>
<wire x1="133.35" y1="29.21" x2="137.16" y2="29.21" width="0.1524" layer="91"/>
<pinref part="!CTS" gate="TP" pin="T"/>
</segment>
</net>
<net name="N$11" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="RTS#"/>
<wire x1="137.16" y1="41.91" x2="133.35" y2="41.91" width="0.1524" layer="91"/>
<pinref part="!RTS" gate="TP" pin="T"/>
</segment>
</net>
<net name="VBUS" class="3">
<segment>
<pinref part="F1" gate="F" pin="1"/>
<wire x1="57.15" y1="34.29" x2="60.96" y2="34.29" width="0.1524" layer="91"/>
<pinref part="VCC" gate="TP" pin="T"/>
<wire x1="60.96" y1="34.29" x2="62.23" y2="34.29" width="0.1524" layer="91"/>
<junction x="60.96" y="34.29"/>
</segment>
<segment>
<pinref part="U$9" gate="G$1" pin="VCC"/>
<wire x1="25.4" y1="41.91" x2="33.02" y2="41.91" width="0.1524" layer="91"/>
<label x="33.02" y="41.91" size="1.778" layer="95"/>
</segment>
</net>
<net name="N$13" class="0">
<segment>
<pinref part="R12" gate="R" pin="2"/>
<wire x1="237.49" y1="68.58" x2="234.95" y2="68.58" width="0.1524" layer="91"/>
<pinref part="L" gate="LED" pin="+"/>
</segment>
</net>
<net name="V3" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="V3"/>
<pinref part="C1" gate="C" pin="1"/>
<wire x1="113.03" y1="41.91" x2="107.95" y2="41.91" width="0.1524" layer="91"/>
</segment>
</net>
<net name="3V3" class="0">
<segment>
<wire x1="139.7" y1="76.2" x2="132.08" y2="76.2" width="0.1524" layer="91"/>
<label x="135.89" y="76.2" size="1.27" layer="95" ratio="10"/>
<pinref part="U1" gate="G$1" pin="OUT"/>
<pinref part="C3" gate="C" pin="+"/>
<wire x1="139.7" y1="76.2" x2="139.7" y2="74.93" width="0.1524" layer="91"/>
</segment>
<segment>
<wire x1="35.56" y1="76.2" x2="35.56" y2="66.04" width="0.1524" layer="91"/>
<label x="35.56" y="67.31" size="1.27" layer="95" ratio="10" rot="R90"/>
<pinref part="U3" gate="SEEEDUINO" pin="3V3"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
<errors>
<approved hash="104,1,25.4,41.91,U$9,VCC,VBUS,,,"/>
<approved hash="113,1,111.481,34.29,U$3,,,,,"/>
<approved hash="113,1,120.65,65.7606,U$6,,,,,"/>
<approved hash="113,1,143.51,40.3606,U$7,,,,,"/>
<approved hash="113,1,90.17,20.0406,U$8,,,,,"/>
<approved hash="113,1,77.47,18.7706,U$10,,,,,"/>
<approved hash="113,1,136.944,41.91,!RTS,,,,,"/>
<approved hash="113,1,136.944,29.21,!CTS,,,,,"/>
<approved hash="113,1,246.659,68.58,U$11,,,,,"/>
<approved hash="113,1,96.2406,41.91,U$5,,,,,"/>
<approved hash="113,1,59.4741,44.45,GND,,,,,"/>
<approved hash="113,1,69.85,39.1541,D+,,,,,"/>
<approved hash="113,1,73.66,36.6141,D-,,,,,"/>
<approved hash="113,1,60.96,34.5059,VCC,,,,,"/>
<approved hash="113,1,54.1909,106.68,U3,,,,,"/>
<approved hash="113,1,12.7,18.7706,U$13,,,,,"/>
</errors>
</schematic>
</drawing>
</eagle>

repository: getblocky/oshw

repo_name: getblocky/oshw

extension: sch


text:
package cmd

import (
  "fmt"
  "os"

  "github.com/spf13/cobra"
)

type Cli struct {
  rootCmd *cobra.Command
}

//NewCli returns the cli instance used to register and execute command
func NewCli() *Cli {
  cli := &Cli{
    rootCmd: &cobra.Command{
      Use:   "kust-check",
      Short: "chek kustomize docs",
      Long:  "chek kustomize docs",
    },
  }
  cli.rootCmd.SetOutput(os.Stdout)
  //cli.setFlags()
  return cli
}

// setFlags defines flags for root command
func (cli *Cli) setFlags() {
  flags := cli.rootCmd.PersistentFlags()
  fmt.Println(flags)
}

//Run command
func (cli *Cli) Run() error {
  return cli.rootCmd.Execute()
}

extension: go


text:
require recipes-graphics/mesa/${BPN}.inc

S = "${WORKDIR}/git"

DEPENDS_append = " python-mako-native"
inherit pythonnative

SRCREV_amd = "d07a49fb1840bb441e600ce942cb0088e7ea15c7"
LIC_FILES_CHKSUM_amd = "file://docs/license.html;md5=725f991a1cc322aa7a0cd3a2016621c4"
PV_amd = "18.1.0+git${SRCPV}"

DEPENDS_append_amd = " libvdpau libomxil"

PACKAGECONFIG[va] = "--enable-va,--disable-va,libva"
PACKAGECONFIG_append_amd = " xvmc gallium r600 gallium-llvm xa"
PACKAGECONFIG_append_radeon = " va"
PACKAGECONFIG_append_amdgpu = " va"

PACKAGECONFIG_remove_amd = "vulkan"
PACKAGECONFIG_remove_amdfalconx86 = "xvmc"

LIBVA_PLATFORMS  = "libva"
LIBVA_PLATFORMS .= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' libva-x11', '', d)}"
LIBVA_PLATFORMS .= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' libva-wayland', '', d)}"
LIBVA_PLATFORMS .= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' libva-gl', '', d)}"
RDEPENDS_mesa-megadriver += "${@bb.utils.contains('PACKAGECONFIG', 'va', '${LIBVA_PLATFORMS}', '', d)}"

MESA_LLVM_RELEASE_amd = "6.0"

SRC_URI_amd = "git://anongit.freedesktop.org/mesa/mesa;branch=master \
               file://0001-st-omx-enc-fix-blit-setup-for-YUV-LoadImage.patch \
               file://0002-mesa-st-glsl_to_tgsi-Split-arrays-who-s-elements-are.patch \
               file://0003-mesa-st-glsl_to_tgsi-rename-lifetime-to-register_liv.patch \
               file://0004-mesa-st-Add-helper-classes-for-array-merging-and-int.patch \
               file://0005-mesa-st-glsl_to_tgsi-Add-class-to-hold-array-informa.patch \
               file://0006-mesa-st-glsl_to_tgsi-Add-array-merge-logic.patch \
               file://0007-mesa-st-tests-Add-unit-tests-for-array-merge-helper-.patch \
               file://0008-mesa-st-glsl_to_tgsi-refactor-access_record-and-its-.patch \
               file://0009-mesa-st-glsl_to_tgsi-move-evaluation-of-read-mask-up.patch \
               file://0010-mesa-st-glsl_to_tgsi-add-class-for-array-access-trac.patch \
               file://0011-mesa-st-glsl_to_tgsi-add-array-life-range-evaluation.patch \
               file://0012-mesa-st-glsl_to_tgsi-Expose-array-live-range-trackin.patch \
               file://0013-mesa-st-glsl_to_tgsi-Properly-resolve-life-times-for.patch \
               file://0001-configure.ac-obey-llvm_prefix-if-available.patch \
               file://0001-configure.ac-adjust-usage-of-LLVM-flags.patch"

EXTRA_OECONF_append_amd = " \
		 --enable-vdpau \
		 --enable-osmesa \
		 --enable-glx \
		 --enable-omx-bellagio \
		 --with-omx-bellagio-libdir=${libdir}/bellagio \
		 --enable-texture-float"

# Package all the libXvMC gallium extensions together
# they provide the shared lib libXvMCGallium and splitting
# them up creates trouble in rpm packaging
PACKAGES =+ "libxvmcgallium-${PN} libxvmcgallium-${PN}-dev"
FILES_libxvmcgallium-${PN} = "${libdir}/libXvMC*${SOLIBS}"
FILES_libxvmcgallium-${PN}-dev = "${libdir}/libXvMC*${SOLIBSDEV} \
                               ${libdir}/libXvMC*.la"

PACKAGES =+ "libvdpau-${PN} libvdpau-${PN}-dev"
FILES_libvdpau-${PN} = "${libdir}/vdpau/libvdpau*${SOLIBS}"
FILES_libvdpau-${PN}-dev = "${libdir}/vdpau/libvdpau*${SOLIBSDEV} \
                            ${libdir}/vdpau/libvdpau*.la"
FILES_${PN}-dbg += "${libdir}/vdpau/.debug"

#
# libomx files are non-versioned so we put *.so directly in the
# main package as opposed to the -dev package.
#
PACKAGES =+ "libomx-${PN} libomx-${PN}-dev"
FILES_libomx-${PN} = "${libdir}/bellagio/libomx_*.so"
FILES_libomx-${PN}-dev = "${libdir}/bellagio/libomx_*.la"
FILES_${PN}-dbg += "${libdir}/bellagio/.debug"

# Set DRIDRIVERS with anonymous python so we can effectively
# override the _append_x86-64 assignement from mesa.inc.
python () {
    d.setVar("DRIDRIVERS", "swrast,radeon")
    d.setVar("GALLIUMDRIVERS", "swrast,r300,r600,radeonsi")
}

#because we cannot rely on the fact that all apps will use pkgconfig,
#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
do_install_append() {
    if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
        sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
    fi
}

extension: bb


text:
@article{balle2016end,
  title={End-to-end optimized image compression},
  author={Ball{\'e}, Johannes and Laparra, Valero and Simoncelli, Eero P},
  journal={International Conference on Learning Representations},
  year={2016}
}
@article{theis2017lossy,
  title={Lossy image compression with compressive autoencoders},
  author={Theis, Lucas and Shi, Wenzhe and Cunningham, Andrew and Husz{\'a}r, Ferenc},
  journal={International Conference on Learning Representations},
  year={2017}
}
@inproceedings{zhou2018variational,
  title={Variational Autoencoder for Low Bit-rate Image Compression},
  author={Zhou, Lei and Cai, Chunlei and Gao, Yue and Su, Sanbao and Wu, Junmin},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops},
  pages={2617--2620},
  year={2018}
}
@article{toderici2015variable,
  title={Variable rate image compression with recurrent neural networks},
  author={Toderici, George and O'Malley, Sean M and Hwang, Sung Jin and Vincent, Damien and Minnen, David and Baluja, Shumeet and Covell, Michele and Sukthankar, Rahul},
  journal={arXiv preprint arXiv:1511.06085},
  year={2015}
}
@inproceedings{toderici2017full,
  title={Full resolution image compression with recurrent neural networks},
  author={Toderici, George and Vincent, Damien and Johnston, Nick and Jin Hwang, Sung and Minnen, David and Shor, Joel and Covell, Michele},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages={5306--5314},
  year={2017}
}
@inproceedings{balle2018variational,
title={Variational image compression with a scale hyperprior},
author={Johannes Ballé and David Minnen and Saurabh Singh and Sung Jin Hwang and Nick Johnston},
booktitle={International Conference on Learning Representations},
year={2018},
url={https://openreview.net/forum?id=rkcQFMZRb},
}

@inproceedings{sonderby2016train,
  title={How to train deep variational autoencoders and probabilistic ladder networks},
  author={S{\o}nderby, Casper Kaae and Raiko, Tapani and Maal{\o}e, Lars and S{\o}nderby, S{\o}ren Kaae and Winther, Ole},
  booktitle={33rd International Conference on Machine Learning (ICML 2016)},
  year={2016}
}
@article{zhao2015loss,
  title={Loss functions for neural networks for image processing},
  author={Zhao, Hang and Gallo, Orazio and Frosio, Iuri and Kautz, Jan},
  journal={arXiv preprint arXiv:1511.08861},
  year={2015}
}
@article{havasi2018minimal,
  title={Minimal Random Code Learning: Getting Bits Back from Compressed Model Parameters},
  author={Havasi, Marton and Peharz, Robert and Hern{\'a}ndez-Lobato, Jos{\'e} Miguel},
  journal={NIPS workshop on Compact Deep Neural Networks with industrial application},
  year={2018}
}
@article{kingma2019bit,
  title={Bit-Swap: Recursive Bits-Back Coding for Lossless Compression with Hierarchical Latent Variables},
  author={Kingma, Friso H and Abbeel, Pieter and Ho, Jonathan},
  journal={arXiv preprint arXiv:1905.06845},
  year={2019}
}
@article{townsend2019practical,
  title={Practical Lossless Compression with Latent Variables using Bits Back Coding},
  author={Townsend, James and Bird, Tom and Barber, David},
  journal={arXiv preprint arXiv:1901.04866},
  year={2019}
}
@inproceedings{ledig2017photo,
  title={Photo-realistic single image super-resolution using a generative adversarial network},
  author={Ledig, Christian and Theis, Lucas and Husz{\'a}r, Ferenc and Caballero, Jose and Cunningham, Andrew and Acosta, Alejandro and Aitken, Andrew and Tejani, Alykhan and Totz, Johannes and Wang, Zehan and others},
  booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition},
  pages={4681--4690},
  year={2017}
}
@inproceedings{higgins2017beta,
  title={beta-vae: Learning basic visual concepts with a constrained variational framework},
  author={Higgins, Irina and Matthey, Loic and Pal, Arka and Burgess, Christopher and Glorot, Xavier and Botvinick, Matthew and Mohamed, Shakir and Lerchner, Alexander},
  booktitle={International Conference on Learning Representations},
  year={2017}
}
@article{kingma2013auto,
  title={Auto-Encoding Variational Bayes},
  author={Kingma, Diederik P and Welling, Max},
  journal={International Conference on Learning Representations},
  year={2014}
}
@misc{clic2018,
  author={CLIC},
  year={2018},
  title = {Workshop and Challenge on Learned Image Compression},
  howpublished = {\url{https://www.compression.cc}},
  note = {Accessed: 2019-03-25}
}
@inproceedings{msssim,
  title={Multiscale structural similarity for image quality assessment},
  author={Wang, Zhou and Simoncelli, Eero P and Bovik, Alan C},
  booktitle={The Thirty-Seventh Asilomar Conference on Signals, Systems \& Computers, 2003},
  volume={2},
  pages={1398--1402},
  year={2003},
  organization={Ieee}
}
@article{psnr,
  title={Scope of validity of PSNR in image/video quality assessment},
  author={Huynh-Thu, Quan and Ghanbari, Mohammed},
  journal={Electronics letters},
  volume={44},
  number={13},
  pages={800--801},
  year={2008},
  publisher={IET}
}
@inproceedings{hinton1993keeping,
  title={Keeping neural networks simple by minimizing the description length of the weights},
  author={Hinton, Geoffrey and Van Camp, Drew},
  booktitle={in Proc. of the 6th Ann. ACM Conf. on Computational Learning Theory},
  year={1993},
  organization={Citeseer}
}
@inproceedings{maddison2014sampling,
  title={A* sampling},
  author={Maddison, Chris J and Tarlow, Daniel and Minka, Tom},
  booktitle={Advances in Neural Information Processing Systems},
  pages={3086--3094},
  year={2014}
}
@inproceedings{harsha2007communication,
  title={The communication complexity of correlation},
  author={Harsha, Prahladh and Jain, Rahul and McAllester, David and Radhakrishnan, Jaikumar},
  booktitle={Twenty-Second Annual IEEE Conference on Computational Complexity (CCC'07)},
  pages={10--23},
  year={2007},
  organization={IEEE}
}
@article{rissanen1981universal,
  title={Universal modeling and coding},
  author={Rissanen, Jorma and Langdon, Glen},
  journal={IEEE Transactions on Information Theory},
  volume={27},
  number={1},
  pages={12--23},
  year={1981},
  publisher={IEEE}
}

@inproceedings{rippel2017real,
  title={Real-time adaptive image compression},
  author={Rippel, Oren and Bourdev, Lubomir},
  booktitle={Proceedings of the 34th International Conference on Machine Learning-Volume 70},
  pages={2922--2930},
  year={2017},
  organization={JMLR. org}
}
@inproceedings{dai2019diagnosing,
title={Diagnosing and Enhancing {VAE} Models},
author={Bin Dai and David Wipf},
booktitle={International Conference on Learning Representations},
year={2019},
url={https://openreview.net/forum?id=B1e0X3C9tQ},
}

@misc{sonnetblog,
  title="{Open sourcing Sonnet - a new library for constructing neural networks}",
  author={Reynolds, Malcolm and Barth-Maron, Gabriel and Besse, Frederic and
      de Las Casas, Diego and Fidjeland, Andreas and Green, Tim and
      Puigdom{\`e}nech, Adri{\`a} and Racani{\`e}re, S{\'e}bastien and Rae, Jack
      and Viola, Fabio},
  howpublished={\url{https://deepmind.com/blog/open-sourcing-sonnet/}},
  year={2017}
}
@misc{tensorflow2015-whitepaper,
title={ {TensorFlow}: Large-Scale Machine Learning on Heterogeneous Systems},
url={https://www.tensorflow.org/},
note={Software available from tensorflow.org},
author={
    Mart\'{\i}n~Abadi and
    Ashish~Agarwal and
    Paul~Barham and
    Eugene~Brevdo and
    Zhifeng~Chen and
    Craig~Citro and
    Greg~S.~Corrado and
    Andy~Davis and
    Jeffrey~Dean and
    Matthieu~Devin and
    Sanjay~Ghemawat and
    Ian~Goodfellow and
    Andrew~Harp and
    Geoffrey~Irving and
    Michael~Isard and
    Yangqing Jia and
    Rafal~Jozefowicz and
    Lukasz~Kaiser and
    Manjunath~Kudlur and
    Josh~Levenberg and
    Dandelion~Man\'{e} and
    Rajat~Monga and
    Sherry~Moore and
    Derek~Murray and
    Chris~Olah and
    Mike~Schuster and
    Jonathon~Shlens and
    Benoit~Steiner and
    Ilya~Sutskever and
    Kunal~Talwar and
    Paul~Tucker and
    Vincent~Vanhoucke and
    Vijay~Vasudevan and
    Fernanda~Vi\'{e}gas and
    Oriol~Vinyals and
    Pete~Warden and
    Martin~Wattenberg and
    Martin~Wicke and
    Yuan~Yu and
    Xiaoqiang~Zheng},
  year={2015},
}
@article{ollivier2014auto,
  title={Auto-encoders: reconstruction versus compression},
  author={Ollivier, Yann},
  journal={arXiv preprint arXiv:1403.7752},
  year={2014}
}
@inproceedings{he2016deep,
  title={Deep residual learning for image recognition},
  author={He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
  booktitle={Proceedings of the IEEE conference on computer vision and pattern recognition},
  pages={770--778},
  year={2016}
}
@inproceedings{li2018learning,
  title={Learning convolutional networks for content-weighted image compression},
  author={Li, Mu and Zuo, Wangmeng and Gu, Shuhang and Zhao, Debin and Zhang, David},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
  pages={3214--3223},
  year={2018}
}
@inproceedings{agustsson2017soft,
  title={Soft-to-hard vector quantization for end-to-end learning compressible representations},
  author={Agustsson, Eirikur and Mentzer, Fabian and Tschannen, Michael and Cavigelli, Lukas and Timofte, Radu and Benini, Luca and Gool, Luc V},
  booktitle={Advances in Neural Information Processing Systems},
  pages={1141--1151},
  year={2017}
}
@InProceedings{johnston2018cvpr,
author = {Johnston, Nick and Vincent, Damien and Minnen, David and Covell, Michele and Singh, Saurabh and Chinen, Troy and Jin Hwang, Sung and Shor, Joel and Toderici, George},
title = {Improved Lossy Image Compression With Priming and Spatially Adaptive Bit Rates for Recurrent Networks},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {06},
year = {2018}
}
@InProceedings{mentzer2018cvpr,
author = {Mentzer, Fabian and Agustsson, Eirikur and Tschannen, Michael and Timofte, Radu and Van Gool, Luc},
title = {Conditional Probability Models for Deep Image Compression},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {06},
year = {2018}
}
@article{rissanen1986stochastic,
  title={Stochastic complexity and modeling},
  author={Rissanen, Jorma},
  journal={The annals of statistics},
  pages={1080--1100},
  year={1986},
  publisher={JSTOR}
}
@book{grünwald2007minimum,
  title={The Minimum Description Length Principle},
  author={Gr{\"u}nwald, P.D. and Grunwald, A. and Rissanen, J.},
  isbn={9780262072816},
  lccn={2006046646},
  series={Adaptive computation and machine learning},
  url={https://books.google.co.uk/books?id=mbU6T7oUrBgC},
  year={2007},
  publisher={MIT Press}
}
@book{shannon1998mathematical,
  title={The mathematical theory of communication},
  author={Shannon, Claude E and Weaver, Warren},
  year={1998},
  publisher={University of Illinois press}
}
@incollection{kuhn2014nonlinear,
  title={Nonlinear programming},
  author={Kuhn, Harold W and Tucker, Albert W},
  booktitle={Traces and emergence of nonlinear programming},
  pages={247--258},
  year={2014},
  publisher={Springer}
}
@incollection{karush2014minima,
  title={Minima of functions of several variables with inequalities as side conditions},
  author={Karush, William},
  booktitle={Traces and Emergence of Nonlinear Programming},
  pages={217--245},
  year={2014},
  publisher={Springer}
}
@article{wallace1992jpeg,
  title={The JPEG still picture compression standard},
  author={Wallace, Gregory K},
  journal={IEEE transactions on consumer electronics},
  volume={38},
  number={1},
  pages={xviii--xxxiv},
  year={1992},
  publisher={IEEE}
}
@article{rabbani2002overview,
  title={An overview of the JPEG 2000 still image compression standard},
  author={Rabbani, Majid and Joshi, Rajan},
  journal={Signal processing: Image communication},
  volume={17},
  number={1},
  pages={3--48},
  year={2002},
  publisher={Elsevier}
}
@article{bottou1998high,
  title={High quality document image compression with DjVu},
  author={Bottou, Leon and Haffner, Patrick and Howard, Paul G and Simard, Patrice and Bengio, Yoshua and LeCun, Yann},
  year={1998},
  publisher={Citeseer}
}
@inproceedings{goodfellow2014generative,
  title={Generative adversarial nets},
  author={Goodfellow, Ian and Pouget-Abadie, Jean and Mirza, Mehdi and Xu, Bing and Warde-Farley, David and Ozair, Sherjil and Courville, Aaron and Bengio, Yoshua},
  booktitle={Advances in neural information processing systems},
  pages={2672--2680},
  year={2014}
}
@article{balle2015density,
  title={Density modeling of images using a generalized normalization transformation},
  author={Ball{\'e}, Johannes and Laparra, Valero and Simoncelli, Eero P},
  journal={arXiv preprint arXiv:1511.06281},
  year={2015}
}
@inproceedings{ioffe2015batch,
  title={Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift},
  author={Ioffe, Sergey and Szegedy, Christian},
  booktitle={International Conference on Machine Learning},
  pages={448--456},
  year={2015}
}

@inproceedings{gupta2011modified,
  title={A modified PSNR metric based on HVS for quality assessment of color images},
  author={Gupta, Prateek and Srivastava, Priyanka and Bhardwaj, Satyam and Bhateja, Vikrant},
  booktitle={2011 International Conference on Communication and Industrial Application},
  pages={1--4},
  year={2011},
  organization={IEEE}
}
@inproceedings{balle2016endtrans,
  title={End-to-end optimization of nonlinear transform codes for perceptual quality},
  author={Ball{\'e}, Johannes and Laparra, Valero and Simoncelli, Eero P},
  booktitle={2016 Picture Coding Symposium (PCS)},
  pages={1--5},
  year={2016},
  organization={IEEE}
}
@article{goyal2001theoretical,
  title={Theoretical foundations of transform coding},
  author={Goyal, Vivek K},
  journal={IEEE Signal Processing Magazine},
  volume={18},
  number={5},
  pages={9--21},
  year={2001},
  publisher={IEEE}
}
@book{bishop2013pattern,
  title={Pattern Recognition and Machine Learning},
  author={Bishop, C.M.},
  isbn={9788132209065},
  series={Information science and statistics},
  url={https://books.google.co.uk/books?id=HL4HrgEACAAJ},
  year={2013},
  publisher={Springer (India) Private Limited}
}
@article{huffman1952method,
  title={A method for the construction of minimum-redundancy codes},
  author={Huffman, David A},
  journal={Proceedings of the IRE},
  volume={40},
  number={9},
  pages={1098--1101},
  year={1952},
  publisher={IEEE}
}
@article{girod1993s,
  title={What's wrong with mean-squared error?},
  author={Girod, Bernd},
  journal={Digital images and human vision},
  pages={207--220},
  year={1993},
  publisher={MIT press}
}
@article{wang2004image,
  title={Image quality assessment: from error visibility to structural similarity},
  author={Wang, Zhou and Bovik, Alan C and Sheikh, Hamid R and Simoncelli, Eero P and others},
  journal={IEEE transactions on image processing},
  volume={13},
  number={4},
  pages={600--612},
  year={2004}
}
@article{eskicioglu1994image,
  title={Image quality measures and their performance},
  author={Eskicioglu, Ahmet M and Fisher, Paul S and Chen, Si-Yuan},
  year={1994}
}
@inproceedings{deng2009imagenet,
  title={Imagenet: A large-scale hierarchical image database},
  author={Deng, Jia and Dong, Wei and Socher, Richard and Li, Li-Jia and Li, Kai and Fei-Fei, Li},
  booktitle={2009 IEEE conference on computer vision and pattern recognition},
  pages={248--255},
  year={2009},
  organization={Ieee}
}
@article{thomee2015yfcc100m,
  title={YFCC100M: The new data in multimedia research},
  author={Thomee, Bart and Shamma, David A and Friedland, Gerald and Elizalde, Benjamin and Ni, Karl and Poland, Douglas and Borth, Damian and Li, Li-Jia},
  journal={arXiv preprint arXiv:1503.01817},
  year={2015}
}
@misc{kodakdataset,
  title={Kodak Lossless True Color Image Suite},
  author={{Eastman Kodak Company}},
  howpublished={\url{http://r0k.us/graphics/kodak/}},
  year={1999}
}
@article{russakovsky2015imagenet,
  title={Imagenet large scale visual recognition challenge},
  author={Russakovsky, Olga and Deng, Jia and Su, Hao and Krause, Jonathan and Satheesh, Sanjeev and Ma, Sean and Huang, Zhiheng and Karpathy, Andrej and Khosla, Aditya and Bernstein, Michael and others},
  journal={International journal of computer vision},
  volume={115},
  number={3},
  pages={211--252},
  year={2015},
  publisher={Springer}
}
@inproceedings{denton2015deep,
  title={Deep generative image models using a￼Laplacian pyramid of adversarial networks},
  author={Denton, Emily L and Chintala, Soumith and Fergus, Rob and others},
  booktitle={Advances in neural information processing systems},
  pages={1486--1494},
  year={2015}
}
@inproceedings{gregor2015draw,
  title={DRAW: A Recurrent Neural Network For Image Generation},
  author={Gregor, Karol and Danihelka, Ivo and Graves, Alex and Rezende, Danilo and Wierstra, Daan},
  booktitle={International Conference on Machine Learning},
  pages={1462--1471},
  year={2015}
}
@article{jiang1999image,
  title={Image compression with neural networks--a survey},
  author={Jiang, J},
  journal={Signal processing: image Communication},
  volume={14},
  number={9},
  pages={737--760},
  year={1999},
  publisher={Elsevier}
}
@book{bull2014communicating,
  title={Communicating Pictures: A Course in Image and Video Coding},
  author={Bull, D.R.},
  isbn={9780080993744},
  url={https://books.google.co.uk/books?id=PDZOAwAAQBAJ},
  year={2014},
  publisher={Elsevier Science}
}

@article{mougeot1991image,
  title={Image compression with back propagation: improvement of the visual restoration using different cost functions},
  author={Mougeot, Mathilde and Azencott, Robert and Angeniol, Bernard},
  journal={Neural networks},
  volume={4},
  number={4},
  pages={467--476},
  year={1991},
  publisher={Elsevier}
}
@article{kingma2014adam,
author = {Kingma, Diederik and Ba, Jimmy},
year = {2014},
month = {12},
pages = {},
title = {Adam: A Method for Stochastic Optimization},
journal = {International Conference on Learning Representations}
}

@incollection{bishop1998latent,
  title={Latent variable models},
  author={Bishop, Christopher M},
  booktitle={Learning in graphical models},
  pages={371--403},
  year={1998},
  publisher={Springer}
}
@inproceedings{adel1962algorithm,
  title={An algorithm for organization of information},
  author={Adel'son-Vel'skii, George M and Landis, Evgenii Mikhailovich},
  booktitle={Doklady Akademii Nauk},
  volume={146},
  pages={263--266},
  year={1962},
  organization={Russian Academy of Sciences}
}
@book{jain1989fundamentals,
  title={Fundamentals of digital image processing},
  author={Jain, Anil K},
  year={1989},
  publisher={Englewood Cliffs, NJ: Prentice Hall,}
}
@InProceedings{clic2018winner,
author = {Zhou, Lei and Cai, Chunlei and Gao, Yue and Su, Sanbao and Wu, Junmin},
title = {Variational Autoencoder for Low Bit-rate Image Compression},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},
month = {06},
year = {2018}
}
@article{portilla2003image,
  title={Image denoising using scale mixtures of {Gaussians} in the wavelet domain},
  author={Portilla, Javier and Strela, Vasily and Wainwright, Martin J and Simoncelli, Eero P},
  journal={IEEE Trans Image Processing},
  volume={12},
  number={11},
  year={2003}
}
@book{mackay2003information,
  title={Information Theory, Inference and Learning Algorithms},
  author={MacKay, D.J.C. and Kay, D.J.C.M. and Cambridge University Press},
  isbn={9780521642989},
  lccn={2003055133},
  url={https://books.google.co.uk/books?id=AKuMj4PN\_EMC},
  year={2003},
  publisher={Cambridge University Press}
}
@techreport{krizhevsky2009learning,
  title={Learning multiple layers of features from tiny images},
  author={Krizhevsky, Alex and Hinton, Geoffrey and others},
  year={2009},
  institution={Citeseer}
}
@inproceedings{asuni2014testimages,
  title={TESTIMAGES: a Large-scale Archive for Testing Visual Devices and Basic Image Processing Algorithms.},
  author={Asuni, Nicola and Giachetti, Andrea},
  booktitle={Eurographics Italian Chapter Conference},
  volume={1},
  pages={3},
  year={2014}
}
@article{chen1999empirical,
  title={An empirical study of smoothing techniques for language modeling},
  author={Chen, Stanley F and Goodman, Joshua},
  journal={Computer Speech \& Language},
  volume={13},
  number={4},
  pages={359--394},
  year={1999},
  publisher={Elsevier}
}
@inproceedings{johnson2016perceptual,
  title={Perceptual losses for real-time style transfer and super-resolution},
  author={Johnson, Justin and Alahi, Alexandre and Fei-Fei, Li},
  booktitle={European conference on computer vision},
  pages={694--711},
  year={2016},
  organization={Springer}
}

repository: gergely-flamich/miracle-compression

repo_name: gergely-flamich/miracle-compression

gha_license_id: MIT

gha_language: Jupyter Notebook

extension: bib


text:
package transaction

import (
	"github.com/nknorg/nkn/v2/common"
	"github.com/nknorg/nkn/v2/pb"
	"github.com/nknorg/nkn/v2/util"
)

const (
	TransactionNonceLength = 32
)

func NewTransferAssetTransaction(sender, recipient common.Uint160, nonce uint64, value, fee common.Fixed64) (*Transaction, error) {
	payload := NewTransferAsset(sender, recipient, value)
	pl, err := Pack(pb.PayloadType_TRANSFER_ASSET_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, nonce, fee, util.RandomBytes(TransactionNonceLength))

	return &Transaction{
		Transaction: tx,
	}, nil
}

func NewSigChainTransaction(sigChain []byte, submitter common.Uint160, nonce uint64) (*Transaction, error) {
	payload := NewSigChainTxn(sigChain, submitter)
	pl, err := Pack(pb.PayloadType_SIG_CHAIN_TXN_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, nonce, 0, util.RandomBytes(TransactionNonceLength))

	return &Transaction{
		Transaction: tx,
	}, nil
}

func NewRegisterNameTransaction(registrant []byte, name string, nonce uint64, regFee common.Fixed64, fee common.Fixed64) (*Transaction, error) {
	payload := NewRegisterName(registrant, name, int64(regFee))
	pl, err := Pack(pb.PayloadType_REGISTER_NAME_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, nonce, fee, util.RandomBytes(TransactionNonceLength))

	return &Transaction{
		Transaction: tx,
	}, nil
}

func NewTransferNameTransaction(registrant []byte, to []byte, name string, nonce uint64, fee common.Fixed64) (*Transaction, error) {
	payload := NewTransferName(registrant, to, name)
	pl, err := Pack(pb.PayloadType_TRANSFER_NAME_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, nonce, fee, util.RandomBytes(TransactionNonceLength))

	return &Transaction{
		Transaction: tx,
	}, nil
}

func NewDeleteNameTransaction(registrant []byte, name string, nonce uint64, fee common.Fixed64) (*Transaction, error) {
	payload := NewDeleteName(registrant, name)
	pl, err := Pack(pb.PayloadType_DELETE_NAME_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, nonce, fee, util.RandomBytes(TransactionNonceLength))

	return &Transaction{
		Transaction: tx,
	}, nil
}

func NewSubscribeTransaction(subscriber []byte, identifier string, topic string, duration uint32, meta string, nonce uint64, fee common.Fixed64) (*Transaction, error) {
	payload := NewSubscribe(subscriber, identifier, topic, duration, meta)
	pl, err := Pack(pb.PayloadType_SUBSCRIBE_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, nonce, fee, util.RandomBytes(TransactionNonceLength))

	return &Transaction{
		Transaction: tx,
	}, nil
}

func NewUnsubscribeTransaction(subscriber []byte, identifier string, topic string, nonce uint64, fee common.Fixed64) (*Transaction, error) {
	payload := NewUnsubscribe(subscriber, identifier, topic)
	pl, err := Pack(pb.PayloadType_UNSUBSCRIBE_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, nonce, fee, util.RandomBytes(TransactionNonceLength))

	return &Transaction{
		Transaction: tx,
	}, nil
}

func NewGenerateIDTransaction(publicKey, sender []byte, regFee common.Fixed64, version int32, nonce uint64, fee common.Fixed64, attrs []byte) (*Transaction, error) {
	payload := NewGenerateID(publicKey, sender, regFee, version)
	pl, err := Pack(pb.PayloadType_GENERATE_ID_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, nonce, fee, attrs)

	return &Transaction{
		Transaction: tx,
	}, nil
}

func NewNanoPayTransaction(sender, recipient common.Uint160, id uint64, amount common.Fixed64, txnExpiration, nanoPayExpiration uint32) (*Transaction, error) {
	payload := NewNanoPay(sender, recipient, id, amount, txnExpiration, nanoPayExpiration)
	pl, err := Pack(pb.PayloadType_NANO_PAY_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, 0, 0, util.RandomBytes(TransactionNonceLength))

	return &Transaction{
		Transaction: tx,
	}, nil
}

func NewIssueAssetTransaction(sender common.Uint160, name, symbol string, totalSupply common.Fixed64, precision uint32, nonce uint64, fee common.Fixed64) (*Transaction, error) {
	payload := NewIssueAsset(sender, name, symbol, precision, totalSupply)
	pl, err := Pack(pb.PayloadType_ISSUE_ASSET_TYPE, payload)
	if err != nil {
		return nil, err
	}

	tx := NewMsgTx(pl, nonce, fee, util.RandomBytes(TransactionNonceLength))

	return &Transaction{
		Transaction: tx,
	}, nil
}

repository: nknorg/nkn

repo_name: nknorg/nkn

gha_language: Go


text:
package client

import (
	"encoding/xml"
	"testing"
	"time"

	"github.com/go-courier/httptransport/httpx"
	"github.com/stretchr/testify/require"
)

type IpInfo struct {
	xml.Name    `xml:"query"`
	Country     string `json:"country" xml:"country"`
	CountryCode string `json:"countryCode" xml:"countryCode"`
}

type GetByJSON struct {
	httpx.MethodGet
}

func (GetByJSON) Path() string {
	return "/json"
}

type GetByXML struct {
	httpx.MethodGet
}

func (GetByXML) Path() string {
	return "/xml"
}

func TestClient(t *testing.T) {
	ipInfoClient := &Client{
		Host:    "ip-api.com",
		Timeout: 100 * time.Second,
	}
	ipInfoClient.SetDefaults()

	{
		ipInfo := IpInfo{}

		meta, err := ipInfoClient.Do(nil, &GetByJSON{}).Into(&ipInfo)
		require.NoError(t, err)

		t.Log(ipInfo)
		t.Log(meta)
	}

	{
		ipInfo := IpInfo{}

		meta, err := ipInfoClient.Do(nil, &GetByXML{}).Into(&ipInfo)
		require.NoError(t, err)

		t.Log(ipInfo)
		t.Log(meta)
	}

	errClient := &Client{
		Timeout: 100 * time.Second,
	}
	errClient.SetDefaults()

	{
		ipInfo := IpInfo{}

		_, err := errClient.Do(nil, &GetByJSON{}).Into(&ipInfo)
		require.Error(t, err)
	}

}

repository: itzujun/httptransport

repo_name: itzujun/httptransport


text:
set(TESTING ON)
set(CMAKE_BUILD_TYPE Debug)
set(Boost_USE_STATIC_LIBS ON)
set(CMAKE_C_COMPILER /home/chris/clang/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang)
set(CMAKE_CXX_COMPILER /home/chris/clang/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang++)
add_compile_options("-fcoroutines-ts" "-nostdinc++")
set(BOOST_ROOT "/home/chris/boosts/install-ftw")
include_directories(SYSTEM "/home/chris/clang/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-16.04/include/c++/v1/")
link_directories(SYSTEM "/home/chris/clang/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-16.04/lib/")
link_libraries("c++" "c++abi" "pthread")
include("/home/chris/vcpkg/scripts/buildsystems/vcpkg.cmake")

extension: cmake


text:
SUMMARY = "H.265/HEVC video encoder"
DESCRIPTION = "A free software library and application for encoding video streams into the H.265/HEVC format."
HOMEPAGE = "http://www.videolan.org/developers/x265.html"

LICENSE = "GPL-2.0-only"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://../COPYING;md5=c9e0427bc58f129f99728c62d4ad4091"

DEPENDS = "nasm-native gnutls zlib libpcre"

SRC_URI = "http://ftp.videolan.org/pub/videolan/x265/x265_${PV}.tar.gz"

S = "${WORKDIR}/x265_${PV}/source"

SRC_URI[md5sum] = "94808045a34d88a857e5eaf3f68f4bca"
SRC_URI[sha256sum] = "fb9badcf92364fd3567f8b5aa0e5e952aeea7a39a2b864387cec31e3b58cbbcc"

inherit lib_package pkgconfig cmake

do_generate_toolchain_file:append() {
    echo "set(CMAKE_ASM_NASM_FLAGS --debug-prefix-map ${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR})" >> ${WORKDIR}/toolchain.cmake
}

EXTRA_OECMAKE:append:x86 = " -DENABLE_ASSEMBLY=OFF"
EXTRA_OECMAKE:append:aarch64 = " -DENABLE_PIC=ON"

AS[unexport] = "1"

COMPATIBLE_HOST = '(x86_64|i.86|aarch64).*-linux'

repository: openembedded/meta-openembedded

repo_name: openembedded/meta-openembedded

gha_language: BitBake


text:
DESCRIPTION = "Test suite for the PaX kernel patch"
HOMEPAGE = "http://www.grsecurity.net/~spender/"
LICENSE = "GPLv2+"

SRC_URI = "http://www.grsecurity.net/~spender/paxtest-${PV}.tgz"
SRC_URI[md5sum] = "7599f41823c73174d056d01b12ae5662"
SRC_URI[sha256sum] = "caca340492dedeee588d47683efde9797cba4fce5adca5d5f9b0b73b2120e1ab"

COMPATIBLE_HOST = "(x86_64|i.86)*"

PARALLEL_MAKE = ""

EXTRA_OEMAKE = "-e -f Makefile.psm"

CFLAGS += "-D_FORTIFY_SOURCE=0 -DRUNDIR=\\"${RUNDIR}\\""

export RUNDIR="${libexecdir}/paxtest"
export SHLDFLAGS="${LDFLAGS}"

do_install() {
	oe_runmake DESTDIR=${D} BINDIR=${bindir} install
}

FILES_${PN}-dbg += "${libexecdir}/paxtest/.debug"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
package gago

// Clusters are a partitioning of individuals into smaller groups of similar
// individuals. In other words a clusters is a slice of slices containing
// individuals. The similarity depends on a metric defined elsewhere. The
// purpose of a partinioning individuals is to apply genetic operators inside a
// cluster. In biological terms this encourages "incest" and maintains isolated
// species.
type Clusters []Individuals

// Merge the clusters into a single slice of individuals.
func (clusters Clusters) merge() Individuals {
	var indis Individuals
	for _, s := range clusters {
		indis = append(indis, s...)
	}
	return indis
}

// Clusterer splits a slice of individuals into a slice of k clusters.
type Clusterer interface {
	Apply(indis Individuals, k int) Clusters
}

// CluFitness splits n individuals into k clusters based on the fitness of each
// individual where each clusters contains m = n/k (rounded to the closest
// higher integer) individuals with similar fitnesses. For example 30
// individuals would be split into 3 groups of 8 individuals and 1 group of 6
// individuals (3*8 + 1*6 = 30). More generally each group is of size
// min(n-i, m) where i is a multiple of m.
type CluFitness struct{}

// Apply fitness speciation.
func (clu CluFitness) Apply(indis Individuals, k int) Clusters {
	var (
		clusters = make(Clusters, k)
		n        = len(indis)
		m        = n/k + 1
	)
	for i := range clusters {
		var (
			a = i * m
			b = min((i+1)*m, n)
		)
		clusters[i] = indis[a:b]
	}
	return clusters
}

repository: tomzhang/gago

repo_name: tomzhang/gago


text:
package registry

import (
	"sort"

	"github.com/asim/go-micro/cmd/dashboard/v4/handler/route"
	"github.com/gin-gonic/gin"
	"github.com/gin-gonic/gin/render"
	"go-micro.dev/v4/registry"
)

type service struct {
	registry registry.Registry
}

func NewRouteRegistrar(registry registry.Registry) route.Registrar {
	return service{registry: registry}
}

func (s service) RegisterAuthRoute(router gin.IRoutes) {
	router.GET("/api/registry/services", s.GetServices)
	router.GET("/api/registry/service", s.GetServiceDetail)
	router.GET("/api/registry/service/endpoints", s.GetServiceEndpoints)
}

func (s service) RegisterNonAuthRoute(router gin.IRoutes) {
}

// @Security ApiKeyAuth
// @Tags Registry
// @ID registry_getServices
// @Success 200 	{object}	getServiceListResponse
// @Failure 400 	{object}	string
// @Failure 401 	{object}	string
// @Failure 500		{object}	string
// @Router /api/registry/services [get]
func (s *service) GetServices(ctx *gin.Context) {
	services, err := s.registry.ListServices()
	if err != nil {
		ctx.Render(500, render.String{Format: err.Error()})
		return
	}
	tmp := make(map[string][]string)
	resp := getServiceListResponse{Services: make([]registryServiceSummary, 0, len(services))}
	for _, s := range services {
		if sr, ok := tmp[s.Name]; ok {
			sr = append(sr, s.Version)
			tmp[s.Name] = sr
		} else {
			tmp[s.Name] = []string{s.Version}
		}
	}
	for k, v := range tmp {
		sort.Strings(v)
		resp.Services = append(resp.Services, registryServiceSummary{Name: k, Versions: v})
	}
	sort.Slice(resp.Services, func(i, j int) bool {
		return resp.Services[i].Name < resp.Services[j].Name
	})
	ctx.JSON(200, resp)
}

// @Security ApiKeyAuth
// @Tags Registry
// @ID registry_getServiceDetail
// @Param 	name  	query 		string 						true "service name"
// @Param 	version	query 		string	 					false "service version"
// @Success 200 	{object}	getServiceDetailResponse
// @Failure 400 	{object}	string
// @Failure 401 	{object}	string
// @Failure 500		{object}	string
// @Router /api/registry/service [get]
func (s *service) GetServiceDetail(ctx *gin.Context) {
	name := ctx.Query("name")
	if len(name) == 0 {
		ctx.Render(400, render.String{Format: "service name required"})
		return
	}
	services, err := s.registry.GetService(name)
	if err != nil {
		ctx.Render(500, render.String{Format: err.Error()})
		return
	}
	version := ctx.Query("version")
	resp := getServiceDetailResponse{Services: make([]registryService, 0, len(services))}
	for _, s := range services {
		if len(version) > 0 && s.Version != version {
			continue
		}
		endpoints := make([]registryEndpoint, 0, len(s.Endpoints))
		for _, e := range s.Endpoints {
			endpoints = append(endpoints, registryEndpoint{
				Name:     e.Name,
				Request:  convertRegistryValue(e.Request),
				Response: convertRegistryValue(e.Response),
				Metadata: e.Metadata,
			})
		}
		nodes := make([]registryNode, 0, len(s.Nodes))
		for _, n := range s.Nodes {
			nodes = append(nodes, registryNode{
				Id:       n.Id,
				Address:  n.Address,
				Metadata: n.Metadata,
			})
		}
		resp.Services = append(resp.Services, registryService{
			Name:      s.Name,
			Version:   s.Version,
			Metadata:  s.Metadata,
			Endpoints: endpoints,
			Nodes:     nodes,
		})
	}
	ctx.JSON(200, resp)
}

// @Security ApiKeyAuth
// @Tags Registry
// @ID registry_getServiceEndpoints
// @Param 	name  	query 		string 						true "service name"
// @Param 	version	query 		string	 					false "service version"
// @Success 200 	{object}	getServiceEndpointsResponse
// @Failure 400 	{object}	string
// @Failure 401 	{object}	string
// @Failure 500		{object}	string
// @Router /api/registry/service/endpoints [get]
func (s *service) GetServiceEndpoints(ctx *gin.Context) {
	name := ctx.Query("name")
	if len(name) == 0 {
		ctx.Render(400, render.String{Format: "service name required"})
		return
	}
	services, err := s.registry.GetService(name)
	if err != nil {
		ctx.Render(500, render.String{Format: err.Error()})
		return
	}
	version := ctx.Query("version")
	resp := getServiceEndpointsResponse{}
	for _, s := range services {
		if s.Version != version {
			continue
		}
		endpoints := make([]registryEndpoint, 0, len(s.Endpoints))
		for _, e := range s.Endpoints {
			if e.Name == "Func" {
				continue
			}
			endpoints = append(endpoints, registryEndpoint{
				Name:     e.Name,
				Request:  convertRegistryValue(e.Request),
				Response: convertRegistryValue(e.Response),
				Metadata: e.Metadata,
			})
		}
		resp.Endpoints = endpoints
		break
	}
	ctx.JSON(200, resp)
}

repository: lenmom/go-micro

repo_name: lenmom/go-micro


text:
@inproceedings{flores2014crosslanguage,
 author = {Flores, Enrique and Barrón-Cedeño, Alberto and Moreno, Lidia and Rosso, Paolo},
 booktitle = {Proceedings of the 3rd Spanish Conference on Information Retrieval},
 pages = {145--156},
 title = {Cross-language source code re-use detection},
 year = {2014}
}

repository: albarron/academic-kickstart

repo_name: albarron/academic-kickstart


text:
// Copyright 2014-2015 The DevMine authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Package features provides various features implementations.
package features

import (
	"database/sql"

	"github.com/DevMine/featscomp/util"
)

// Feature interface must be implemented by all features.
type Feature interface {
	// Score computes the scores of a feature.
	Score() error

	// Name returns the name of a feature.
	Name() string
}

func deleteOldScores(db *sql.DB, featureName string) error {
	featureID, err := util.FindFeatureID(db, featureName)
	if err != nil {
		return err
	}

	if _, err := db.Exec(`DELETE FROM scores WHERE feature_id = $1`, featureID); err != nil {
		return err
	}
	return nil
}

repository: DevMine/featscomp

repo_name: DevMine/featscomp