text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="9.4.0">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
<layer number="50" name="dxf" color="12" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
<layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
<layer number="57" name="tCAD" color="7" fill="1" visible="no" active="no"/>
<layer number="59" name="tCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="60" name="bCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="88" name="SimResults" color="9" fill="1" visible="yes" active="yes"/>
<layer number="89" name="SimProbes" color="9" fill="1" visible="yes" active="yes"/>
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
<layer number="99" name="SpiceOrder" color="7" fill="1" visible="no" active="no"/>
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
<layer number="101" name="Patch_Top" color="12" fill="4" visible="no" active="no"/>
<layer number="102" name="Vscore" color="7" fill="1" visible="no" active="no"/>
<layer number="103" name="tMap" color="7" fill="1" visible="no" active="no"/>
<layer number="104" name="Name" color="7" fill="1" visible="no" active="no"/>
<layer number="105" name="tPlate" color="7" fill="1" visible="no" active="no"/>
<layer number="106" name="bPlate" color="7" fill="1" visible="no" active="no"/>
<layer number="107" name="Crop" color="7" fill="1" visible="no" active="no"/>
<layer number="108" name="fp8" color="7" fill="1" visible="no" active="no"/>
<layer number="109" name="fp9" color="7" fill="1" visible="no" active="no"/>
<layer number="110" name="110" color="7" fill="1" visible="no" active="no"/>
<layer number="111" name="111" color="7" fill="1" visible="no" active="no"/>
<layer number="112" name="tSilk" color="7" fill="1" visible="no" active="no"/>
<layer number="113" name="ReferenceLS" color="7" fill="1" visible="no" active="no"/>
<layer number="114" name="FRNTMAAT1" color="7" fill="1" visible="no" active="yes"/>
<layer number="115" name="FRNTMAAT2" color="7" fill="1" visible="no" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="no" active="no"/>
<layer number="117" name="BACKMAAT1" color="7" fill="1" visible="no" active="yes"/>
<layer number="118" name="Rect_Pads" color="7" fill="1" visible="no" active="no"/>
<layer number="119" name="KAP_TEKEN" color="7" fill="1" visible="no" active="yes"/>
<layer number="120" name="KAP_MAAT1" color="7" fill="1" visible="no" active="yes"/>
<layer number="121" name="_tsilk" color="7" fill="1" visible="no" active="no"/>
<layer number="122" name="_bsilk" color="7" fill="1" visible="no" active="no"/>
<layer number="123" name="tTestmark" color="7" fill="1" visible="no" active="no"/>
<layer number="124" name="bTestmark" color="7" fill="1" visible="no" active="no"/>
<layer number="125" name="_tNames" color="7" fill="1" visible="no" active="no"/>
<layer number="126" name="_bNames" color="7" fill="1" visible="no" active="no"/>
<layer number="127" name="_tValues" color="7" fill="1" visible="no" active="no"/>
<layer number="128" name="_bValues" color="7" fill="1" visible="no" active="no"/>
<layer number="129" name="top_silk" color="7" fill="1" visible="no" active="yes"/>
<layer number="130" name="SMDSTROOK" color="7" fill="1" visible="no" active="yes"/>
<layer number="131" name="tAdjust" color="7" fill="1" visible="no" active="no"/>
<layer number="132" name="bAdjust" color="7" fill="1" visible="no" active="no"/>
<layer number="133" name="bottom_silk" color="7" fill="1" visible="no" active="yes"/>
<layer number="134" name="silk_top" color="7" fill="1" visible="no" active="yes"/>
<layer number="135" name="silk_bottom" color="7" fill="1" visible="no" active="yes"/>
<layer number="136" name="silktop" color="7" fill="1" visible="no" active="yes"/>
<layer number="137" name="silkbottom" color="7" fill="1" visible="no" active="yes"/>
<layer number="138" name="EEE" color="7" fill="1" visible="no" active="yes"/>
<layer number="139" name="_tKeepout" color="7" fill="1" visible="no" active="yes"/>
<layer number="140" name="test-probe" color="12" fill="1" visible="no" active="yes"/>
<layer number="141" name="ASSEMBLY_TOP" color="7" fill="1" visible="no" active="yes"/>
<layer number="143" name="PLACE_BOUND_TOP" color="7" fill="1" visible="no" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="no" active="no"/>
<layer number="145" name="DrillLegend_01-16" color="7" fill="1" visible="no" active="yes"/>
<layer number="146" name="DrillLegend_01-20" color="7" fill="1" visible="no" active="yes"/>
<layer number="147" name="PIN_NUMBER" color="7" fill="1" visible="no" active="yes"/>
<layer number="148" name="DrillLegend_01-20" color="7" fill="1" visible="no" active="yes"/>
<layer number="149" name="DrillLegend_02-15" color="7" fill="1" visible="no" active="yes"/>
<layer number="150" name="Notes" color="7" fill="1" visible="no" active="no"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="no" active="no"/>
<layer number="152" name="_bDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="153" name="FabDoc1" color="6" fill="1" visible="no" active="no"/>
<layer number="154" name="FabDoc2" color="2" fill="1" visible="no" active="no"/>
<layer number="155" name="FabDoc3" color="7" fill="15" visible="no" active="no"/>
<layer number="166" name="AntennaArea" color="7" fill="1" visible="yes" active="yes"/>
<layer number="168" name="4mmHeightArea" color="7" fill="1" visible="yes" active="yes"/>
<layer number="199" name="Contour" color="7" fill="1" visible="no" active="no"/>
<layer number="200" name="200bmp" color="1" fill="10" visible="no" active="no"/>
<layer number="201" name="201bmp" color="2" fill="1" visible="no" active="no"/>
<layer number="202" name="202bmp" color="3" fill="1" visible="no" active="no"/>
<layer number="203" name="203bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="204" name="204bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="205" name="205bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="206" name="206bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="207" name="207bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="208" name="208bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="no" active="no"/>
<layer number="215" name="215bmp" color="16" fill="1" visible="no" active="no"/>
<layer number="216" name="216bmp" color="17" fill="1" visible="no" active="no"/>
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
<layer number="225" name="225bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="226" name="226bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="227" name="227bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="228" name="228bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="229" name="229bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="230" name="230bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="231" name="Eagle3D_PG1" color="7" fill="1" visible="no" active="no"/>
<layer number="232" name="Eagle3D_PG2" color="7" fill="1" visible="no" active="no"/>
<layer number="233" name="Eagle3D_PG3" color="7" fill="1" visible="no" active="no"/>
<layer number="248" name="Housing" color="7" fill="1" visible="no" active="no"/>
<layer number="249" name="Edge" color="7" fill="1" visible="no" active="no"/>
<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
<layer number="254" name="cooling" color="7" fill="1" visible="no" active="no"/>
<layer number="255" name="Accent" color="7" fill="1" visible="no" active="yes"/>
</layers>
<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
<libraries>
<library name="ArduinoNanoV30">
<packages>
<package name="ARDUINO_NANO">
<description>Arduino Nano V3.0 Module

The Nano was designed and is being produced by Gravitech.

</description>
<pad name="1" x="-20.32" y="-7.62" drill="0.8" shape="square"/>
<pad name="2" x="-17.78" y="-7.62" drill="0.8"/>
<pad name="3" x="-15.24" y="-7.62" drill="0.8"/>
<pad name="4" x="-12.7" y="-7.62" drill="0.8"/>
<pad name="5" x="-10.16" y="-7.62" drill="0.8"/>
<pad name="6" x="-7.62" y="-7.62" drill="0.8"/>
<pad name="7" x="-5.08" y="-7.62" drill="0.8"/>
<pad name="8" x="-2.54" y="-7.62" drill="0.8"/>
<pad name="9" x="0" y="-7.62" drill="0.8"/>
<pad name="10" x="2.54" y="-7.62" drill="0.8"/>
<pad name="11" x="5.08" y="-7.62" drill="0.8"/>
<pad name="12" x="7.62" y="-7.62" drill="0.8"/>
<pad name="13" x="10.16" y="-7.62" drill="0.8"/>
<pad name="14" x="12.7" y="-7.62" drill="0.8"/>
<pad name="15" x="15.24" y="-7.62" drill="0.8"/>
<pad name="16" x="15.24" y="7.62" drill="0.8"/>
<pad name="17" x="12.7" y="7.62" drill="0.8"/>
<pad name="18" x="10.16" y="7.62" drill="0.8"/>
<pad name="19" x="7.62" y="7.62" drill="0.8"/>
<pad name="20" x="5.08" y="7.62" drill="0.8"/>
<pad name="21" x="2.54" y="7.62" drill="0.8"/>
<pad name="22" x="0" y="7.62" drill="0.8"/>
<pad name="23" x="-2.54" y="7.62" drill="0.8"/>
<pad name="24" x="-5.08" y="7.62" drill="0.8"/>
<pad name="25" x="-7.62" y="7.62" drill="0.8"/>
<pad name="26" x="-10.16" y="7.62" drill="0.8"/>
<pad name="27" x="-12.7" y="7.62" drill="0.8"/>
<pad name="28" x="-15.24" y="7.62" drill="0.8"/>
<pad name="29" x="-17.78" y="7.62" drill="0.8"/>
<pad name="30" x="-20.32" y="7.62" drill="0.8"/>
<wire x1="-24.13" y1="8.89" x2="17.78" y2="8.89" width="0.127" layer="21"/>
<wire x1="17.78" y1="8.89" x2="19.05" y2="8.89" width="0.127" layer="21"/>
<wire x1="19.05" y1="8.89" x2="19.05" y2="7.62" width="0.127" layer="21"/>
<wire x1="19.05" y1="7.62" x2="19.05" y2="3.81" width="0.127" layer="21"/>
<wire x1="19.05" y1="3.81" x2="19.05" y2="-3.81" width="0.127" layer="21"/>
<wire x1="19.05" y1="-3.81" x2="19.05" y2="-7.62" width="0.127" layer="21"/>
<wire x1="19.05" y1="-7.62" x2="19.05" y2="-8.89" width="0.127" layer="21"/>
<wire x1="19.05" y1="-8.89" x2="17.78" y2="-8.89" width="0.127" layer="21"/>
<wire x1="17.78" y1="-8.89" x2="-22.86" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-22.86" y1="-8.89" x2="-24.13" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-24.13" y1="-8.89" x2="-24.13" y2="-7.62" width="0.127" layer="21"/>
<wire x1="-24.13" y1="-7.62" x2="-24.13" y2="2.54" width="0.127" layer="21"/>
<wire x1="-24.13" y1="2.54" x2="-24.13" y2="8.89" width="0.127" layer="21"/>
<wire x1="-24.13" y1="2.54" x2="-25.4" y2="2.54" width="0.127" layer="21"/>
<wire x1="-25.4" y1="2.54" x2="-25.4" y2="-2.54" width="0.127" layer="21"/>
<wire x1="-19.05" y1="-2.54" x2="-19.05" y2="2.54" width="0.127" layer="21"/>
<wire x1="-19.05" y1="2.54" x2="-24.13" y2="2.54" width="0.127" layer="21"/>
<wire x1="-19.05" y1="-2.54" x2="-25.4" y2="-2.54" width="0.127" layer="21"/>
<text x="-17.78" y="0" size="1.27" layer="21" font="vector">>NAME</text>
<text x="-17.78" y="-2.54" size="1.27" layer="21" font="vector">>VALUE</text>
<text x="-20.32" y="-6.35" size="1.016" layer="51" font="vector">1</text>
<text x="-21.59" y="0" size="0.6096" layer="51" font="vector" rot="R270" align="center">Mini-B
USB</text>
<wire x1="19.05" y1="3.81" x2="13.97" y2="3.81" width="0.127" layer="21"/>
<wire x1="13.97" y1="3.81" x2="13.97" y2="-3.81" width="0.127" layer="21"/>
<wire x1="13.97" y1="-3.81" x2="19.05" y2="-3.81" width="0.127" layer="21"/>
<circle x="17.78" y="-2.54" radius="0.8" width="0.127" layer="21"/>
<circle x="17.78" y="0" radius="0.8" width="0.127" layer="21"/>
<circle x="17.78" y="2.54" radius="0.8" width="0.127" layer="21"/>
<circle x="15.24" y="2.54" radius="0.8" width="0.127" layer="21"/>
<circle x="17.78" y="0" radius="0.8" width="0.127" layer="21"/>
<circle x="15.24" y="0" radius="0.8" width="0.127" layer="21"/>
<circle x="15.24" y="-2.54" radius="0.8" width="0.127" layer="21"/>
<text x="12.7" y="1.27" size="0.8128" layer="51" font="vector" rot="SR270">ICSP</text>
<text x="17.78" y="-4.445" size="1.016" layer="51" font="vector" rot="SR270">1</text>
<polygon width="0.127" layer="51">
<vertex x="15.24" y="6.35"/>
<vertex x="13.97" y="5.08"/>
<vertex x="16.51" y="5.08"/>
</polygon>
<polygon width="0.127" layer="51">
<vertex x="12.7" y="5.08"/>
<vertex x="13.97" y="6.35"/>
<vertex x="11.43" y="6.35"/>
</polygon>
<text x="-22.86" y="-1.27" size="0.0508" layer="51" font="vector" ratio="1" rot="R90">This library was created by Esp. Marco-Luis SALCEDO TOVAR.
Please report any errors or suggestions to: YV1HX@CANTV.NET
Thanks you!!!</text>
</package>
</packages>
<symbols>
<symbol name="ARDUINO_NANO">
<description>Arduino Nano V3.0 Module

Overview:

The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328 (Arduino Nano 3.x) or ATmega168 (Arduino Nano 2.x). It has more or less the same functionality of the Arduino Duemilanove, but in a different package. It lacks only a DC power jack, and works with a Mini-B USB cable instead of a standard one.

The Nano was designed and is being produced by Gravitech.

  General specifications:

    Item
    Value

    Microcontroller
    Atmel ATmega168 or ATmega328

    Operating Voltage (logic level)
    5 V

    Input Voltage (recommended)
    7-12 V

    Input Voltage (limits)
    6-20 V

    Digital I/O Pins
    14 (of which 6 provide PWM output)

    Analog Input Pins
    8

    DC Current per I/O Pin
    40 mA

    Flash Memory
    16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader

    SRAM
    1 KB (ATmega168) or 2 KB (ATmega328)

    EEPROM
    512 bytes (ATmega168) or 1 KB (ATmega328)

    Clock Speed
    16 MHz

    Dimensions (Inches)
    0.73" x 1.70"

    Dimensions (mm)
    18mm x 45mm

    Overall height
    About 9 mm (not including pins)

    Weigth
    5 g

Power:

The Arduino Nano can be powered via the Mini-B USB connection, 6-20V unregulated external power supply (pin 30), or 5V regulated external power supply (pin 27).

The power source is automatically selected to the highest voltage source.

Memory:

The ATmega168 has 16 KB of flash memory for storing code (of which 2 KB is used for the bootloader); the ATmega328 has 32 KB, (also with 2 KB used for the bootloader).

The ATmega168 has 1 KB of SRAM and 512 bytes of EEPROM (which can be read and written with the EEPROM library); the ATmega328 has 2 KB of SRAM and 1 KB of EEPROM.

Input and Output:

Each of the 14 digital pins on the Nano can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions.

They operate at 5 volts.

Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions.

Visit Arduino - ArduinoBoardNano</description>
<wire x1="-15.24" y1="-15.24" x2="-15.24" y2="25.4" width="0.254" layer="94"/>
<wire x1="-15.24" y1="25.4" x2="-5.08" y2="25.4" width="0.254" layer="94"/>
<wire x1="-5.08" y1="25.4" x2="5.08" y2="25.4" width="0.254" layer="94"/>
<wire x1="5.08" y1="25.4" x2="15.24" y2="25.4" width="0.254" layer="94"/>
<wire x1="15.24" y1="25.4" x2="15.24" y2="-15.24" width="0.254" layer="94"/>
<wire x1="15.24" y1="-15.24" x2="-15.24" y2="-15.24" width="0.254" layer="94"/>
<pin name="D1/TX" x="-20.32" y="22.86" length="middle"/>
<pin name="D0/RX" x="-20.32" y="20.32" length="middle"/>
<pin name="!RESET@1" x="-20.32" y="17.78" length="middle" direction="in" function="dot"/>
<pin name="GND@1" x="-20.32" y="15.24" length="middle" direction="pwr"/>
<pin name="D2/INT0" x="-20.32" y="12.7" length="middle"/>
<pin name="D3/INT1" x="-20.32" y="10.16" length="middle"/>
<pin name="D4/T0" x="-20.32" y="7.62" length="middle"/>
<pin name="D5/T1" x="-20.32" y="5.08" length="middle"/>
<pin name="D6/AIN0" x="-20.32" y="2.54" length="middle"/>
<pin name="D7/AIN1" x="-20.32" y="0" length="middle"/>
<pin name="D8/CLK0" x="-20.32" y="-2.54" length="middle"/>
<pin name="D9/OC1A" x="-20.32" y="-5.08" length="middle"/>
<pin name="D10/OC1B/!SS" x="-20.32" y="-7.62" length="middle"/>
<pin name="D11/MOSI" x="-20.32" y="-10.16" length="middle"/>
<pin name="D12/MISO" x="-20.32" y="-12.7" length="middle"/>
<pin name="SCK/D13" x="20.32" y="-12.7" length="middle" rot="R180"/>
<pin name="3V3" x="20.32" y="-10.16" length="middle" direction="out" rot="R180"/>
<pin name="AREF" x="20.32" y="-7.62" length="middle" direction="in" rot="R180"/>
<pin name="ADC0/A0" x="20.32" y="-5.08" length="middle" rot="R180"/>
<pin name="ADC1/A1" x="20.32" y="-2.54" length="middle" rot="R180"/>
<pin name="ADC2/A2" x="20.32" y="0" length="middle" rot="R180"/>
<pin name="ADC3/A3" x="20.32" y="2.54" length="middle" rot="R180"/>
<pin name="ADC4/SDA/A4" x="20.32" y="5.08" length="middle" rot="R180"/>
<pin name="ADC5/SCL/A5" x="20.32" y="7.62" length="middle" rot="R180"/>
<pin name="ADC6/A6" x="20.32" y="10.16" length="middle" rot="R180"/>
<pin name="ADC7/A7" x="20.32" y="12.7" length="middle" rot="R180"/>
<pin name="5V" x="20.32" y="15.24" length="middle" direction="pwr" rot="R180"/>
<pin name="!RESET@2" x="20.32" y="17.78" length="middle" direction="in" function="dot" rot="R180"/>
<pin name="GND@2" x="20.32" y="20.32" length="middle" direction="pwr" rot="R180"/>
<pin name="VIN" x="20.32" y="22.86" length="middle" direction="pwr" rot="R180"/>
<wire x1="2.54" y1="-10.16" x2="-2.54" y2="-10.16" width="0.254" layer="94"/>
<wire x1="-2.54" y1="-10.16" x2="-2.54" y2="-16.51" width="0.254" layer="94"/>
<wire x1="-2.54" y1="-16.51" x2="2.54" y2="-16.51" width="0.254" layer="94"/>
<wire x1="2.54" y1="-16.51" x2="2.54" y2="-10.16" width="0.254" layer="94"/>
<text x="0" y="-12.7" size="0.8128" layer="94" font="vector" align="center">Mini-B
USB</text>
<circle x="0" y="0" radius="2.54" width="0.254" layer="94"/>
<text x="0" y="0" size="0.8128" layer="94" font="vector" rot="R180" align="center">RESET
BUTTON</text>
<text x="-15.24" y="-20.32" size="1.778" layer="95">>NAME</text>
<text x="-15.24" y="-22.86" size="1.778" layer="96">>VALUE</text>
<wire x1="-5.08" y1="25.4" x2="-5.08" y2="20.32" width="0.254" layer="94"/>
<wire x1="-5.08" y1="20.32" x2="5.08" y2="20.32" width="0.254" layer="94"/>
<wire x1="5.08" y1="20.32" x2="5.08" y2="25.4" width="0.254" layer="94"/>
<text x="-2.54" y="17.78" size="1.6764" layer="94" font="vector">ICSP</text>
<circle x="-2.54" y="21.59" radius="0.762" width="0.254" layer="94"/>
<circle x="0" y="24.13" radius="0.762" width="0.254" layer="94"/>
<circle x="2.54" y="24.13" radius="0.762" width="0.254" layer="94"/>
<circle x="-2.54" y="24.13" radius="0.762" width="0.254" layer="94"/>
<circle x="2.54" y="21.59" radius="0.762" width="0.254" layer="94"/>
<circle x="0" y="21.59" radius="0.762" width="0.254" layer="94"/>
<polygon width="0.254" layer="94">
<vertex x="-15.24" y="22.86"/>
<vertex x="-13.97" y="24.13"/>
<vertex x="-13.97" y="21.59"/>
</polygon>
<polygon width="0.254" layer="94">
<vertex x="-15.24" y="21.59"/>
<vertex x="-13.97" y="20.32"/>
<vertex x="-15.24" y="19.05"/>
</polygon>
<text x="6.35" y="24.13" size="0.8128" layer="94" font="vector" align="bottom-right">1</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="KONASHI-2.0">
<gates>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="ARDUINO_NANO" prefix="ARDUINO_NANO" uservalue="yes">
<description>Arduino Nano V3.0 Module

Overview:

The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328 (Arduino Nano 3.x) or ATmega168 (Arduino Nano 2.x).
It has more or less the same functionality of the Arduino Duemilanove, but in a different package.

It lacks only a DC power jack, and works with a Mini-B USB cable instead of a standard one.

The Nano was designed and is being produced by Gravitech.

  General specifications:

    Item
    Value

    Microcontroller
    Atmel ATmega168 or ATmega328

    Operating Voltage (logic level)
    5 V

    Input Voltage (recommended)
    7-12 V

    Input Voltage (limits)
    6-20 V

    Digital I/O Pins
    14 (of which 6 provide PWM output)

    Analog Input Pins
    8

    DC Current per I/O Pin
    40 mA

    Flash Memory
    16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader

    SRAM
    1 KB (ATmega168) or 2 KB (ATmega328)

    EEPROM
    512 bytes (ATmega168) or 1 KB (ATmega328)

    Clock Speed
    16 MHz

    Dimensions (Inches)
    0.73" x 1.70"

    Dimensions (mm)
    18mm x 45mm

    Overall height
    About 9 mm (not including pins)

    Weigth
    5 g

Power:

The Arduino Nano can be powered via the Mini-B USB connection, 6-20V unregulated external power supply (pin 30), or 5V regulated external power supply (pin 27).

The power source is automatically selected to the highest voltage source.

Memory:

The ATmega168 has 16 KB of flash memory for storing code (of which 2 KB is used for the bootloader); the ATmega328 has 32 KB, (also with 2 KB used for the bootloader).

The ATmega168 has 1 KB of SRAM and 512 bytes of EEPROM (which can be read and written with the EEPROM library); the ATmega328 has 2 KB of SRAM and 1 KB of EEPROM.

Input and Output:

Each of the 14 digital pins on the Nano can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions.

They operate at 5 volts.

Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions.

Visit Arduino - ArduinoBoardNano</description>
<gates>
<gate name="G$1" symbol="ARDUINO_NANO" x="0" y="0"/>
</gates>
<devices>
<device name="" package="ARDUINO_NANO">
<connects>
<connect gate="G$1" pin="!RESET@1" pad="18"/>
<connect gate="G$1" pin="!RESET@2" pad="13"/>
<connect gate="G$1" pin="3V3" pad="2"/>
<connect gate="G$1" pin="5V" pad="12"/>
<connect gate="G$1" pin="ADC0/A0" pad="4"/>
<connect gate="G$1" pin="ADC1/A1" pad="5"/>
<connect gate="G$1" pin="ADC2/A2" pad="6"/>
<connect gate="G$1" pin="ADC3/A3" pad="7"/>
<connect gate="G$1" pin="ADC4/SDA/A4" pad="8"/>
<connect gate="G$1" pin="ADC5/SCL/A5" pad="9"/>
<connect gate="G$1" pin="ADC6/A6" pad="10"/>
<connect gate="G$1" pin="ADC7/A7" pad="11"/>
<connect gate="G$1" pin="AREF" pad="3"/>
<connect gate="G$1" pin="D0/RX" pad="17"/>
<connect gate="G$1" pin="D1/TX" pad="16"/>
<connect gate="G$1" pin="D10/OC1B/!SS" pad="28"/>
<connect gate="G$1" pin="D11/MOSI" pad="29"/>
<connect gate="G$1" pin="D12/MISO" pad="30"/>
<connect gate="G$1" pin="D2/INT0" pad="20"/>
<connect gate="G$1" pin="D3/INT1" pad="21"/>
<connect gate="G$1" pin="D4/T0" pad="22"/>
<connect gate="G$1" pin="D5/T1" pad="23"/>
<connect gate="G$1" pin="D6/AIN0" pad="24"/>
<connect gate="G$1" pin="D7/AIN1" pad="25"/>
<connect gate="G$1" pin="D8/CLK0" pad="26"/>
<connect gate="G$1" pin="D9/OC1A" pad="27"/>
<connect gate="G$1" pin="GND@1" pad="19"/>
<connect gate="G$1" pin="GND@2" pad="14"/>
<connect gate="G$1" pin="SCK/D13" pad="1"/>
<connect gate="G$1" pin="VIN" pad="15"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="pinhead" urn="urn:adsk.eagle:library:325">
<description>Pin Header Connectors

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="1X03" urn="urn:adsk.eagle:footprint:22340/1" library_version="3">
<description>PIN HEADER</description>
<wire x1="-3.175" y1="1.27" x2="-1.905" y2="1.27" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="-0.635" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="-1.27" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="-3.81" y1="0.635" x2="-3.81" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="-3.175" y1="1.27" x2="-3.81" y2="0.635" width="0.1524" layer="21"/>
<wire x1="-3.81" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="-1.27" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
<wire x1="1.905" y1="1.27" x2="3.175" y2="1.27" width="0.1524" layer="21"/>
<wire x1="3.175" y1="1.27" x2="3.81" y2="0.635" width="0.1524" layer="21"/>
<wire x1="3.81" y1="0.635" x2="3.81" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="3.81" y1="-0.635" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="3.175" y1="-1.27" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="1.905" y1="-1.27" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
<pad name="1" x="-2.54" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="2" x="0" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="3" x="2.54" y="0" drill="1.016" shape="long" rot="R90"/>
<text x="-3.8862" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-3.81" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
<rectangle x1="-2.794" y1="-0.254" x2="-2.286" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
</package>
<package name="1X03/90" urn="urn:adsk.eagle:footprint:22341/1" library_version="3">
<description>PIN HEADER</description>
<wire x1="-3.81" y1="-1.905" x2="-1.27" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="-1.905" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-3.81" y2="0.635" width="0.1524" layer="21"/>
<wire x1="-3.81" y1="0.635" x2="-3.81" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="-2.54" y1="6.985" x2="-2.54" y2="1.27" width="0.762" layer="21"/>
<wire x1="-1.27" y1="-1.905" x2="1.27" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="1.27" y1="-1.905" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
<wire x1="1.27" y1="0.635" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
<wire x1="0" y1="6.985" x2="0" y2="1.27" width="0.762" layer="21"/>
<wire x1="1.27" y1="-1.905" x2="3.81" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="3.81" y1="-1.905" x2="3.81" y2="0.635" width="0.1524" layer="21"/>
<wire x1="3.81" y1="0.635" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
<wire x1="2.54" y1="6.985" x2="2.54" y2="1.27" width="0.762" layer="21"/>
<pad name="1" x="-2.54" y="-3.81" drill="1.016" shape="long" rot="R90"/>
<pad name="2" x="0" y="-3.81" drill="1.016" shape="long" rot="R90"/>
<pad name="3" x="2.54" y="-3.81" drill="1.016" shape="long" rot="R90"/>
<text x="-4.445" y="-3.81" size="1.27" layer="25" ratio="10" rot="R90">>NAME</text>
<text x="5.715" y="-3.81" size="1.27" layer="27" rot="R90">>VALUE</text>
<rectangle x1="-2.921" y1="0.635" x2="-2.159" y2="1.143" layer="21"/>
<rectangle x1="-0.381" y1="0.635" x2="0.381" y2="1.143" layer="21"/>
<rectangle x1="2.159" y1="0.635" x2="2.921" y2="1.143" layer="21"/>
<rectangle x1="-2.921" y1="-2.921" x2="-2.159" y2="-1.905" layer="21"/>
<rectangle x1="-0.381" y1="-2.921" x2="0.381" y2="-1.905" layer="21"/>
<rectangle x1="2.159" y1="-2.921" x2="2.921" y2="-1.905" layer="21"/>
</package>
</packages>
<packages3d>
<package3d name="1X03" urn="urn:adsk.eagle:package:22458/2" type="model" library_version="3">
<description>PIN HEADER</description>
<packageinstances>
<packageinstance name="1X03"/>
</packageinstances>
</package3d>
<package3d name="1X03/90" urn="urn:adsk.eagle:package:22459/2" type="model" library_version="3">
<description>PIN HEADER</description>
<packageinstances>
<packageinstance name="1X03/90"/>
</packageinstances>
</package3d>
</packages3d>
<symbols>
<symbol name="PINHD3" urn="urn:adsk.eagle:symbol:22339/1" library_version="3">
<wire x1="-6.35" y1="-5.08" x2="1.27" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="1.27" y1="-5.08" x2="1.27" y2="5.08" width="0.4064" layer="94"/>
<wire x1="1.27" y1="5.08" x2="-6.35" y2="5.08" width="0.4064" layer="94"/>
<wire x1="-6.35" y1="5.08" x2="-6.35" y2="-5.08" width="0.4064" layer="94"/>
<text x="-6.35" y="5.715" size="1.778" layer="95">>NAME</text>
<text x="-6.35" y="-7.62" size="1.778" layer="96">>VALUE</text>
<pin name="1" x="-2.54" y="2.54" visible="pad" length="short" direction="pas" function="dot"/>
<pin name="2" x="-2.54" y="0" visible="pad" length="short" direction="pas" function="dot"/>
<pin name="3" x="-2.54" y="-2.54" visible="pad" length="short" direction="pas" function="dot"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="PINHD-1X3" urn="urn:adsk.eagle:component:22524/3" prefix="JP" uservalue="yes" library_version="3">
<description>PIN HEADER</description>
<gates>
<gate name="A" symbol="PINHD3" x="0" y="0"/>
</gates>
<devices>
<device name="" package="1X03">
<connects>
<connect gate="A" pin="1" pad="1"/>
<connect gate="A" pin="2" pad="2"/>
<connect gate="A" pin="3" pad="3"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:22458/2"/>
</package3dinstances>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="/90" package="1X03/90">
<connects>
<connect gate="A" pin="1" pad="1"/>
<connect gate="A" pin="2" pad="2"/>
<connect gate="A" pin="3" pad="3"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:22459/2"/>
</package3dinstances>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="usbcon">
<packages>
<package name="USBCON">
<smd name="GND" x="-1.2" y="-1.35" dx="0.7" dy="2.7" layer="1"/>
<smd name="5V" x="1.2" y="-1.35" dx="0.7" dy="2.7" layer="1"/>
<pad name="SHIELD1" x="-3.7" y="4.3" drill="1.4"/>
<pad name="SHIELD2" x="3.7" y="4.3" drill="1.4"/>
<wire x1="-3.825" y1="0" x2="3.825" y2="0" width="0.127" layer="21"/>
<wire x1="3.825" y1="8.31" x2="-3.825" y2="8.31" width="0.127" layer="21"/>
<wire x1="3.825" y1="8.31" x2="3.825" y2="5.5" width="0.127" layer="21"/>
<wire x1="-3.825" y1="8.31" x2="-3.825" y2="5.5" width="0.127" layer="21"/>
<wire x1="-3.825" y1="3.1" x2="-3.825" y2="0" width="0.127" layer="21"/>
<wire x1="3.825" y1="0" x2="3.825" y2="3.1" width="0.127" layer="21"/>
<wire x1="-3.825" y1="5.5" x2="-3.825" y2="3.1" width="0.127" layer="51"/>
<wire x1="3.825" y1="5.5" x2="3.825" y2="3.1" width="0.127" layer="51"/>
<text x="5" y="6" size="1.27" layer="25">>NAME</text>
<text x="5" y="2" size="1.27" layer="27">>VALUE</text>
</package>
</packages>
<symbols>
<symbol name="USBCON">
<pin name="SHIELD" x="0" y="-2.54" length="middle" direction="pas"/>
<pin name="GND" x="0" y="0" length="middle" direction="pas"/>
<pin name="5V" x="0" y="2.54" length="middle" direction="pas"/>
<wire x1="5.08" y1="5.08" x2="10.16" y2="5.08" width="0.254" layer="94"/>
<wire x1="10.16" y1="5.08" x2="10.16" y2="-5.08" width="0.254" layer="94"/>
<wire x1="10.16" y1="-5.08" x2="5.08" y2="-5.08" width="0.254" layer="94"/>
<wire x1="5.08" y1="-5.08" x2="5.08" y2="5.08" width="0.254" layer="94"/>
<text x="-5.08" y="7.62" size="1.778" layer="95">>NAME</text>
<text x="-5.08" y="-10.16" size="1.778" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="USBCON" prefix="USB">
<gates>
<gate name="G$1" symbol="USBCON" x="0" y="0"/>
</gates>
<devices>
<device name="" package="USBCON">
<connects>
<connect gate="G$1" pin="5V" pad="5V"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="SHIELD" pad="SHIELD1 SHIELD2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="supply2" urn="urn:adsk.eagle:library:372">
<description>Supply Symbols

GND, VCC, 0V, +5V, -5V, etc.

Please keep in mind, that these devices are necessary for the
automatic wiring of the supply signals.

The pin name defined in the symbol is identical to the net which is to be wired automatically.

In this library the device names are the same as the pin names of the symbols, therefore the correct signal names appear next to the supply symbols in the schematic.

<author>Created by librarian@cadsoft.de</author></description>
<packages>
</packages>
<symbols>
<symbol name="GND" urn="urn:adsk.eagle:symbol:26990/1" library_version="2">
<wire x1="-1.27" y1="0" x2="1.27" y2="0" width="0.254" layer="94"/>
<wire x1="1.27" y1="0" x2="0" y2="-1.27" width="0.254" layer="94"/>
<wire x1="0" y1="-1.27" x2="-1.27" y2="0" width="0.254" layer="94"/>
<text x="-1.905" y="-3.175" size="1.778" layer="96">>VALUE</text>
<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
</symbol>
<symbol name="+05V" urn="urn:adsk.eagle:symbol:26987/1" library_version="2">
<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="94"/>
<wire x1="0" y1="0.635" x2="0" y2="1.905" width="0.1524" layer="94"/>
<circle x="0" y="1.27" radius="1.27" width="0.254" layer="94"/>
<text x="-1.905" y="3.175" size="1.778" layer="96">>VALUE</text>
<pin name="+5V" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="GND" urn="urn:adsk.eagle:component:27037/1" prefix="SUPPLY" library_version="2">
<description>SUPPLY SYMBOL</description>
<gates>
<gate name="GND" symbol="GND" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="+5V" urn="urn:adsk.eagle:component:27032/1" prefix="SUPPLY" library_version="2">
<description>SUPPLY SYMBOL</description>
<gates>
<gate name="+5V" symbol="+05V" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="konashiv2">
<packages>
<package name="KONASHI">
<description>
konashiは、スマホ・タブレット端末と連携するフィジカルコンピューティングのためのツールキットです。
</description>
<pad name="GND@2" x="1.945640625" y="5.069840625" drill="1" diameter="1.6764" rot="R180"/>
<pad name="GND" x="50.205640625" y="5.069840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="AIO0" x="50.205640625" y="7.609840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="AIO1" x="50.205640625" y="10.149840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="AIO2" x="50.205640625" y="12.689840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="PIO6/SDA" x="50.205640625" y="15.229840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="PIO7/SCL" x="50.205640625" y="17.769840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="GND@1" x="50.205640625" y="20.309840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="+3V" x="50.205640625" y="22.849840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="+5V" x="50.205640625" y="25.389840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="VBAT" x="50.205640625" y="27.929840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="PIO5" x="1.945640625" y="7.609840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="PIO4" x="1.945640625" y="10.149840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="PIO3" x="1.945640625" y="12.689840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="PIO2" x="1.945640625" y="15.229840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="PIO1" x="1.945640625" y="17.769840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="PIO0" x="1.945640625" y="20.309840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="RX" x="1.945640625" y="22.849840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="GND@3" x="1.945640625" y="25.389840625" drill="1" diameter="1.6764" rot="R90"/>
<pad name="TX" x="1.945640625" y="27.929840625" drill="1" diameter="1.6764" rot="R90"/>
<text x="48.773640625" y="3.809840625" size="0.8128" layer="22" rot="R90">GND</text>
<text x="48.773640625" y="19.049840625" size="0.8128" layer="22" rot="R90">GND</text>
<text x="4.069640625" y="3.809840625" size="0.8128" layer="22" rot="R90">GND</text>
<text x="4.069640625" y="24.129840625" size="0.8128" layer="22" rot="R90">GND</text>
<text x="47.757640625" y="9.143840625" size="0.8128" layer="22" rot="R90">AIO</text>
<text x="48.773640625" y="21.843840625" size="0.8128" layer="22" rot="R90">+3V</text>
<text x="48.773640625" y="24.129840625" size="0.8128" layer="22" rot="R90">+5V</text>
<text x="48.773640625" y="26.415840625" size="0.8128" layer="22" rot="R90">VBAT</text>
<text x="5.339640625" y="12.953840625" size="0.8128" layer="22" rot="R90">PIO</text>
<text x="4.069640625" y="22.097840625" size="0.8128" layer="22" rot="R90">RX</text>
<text x="4.069640625" y="27.431840625" size="0.8128" layer="22" rot="R90">TX</text>
<text x="4.069640625" y="20.065840625" size="0.8128" layer="22" rot="R90">0</text>
<text x="4.069640625" y="7.365840625" size="0.8128" layer="22" rot="R90">5</text>
<text x="48.773640625" y="7.238840625" size="0.8128" layer="22" rot="R90">0</text>
<text x="48.773640625" y="12.318840625" size="0.8128" layer="22" rot="R90">2</text>
<text x="4.069640625" y="17.525840625" size="0.8128" layer="22" rot="R90">1</text>
<text x="4.069640625" y="14.985840625" size="0.8128" layer="22" rot="R90">2</text>
<text x="4.069640625" y="12.445840625" size="0.8128" layer="22" rot="R90">3</text>
<text x="4.069640625" y="9.905840625" size="0.8128" layer="22" rot="R90">4</text>
<text x="48.773640625" y="9.778840625" size="0.8128" layer="22" rot="R90">1</text>
<text x="5.339640625" y="23.875840625" size="0.8128" layer="22" rot="R90">UART</text>
<text x="47.757640625" y="15.747840625" size="0.8128" layer="22" rot="R90">I2C</text>
<text x="48.773640625" y="14.096840625" size="0.8128" layer="22" rot="R90">SDA</text>
<text x="48.773640625" y="16.636840625" size="0.8128" layer="22" rot="R90">SCL</text>
<wire x1="50.551640625" y1="6.603840625" x2="51.313640625" y2="6.603840625" width="0.127" layer="22"/>
<wire x1="51.313640625" y1="6.603840625" x2="51.313640625" y2="13.715840625" width="0.127" layer="22"/>
<wire x1="51.313640625" y1="13.715840625" x2="50.551640625" y2="13.715840625" width="0.127" layer="22"/>
<wire x1="50.043640625" y1="6.603840625" x2="49.027640625" y2="6.603840625" width="0.127" layer="22"/>
<wire x1="49.027640625" y1="6.603840625" x2="49.027640625" y2="13.715840625" width="0.127" layer="22"/>
<wire x1="49.027640625" y1="13.715840625" x2="50.043640625" y2="13.715840625" width="0.127" layer="22"/>
<wire x1="50.043640625" y1="14.223840625" x2="49.027640625" y2="14.223840625" width="0.127" layer="22"/>
<wire x1="49.027640625" y1="14.223840625" x2="49.027640625" y2="18.795840625" width="0.127" layer="22"/>
<wire x1="49.027640625" y1="18.795840625" x2="50.043640625" y2="18.795840625" width="0.127" layer="22"/>
<wire x1="50.551640625" y1="18.795840625" x2="51.313640625" y2="18.795840625" width="0.127" layer="22"/>
<wire x1="51.313640625" y1="18.795840625" x2="51.313640625" y2="14.223840625" width="0.127" layer="22"/>
<wire x1="51.313640625" y1="14.223840625" x2="50.551640625" y2="14.223840625" width="0.127" layer="22"/>
<wire x1="2.291640625" y1="6.603840625" x2="3.053640625" y2="6.603840625" width="0.127" layer="22"/>
<wire x1="3.053640625" y1="6.603840625" x2="3.053640625" y2="21.335840625" width="0.127" layer="22"/>
<wire x1="3.053640625" y1="21.335840625" x2="2.291640625" y2="21.335840625" width="0.127" layer="22"/>
<wire x1="1.783640625" y1="21.335840625" x2="0.767640625" y2="21.335840625" width="0.127" layer="22"/>
<wire x1="0.767640625" y1="21.335840625" x2="0.767640625" y2="6.603840625" width="0.127" layer="22"/>
<wire x1="0.767640625" y1="6.603840625" x2="1.783640625" y2="6.603840625" width="0.127" layer="22"/>
<wire x1="2.291640625" y1="21.843840625" x2="3.053640625" y2="21.843840625" width="0.127" layer="22"/>
<wire x1="3.053640625" y1="21.843840625" x2="3.053640625" y2="28.955840625" width="0.127" layer="22"/>
<wire x1="3.053640625" y1="28.955840625" x2="2.291640625" y2="28.955840625" width="0.127" layer="22"/>
<wire x1="1.783640625" y1="28.955840625" x2="0.767640625" y2="28.955840625" width="0.127" layer="22"/>
<wire x1="0.767640625" y1="28.955840625" x2="0.767640625" y2="21.843840625" width="0.127" layer="22"/>
<wire x1="0.767640625" y1="21.843840625" x2="1.783640625" y2="21.843840625" width="0.127" layer="22"/>
<wire x1="0.075640625" y1="-0.000159375" x2="52.075640625" y2="-0.000159375" width="0.127" layer="22"/>
<wire x1="52.075640625" y1="-0.000159375" x2="52.075640625" y2="32.999840625" width="0.127" layer="22"/>
<wire x1="52.075640625" y1="32.999840625" x2="0.075640625" y2="32.999840625" width="0.127" layer="22"/>
<wire x1="0.075640625" y1="32.999840625" x2="0.075640625" y2="-0.000159375" width="0.127" layer="22"/>
<text x="22.392640625" y="16.126840625" size="1.778" layer="22">konashi</text>
</package>
</packages>
<symbols>
<symbol name="KONASHI2.0">
<description>
konashiは、スマホ・タブレット端末と連携するフィジカルコンピューティングのためのツールキットです。
</description>
<wire x1="-15.24" y1="-20.32" x2="12.7" y2="-20.32" width="0.254" layer="94"/>
<wire x1="12.7" y1="-20.32" x2="12.7" y2="20.32" width="0.254" layer="94"/>
<wire x1="12.7" y1="20.32" x2="-15.24" y2="20.32" width="0.254" layer="94"/>
<wire x1="-15.24" y1="20.32" x2="-15.24" y2="-20.32" width="0.254" layer="94"/>
<pin name="GND@2" x="-12.7" y="22.86" visible="pin" length="short" direction="pas" rot="R270"/>
<pin name="PIO0" x="-10.16" y="22.86" visible="pin" length="short" rot="R270"/>
<pin name="PIO1" x="-7.62" y="22.86" visible="pin" length="short" rot="R270"/>
<pin name="PIO2" x="-5.08" y="22.86" visible="pin" length="short" rot="R270"/>
<pin name="PIO3" x="-2.54" y="22.86" visible="pin" length="short" rot="R270"/>
<pin name="PIO4" x="0" y="22.86" visible="pin" length="short" rot="R270"/>
<pin name="PIO5" x="2.54" y="22.86" visible="pin" length="short" rot="R270"/>
<pin name="RX" x="5.08" y="22.86" visible="pin" length="short" rot="R270"/>
<pin name="GND@3" x="7.62" y="22.86" visible="pin" length="short" rot="R270"/>
<pin name="TX" x="10.16" y="22.86" visible="pin" length="short" rot="R270"/>
<pin name="GND" x="-12.7" y="-22.86" visible="pin" length="short" direction="pwr" rot="R90"/>
<pin name="AIN0" x="-10.16" y="-22.86" visible="pin" length="short" rot="R90"/>
<pin name="AIN1" x="-7.62" y="-22.86" visible="pin" length="short" rot="R90"/>
<pin name="AIN2" x="-5.08" y="-22.86" visible="pin" length="short" rot="R90"/>
<pin name="SDA" x="-2.54" y="-22.86" visible="pin" length="short" rot="R90"/>
<pin name="SCL" x="0" y="-22.86" visible="pin" length="short" rot="R90"/>
<pin name="GND@1" x="2.54" y="-22.86" visible="pin" length="short" direction="pwr" rot="R90"/>
<pin name="+3V" x="5.08" y="-22.86" visible="pin" length="short" direction="pwr" rot="R90"/>
<pin name="+5V" x="7.62" y="-22.86" visible="pin" length="short" direction="pwr" rot="R90"/>
<pin name="VBAT" x="10.16" y="-22.86" visible="pin" length="short" direction="pwr" rot="R90"/>
<text x="-8.89" y="5.08" size="2.54" layer="94" distance="63">konashi2.0</text>
<text x="-5.08" y="-5.08" size="2.54" layer="94">ユカイ</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="KONASHI2.0">
<description>
konashiは、スマホ・タブレット端末と連携するフィジカルコンピューティングのためのツールキットです。
</description>
<gates>
<gate name="G$1" symbol="KONASHI2.0" x="0" y="0"/>
</gates>
<devices>
<device name="" package="KONASHI">
<connects>
<connect gate="G$1" pin="+3V" pad="+3V"/>
<connect gate="G$1" pin="+5V" pad="+5V"/>
<connect gate="G$1" pin="AIN0" pad="AIO0"/>
<connect gate="G$1" pin="AIN1" pad="AIO1"/>
<connect gate="G$1" pin="AIN2" pad="AIO2"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="GND@1" pad="GND@1"/>
<connect gate="G$1" pin="GND@2" pad="GND@2"/>
<connect gate="G$1" pin="GND@3" pad="GND@3"/>
<connect gate="G$1" pin="PIO0" pad="PIO0"/>
<connect gate="G$1" pin="PIO1" pad="PIO1"/>
<connect gate="G$1" pin="PIO2" pad="PIO2"/>
<connect gate="G$1" pin="PIO3" pad="PIO3"/>
<connect gate="G$1" pin="PIO4" pad="PIO4"/>
<connect gate="G$1" pin="PIO5" pad="PIO5"/>
<connect gate="G$1" pin="RX" pad="RX"/>
<connect gate="G$1" pin="SCL" pad="PIO7/SCL"/>
<connect gate="G$1" pin="SDA" pad="PIO6/SDA"/>
<connect gate="G$1" pin="TX" pad="TX"/>
<connect gate="G$1" pin="VBAT" pad="VBAT"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="toggle-switch">
<description><Sub-miniature toggle switch

<author>Created by SamacSys</author></description>
<packages>
<package name="MTS-12PB-5P">
<description>2MS1-T1-B4-M2-Q-E

</description>
<pad name="1" x="0" y="-2.54" drill="1.09" diameter="1.65"/>
<pad name="2" x="0" y="0" drill="1.09" diameter="1.65"/>
<pad name="3" x="0" y="2.54" drill="1.09" diameter="1.65"/>
<text x="-5.469" y="8.101" size="1.27" layer="25" align="center">>NAME</text>
<text x="-5.469" y="5.418" size="1.27" layer="27" align="center">>VALUE</text>
<wire x1="-10" y1="4.05" x2="-10" y2="-4.05" width="0.2" layer="21"/>
<wire x1="-10" y1="-4.05" x2="0" y2="-4.05" width="0.2" layer="21"/>
<wire x1="0" y1="-4.05" x2="0" y2="4.05" width="0.2" layer="21"/>
<wire x1="0" y1="4.05" x2="-10" y2="4.05" width="0.2" layer="21"/>
<pad name="FIXHOLE1" x="-5.08" y="2.54" drill="1.09" diameter="1.65"/>
<pad name="FIXHOLE2" x="-5.08" y="-2.54" drill="1.09" diameter="1.65"/>
<wire x1="-10" y1="2.25" x2="-14.5" y2="2.25" width="0.127" layer="51"/>
<wire x1="-10" y1="-2.25" x2="-14.5" y2="-2.25" width="0.127" layer="51"/>
<wire x1="-14.5" y1="2.25" x2="-14.5" y2="1.27" width="0.127" layer="51"/>
<wire x1="-14.5" y1="-1.23" x2="-14.5" y2="-2.25" width="0.127" layer="51"/>
<wire x1="-25.7" y1="1.27" x2="-25.4" y2="1.27" width="0.127" layer="51"/>
<wire x1="-25.4" y1="1.27" x2="-14.5" y2="1.27" width="0.127" layer="51"/>
<wire x1="-14.5" y1="1.27" x2="-14.5" y2="-1.23" width="0.127" layer="51"/>
<wire x1="-14.5" y1="-1.23" x2="-25.7" y2="-1.23" width="0.127" layer="51"/>
<wire x1="-25.4" y1="-1.27" x2="-25.4" y2="1.27" width="0.127" layer="51" curve="-180"/>
</package>
</packages>
<symbols>
<symbol name="ON-ON">
<wire x1="5.08" y1="2.54" x2="15.24" y2="2.54" width="0.254" layer="94"/>
<wire x1="15.24" y1="-5.08" x2="15.24" y2="2.54" width="0.254" layer="94"/>
<wire x1="15.24" y1="-5.08" x2="5.08" y2="-5.08" width="0.254" layer="94"/>
<wire x1="5.08" y1="2.54" x2="5.08" y2="-5.08" width="0.254" layer="94"/>
<text x="16.51" y="7.62" size="1.778" layer="95" align="center-left">>NAME</text>
<text x="16.51" y="5.08" size="1.778" layer="96" align="center-left">>VALUE</text>
<pin name="1" x="0" y="0" length="middle"/>
<pin name="2" x="0" y="-2.54" length="middle"/>
<pin name="3" x="20.32" y="0" length="middle" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="MTS-12PB-5P">
<gates>
<gate name="G$1" symbol="ON-ON" x="0" y="0"/>
</gates>
<devices>
<device name="" package="MTS-12PB-5P">
<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"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<parts>
<part name="JP1" library="pinhead" library_urn="urn:adsk.eagle:library:325" deviceset="PINHD-1X3" device="" package3d_urn="urn:adsk.eagle:package:22458/2" value="LED TAPE"/>
<part name="MRUSB-2B-D14NI-S306" library="usbcon" deviceset="USBCON" device=""/>
<part name="ARDUINO_NANO" library="ArduinoNanoV30" deviceset="ARDUINO_NANO" device=""/>
<part name="SUPPLY1" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="GND" device=""/>
<part name="SUPPLY2" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="GND" device=""/>
<part name="SUPPLY3" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="GND" device=""/>
<part name="SUPPLY4" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="GND" device=""/>
<part name="SUPPLY5" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="GND" device=""/>
<part name="SUPPLY6" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="+5V" device=""/>
<part name="SUPPLY9" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="+5V" device=""/>
<part name="SUPPLY7" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="+5V" device=""/>
<part name="SUPPLY8" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="GND" device=""/>
<part name="SUPPLY10" library="supply2" library_urn="urn:adsk.eagle:library:372" deviceset="GND" device=""/>
<part name="KONASHI" library="konashiv2" deviceset="KONASHI2.0" device=""/>
<part name="U$1" library="toggle-switch" deviceset="MTS-12PB-5P" device=""/>
</parts>
<sheets>
<sheet>
<plain>
</plain>
<instances>
<instance part="JP1" gate="A" x="124.46" y="50.8" smashed="yes" rot="R90">
<attribute name="NAME" x="118.745" y="52.07" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="129.54" y="57.15" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="MRUSB-2B-D14NI-S306" gate="G$1" x="93.98" y="60.96" smashed="yes">
<attribute name="NAME" x="99.06" y="68.58" size="1.778" layer="95"/>
<attribute name="VALUE" x="88.9" y="50.8" size="1.778" layer="96"/>
</instance>
<instance part="ARDUINO_NANO" gate="G$1" x="27.94" y="33.02" smashed="yes">
<attribute name="NAME" x="12.7" y="12.7" size="1.778" layer="95"/>
<attribute name="VALUE" x="12.7" y="10.16" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY1" gate="GND" x="78.74" y="55.88" smashed="yes">
<attribute name="VALUE" x="76.835" y="52.705" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY2" gate="GND" x="111.76" y="33.02" smashed="yes">
<attribute name="VALUE" x="109.855" y="29.845" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY3" gate="GND" x="127" y="40.64" smashed="yes">
<attribute name="VALUE" x="125.095" y="37.465" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY4" gate="GND" x="2.54" y="45.72" smashed="yes">
<attribute name="VALUE" x="0.635" y="42.545" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY5" gate="GND" x="53.34" y="38.1" smashed="yes">
<attribute name="VALUE" x="51.435" y="34.925" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY6" gate="+5V" x="86.36" y="86.36" smashed="yes">
<attribute name="VALUE" x="84.455" y="89.535" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY9" gate="+5V" x="111.76" y="43.18" smashed="yes">
<attribute name="VALUE" x="109.855" y="46.355" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY7" gate="+5V" x="50.8" y="50.8" smashed="yes">
<attribute name="VALUE" x="48.895" y="53.975" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY8" gate="GND" x="60.96" y="17.78" smashed="yes">
<attribute name="VALUE" x="59.055" y="14.605" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY10" gate="GND" x="106.68" y="17.78" smashed="yes">
<attribute name="VALUE" x="104.775" y="14.605" size="1.778" layer="96"/>
</instance>
<instance part="KONASHI" gate="G$1" x="83.82" y="33.02" smashed="yes" rot="R90"/>
<instance part="U$1" gate="G$1" x="86.36" y="63.5" smashed="yes" rot="R90">
<attribute name="NAME" x="78.74" y="80.01" size="1.778" layer="95" rot="R90" align="center-left"/>
<attribute name="VALUE" x="81.28" y="80.01" size="1.778" layer="96" rot="R90" align="center-left"/>
</instance>
</instances>
<busses>
</busses>
<nets>
<net name="N$3" class="0">
<segment>
<wire x1="5.08" y1="7.62" x2="124.46" y2="7.62" width="0.1524" layer="91"/>
<pinref part="JP1" gate="A" pin="2"/>
<wire x1="124.46" y1="7.62" x2="124.46" y2="48.26" width="0.1524" layer="91"/>
<wire x1="7.62" y1="35.56" x2="5.08" y2="35.56" width="0.1524" layer="91"/>
<wire x1="5.08" y1="35.56" x2="5.08" y2="7.62" width="0.1524" layer="91"/>
<pinref part="ARDUINO_NANO" gate="G$1" pin="D6/AIN0"/>
</segment>
</net>
<net name="N$4" class="0">
<segment>
<wire x1="58.42" y1="63.5" x2="5.08" y2="63.5" width="0.1524" layer="91"/>
<wire x1="5.08" y1="63.5" x2="5.08" y2="53.34" width="0.1524" layer="91"/>
<wire x1="5.08" y1="53.34" x2="7.62" y2="53.34" width="0.1524" layer="91"/>
<wire x1="58.42" y1="63.5" x2="58.42" y2="43.18" width="0.1524" layer="91"/>
<wire x1="58.42" y1="43.18" x2="60.96" y2="43.18" width="0.1524" layer="91"/>
<pinref part="ARDUINO_NANO" gate="G$1" pin="D0/RX"/>
<pinref part="KONASHI" gate="G$1" pin="TX"/>
</segment>
</net>
<net name="N$5" class="0">
<segment>
<wire x1="2.54" y1="66.04" x2="55.88" y2="66.04" width="0.1524" layer="91"/>
<wire x1="2.54" y1="66.04" x2="2.54" y2="55.88" width="0.1524" layer="91"/>
<wire x1="2.54" y1="55.88" x2="7.62" y2="55.88" width="0.1524" layer="91"/>
<wire x1="55.88" y1="66.04" x2="55.88" y2="38.1" width="0.1524" layer="91"/>
<wire x1="55.88" y1="38.1" x2="60.96" y2="38.1" width="0.1524" layer="91"/>
<pinref part="ARDUINO_NANO" gate="G$1" pin="D1/TX"/>
<pinref part="KONASHI" gate="G$1" pin="RX"/>
</segment>
</net>
<net name="GND" class="0">
<segment>
<pinref part="MRUSB-2B-D14NI-S306" gate="G$1" pin="GND"/>
<wire x1="93.98" y1="60.96" x2="78.74" y2="60.96" width="0.1524" layer="91"/>
<wire x1="78.74" y1="60.96" x2="78.74" y2="58.42" width="0.1524" layer="91"/>
<pinref part="MRUSB-2B-D14NI-S306" gate="G$1" pin="SHIELD"/>
<wire x1="93.98" y1="58.42" x2="78.74" y2="58.42" width="0.1524" layer="91"/>
<junction x="78.74" y="58.42"/>
<pinref part="SUPPLY1" gate="GND" pin="GND"/>
</segment>
<segment>
<wire x1="106.68" y1="35.56" x2="111.76" y2="35.56" width="0.1524" layer="91"/>
<pinref part="SUPPLY2" gate="GND" pin="GND"/>
<pinref part="KONASHI" gate="G$1" pin="GND@1"/>
</segment>
<segment>
<pinref part="JP1" gate="A" pin="3"/>
<pinref part="SUPPLY3" gate="GND" pin="GND"/>
<wire x1="127" y1="48.26" x2="127" y2="43.18" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="ARDUINO_NANO" gate="G$1" pin="GND@1"/>
<pinref part="SUPPLY4" gate="GND" pin="GND"/>
<wire x1="2.54" y1="48.26" x2="7.62" y2="48.26" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="SUPPLY8" gate="GND" pin="GND"/>
<pinref part="KONASHI" gate="G$1" pin="GND@2"/>
</segment>
<segment>
<pinref part="SUPPLY10" gate="GND" pin="GND"/>
<pinref part="KONASHI" gate="G$1" pin="GND"/>
</segment>
<segment>
<pinref part="ARDUINO_NANO" gate="G$1" pin="GND@2"/>
<wire x1="48.26" y1="53.34" x2="53.34" y2="53.34" width="0.1524" layer="91"/>
<pinref part="SUPPLY5" gate="GND" pin="GND"/>
<wire x1="53.34" y1="53.34" x2="53.34" y2="40.64" width="0.1524" layer="91"/>
<pinref part="KONASHI" gate="G$1" pin="GND@3"/>
<wire x1="60.96" y1="40.64" x2="53.34" y2="40.64" width="0.1524" layer="91"/>
<junction x="53.34" y="40.64"/>
</segment>
</net>
<net name="+5V" class="0">
<segment>
<pinref part="JP1" gate="A" pin="1"/>
<wire x1="121.92" y1="48.26" x2="121.92" y2="40.64" width="0.1524" layer="91"/>
<wire x1="121.92" y1="40.64" x2="111.76" y2="40.64" width="0.1524" layer="91"/>
<wire x1="111.76" y1="40.64" x2="106.68" y2="40.64" width="0.1524" layer="91"/>
<pinref part="SUPPLY9" gate="+5V" pin="+5V"/>
<junction x="111.76" y="40.64"/>
<pinref part="KONASHI" gate="G$1" pin="+5V"/>
</segment>
<segment>
<wire x1="48.26" y1="48.26" x2="50.8" y2="48.26" width="0.1524" layer="91"/>
<pinref part="ARDUINO_NANO" gate="G$1" pin="5V"/>
<pinref part="SUPPLY7" gate="+5V" pin="+5V"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="3"/>
<pinref part="SUPPLY6" gate="+5V" pin="+5V"/>
</segment>
</net>
<net name="N$1" class="0">
<segment>
<pinref part="MRUSB-2B-D14NI-S306" gate="G$1" pin="5V"/>
<wire x1="93.98" y1="63.5" x2="88.9" y2="63.5" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="2"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
<errors>
<approved hash="202,1,7.62,50.8,ARDUINO_NANO,!RESET,,,,"/>
<approved hash="202,1,48.26,25.4,ARDUINO_NANO,AREF,,,,"/>
<approved hash="104,1,48.26,48.26,ARDUINO_NANO,5V,+5V,,,"/>
<approved hash="202,1,48.26,50.8,ARDUINO_NANO,!RESET,,,,"/>

extension: sch


text:
<approved hash="204,1,48.26,55.88,ARDUINO_NANO,VIN,,,,"/>
<approved hash="204,1,106.68,38.1,KONASHI,+3V,,,,"/>
<approved hash="204,1,106.68,43.18,KONASHI,VBAT,,,,"/>
<approved hash="113,1,27.94,35.3272,ARDUINO_NANO,,,,,"/>
</errors>
</schematic>
</drawing>
<compatibility>
<note version="6.3" minversion="6.2.2" severity="warning">
Since Version 6.2.2 text objects can contain more than one line,
which will not be processed correctly with this version.
</note>
<note version="8.2" severity="warning">
Since Version 8.2, EAGLE supports online libraries. The ids
of those online libraries will not be understood (or retained)
with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports URNs for individual library
assets (packages, symbols, and devices). The URNs of those assets
will not be understood (or retained) with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports the association of 3D packages
with devices in libraries, schematics, and board files. Those 3D
packages will not be understood (or retained) with this version.
</note>
</compatibility>
</eagle>

license: MIT

license_type: permissive

branch_name: refs/heads/master


text:
DESCRIPTION = "HTTP/2 State-Machine based protocol implementation"
HOMEPAGE = "https://github.com/python-hyper/hyper-h2"
LICENSE = "MIT"

LIC_FILES_CHKSUM = "file://LICENSE;md5=b6b2f6bbe76528af543242d606c14851"

SRC_URI[md5sum] = "950b5a62a2a608dc4547a01edf99aa8f"
SRC_URI[sha256sum] = "b8a32bd282594424c0ac55845377eea13fa54fe4a8db012f3a198ed923dc3ab4"

inherit pypi setuptools

SKIP_RECIPE[python-h2] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"

branch_name: refs/heads/jansa/master

gha_license_id: MIT

gha_language: BitBake

extension: bb


text:
// Code generated by ros-gen-go.
// source: MenuEntry.msg
// DO NOT EDIT!
package visualization_msgs

import (
	"io"

	"github.com/cnord/rosgo/ros"
)

const (
	MenuEntry_FEEDBACK  uint8 = 0
	MenuEntry_ROSRUN    uint8 = 1
	MenuEntry_ROSLAUNCH uint8 = 2
)

type _MsgMenuEntry struct {
	text   string
	name   string
	md5sum string
}

func (t *_MsgMenuEntry) Text() string {
	return t.text
}

func (t *_MsgMenuEntry) Name() string {
	return t.name
}

func (t *_MsgMenuEntry) MD5Sum() string {
	return t.md5sum
}

func (t *_MsgMenuEntry) NewMessage() ros.Message {
	m := new(MenuEntry)

	return m
}

var (
	MsgMenuEntry = &_MsgMenuEntry{
		`# MenuEntry message.

# Each InteractiveMarker message has an array of MenuEntry messages.
# A collection of MenuEntries together describe a
# menu/submenu/subsubmenu/etc tree, though they are stored in a flat
# array.  The tree structure is represented by giving each menu entry
# an ID number and a "parent_id" field.  Top-level entries are the
# ones with parent_id = 0.  Menu entries are ordered within their
# level the same way they are ordered in the containing array.  Parent
# entries must appear before their children.

# Example:
# - id = 3
#   parent_id = 0
#   title = "fun"
# - id = 2
#   parent_id = 0
#   title = "robot"
# - id = 4
#   parent_id = 2
#   title = "pr2"
# - id = 5
#   parent_id = 2
#   title = "turtle"
#
# Gives a menu tree like this:
#  - fun
#  - robot
#    - pr2
#    - turtle

# ID is a number for each menu entry.  Must be unique within the
# control, and should never be 0.
uint32 id

# ID of the parent of this menu entry, if it is a submenu.  If this
# menu entry is a top-level entry, set parent_id to 0.
uint32 parent_id

# menu / entry title
string title

# Arguments to command indicated by command_type (below)
string command

# Command_type stores the type of response desired when this menu
# entry is clicked.
# FEEDBACK: send an InteractiveMarkerFeedback message with menu_entry_id set to this entry's id.
# ROSRUN: execute "rosrun" with arguments given in the command field (above).
# ROSLAUNCH: execute "roslaunch" with arguments given in the command field (above).
uint8 FEEDBACK=0
uint8 ROSRUN=1
uint8 ROSLAUNCH=2
uint8 command_type
`,
		"visualization_msgs/MenuEntry",
		"b90ec63024573de83b57aa93eb39be2d",
	}
)

type MenuEntry struct {
	Id          uint32
	ParentId    uint32
	Title       string
	Command     string
	CommandType uint8
}

func (m *MenuEntry) Serialize(w io.Writer) (err error) {
	if err = ros.SerializeMessageField(w, "uint32", &m.Id); err != nil {
		return err
	}

	if err = ros.SerializeMessageField(w, "uint32", &m.ParentId); err != nil {
		return err
	}

	if err = ros.SerializeMessageField(w, "string", &m.Title); err != nil {
		return err
	}

	if err = ros.SerializeMessageField(w, "string", &m.Command); err != nil {
		return err
	}

	if err = ros.SerializeMessageField(w, "uint8", &m.CommandType); err != nil {
		return err
	}

	return
}

func (m *MenuEntry) Deserialize(r io.Reader) (err error) {
	// Id
	if err = ros.DeserializeMessageField(r, "uint32", &m.Id); err != nil {
		return err
	}

	// ParentId
	if err = ros.DeserializeMessageField(r, "uint32", &m.ParentId); err != nil {
		return err
	}

	// Title
	if err = ros.DeserializeMessageField(r, "string", &m.Title); err != nil {
		return err
	}

	// Command
	if err = ros.DeserializeMessageField(r, "string", &m.Command); err != nil {
		return err
	}

	// CommandType
	if err = ros.DeserializeMessageField(r, "uint8", &m.CommandType); err != nil {
		return err
	}

	return
}

repository: cnord/rosgo

repo_name: cnord/rosgo

gha_license_id: NOASSERTION

gha_language: Go

extension: go


text:
SUMMARY = "Telemetry service"
DESCRIPTION = "Middleware between Redfish Telemetry Service and dbus-sensors"
HOMEPAGE = "https://github.com/openbmc/telemetry"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
DEPENDS = "boost \
           gtest \
           nlohmann-json \
           phosphor-logging \
           sdbusplus \
           systemd"
SRCREV = "3995a361af50f6708090bf853494cf1659864cd4"
PV = "1.0+git${SRCPV}"

SRC_URI = "git://github.com/openbmc/telemetry;branch=master;protocol=https"

S = "${WORKDIR}/git"
SYSTEMD_SERVICE:${PN} = "xyz.openbmc_project.Telemetry.service"

inherit pkgconfig meson
inherit systemd

EXTRA_OEMESON = "-Dbuildtest=false"

repository: openbmc/openbmc

repo_name: openbmc/openbmc

gha_language: Python


text:
DESCRIPTION = "Target packages for pacpus"
PR = "r0"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
                    file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY_${PN} = "1"

RDEPENDS_${PN} = "canutils init-can gpsd ppp ntp ldd xenomai log4cxx  \
            packagegroup-core-qt4e qt4-embedded-plugin-gfxdriver-gfxpvregl libqt-embeddedpvrqwswsegl4 coreutils vpnc pacpusframework"
#tcl tcludp libtcl"


text:
package tendermint

import (
	"encoding/hex"
	"fmt"
	"net"
	"sync"
	"testing"

	"github.com/33cn/chain33/common/crypto"
	"github.com/33cn/chain33/types"
	ttypes "github.com/33cn/plugin/plugin/consensus/tendermint/types"
	tmtypes "github.com/33cn/plugin/plugin/dapp/valnode/types"
	"github.com/stretchr/testify/assert"
)

var (
	secureConnCrypto crypto.Crypto
	sum              = 0
	mutx             sync.Mutex
	privKey          = "23278EA4CFE8B00360EBB376F2BBFAC345136EE5BC4549532C394C0AF2B80DFE8D80E15927EF2854C78D981015BD2AD469867957081357D0FADD88871752A7E1"
	expectAddress    = "07FE011CE6F4C458FD9D417ED38CB262A4364FA1"
)

func init() {
	cr2, err := crypto.Load(types.GetSignName("", types.ED25519), -1)
	if err != nil {
		fmt.Println("crypto.Load failed for types.ED25519")
		return
	}
	secureConnCrypto = cr2
}

func TestParallel(t *testing.T) {
	Parallel(
		func() {
			mutx.Lock()
			sum++
			mutx.Unlock()
		},
		func() {
			mutx.Lock()
			sum += 2
			mutx.Unlock()
		},
		func() {
			mutx.Lock()
			sum += 3
			mutx.Unlock()
		},
	)

	fmt.Println("TestParallel ok")
	assert.Equal(t, 6, sum)
}

func TestGenIDByPubKey(t *testing.T) {
	tmp, err := hex.DecodeString(privKey)
	assert.Nil(t, err)

	priv, err := secureConnCrypto.PrivKeyFromBytes(tmp)
	assert.Nil(t, err)

	id := GenIDByPubKey(priv.PubKey())
	addr, err := hex.DecodeString(string(id))
	assert.Nil(t, err)
	strAddr := fmt.Sprintf("%X", addr)
	assert.Equal(t, expectAddress, strAddr)
	fmt.Println("TestGenIDByPubKey ok")
}

func TestIP2IPPort(t *testing.T) {
	testMap := NewMutexMap()
	assert.Equal(t, false, testMap.Has("1.1.1.1"))

	testMap.Set("1.1.1.1", "1.1.1.1:80")
	assert.Equal(t, true, testMap.Has("1.1.1.1"))

	testMap.Set("1.1.1.2", "1.1.1.2:80")
	assert.Equal(t, true, testMap.Has("1.1.1.2"))

	testMap.Delete("1.1.1.1")
	assert.Equal(t, false, testMap.Has("1.1.1.1"))
	fmt.Println("TestIP2IPPort ok")
}

func TestNodeFunc(t *testing.T) {
	node := &Node{Version: "1.1.1", Network: "net1"}
	assert.NotNil(t, node.CompatibleWith(NodeInfo{Version: "1.1", Network: "net1"}))
	assert.NotNil(t, node.CompatibleWith(NodeInfo{Version: "2.1.1", Network: "net1"}))
	assert.NotNil(t, node.CompatibleWith(NodeInfo{Version: "1.1.1", Network: "net2"}))
	assert.Nil(t, node.CompatibleWith(NodeInfo{Version: "1.2.3", Network: "net1"}))

	assert.False(t, isIpv6(net.IP{127, 0, 0, 1}))
	assert.True(t, isIpv6(net.IP{0xff, 0x01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01}))
	fmt.Println("TestNodeFunc ok")
}

func TestPeerSet(t *testing.T) {
	testSet := NewPeerSet()
	assert.Equal(t, false, testSet.Has("1"))

	peer1 := &peerConn{id: "1", ip: net.IP{127, 0, 0, 1}}
	testSet.Add(peer1)
	assert.Equal(t, true, testSet.Has("1"))
	assert.Equal(t, true, testSet.HasIP(net.IP{127, 0, 0, 1}))

	err := testSet.Add(peer1)
	assert.NotNil(t, err)

	peer2 := &peerConn{id: "2", ip: net.IP{127, 0, 0, 2}}
	testSet.Add(peer2)
	assert.Equal(t, true, testSet.Has("2"))
	assert.Equal(t, 2, testSet.Size())

	testSet.Remove(peer1)
	assert.Equal(t, 1, testSet.Size())
	assert.Equal(t, false, testSet.Has("1"))
	assert.Equal(t, false, testSet.HasIP(net.IP{127, 0, 0, 1}))

	fmt.Println("TestPeerSet ok")
}

func TestPeerConn(t *testing.T) {
	pc := &peerConn{id: "3", ip: net.IP{127, 0, 0, 3}, outbound: true, persistent: false}
	_, err := pc.RemoteAddr()
	assert.NotNil(t, err)
	assert.True(t, pc.IsOutbound())
	assert.False(t, pc.IsPersistent())

	pc.sendQueue = make(chan MsgInfo, maxSendQueueSize)
	assert.False(t, pc.Send(MsgInfo{}))
	assert.False(t, pc.TrySend(MsgInfo{}))
	pc.started = 1
	assert.True(t, pc.Send(MsgInfo{}))
	assert.True(t, pc.TrySend(MsgInfo{}))

	testUpdateStateRoutine(t, pc)

	fmt.Println("TestPeerConn ok")
}

func testUpdateStateRoutine(t *testing.T, pc *peerConn) {
	pc.quitUpdate = make(chan struct{})
	pc.updateStateQueue = make(chan MsgInfo)
	pc.state = &PeerConnState{
		ip: pc.ip,
		PeerRoundState: ttypes.PeerRoundState{
			Height:             int64(2),
			Round:              0,
			Step:               ttypes.RoundStepCommit,
			Proposal:           true,
			ProposalBlockHash:  []byte("ProposalBlockHash@2"),
			LastCommitRound:    0,
			CatchupCommitRound: 0,
		},
	}
	ps := pc.state
	go pc.updateStateRoutine()

	//NewRoundStepID msg
	rsMsg := &tmtypes.NewRoundStepMsg{
		Height:                int64(3),
		Round:                 int32(1),
		Step:                  int32(3),
		SecondsSinceStartTime: int32(1),
		LastCommitRound:       int32(1),
	}
	pc.updateStateQueue <- MsgInfo{ttypes.NewRoundStepID, rsMsg, ID("TEST"), pc.ip.String()}
	pc.updateStateQueue <- MsgInfo{TypeID: byte(0x00)}
	assert.Equal(t, int64(3), ps.Height)
	assert.Equal(t, 1, ps.Round)
	assert.Equal(t, ttypes.RoundStepPropose, ps.Step)
	assert.Equal(t, false, ps.Proposal)
	assert.Equal(t, 1, ps.LastCommitRound)
	assert.Equal(t, -1, ps.CatchupCommitRound)
	//SetHasProposal
	proposal := &tmtypes.Proposal{
		Height:    int64(3),
		Round:     int32(1),
		POLRound:  int32(1),
		Blockhash: []byte("ProposalBlockHash@3"),
	}
	ps.SetHasProposal(proposal)
	assert.True(t, ps.Proposal)
	assert.Equal(t, 1, ps.ProposalPOLRound)
	assert.Equal(t, []byte("ProposalBlockHash@3"), ps.ProposalBlockHash)
	//SetHasProposalBlock
	block := &ttypes.TendermintBlock{
		TendermintBlock: &tmtypes.TendermintBlock{
			Header: &tmtypes.TendermintBlockHeader{
				Height: int64(3),
				Round:  int64(1),
			},
		},
	}
	ps.SetHasProposalBlock(block)
	assert.True(t, ps.ProposalBlock)
	//ValidBlockID msg
	validBlockMsg := &tmtypes.ValidBlockMsg{
		Height:    int64(3),
		Round:     int32(1),
		Blockhash: []byte("ValidBlockHash@3"),
		IsCommit:  false,
	}
	pc.updateStateQueue <- MsgInfo{ttypes.ValidBlockID, validBlockMsg, ID("TEST"), pc.ip.String()}
	pc.updateStateQueue <- MsgInfo{TypeID: byte(0x00)}
	assert.Equal(t, []byte("ValidBlockHash@3"), ps.ProposalBlockHash)
	//HasVoteID msg
	hasVoteMsg := &tmtypes.HasVoteMsg{
		Height: int64(3),
		Round:  int32(1),
		Type:   int32(ttypes.VoteTypePrevote),
		Index:  int32(1),
	}
	ps.EnsureVoteBitArrays(int64(3), 2)
	ps.EnsureVoteBitArrays(int64(2), 2)
	assert.False(t, ps.Prevotes.GetIndex(1))
	pc.updateStateQueue <- MsgInfo{ttypes.HasVoteID, hasVoteMsg, ID("TEST"), pc.ip.String()}
	pc.updateStateQueue <- MsgInfo{TypeID: byte(0x00)}
	assert.True(t, ps.Prevotes.GetIndex(1))
	//ProposalPOLID msg
	proposalPOL := ps.Prevotes.TendermintBitArray
	proposalPOLMsg := &tmtypes.ProposalPOLMsg{
		Height:           int64(3),
		ProposalPOLRound: int32(1),
		ProposalPOL:      proposalPOL,
	}
	pc.updateStateQueue <- MsgInfo{ttypes.ProposalPOLID, proposalPOLMsg, ID("TEST"), pc.ip.String()}
	pc.updateStateQueue <- MsgInfo{TypeID: byte(0x00)}
	assert.EqualValues(t, proposalPOL, ps.ProposalPOL.TendermintBitArray)

	//PickSendVote
	ttypes.Init()
	vals := make([]*ttypes.Validator, 2)
	votes := ttypes.NewVoteSet("TEST", 3, 1, ttypes.VoteTypePrevote, &ttypes.ValidatorSet{Validators: vals})
	assert.False(t, pc.PickSendVote(votes))

	assert.Equal(t, int64(3), ps.GetHeight())
	assert.NotNil(t, ps.GetRoundState())
	assert.Nil(t, ps.getVoteBitArray(3, 1, byte(0x03)))
	assert.NotNil(t, ps.getVoteBitArray(3, 1, ttypes.VoteTypePrecommit))
	assert.Nil(t, ps.getVoteBitArray(2, 1, ttypes.VoteTypePrevote))
	assert.NotNil(t, ps.getVoteBitArray(2, 1, ttypes.VoteTypePrecommit))

	ps.ensureCatchupCommitRound(3, 2, 2)
	assert.Equal(t, 2, ps.CatchupCommitRound)
	assert.NotNil(t, ps.CatchupCommit)
	assert.Nil(t, ps.getVoteBitArray(3, 2, ttypes.VoteTypePrevote))
	assert.NotNil(t, ps.getVoteBitArray(3, 2, ttypes.VoteTypePrecommit))

	pc.quitUpdate <- struct{}{}

	fmt.Println("testUpdateStateRoutine ok")
}


text:
DESCRIPTION = "OpenCuberevo: DVD-Burn Task for the OpenCuberevo Distribution"
SECTION = "opencuberevo/base"
LICENSE = "MIT"
PR = "r1"

inherit task

#
# task-opencuberevo-dvdburn
#
DESCRIPTION_${PN} = "OpenCuberevo: DVD-Burning Support"
DEPENDS_${PN} = "enigma2"
RDEPENDS_${PN} = "\
  cdrkit \
  dvd+rw-tools \
  dvdauthor \
  enigma2-plugin-extensions-dvdburn \
  mjpegtools \
  python-imaging \
"

# Actually this seems useless for cuberevo
#  projectx \

repository: popazerty/openembedded-cuberevo

repo_name: popazerty/openembedded-cuberevo


text:
// main.go

package main

import (
	"log"
	"time"

	n3context "github.com/nsip/n3-context"
)

//
// GQL Manager is hosted in a context, so we create one and send data
// through
//
func main() {

	// create a new manager
	cm1 := n3context.NewN3ContextManager()

	// add a context
	c1, err := cm1.AddContext("qglUser1", "gqlContext")
	if err != nil {
		log.Fatal(err)
	}

	//
	// send in some data, via the crdt layer
	//
	dataFile := "./sample_data/sif/sif.json"
	// dataFile := "./sample_data/xapi/xapi_en.json"
	err = c1.PublishFromFile(dataFile)
	if err != nil {
		log.Fatal("PublishFromFile() Error: ", err)
	}

	// dataFile := "./sample_data/sif/sif.json"
	// dataFile = "./sample_data/xapi/xapi_en.json"
	dataFile = "./sample_data/lessons/lessons.json"
	// dataFile = "./sample_data/subjects/subjects.json"
	err = c1.PublishFromFile(dataFile)
	if err != nil {
		log.Fatal("PublishFromFile() Error: ", err)
	}

	// // add another context
	// c2, err := cm1.AddContext("gqlUser2", "gqlContext")
	// if err != nil {
	// 	log.Fatal(err)
	// }

	// // send in some data, via the crdt layer from another user
	// // xapi to test handling of data without explicit object identifiers
	// dataFile = "./sample_data/xapi/xapi.json"
	// err = c2.PublishFromFile(dataFile)
	// if err != nil {
	// 	log.Fatal("PublishFromFile() Error: ", err)
	// }

	log.Println("...activating contexts")
	err = cm1.ActivateAll()
	if err != nil {
		log.Fatal(err)
	}

	// consume data for a time
	log.Println("...CM1 listening for updates")
	time.Sleep(time.Second * 10)
	// time.Sleep(time.Minute)

	// shut down the contexts, but persist details
	log.Println("Closing created contexts, and saving...")
	err = cm1.Close(true)
	if err != nil {
		log.Fatal(err)
	}
	log.Println("...CM1 closed")

}


text:
require nuget.inc

SRC_URI[md5sum] = "406324e1744923a530a3f45b8e4fe1eb"
SRC_URI[sha256sum] = "399ec24c26ed54d6887cde61994bb3d1cada7956c1b19ff880f06f060c039918"

repository: DynamicDevices/meta-mono

repo_name: DynamicDevices/meta-mono


text:
package data

import (
	"context"
	"database/sql"

	"github.com/go-redis/redis"
	"github.com/syafdia/go-clean-arch/internal/entity"
	"github.com/syafdia/go-clean-arch/internal/repository"
)

type userRepository struct {
	db          *sql.DB
	redisClient *redis.Client
}

func NewUserRepository(db *sql.DB, redisClient *redis.Client) repository.UserRepository {
	return &userRepository{
		db:          db,
		redisClient: redisClient,
	}
}

func (u *userRepository) FindByUsernameAndPassword(ctx context.Context, username string, password string) (entity.User, error) {
	user := entity.User{
		ID:       "1",
		Username: "Foo Bar",
		Role:     entity.UserRoleDefault,
	}

	return user, nil
}

func (u *userRepository) FindByID(ctx context.Context, userID string) (entity.User, error) {
	user := entity.User{
		ID:       "1",
		Username: "Foo Bar",
		Role:     entity.UserRoleDefault,
	}

	return user, nil
}

func (u *userRepository) FindByRole(ctx context.Context, userRole entity.UserRole) ([]entity.User, error) {
	users := []entity.User{
		entity.User{ID: "1", Username: "Foo Bar", Role: userRole},
		entity.User{ID: "2", Username: "Bar Baz", Role: userRole},
		entity.User{ID: "3", Username: "Baz Tar", Role: userRole},
		entity.User{ID: "4", Username: "Tar Qux", Role: userRole},
	}

	return users, nil
}

func (u *userRepository) Create(ctx context.Context, user entity.User) error {
	return nil
}

func (u *userRepository) Update(ctx context.Context, user entity.User) error {
	return nil
}

func (u *userRepository) Delete(ctx context.Context, userID string) error {
	return nil
}

repository: iCodeIN/go-clean-arch

repo_name: iCodeIN/go-clean-arch


text:
package basic

import (
	"bufio"
	"errors"
	"net/http"
	"os"
	"strings"

	"testing"

	"github.com/Azure/azure-sdk-for-go/storage"

	"github.com/khenidak/london/pkg/config"
)

// parses testing vars file (expected to be as ENV VAR) and convert it
// to a map
func GetTestingVars(t testing.TB) map[string]string {
	m := make(map[string]string)
	testingVarsPath := os.Getenv("LONDON_TESTING_VARS")
	if len(testingVarsPath) == 0 {
		t.Fatalf("no testing vars file defined (LONDON_TESTING_VARS) check hack/testing_vars_doc file")
	}

	file, err := os.Open(testingVarsPath)
	if err != nil {
		t.Fatalf("failed to open testing vars %v err:%v", testingVarsPath, err)
	}

	fscanner := bufio.NewScanner(file)
	for fscanner.Scan() {
		txt := fscanner.Text()
		parts := strings.Split(txt, " ")
		if len(parts) == 2 {
			m[parts[0]] = parts[1]
		} else {
			m[txt] = ""
		}
	}

	return m
}

// creates test config based on testing var file.
func MakeTestConfig(t testing.TB) *config.Config {
	configVals := GetTestingVars(t)

	_, useTLS := configVals["USE_TLS"]

	c := &config.Config{}
	c.AccountName = configVals["ACCOUNT_NAME"]
	c.StorageKey.AccountPrimaryKey = configVals["ACCOUNT_KEY"]
	c.StorageKey.ConnectionString = configVals["CONNECTION_STRING"]
	c.TableName = configVals["TABLE_NAME"]
	// listening
	c.ListenAddress = "tcp://0.0.0.0:2379"
	if useTLS {
		c.UseTlS = useTLS
		c.TLSConfig.CertFilePath = configVals["SERVER_CERT_FILE_PATH"]
		c.TLSConfig.KeyFilePath = configVals["SERVER_KEY_FILE_PATH"]
		c.TLSConfig.TrustedCAFile = configVals["CLIENT_TRUSTED_CA_FILE_PATH"]
	}

	if err := c.Validate(); err != nil {
		t.Fatalf("failed to validate config:%v", err)
	}

	if err := c.InitRuntime(); err != nil {
		t.Fatalf("failed to init runtime with err:%v", err)
	}

	_, dontRecreate := configVals["DO_NOT_RECREATE_TABLE"]
	if dontRecreate {
		return c
	}
	t.Logf("** CLEARING TABLE, will take a bit")
	// TODO: Logic to drop and create table
	ClearTable(t, c)

	return c
}

func ClearTable(t testing.TB, c *config.Config) {
	//cosmos db is cool with this but old storage takes a long time to delete
	err := c.Runtime.StorageTable.Delete(100, &storage.TableOptions{})
	if err != nil {
		var status storage.AzureStorageServiceError
		if !errors.As(err, &status) {
			t.Fatalf("unknown err:%v", err)
		}

		if status.StatusCode != http.StatusNotFound {
			t.Fatalf("got status code %d:  %v", status.StatusCode, err)
		}
	}
}

repository: paulgmiller/london

repo_name: paulgmiller/london

branch_name: refs/heads/main


text:
SUMMARY = "MSX/MSX2/Colecovision emulator"
DESCRIPTION = "MSX/MSX2/Colecovision emu - blueMSX port for libretro"

LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://license.txt;md5=7e47935857eb320b159bf6ec4114c655"

inherit libretro

LIBRETRO_GIT_REPO = "github.com/libretro/blueMSX-libretro.git"


text:
include_guard(GLOBAL)

macro(PROJECT_THIRD_PARTY_FMTLIB_IMPORT)
  if(TARGET fmt::fmt-header-only)
    message(STATUS "Dependency(${PROJECT_NAME}): fmtlib using target fmt::fmt-header-only")
    set(ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_LINK_NAME fmt::fmt-header-only)
  elseif(TARGET fmt::fmt)
    message(STATUS "Dependency(${PROJECT_NAME}): fmtlib using target fmt::fmt")
    set(ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_LINK_NAME fmt::fmt)
  else()
    message(STATUS "Dependency(${PROJECT_NAME}): fmtlib support disabled")
  endif()
endmacro()

option(ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_ALTERNATIVE_STD "Do not compile fmt.dev if has std::format" ON)

if(NOT TARGET fmt::fmt-header-only
   AND NOT TARGET fmt::fmt
   AND NOT ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_TEST_STD_FORMAT)
  if(VCPKG_TOOLCHAIN)
    find_package(fmt QUIET)
    project_third_party_fmtlib_import()
  endif()

  if(NOT TARGET fmt::fmt-header-only
     AND NOT TARGET fmt::fmt
     AND NOT ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_TEST_STD_FORMAT)
    include(CheckCXXSourceCompiles)
    if(ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_ALTERNATIVE_STD
       AND NOT DEFINED ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_TEST_STD_FORMAT
       AND NOT DEFINED CACHE{ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_TEST_STD_FORMAT})
      check_cxx_source_compiles(
        "
#include <format>
#include <iostream>
#include <string>
struct custom_object {
  int32_t x;
  std::string y;
};

// Some STL implement may have BUGs on some APIs, we need check it
template <class CharT>
struct std::formatter<custom_object, CharT> : std::formatter<CharT*, CharT> {
  template <class FormatContext>
  auto format(const custom_object &vec, FormatContext &ctx) {
    return std::vformat_to(ctx.out(), \"({},{})\", std::make_format_args(vec.x, vec.y));
  }
};
int main() {
  custom_object custom_obj;
  custom_obj.x = 43;
  custom_obj.y = \"44\";
  std::cout<< std::format(\"The answer is {}, custom object: {}.\", 42, custom_obj)<< std::endl;
  char buffer[64] = {0};
  const auto result = std::format_to_n(buffer, sizeof(buffer), \"{} {}: {}\", \"Hello\", \"World!\", 42);
  std::cout << \"Buffer: \" << buffer << \",Untruncated output size = \" << result.size << std::endl;
  return 0;
}"
        ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_TEST_STD_FORMAT)
    endif()

    # =========== third party fmtlib ==================
    if(NOT TARGET fmt::fmt-header-only
       AND NOT TARGET fmt::fmt
       AND (NOT ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_ALTERNATIVE_STD
            OR NOT ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_TEST_STD_FORMAT))
      if(NOT ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_VERSION)
        set(ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_VERSION "7.1.3")
      endif()
      if(NOT ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_GIT_URL)
        set(ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_GIT_URL "https://github.com/fmtlib/fmt.git")
      endif()
      if(NOT ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_BUILD_DIR)
        project_third_party_get_build_dir(ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_BUILD_DIR "fmtlib"
                                          ${ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_VERSION})
      endif()
      if(NOT ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_BUILD_OPTIONS)
        set(ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_BUILD_OPTIONS
            "-DCMAKE_POSITION_INDEPENDENT_CODE=ON" "-DFMT_DOC=OFF" "-DFMT_INSTALL=ON" "-DFMT_TEST=OFF" "-DFMT_FUZZ=OFF"
            "-DFMT_CUDA_TEST=OFF")
      endif()
      project_third_party_append_build_shared_lib_var(ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_BUILD_OPTIONS
                                                      BUILD_SHARED_LIBS)

      set(FMT_ROOT ${PROJECT_THIRD_PARTY_INSTALL_DIR})
      set(Fmt_ROOT ${PROJECT_THIRD_PARTY_INSTALL_DIR})
      set(fmt_ROOT ${PROJECT_THIRD_PARTY_INSTALL_DIR})

      find_configure_package(
        PACKAGE
        fmt
        BUILD_WITH_CMAKE
        CMAKE_INHERIT_BUILD_ENV
        CMAKE_INHERIT_BUILD_ENV_DISABLE_C_FLAGS
        CMAKE_INHERIT_BUILD_ENV_DISABLE_ASM_FLAGS
        CMAKE_FLAGS
        ${ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_BUILD_OPTIONS}
        WORKING_DIRECTORY
        "${PROJECT_THIRD_PARTY_PACKAGE_DIR}"
        BUILD_DIRECTORY
        "${ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_BUILD_DIR}"
        PREFIX_DIRECTORY
        "${PROJECT_THIRD_PARTY_INSTALL_DIR}"
        SRC_DIRECTORY_NAME
        "fmt-${ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_VERSION}"
        GIT_BRANCH
        "${ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_VERSION}"
        GIT_URL
        "${ATFRAMEWORK_CMAKE_TOOLSET_THIRD_PARTY_FMTLIB_GIT_URL}")

      if(fmt_FOUND)
        project_third_party_fmtlib_import()
      endif()
    endif()
  endif()
else()
  project_third_party_fmtlib_import()
endif()

repository: pluswu/cmake-toolset

repo_name: pluswu/cmake-toolset

extension: cmake


text:
#include "Camera.h"

#include <glm/gtc/matrix_access.hpp>
#include <glm/gtc/matrix_transform.hpp>

using namespace glm;

Camera::Camera(vec3 e, vec3 t, vec3 u)
{
	LookAt(e, t, u);
}

Camera::Camera(glm::vec3 e, float U, float V) :
	eye(e),
	u(U),
	v(V)
{
	UpdateView();
}

void Camera::LookAt(vec3 e, vec3 t, vec3 u)
{
	eye = e;
	vec3 vz = normalize(e - t);
	vec3 vx = normalize(cross(u, vz));
	vec3 vy = cross(vz, vx);

	view = mat4(
		vec4(vx.x, vy.x, vz.x, 0),
		vec4(vx.y, vy.y, vz.y, 0),
		vec4(vx.z, vy.z, vz.z, 0),
		vec4(-dot(vx, eye), -dot(vy, eye), -dot(vz, eye), 1)
	);
}

const vec3& Camera::GetEye() const
{
	return eye;
}

vec3&& Camera::GetForward() const
{
	return std::move(vec3(row(view, 2)));
}

vec3&& Camera::GetStrafe() const
{
	return std::move(vec3(row(view, 0)));
}

vec3&& Camera::GetUp() const
{
	return std::move(vec3(row(view, 1)));
}

float Camera::GetU() const
{
	return u;
}

float Camera::GetV() const
{
	return v;
}

const mat4& Camera::GetView() const
{
	return view;
}

/*mat4 Camera::GetViewInv() const
{
	return mat4(
		vec4(vx, 0),
		vec4(vy, 0),
		vec4(vz, 0),
		vec4(eye, 1)
	);
}*/

void Camera::SetEye(const vec3& e)
{
	eye = e;
}

void Camera::SetUV(float U, float V)
{
	u = U;
	v = V;
}

void Camera::UpdateView()
{
	mat4 I(1);
	view = glm::translate(I, eye)  * glm::rotate(I, v, vec3(0, 1, 0)) * glm::rotate(I, u, vec3(1, 0, 0));
	view = inverse(view);
}

repository: Maetveis/SPHWaterPhysics

repo_name: Maetveis/SPHWaterPhysics

extension: cpp


text:
LICENSE = "LGPL"
DESCRIPTION = "Gtk+ display migration library (dummy version)"
DEPENDS = "gtk+"
SECTION = "gpe"
PRIORITY = "optional"

PR = "r1"

inherit pkgconfig gpe

SRC_URI += "file://makefile-fix.patch"

headers = "displaymigration.h auth.h crypt.h"

do_install() {
        oe_runmake PREFIX=${prefix} DESTDIR=${D} install
        oe_runmake PREFIX=${prefix} DESTDIR=${D} install-devel
}

SRC_URI[md5sum] = "181f063344a0e674e5c2546544d5e27f"
SRC_URI[sha256sum] = "b0159537f22453fcf30d7c4d7d9a39b6996233217c1f80a49ede135cf6ed32ca"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package dpos

import (
	"fmt"
	"testing"
	"time"

	_ "github.com/33cn/chain33/system"
	_ "github.com/33cn/plugin/plugin/dapp/init"
	_ "github.com/33cn/plugin/plugin/store/init"
	"github.com/stretchr/testify/assert"
)

func init() {
	setParams(3, 3, 6)
}
func setParams(delegateNum int64, blockInterval int64, continueBlockNum int64) {
	dposDelegateNum = delegateNum           //委托节点个数，从配置读取，以后可以根据投票结果来定
	dposBlockInterval = blockInterval       //出块间隔，当前按3s
	dposContinueBlockNum = continueBlockNum //一个委托节点当选后，一次性持续出块数量
	dposCycle = dposDelegateNum * dposBlockInterval * dposContinueBlockNum
	dposPeriod = dposBlockInterval * dposContinueBlockNum
}

func printTask(now int64, task *Task) {
	fmt.Printf("now:%v|cycleStart:%v|cycleStop:%v|periodStart:%v|periodStop:%v|blockStart:%v|blockStop:%v|nodeId:%v\n",
		now,
		task.CycleStart,
		task.CycleStop,
		task.PeriodStart,
		task.PeriodStop,
		task.BlockStart,
		task.BlockStop,
		task.NodeID)
}
func assertTask(task *Task, t *testing.T) {
	assert.Equal(t, true, task.NodeID >= 0 && task.NodeID < dposDelegateNum)
	assert.Equal(t, true, task.CycleStart <= task.PeriodStart && task.PeriodStart <= task.BlockStart && task.BlockStop <= task.PeriodStop && task.PeriodStop <= task.CycleStop)

}
func TestDecideTaskByTime(t *testing.T) {

	now := time.Now().Unix()
	task := DecideTaskByTime(now)
	printTask(now, &task)
	assertTask(&task, t)

	setParams(2, 1, 6)
	now = time.Now().Unix()
	task = DecideTaskByTime(now)
	printTask(now, &task)
	assertTask(&task, t)

	setParams(21, 1, 12)
	now = time.Now().Unix()
	task = DecideTaskByTime(now)
	printTask(now, &task)
	assertTask(&task, t)

	setParams(21, 2, 12)
	now = time.Now().Unix()
	task = DecideTaskByTime(now)
	printTask(now, &task)
	assertTask(&task, t)

	setParams(2, 3, 12)

	/*
		for i := 0; i < 120; i++ {
			now = time.Now().Unix()
			task = DecideTaskByTime(now)
			printTask(now, &task)
			assertTask(&task, t)
			time.Sleep(time.Second * 1)
		}
	*/
}


text:
namespace Tynamix.ObjectFiller.Test.TestPoco.Person
{
    public class Address : IAddress
    {
        public string Street { get; set; }

        public string PostalCode { get; set; }

        public string City { get; set; }

        public string Country { get; set; }

        public int HouseNumber { get; set; }
    }
}

branch_name: refs/heads/develop

gha_language: C#

extension: cs