text:
="51"/>
<dimension x1="7.5" y1="0" x2="7.5" y2="10.75" x3="-1.778" y3="5.375" textsize="0.4" layer="51" width="0.02" extwidth="0.02" extlength="0.02" extoffset="0.02"/>
<dimension x1="0" y1="0" x2="7.5" y2="0" x3="3.75" y3="24.13" textsize="0.4" layer="51" width="0.02" extwidth="0.02" extlength="0.02" extoffset="0.02"/>
<wire x1="0" y1="11.43" x2="0.14" y2="11.43" width="0.05" layer="51"/>
<wire x1="10.16" y1="0" x2="10.16" y2="0.14" width="0.05" layer="51"/>
<rectangle x1="2.1" y1="0.3" x2="7.5" y2="10.75" layer="51"/>
<dimension x1="2.1" y1="0.3" x2="7.5" y2="0.3" x3="4.8" y3="-2.921" textsize="0.4" layer="51" width="0.02" extwidth="0.02" extlength="0.02" extoffset="0.02"/>
<dimension x1="2.1" y1="0.3" x2="2.1" y2="10.75" x3="-1.016" y3="5.525" textsize="0.4" layer="51" width="0.02" extwidth="0.02" extlength="0.02" extoffset="0.02"/>
<rectangle x1="2.1" y1="0.3" x2="3.3" y2="2.3" layer="51"/>
<dimension x1="2.1" y1="2.3" x2="3.3" y2="2.3" x3="2.7" y3="-2.159" textsize="0.4" layer="51" width="0.02" extwidth="0.02" extlength="0.02" extoffset="0.02"/>
<circle x="7.5" y="10.75" radius="0.283978125" width="0.02" layer="51"/>
<rectangle x1="0.3" y1="10.75" x2="7.5" y2="14" layer="51"/>
<dimension x1="0.3" y1="14" x2="7.5" y2="14" x3="3.9" y3="23.368" textsize="0.4" layer="51" width="0.02" extwidth="0.02" extlength="0.02" extoffset="0.02"/>
<dimension x1="0.3" y1="10.75" x2="0.3" y2="14" x3="-2.413" y3="12.375" textsize="0.4" layer="51" width="0.02" extwidth="0.02" extlength="0.02" extoffset="0.02"/>
<smd name="32" x="14.5" y="14" dx="1.4" dy="0.8" layer="1"/>
<rectangle x1="-0.4" y1="13.6" x2="1" y2="14.4" layer="51"/>
<rectangle x1="7.5" y1="0.3" x2="14.7" y2="10.75" layer="51"/>
<dimension x1="7.5" y1="0.3" x2="14.7" y2="0.3" x3="11.1" y3="-3.81" textsize="0.4" layer="51" width="0.02" extwidth="0.02" extlength="0.02" extoffset="0.02"/>
<rectangle x1="7.5" y1="2" x2="14.7" y2="10.75" layer="51"/>
<dimension x1="14.7" y1="2" x2="14.7" y2="10.75" x3="16.383" y3="6.375" textsize="0.4" layer="51" width="0.02" extwidth="0.02" extlength="0.02" extoffset="0.02"/>
<rectangle x1="12.9" y1="2" x2="15" y2="3.2" layer="51"/>
<dimension x1="11.6" y1="2" x2="11.6" y2="3.2" x3="16.002" y3="2.6" textsize="0.4" layer="51" width="0.01"/>
<rectangle x1="0" y1="2" x2="2.1" y2="3.2" layer="51"/>
<dimension x1="2.1" y1="2" x2="2.1" y2="3.2" x3="3.937" y3="2.6" textsize="0.4" layer="51" width="0.01"/>
<rectangle x1="-0.4" y1="12.8" x2="1" y2="14" layer="51"/>
<dimension x1="1.4" y1="12.8" x2="1.4" y2="14" x3="-1.778" y3="13.4" textsize="0.4" layer="51" width="0.01"/>
<dimension x1="1.4" y1="13.6" x2="1.4" y2="14.4" x3="-1.143" y3="14" textsize="0.4" layer="51" width="0.01"/>
<rectangle x1="0" y1="14.4" x2="1" y2="16.2" layer="51"/>
<dimension x1="0" y1="16.129" x2="1" y2="16.129" x3="0.5" y3="17.78" textsize="0.4" layer="51" width="0.01"/>
<circle x="0.5" y="14" radius="0.1" width="0.01" layer="51"/>
<dimension x1="-0.4" y1="14.4" x2="1" y2="14.4" x3="0.3" y3="14.732" textsize="0.4" layer="51" width="0.01"/>
<circle x="14.5" y="14" radius="0.1" width="0.01" layer="51"/>
<rectangle x1="7.5" y1="10.75" x2="14.7" y2="14" layer="51"/>
<dimension x1="7.5" y1="14" x2="14.7" y2="14" x3="11.1" y3="23.368" textsize="0.4" layer="51" width="0.01"/>
<circle x="2.1" y="0.5" radius="0.1" width="0.01" layer="51"/>
<circle x="12.9" y="0.5" radius="0.1" width="0.01" layer="51"/>
<dimension x1="0.3" y1="10.75" x2="7.5" y2="10.75" x3="3.9" y3="-3.81" textsize="0.4" layer="51" width="0.01"/>
<circle x="0.5" y="2" radius="0.1" width="0.01" layer="51"/>
<circle x="14.5" y="2" radius="0.1" width="0.01" layer="51"/>
<dimension x1="14.7" y1="10.75" x2="14.7" y2="14" x3="16.383" y3="12.375" textsize="0.4" layer="51" width="0.01"/>
<rectangle x1="12.9" y1="12.795" x2="15" y2="13.995" layer="51"/>
<dimension x1="12.9" y1="12.795" x2="12.9" y2="13.995" x3="15.748" y3="13.395" textsize="0.4" layer="51" width="0.01"/>
<rectangle x1="14" y1="13.65" x2="15" y2="14.35" layer="51"/>
<rectangle x1="0" y1="13.65" x2="1" y2="14.35" layer="51"/>
<dimension x1="14" y1="14.35" x2="15" y2="14.35" x3="14.5" y3="14.605" textsize="0.1" layer="51" width="0.01"/>
<dimension x1="14" y1="13.65" x2="14" y2="14.35" x3="13.589" y3="14" textsize="0.1" layer="51" width="0.01"/>
<dimension x1="0" y1="14.35" x2="1" y2="14.35" x3="0.5" y3="14.478" textsize="0.1" layer="51" width="0.01"/>
<dimension x1="1" y1="13.65" x2="1" y2="14.35" x3="1.397" y3="14" textsize="0.1" layer="51" width="0.01"/>
<rectangle x1="12.55" y1="0" x2="13.25" y2="1" layer="51"/>
<rectangle x1="1.755" y1="0" x2="2.455" y2="1" layer="51"/>
<dimension x1="13.25" y1="0" x2="13.25" y2="1" x3="13.462" y3="0.5" textsize="0.1" layer="51" width="0.01"/>
<dimension x1="12.55" y1="1" x2="13.25" y2="1" x3="12.9" y3="1.27" textsize="0.1" layer="51" width="0.01"/>
<dimension x1="1.755" y1="1" x2="2.455" y2="1" x3="2.105" y3="1.27" textsize="0.1" layer="51" width="0.01"/>
<dimension x1="1.755" y1="0" x2="1.755" y2="1" x3="1.651" y3="0.5" textsize="0.1" layer="51" width="0.01"/>
<rectangle x1="7.5" y1="0.3" x2="12.9" y2="10.75" layer="51"/>
<dimension x1="7.5" y1="0.3" x2="12.9" y2="0.3" x3="10.2" y3="-2.921" textsize="0.4" layer="51" width="0.01"/>
<rectangle x1="0" y1="2" x2="2" y2="10.75" layer="51"/>
<dimension x1="2" y1="2" x2="2" y2="10.75" x3="-0.381" y3="6.375" textsize="0.4" layer="51" width="0.01"/>
</package>
</packages>
<symbols>
<symbol name="INNOCOMM-SN10-12">
<wire x1="-17.78" y1="-27.94" x2="15.24" y2="-27.94" width="0.254" layer="94"/>
<wire x1="15.24" y1="-27.94" x2="15.24" y2="20.32" width="0.254" layer="94"/>
<wire x1="15.24" y1="20.32" x2="-17.78" y2="20.32" width="0.254" layer="94"/>
<wire x1="-17.78" y1="20.32" x2="-17.78" y2="-27.94" width="0.254" layer="94"/>
<pin name="GND@1" x="-22.86" y="17.78" length="middle" direction="pwr"/>
<pin name="VDD" x="-22.86" y="15.24" length="middle" direction="pwr"/>
<pin name="GND@3" x="-22.86" y="12.7" length="middle" direction="pwr"/>
<pin name="GND@4" x="-22.86" y="10.16" length="middle" direction="pwr"/>
<pin name="RESERVED@19" x="5.08" y="-33.02" length="middle" direction="nc" rot="R90"/>
<pin name="RESERVED@20" x="7.62" y="-33.02" length="middle" direction="nc" rot="R90"/>
<pin name="GND@21" x="10.16" y="-33.02" length="middle" direction="pwr" rot="R90"/>
<pin name="SPI_AK" x="20.32" y="-7.62" length="middle" rot="R180"/>
<pin name="GND@27" x="20.32" y="5.08" length="middle" direction="pwr" rot="R180"/>
<pin name="RESERVED@28" x="20.32" y="7.62" length="middle" direction="nc" rot="R180"/>
<pin name="RESERVED@29" x="20.32" y="10.16" length="middle" direction="nc" rot="R180"/>
<pin name="GND@30" x="20.32" y="12.7" length="middle" direction="pwr" rot="R180"/>
<pin name="ANT" x="20.32" y="15.24" length="middle" rot="R180"/>
<pin name="GND@11" x="-22.86" y="-7.62" length="middle" direction="pwr"/>
<pin name="RST_N" x="2.54" y="-33.02" length="middle" rot="R90"/>
<pin name="RESERVED@23" x="20.32" y="-5.08" length="middle" direction="nc" rot="R180"/>
<pin name="RESERVED@24" x="20.32" y="-2.54" length="middle" direction="nc" rot="R180"/>
<pin name="RESERVED@25" x="20.32" y="0" length="middle" direction="nc" rot="R180"/>
<pin name="RESERVED@26" x="20.32" y="2.54" length="middle" direction="nc" rot="R180"/>
<pin name="SPI_CS" x="-22.86" y="-5.08" length="middle"/>
<pin name="SPI_SDI" x="-22.86" y="-2.54" length="middle" direction="in"/>
<pin name="GND@8" x="-22.86" y="0" length="middle" direction="pwr"/>
<pin name="GND@7" x="-22.86" y="2.54" length="middle" direction="pwr"/>
<pin name="GND@6" x="-22.86" y="5.08" length="middle" direction="pwr"/>
<pin name="SPI_SCLK" x="-10.16" y="-33.02" length="middle" rot="R90"/>
<pin name="GND@12" x="-12.7" y="-33.02" length="middle" direction="pwr" rot="R90"/>
<pin name="RESERVED@16" x="-2.54" y="-33.02" length="middle" direction="nc" rot="R90"/>
<pin name="GND@5" x="-22.86" y="7.62" length="middle" direction="pwr"/>
<pin name="RESERVED@17" x="0" y="-33.02" length="middle" direction="nc" rot="R90"/>
<pin name="RESERVED@15" x="-5.08" y="-33.02" length="middle" direction="nc" rot="R90"/>
<pin name="SPI_SDO" x="-7.62" y="-33.02" length="middle" direction="out" rot="R90"/>
<pin name="GND@32" x="20.32" y="17.78" length="middle" direction="pwr" rot="R180"/>
<text x="-17.526" y="21.336" size="1.778" layer="95">>Name</text>
<text x="11.43" y="-30.226" size="1.778" layer="96">>Value</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="INNOCOMM-SN10-12" prefix="U" uservalue="yes">
<gates>
<gate name="G$1" symbol="INNOCOMM-SN10-12" x="-15.24" y="-17.78"/>
</gates>
<devices>
<device name="INNOCOMM-SN10-12" package="INNOCOMM-SN10-12">
<connects>
<connect gate="G$1" pin="ANT" pad="31"/>
<connect gate="G$1" pin="GND@1" pad="1"/>
<connect gate="G$1" pin="GND@11" pad="11"/>
<connect gate="G$1" pin="GND@12" pad="12"/>
<connect gate="G$1" pin="GND@21" pad="21"/>
<connect gate="G$1" pin="GND@27" pad="27"/>
<connect gate="G$1" pin="GND@3" pad="3"/>
<connect gate="G$1" pin="GND@30" pad="30"/>
<connect gate="G$1" pin="GND@32" pad="32"/>
<connect gate="G$1" pin="GND@4" pad="4"/>
<connect gate="G$1" pin="GND@5" pad="5"/>
<connect gate="G$1" pin="GND@6" pad="6"/>
<connect gate="G$1" pin="GND@7" pad="7"/>
<connect gate="G$1" pin="GND@8" pad="8"/>
<connect gate="G$1" pin="RESERVED@15" pad="15"/>
<connect gate="G$1" pin="RESERVED@16" pad="16"/>
<connect gate="G$1" pin="RESERVED@17" pad="17"/>
<connect gate="G$1" pin="RESERVED@19" pad="19"/>
<connect gate="G$1" pin="RESERVED@20" pad="20"/>
<connect gate="G$1" pin="RESERVED@23" pad="23"/>
<connect gate="G$1" pin="RESERVED@24" pad="24"/>
<connect gate="G$1" pin="RESERVED@25" pad="25"/>
<connect gate="G$1" pin="RESERVED@26" pad="26"/>
<connect gate="G$1" pin="RESERVED@28" pad="28"/>
<connect gate="G$1" pin="RESERVED@29" pad="29"/>
<connect gate="G$1" pin="RST_N" pad="18"/>
<connect gate="G$1" pin="SPI_AK" pad="22"/>
<connect gate="G$1" pin="SPI_CS" pad="10"/>
<connect gate="G$1" pin="SPI_SCLK" pad="13"/>
<connect gate="G$1" pin="SPI_SDI" pad="9"/>
<connect gate="G$1" pin="SPI_SDO" pad="14"/>
<connect gate="G$1" pin="VDD" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun-Aesthetics">
<description>
SparkFun Aesthetics

This library contiains non-functional items such as logos, build/ordering notes, frame blocks, etc.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is  the end user's responsibility to ensure correctness and suitablity for a given componet or application.

If you enjoy using this library, please buy one of our products at SparkFun.com.

Licensing: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="BREADBOARD_SPACING">
<description>
Breadboard Spacing

Standard breadboard spacing, including power rails and a 30mil gap between row sets.

Devices using:

BREADBOARD_PATTERN

</description>
<wire x1="-24.13" y1="1.27" x2="-24.13" y2="-1.27" width="0.254" layer="51"/>
<wire x1="-21.59" y1="1.27" x2="-21.59" y2="-1.27" width="0.254" layer="51"/>
<wire x1="-13.97" y1="1.27" x2="-13.97" y2="-1.27" width="0.254" layer="51"/>
<wire x1="-11.43" y1="1.27" x2="-11.43" y2="-1.27" width="0.254" layer="51"/>
<wire x1="-8.89" y1="1.27" x2="-8.89" y2="-1.27" width="0.254" layer="51"/>
<wire x1="-6.35" y1="1.27" x2="-6.35" y2="-1.27" width="0.254" layer="51"/>
<wire x1="-3.81" y1="1.27" x2="-3.81" y2="-1.27" width="0.254" layer="51"/>
<wire x1="13.97" y1="1.27" x2="13.97" y2="-1.27" width="0.254" layer="51"/>
<wire x1="3.81" y1="1.27" x2="3.81" y2="-1.27" width="0.254" layer="51"/>
<wire x1="6.35" y1="1.27" x2="6.35" y2="-1.27" width="0.254" layer="51"/>
<wire x1="8.89" y1="1.27" x2="8.89" y2="-1.27" width="0.254" layer="51"/>
<wire x1="11.43" y1="1.27" x2="11.43" y2="-1.27" width="0.254" layer="51"/>
<wire x1="24.13" y1="1.27" x2="24.13" y2="-1.27" width="0.254" layer="51"/>
<wire x1="21.59" y1="1.27" x2="21.59" y2="-1.27" width="0.254" layer="51"/>
<text x="0" y="1.905" size="1.27" layer="51" font="vector" ratio="15" align="bottom-center">Breadboard row spacing:</text>
</package>
</packages>
<symbols>
<symbol name="BREADBOARD_ROWS">
<description>
Breadboard-Spacing Reference

Symbol for reference markings that correspond to solderless breadboard row spacing. Includes power rails and void space between rows.

Devices using:

BREADBOARD_PATTERN

</description>
<wire x1="0" y1="0" x2="8.89" y2="0" width="0.254" layer="94"/>
<wire x1="8.89" y1="0" x2="8.89" y2="4.572" width="0.254" layer="94"/>
<wire x1="8.89" y1="4.572" x2="8.128" y2="5.334" width="0.254" layer="94"/>
<wire x1="8.128" y1="5.334" x2="8.89" y2="6.096" width="0.254" layer="94"/>
<wire x1="8.89" y1="6.096" x2="8.89" y2="7.62" width="0.254" layer="94"/>
<wire x1="8.89" y1="7.62" x2="7.62" y2="8.89" width="0.254" layer="94"/>
<wire x1="7.62" y1="8.89" x2="1.27" y2="8.89" width="0.254" layer="94"/>
<wire x1="1.27" y1="8.89" x2="0" y2="7.62" width="0.254" layer="94"/>
<wire x1="0" y1="0" x2="0" y2="4.572" width="0.254" layer="94"/>
<wire x1="0" y1="4.572" x2="0.762" y2="5.334" width="0.254" layer="94"/>
<wire x1="0.762" y1="5.334" x2="0" y2="6.096" width="0.254" layer="94"/>
<wire x1="0" y1="6.096" x2="0" y2="7.62" width="0.254" layer="94"/>
<wire x1="7.112" y1="8.128" x2="7.112" y2="0.508" width="0.254" layer="94"/>
<wire x1="7.62" y1="8.128" x2="7.62" y2="0.508" width="0.254" layer="94"/>
<wire x1="4.064" y1="0.508" x2="2.54" y2="0.508" width="0.254" layer="94"/>
<wire x1="1.27" y1="8.128" x2="1.27" y2="0.508" width="0.254" layer="94"/>
<wire x1="1.778" y1="8.128" x2="1.778" y2="0.508" width="0.254" layer="94"/>
<wire x1="6.35" y1="0.508" x2="4.826" y2="0.508" width="0.254" layer="94"/>
<wire x1="4.064" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
<wire x1="4.064" y1="1.524" x2="2.54" y2="1.524" width="0.254" layer="94"/>
<wire x1="4.064" y1="2.032" x2="2.54" y2="2.032" width="0.254" layer="94"/>
<wire x1="4.064" y1="2.54" x2="2.54" y2="2.54" width="0.254" layer="94"/>
<wire x1="4.064" y1="3.048" x2="2.54" y2="3.048" width="0.254" layer="94"/>
<wire x1="4.064" y1="3.556" x2="2.54" y2="3.556" width="0.254" layer="94"/>
<wire x1="4.064" y1="4.064" x2="2.54" y2="4.064" width="0.254" layer="94"/>
<wire x1="4.064" y1="4.572" x2="2.54" y2="4.572" width="0.254" layer="94"/>
<wire x1="4.064" y1="5.08" x2="2.54" y2="5.08" width="0.254" layer="94"/>
<wire x1="4.064" y1="5.588" x2="2.54" y2="5.588" width="0.254" layer="94"/>
<wire x1="4.064" y1="6.096" x2="2.54" y2="6.096" width="0.254" layer="94"/>
<wire x1="4.064" y1="6.604" x2="2.54" y2="6.604" width="0.254" layer="94"/>
<wire x1="4.064" y1="7.112" x2="2.54" y2="7.112" width="0.254" layer="94"/>
<wire x1="4.064" y1="7.62" x2="2.54" y2="7.62" width="0.254" layer="94"/>
<wire x1="4.064" y1="8.128" x2="2.54" y2="8.128" width="0.254" layer="94"/>
<wire x1="6.35" y1="1.016" x2="4.826" y2="1.016" width="0.254" layer="94"/>
<wire x1="6.35" y1="1.524" x2="4.826" y2="1.524" width="0.254" layer="94"/>
<wire x1="6.35" y1="2.032" x2="4.826" y2="2.032" width="0.254" layer="94"/>
<wire x1="6.35" y1="2.54" x2="4.826" y2="2.54" width="0.254" layer="94"/>
<wire x1="6.35" y1="3.048" x2="4.826" y2="3.048" width="0.254" layer="94"/>
<wire x1="6.35" y1="3.556" x2="4.826" y2="3.556" width="0.254" layer="94"/>
<wire x1="6.35" y1="4.064" x2="4.826" y2="4.064" width="0.254" layer="94"/>
<wire x1="6.35" y1="4.572" x2="4.826" y2="4.572" width="0.254" layer="94"/>
<wire x1="6.35" y1="5.08" x2="4.826" y2="5.08" width="0.254" layer="94"/>
<wire x1="6.35" y1="5.588" x2="4.826" y2="5.588" width="0.254" layer="94"/>
<wire x1="6.35" y1="6.096" x2="4.826" y2="6.096" width="0.254" layer="94"/>
<wire x1="6.35" y1="6.604" x2="4.826" y2="6.604" width="0.254" layer="94"/>
<wire x1="6.35" y1="7.112" x2="4.826" y2="7.112" width="0.254" layer="94"/>
<wire x1="6.35" y1="7.62" x2="4.826" y2="7.62" width="0.254" layer="94"/>
<wire x1="6.35" y1="8.128" x2="4.826" y2="8.128" width="0.254" layer="94"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="BREADBOARD_PATTERN" prefix="LOGO">
<description>
Breadboard-Spacing Reference

tDoc reference markings that correspond to solderless breadboard row spacing. Includes power rails and void space between rows.
</description>
<gates>
<gate name="G$1" symbol="BREADBOARD_ROWS" x="0" y="0"/>
</gates>
<devices>
<device name="" package="BREADBOARD_SPACING">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun-PowerSymbols">
<description>
SparkFun Power Symbols

This library contains power, ground, and voltage-supply symbols.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is  the end user's responsibility to ensure correctness and suitablity for a given componet or application.

If you enjoy using this library, please buy one of our products at SparkFun.com.

Licensing: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
</packages>
<symbols>
<symbol name="DGND">
<description>
Digital Ground Supply
</description>
<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
<text x="0" y="-0.254" size="1.778" layer="96" align="top-center">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="GND" prefix="GND">
<description>
Ground Supply Symbol

Generic signal ground supply symbol.
</description>
<gates>
<gate name="1" symbol="DGND" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="Seeed-Inductor">
<packages>
<package name="L0402">
<smd name="1" x="-0.4625" y="0" dx="0.5" dy="0.5" layer="1" roundness="50"/>
<smd name="2" x="0.4625" y="0" dx="0.5" dy="0.5" layer="1" roundness="50"/>
<text x="-1.27" y="0.635" size="0.889" layer="25" ratio="11">>NAME</text>
<text x="-1.27" y="-1.524" size="0.889" layer="27" font="vector" ratio="11">>VALUE</text>
<wire x1="0.712" y1="0.3945" x2="0.839" y2="0.2675" width="0.0762" layer="21" curve="-90"/>
<wire x1="0.839" y1="0.2675" x2="0.839" y2="-0.2675" width="0.0762" layer="21"/>
<wire x1="0.839" y1="-0.2675" x2="0.712" y2="-0.3945" width="0.0762" layer="21" curve="-90"/>
<wire x1="0.712" y1="-0.3945" x2="-0.712" y2="-0.3945" width="0.0762" layer="21"/>
<wire x1="-0.712" y1="-0.3945" x2="-0.839" y2="-0.2675" width="0.0762" layer="21" curve="-90"/>
<wire x1="-0.839" y1="-0.2675" x2="-0.839" y2="0.2675" width="0.0762" layer="21"/>
<wire x1="-0.839" y1="0.2675" x2="-0.712" y2="0.3945" width="0.0762" layer="21" curve="-90"/>
<wire x1="-0.712" y1="0.3945" x2="0.712" y2="0.3945" width="0.0762" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="INDUCTOR/FERRITE-BEAD">
<wire x1="-2.54" y1="0" x2="-1.27" y2="0" width="0.254" layer="94" curve="-180"/>
<wire x1="-1.27" y1="0" x2="0" y2="0" width="0.254" layer="94" curve="-180"/>
<wire x1="0" y1="0" x2="1.27" y2="0" width="0.254" layer="94" curve="-180"/>
<wire x1="1.27" y1="0" x2="2.54" y2="0" width="0.254" layer="94" curve="-180"/>
<text x="-2.54" y="1.27" size="1.27" layer="95" ratio="10">>NAME</text>
<text x="-2.54" y="-2.54" size="1.27" layer="96" ratio="10">>VALUE</text>
<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="SMD-INDUCTOR-15NH-5%-300MA(0402)" prefix="L" uservalue="yes">
<description>303010027</description>
<gates>
<gate name="G$1" symbol="INDUCTOR/FERRITE-BEAD" x="0" y="0"/>
</gates>
<devices>
<device name="" package="L0402">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name="">
<attribute name="MPN" value="LQG15HS15NJ02" constant="no"/>
<attribute name="VALUE" value="15NH-300MA" constant="no"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="Seeed-Resistor">
<packages>
<package name="R0402">
<smd name="1" x="0" y="0.4625" dx="0.5" dy="0.5" layer="1" roundness="50" rot="R270"/>
<smd name="2" x="0" y="-0.4625" dx="0.5" dy="0.5" layer="1" roundness="50" rot="R270"/>
<text x="0.635" y="1.27" size="0.889" layer="25" ratio="11" rot="R270">>NAME</text>
<text x="-1.524" y="1.27" size="0.889" layer="27" font="vector" ratio="11" rot="R270">>VALUE</text>
<wire x1="0.3945" y1="0.839" x2="0.3945" y2="-0.839" width="0.0762" layer="21"/>
<wire x1="0.3945" y1="-0.839" x2="-0.3945" y2="-0.839" width="0.0762" layer="21"/>
<wire x1="-0.3945" y1="-0.839" x2="-0.3945" y2="0.839" width="0.0762" layer="21"/>
<wire x1="-0.3945" y1="0.839" x2="0.3945" y2="0.839" width="0.0762" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="RES">
<wire x1="-1.27" y1="0.508" x2="1.27" y2="0.508" width="0.254" layer="94"/>
<wire x1="1.27" y1="0.508" x2="1.27" y2="-0.508" width="0.254" layer="94"/>
<wire x1="1.27" y1="-0.508" x2="-1.27" y2="-0.508" width="0.254" layer="94"/>
<wire x1="-1.27" y1="-0.508" x2="-1.27" y2="0.508" width="0.254" layer="94"/>
<text x="-3.81" y="1.27" size="1.27" layer="95" ratio="10">>NAME</text>
<text x="-3.81" y="-2.54" size="1.27" layer="96" ratio="10">>VALUE</text>
<pin name="1" x="-3.81" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
<pin name="2" x="3.81" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="SMD-RES-0R-5%-1/16W(0402)" prefix="R" uservalue="yes">
<description>301010000</description>
<gates>
<gate name="G$1" symbol="RES" x="0" y="0"/>
</gates>
<devices>
<device name="" package="R0402">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name="">
<attribute name="MPN" value="RC0402JR-070RL" constant="no"/>
<attribute name="VALUE" value="0R"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="Seeed-Connector">
<packages>
<package name="U-FL3P-SMD-2.6X2.6X1.0MM">
<wire x1="-1.397" y1="1.3" x2="-0.9" y2="1.3" width="0.127" layer="51"/>
<wire x1="-0.9" y1="1.3" x2="0.9" y2="1.3" width="0.127" layer="51"/>
<wire x1="0.9" y1="1.3" x2="1.397" y2="1.3" width="0.127" layer="51"/>
<wire x1="1.397" y1="1.3" x2="1.397" y2="-1.3" width="0.127" layer="21"/>
<wire x1="-1.397" y1="1.3" x2="-1.397" y2="0.762" width="0.127" layer="51"/>
<wire x1="-1.397" y1="-1.3" x2="-1.397" y2="-0.762" width="0.127" layer="51"/>
<smd name="GND1" x="0" y="1.5" dx="2.2" dy="1.05" layer="1" roundness="50"/>
<smd name="GND2" x="0" y="-1.5" dx="2.2" dy="1.05" layer="1" roundness="50"/>
<smd name="D" x="-1.524" y="0" dx="1.05" dy="1" layer="1" roundness="50" rot="R180"/>
<text x="-1.905" y="2.54" size="0.889" layer="25" ratio="11">>NAME</text>
<text x="0.127" y="-0.508" size="0.254" layer="33" ratio="10" rot="R90">>name</text>
<text x="-1.905" y="-3.175" size="0.889" layer="27" ratio="11">>VALUE</text>
<rectangle x1="-2.159" y1="-1.016" x2="-1.397" y2="1.016" layer="51"/>
<rectangle x1="-1.397" y1="-2.032" x2="1.397" y2="2.032" layer="39"/>
<rectangle x1="-1" y1="-0.95" x2="1.1" y2="0.95" layer="41"/>
<wire x1="-0.9" y1="1.3" x2="-0.9" y2="1.5" width="0.127" layer="21"/>
<wire x1="-0.9" y1="1.5" x2="0.9" y2="1.5" width="0.127" layer="51"/>
<wire x1="0.9" y1="1.5" x2="0.9" y2="1.3" width="0.127" layer="51"/>
<wire x1="1.397" y1="-1.3" x2="0.9" y2="-1.3" width="0.127" layer="51"/>
<wire x1="0.9" y1="-1.3" x2="-0.9" y2="-1.3" width="0.127" layer="51"/>
<wire x1="-0.9" y1="-1.3" x2="-1.397" y2="-1.3" width="0.127" layer="51"/>
<wire x1="0.9" y1="-1.3" x2="0.9" y2="-1.5" width="0.127" layer="51"/>
<wire x1="0.9" y1="-1.5" x2="-0.9" y2="-1.5" width="0.127" layer="51"/>
<wire x1="-0.9" y1="-1.5" x2="-0.9" y2="-1.3" width="0.127" layer="51"/>
<rectangle x1="1.397" y1="-0.508" x2="2.032" y2="0.508" layer="21"/>
<wire x1="1.4" y1="1.3" x2="1.3" y2="1.3" width="0.127" layer="21"/>
<wire x1="-1.2" y1="1.3" x2="-1.4" y2="1.3" width="0.127" layer="21"/>
<wire x1="-1.4" y1="1.3" x2="-1.4" y2="0.9" width="0.127" layer="21"/>
<wire x1="-1.4" y1="0.9" x2="-2.1" y2="0.9" width="0.127" layer="21"/>
<wire x1="-2.1" y1="0.9" x2="-2.1" y2="0.8" width="0.127" layer="21"/>
<wire x1="-2.1" y1="0.7" x2="-2.1" y2="0.5" width="0.127" layer="21"/>
<wire x1="-2.1" y1="-0.6" x2="-2.1" y2="-0.8" width="0.127" layer="21"/>
<wire x1="-2.1" y1="-0.9" x2="-2.1" y2="-1" width="0.127" layer="21"/>
<wire x1="-2.1" y1="-1" x2="-1.4" y2="-1" width="0.127" layer="21"/>
<wire x1="-1.4" y1="-1" x2="-1.4" y2="-1.3" width="0.127" layer="21"/>
<wire x1="-1.4" y1="-1.3" x2="-1.2" y2="-1.3" width="0.127" layer="21"/>
<wire x1="-1.4" y1="-1" x2="-1.4" y2="-0.9" width="0.127" layer="21"/>
<wire x1="-1.4" y1="-0.9" x2="-1.4" y2="-0.8" width="0.127" layer="21"/>
<wire x1="-1.4" y1="-0.8" x2="-2.1" y2="-0.8" width="0.127" layer="21"/>
<wire x1="-2.1" y1="-0.8" x2="-2.1" y2="-0.9" width="0.127" layer="21"/>
<wire x1="-2.1" y1="-0.9" x2="-1.4" y2="-0.9" width="0.127" layer="21"/>
<wire x1="-1.4" y1="0.9" x2="-1.4" y2="0.8" width="0.127" layer="21"/>
<wire x1="-1.4" y1="0.8" x2="-2.1" y2="0.8" width="0.127" layer="21"/>
<wire x1="-2.1" y1="0.8" x2="-2.1" y2="0.7" width="0.127" layer="21"/>
<wire x1="-2.1" y1="0.7" x2="-1.4" y2="0.7" width="0.127" layer="21"/>
<wire x1="1.4" y1="-1.3" x2="1.3" y2="-1.3" width="0.127" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="ANTENNA-U-FL">
<wire x1="-2.54" y1="5.08" x2="2.54" y2="5.08" width="0.254" layer="94"/>
<wire x1="2.54" y1="5.08" x2="2.54" y2="-5.08" width="0.254" layer="94"/>
<wire x1="2.54" y1="-5.08" x2="-2.54" y2="-5.08" width="0.254" layer="94"/>
<wire x1="-2.54" y1="-5.08" x2="-2.54" y2="5.08" width="0.254" layer="94"/>
<text x="-3.81" y="6.35" size="1.778" layer="95">>name</text>
<text x="-3.81" y="-7.62" size="1.778" layer="96">>value</text>
<pin name="D" x="-7.62" y="0" length="middle" function="dotclk"/>
<pin name="GND1" x="7.62" y="2.54" visible="off" length="middle" rot="R180"/>
<pin name="GND2" x="7.62" y="-2.54" visible="off" length="middle" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="ANTENNA-CONN-U-FL(3P)" prefix="ANT" uservalue="yes">
<description>320110048</description>
<gates>
<gate name="G$1" symbol="ANTENNA-U-FL" x="0" y="0"/>
</gates>
<devices>
<device name="" package="U-FL3P-SMD-2.6X2.6X1.0MM">
<connects>
<connect gate="G$1" pin="D" pad="D"/>
<connect gate="G$1" pin="GND1" pad="GND1"/>
<connect gate="G$1" pin="GND2" pad="GND2"/>
</connects>
<technologies>
<technology name="">
<attribute name="VALUE" value="U-FL"/>
</technology>
</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="U1" library="innocomm-sigfox-breakout" deviceset="INNOCOMM-SN10-12" device="INNOCOMM-SN10-12" value="SN10-12">
<attribute name="DESCRIPTION" value="SIGFOX module for Zone 2 / Zone 4"/>
<attribute name="MANUFACTURER" value="InnoComm"/>
<attribute name="MPN" value="SN10-12"/>
<attribute name="URL" value="https://www.arrow.com/zh-cn/products/sn10-12/innocomm-mobile-technology-corporation"/>
</part>
<part name="RF1" library="Seeed-Connector" deviceset="ANTENNA-CONN-U-FL(3P)" device="" value="U-FL / ??? / 320110048">
<attribute name="DESCRIPTION" value="SMD U-FL Female CONN-Gold;3P-L2.6*W2.6*H1.25mm"/>
<attribute name="MANUFACTURER" value="I-PEX"/>
<attribute name="SKU" value="320110048"/>
</part>
<part name="C1" library="Seeed-Capacitor" deviceset="CERAMIC-33PF-50V-5%-NPO(0402)" device="" value="33pf / CC0402JRNPO9BN330 / 302010000">
<attribute name="DESCRIPTION" value="SMD CAP Ceramic 33pF-50V-5%-NPO"/>
<attribute name="MANUFACTURER" value="YAGEO"/>
<attribute name="SKU" value="302010000"/>
</part>
<part name="C2" library="Seeed-Capacitor" deviceset="TANTALUM-SMD-47UF-6.3V(AVX-A)" device="" value="47uf / TAJC476K006RNJ / 302020005">
<attribute name="DESCRIPTION" value="SMD CAP Tantalum 47uF-6.3V"/>
<attribute name="MANUFACTURER" value="AVX"/>
<attribute name="MPN" value="TAJC476K006RNJ"/>
<attribute name="SKU" value="302020005"/>
</part>
<part name="BREADBRD1" library="SparkFun-Aesthetics" deviceset="BREADBOARD_PATTERN" device=""/>
<part name="GND1" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="GND3" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="GND4" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="GND5" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="GND6" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="C3" library="Seeed-Capacitor" deviceset="CERAMIC-100PF-50V-5%-NPO(0402)" device="" value="100pf / CC0402JRNPO9BN101 / 302010012">
<attribute name="DESCRIPTION" value="SMD CAP Ceramic 100pF-50V-5%-NPO"/>
<attribute name="MANUFACTURER" value="YAGEO"/>
<attribute name="SKU" value="302010012"/>
</part>
<part name="R1" library="Seeed-Resistor" deviceset="SMD-RES-0R-5%-1/16W(0402)" device="" value="0R / RC0402JR-070RL / 301010000">
<attribute name="DESCRIPTION" value="SMD RES 0R-5%-1/16W"/>
<attribute name="MANUFACTURER" value="YAGEO"/>
<attribute name="SKU" value="301010000"/>
</part>
<part name="L1" library="Seeed-Inductor" deviceset="SMD-INDUCTOR-15NH-5%-300MA(0402)" device="" value="47NH / LQW15AN47NJ00D / 303010107">
<attribute name="DESCRIPTION" value="SMD Inductor;47nH-5%-210mA-0402"/>
<attribute name="MANUFACTURER" value="Murata"/>
<attribute name="MPN" value="LQW15AN47NJ00D"/>
<attribute name="SKU" value="303010107"/>
</part>
<part name="GND7" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="J1" library="SparkFun-Connectors" deviceset="CONN_04" device="" value="4 x Plated Holes"/>
<part name="J2" library="SparkFun-Connectors" deviceset="CONN_04" device="" value="4 x Plated Holes"/>
</parts>
<sheets>
<sheet>
<plain>
<wire x1="0" y1="-2.54" x2="0" y2="162.56" width="0.6096" layer="97"/>
<wire x1="0" y1="162.56" x2="269.24" y2="162.56" width="0.6096" layer="97"/>
<wire x1="269.24" y1="162.56" x2="269.24" y2="35.56" width="0.6096" layer="97"/>
<wire x1="269.24" y1="35.56" x2="269.24" y2="25.4" width="0.6096" layer="97"/>
<wire x1="269.24" y1="25.4" x2="269.24" y2="5.08" width="0.6096" layer="97"/>
<wire x1="269.24" y1="5.08" x2="269.24" y2="-2.54" width="0.6096" layer="97"/>
<wire x1="269.24" y1="-2.54" x2="246.38" y2="-2.54" width="0.6096" layer="97"/>
<text x="217.932" y="28.956" size="3.81" layer="97">luppy@appkaki.com</text>
<wire x1="246.38" y1="-2.54" x2="213.36" y2="-2.54" width="0.6096" layer="97"/>
<wire x1="213.36" y1="-2.54" x2="180.34" y2="-2.54" width="0.6096" layer="97"/>
<wire x1="180.34" y1="-2.54" x2="0" y2="-2.54" width="0.6096" layer="97"/>
<wire x1="269.24" y1="25.4" x2="213.36" y2="25.4" width="0.6096" layer="97"/>
<wire x1="213.36" y1="25.4" x2="213.36" y2="35.56" width="0.6096" layer="97"/>
<wire x1="213.36" y1="35.56" x2="269.24" y2="35.56" width="0.6096" layer="97"/>
<text x="241.3" y="17.272" size="3.81" layer="97" align="bottom-center">InnoComm SN10-12</text>
<text x="251.46" y="0" size="2.54" layer="97">REV A</text>
<wire x1="213.36" y1="25.4" x2="213.36" y2="5.08" width="0.6096" layer="97"/>
<wire x1="213.36" y1="5.08" x2="246.38" y2="5.08" width="0.6096" layer="97"/>
<wire x1="246.38" y1="5.08" x2="269.24" y2="5.08" width="0.6096" layer="97"/>
<wire x1="246.38" y1="-2.54" x2="246.38" y2="5.08" width="0.6096" layer="97"/>
<wire x1="213.36" y1="5.08" x2="213.36" y2="-2.54" width="0.6096" layer="97"/>
<text x="243.078" y="9.398" size="3.81" layer="97" align="bottom-center">Sigfox Breakout</text>
<text x="187.96" y="2.54" size="1.778" layer="97">Release Date</text>
<wire x1="213.36" y1="5.08" x2="180.34" y2="5.08" width="0.6096" layer="97"/>
<wire x1="180.34" y1="5.08" x2="180.34" y2="-2.54" width="0.6096" layer="97"/>
<text x="187.96" y="0" size="1.778" layer="97">9 Sep 2018</text>
<text x="223.52" y="2.54" size="1.778" layer="97">Rev Date</text>
<text x="223.52" y="0" size="1.778" layer="97">9 Sep 2018</text>
<wire x1="170.688" y1="116.332" x2="170.688" y2="78.994" width="0.1524" layer="97" style="longdash"/>
<wire x1="170.688" y1="78.994" x2="241.808" y2="78.994" width="0.1524" layer="97" style="longdash"/>
<wire x1="241.808" y1="78.994" x2="241.808" y2="116.332" width="0.1524" layer="97" style="longdash"/>
<wire x1="241.808" y1="116.332" x2="170.688" y2="116.332" width="0.1524" layer="97" style="longdash"/>
<wire x1="114.808" y1="132.334" x2="114.808" y2="105.41" width="0.1524" layer="97" style="longdash"/>
<wire x1="114.808" y1="105.41" x2="147.828" y2="105.41" width="0.1524" layer="97" style="longdash"/>
<wire x1="147.828" y1="105.41" x2="147.828" y2="132.334" width="0.1524" layer="97" style="longdash"/>
<wire x1="147.828" y1="132.334" x2="114.808" y2="132.334" width="0.1524" layer="97" style="longdash"/>
<text x="118.364" y="103.378" size="1.016" layer="97" align="top-left">Note: Must be close to VDD pin
Recommended by InnoComm SN10-12
SIGFOX Module Product Specification</text>
<text x="171.704" y="77.978" size="1.016" layer="97" align="top-left">Note:
(1) Must use short traces
(2) Keep clear between ANT pin and surrounding GND
Recommended by InnoComm SN10-12
SIGFOX Module Product Specification</text>
<text x="125.476" y="93.98" size="1.016" layer="97" align="top-left">Note: No traces under module
Recommended by InnoComm SN10-12
SIGFOX Module Product Specification</text>
<text x="241.554" y="77.978" size="1.016" layer="97" align="top-right">ESD Protection
Recommended by Wisol
WSSFM10R H/W Design Guide</text>
</plain>
<instances>
<instance part="U1" gate="G$1" x="134.62" y="68.58">
<attribute name="DESCRIPTION" x="134.62" y="68.58" size="1.778" layer="96" display="off"/>
<attribute name="MANUFACTURER" x="134.62" y="68.58" size="1.778" layer="96" display="off"/>
<attribute name="MPN" x="134.62" y="68.58" size="1.778" layer="96" display="off"/>
<attribute name="URL" x="134.62" y="68.58" size="1.778" layer="96" display="off"/>
</instance>
<instance part="RF1" gate="G$1" x="217.678" y="101.6" smashed="yes">
<attribute name="DESCRIPTION" x="217.678" y="101.6" size="1.778" layer="96" display="off"/>
<attribute name="MANUFACTURER" x="217.678" y="101.6" size="1.778" layer="96" display="off"/>
<attribute name="SKU" x="217.678" y="101.6" size="1.778" layer="96" display="off"/>
<attribute name="NAME" x="215.9" y="107.442" size="1.27" layer="95"/>
<attribute name="VALUE" x="221.234" y="106.68" size="0.762" layer="96" align="top-left"/>
</instance>
<instance part="C1" gate="G$1" x="127" y="121.92" rot="R90">
<attribute name="DESCRIPTION" x="127" y="121.92" size="1.778" layer="96" rot="R90" display="off"/>
<attribute name="MANUFACTURER" x="127" y="121.92" size="1.778" layer="96" rot="R90" display="off"/>
<attribute name="SKU" x="127" y="121.92" size="1.778" layer="96" rot="R90" display="off"/>
</instance>
<instance part="C2" gate="G$1" x="139.7" y="121.92" smashed="yes" rot="R270">
<attribute name="SKU" x="139.7" y="121.92" size="1.778" layer="96" rot="R270" display="off"/>
<attribute name="DESCRIPTION" x="139.7" y="121.92" size="1.778" layer="96" rot="R270" display="off"/>
<attribute name="MANUFACTURER" x="139.7" y="121.92" size="1.778" layer="96" rot="R270" display="off"/>
<attribute name="NAME" x="137.414" y="119.634" size="1.27" layer="95" ratio="10" rot="R270"/>
<attribute name="VALUE" x="143.51" y="115.57" size="1.27" layer="96" ratio="10" rot="R270" align="bottom-right"/>
</instance>
<instance part="BREADBRD1" gate="G$1" x="127" y="15.24"/>
<instance part="GND1" gate="1" x="127" y="109.22"/>
<instance part="GND3" gate="1" x="165.1" y="68.58"/>
<instance part="GND4" gate="1" x="101.6" y="53.34"/>
<instance part="GND5" gate="1" x="101.6" y="68.58"/>
<instance part="GND6" gate="1" x="101.6" y="88.9"/>
<instance part="C3" gate="G$1" x="185.42" y="101.6" smashed="yes">
<attribute name="DESCRIPTION" x="185.42" y="101.6" size="1.778" layer="96" display="off"/>
<attribute name="MANUFACTURER" x="185.42" y="101.6" size="1.778" layer="96" display="off"/>
<attribute name="SKU" x="185.42" y="101.6" size="1.778" layer="96" display="off"/>
<attribute name="NAME" x="181.356" y="104.394" size="1.27" layer="95" ratio="10"/>
<attribute name="VALUE" x="181.356" y="103.124" size="0.762" layer="96" ratio="10"/>
</instance>
<instance part="R1" gate="G$1" x="203.2" y="101.6" smashed="yes">
<attribute name="DESCRIPTION" x="203.2" y="101.6" size="1.778" layer="96" display="off"/>
<attribute name="MANUFACTURER" x="203.2" y="101.6" size="1.778" layer="96" display="off"/>
<attribute name="SKU" x="203.2" y="101.6" size="1.778" layer="96" display="off"/>
<attribute name="NAME" x="202.438" y="96.774" size="1.27" layer="95" ratio="10"/>
<attribute name="VALUE" x="202.692" y="95.504" size="0.762" layer="96" ratio="10"/>
</instance>
<instance part="L1" gate="G$1" x="193.04" y="93.98" smashed="yes" rot="R270">
<attribute name="DESCRIPTION" x="193.04" y="93.98" size="1.778" layer="96" rot="R270" display="off"/>
<attribute name="SKU" x="193.04" y="93.98" size="1.778" layer="96" rot="R270" display="off"/>
<attribute name="MANUFACTURER" x="193.04" y="93.98" size="1.778" layer="96" rot="R270" display="off"/>
<attribute name="NAME" x="194.564" y="91.948" size="1.27" layer="95" ratio="10"/>
<attribute name="VALUE" x="194.564" y="90.678" size="0.762" layer="96" ratio="10"/>
</instance>
<instance part="GND7" gate="1" x="101.6" y="35.56"/>
<instance part="J1" gate="G$1" x="63.5" y="137.16"/>
<instance part="J2" gate="G$1" x="193.04" y="43.18" rot="MR0"/>
</instances>
<busses>
</busses>
<nets>
<net name="GND" class="0">
<segment>
<pinref part="C1" gate="G$1" pin="1"/>
<pinref part="GND1" gate="1" pin="GND"/>
<wire x1="127" y1="118.11" x2="127" y2="114.3" width="0.1524" layer="91"/>
<wire x1="127" y1="114.3" x2="127" y2="111.76" width="0.1524" layer="91"/>
<wire x1="139.7" y1="114.3" x2="127" y2="114.3" width="0.1524" layer="91"/>
<junction x="127" y="114.3"/>
<pinref part="C2" gate="G$1" pin="-"/>
<wire x1="139.7" y1="114.3" x2="139.7" y2="118.11" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U1" gate="G$1" pin="GND@1"/>
<wire x1="111.76" y1="86.36" x2="106.68" y2="86.36" width="0.1524" layer="91"/>
<wire x1="106.68" y1="86.36" x2="106.68" y2="93.98" width="0.1524" layer="91"/>
<wire x1="106.68" y1="93.98" x2="101.6" y2="93.98" width="0.1524" layer="91"/>
<pinref part="GND6" gate="1" pin="GND"/>
<wire x1="101.6" y1="93.98" x2="101.6" y2="91.44" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="GND@8"/>
<wire x1="111.76" y1="68.58" x2="106.68" y2="68.58" width="0.1524" layer="91"/>
<wire x1="106.68" y1="68.58" x2="106.68" y2="71.12" width="0.1524" layer="91"/>
<wire x1="106.68" y1="71.12" x2="106.68" y2="73.66" width="0.1524" layer="91"/>
<wire x1="106.68" y1="73.66" x2="106.68" y2="76.2" width="0.1524" layer="91"/>
<wire x1="106.68" y1="76.2" x2="106.68" y2="78.74" width="0.1524" layer="91"/>
<wire x1="106.68" y1="78.74" x2="106.68" y2="81.28" width="0.1524" layer="91"/>
<wire x1="106.68" y1="81.28" x2="101.6" y2="81.28" width="0.1524" layer="91"/>
<pinref part="GND5" gate="1" pin="GND"/>
<wire x1="101.6" y1="81.28" x2="101.6" y2="71.12" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="GND@3"/>
<wire x1="111.76" y1="81.28" x2="106.68" y2="81.28" width="0.1524" layer="91"/>
<junction x="106.68" y="81.28"/>
<pinref part="U1" gate="G$1" pin="GND@4"/>
<wire x1="111.76" y1="78.74" x2="106.68" y2="78.74" width="0.1524" layer="91"/>
<junction x="106.68" y="78.74"/>
<pinref part="U1" gate="G$1" pin="GND@5"/>
<wire x1="111.76" y1="76.2" x2="106.68" y2="76.2" width="0.1524" layer="91"/>
<junction x="106.68" y="76.2"/>
<pinref part="U1" gate="G$1" pin="GND@6"/>
<wire x1="111.76" y1="73.66" x2="106.68" y2="73.66" width="0.1524" layer="91"/>
<junction x="106.68" y="73.66"/>
<pinref part="U1" gate="G$1" pin="GND@7"/>
<wire x1="111.76" y1="71.12" x2="106.68" y2="71.12" width="0.1524" layer="91"/>
<junction x="106.68" y="71.12"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="GND@11"/>
<wire x1="111.76" y1="60.96" x2="101.6" y2="60.96" width="0.1524" layer="91"/>
<pinref part="GND4" gate="1" pin="GND"/>
<wire x1="101.6" y1="60.96" x2="101.6" y2="55.88" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="GND@27"/>
<wire x1="154.94" y1="73.66" x2="165.1" y2="73.66" width="0.1524" layer="91"/>
<pinref part="GND3" gate="1" pin="GND"/>
<wire x1="165.1" y1="73.66" x2="165.1" y2="71.12" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="GND@12"/>
<wire x1="121.92" y1="35.56" x2="121.92" y2="33.02" width="0.1524" layer="91"/>
<wire x1="121.92" y1="33.02" x2="109.22" y2="33.02" width="0.1524" layer="91"/>
<wire x1="109.22" y1="33.02" x2="109.22" y2="40.64" width="0.1524" layer="91"/>
<wire x1="109.22" y1="40.64" x2="101.6" y2="40.64" width="0.1524" layer="91"/>
<pinref part="GND7" gate="1" pin="GND"/>
<wire x1="101.6" y1="40.64" x2="101.6" y2="38.1" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="GND@21"/>
<wire x1="144.78" y1="35.56" x2="144.78" y2="33.02" width="0.1524" layer="91"/>
<wire x1="144.78" y1="33.02" x2="160.02" y2="33.02" width="0.1524" layer="91"/>
<wire x1="160.02" y1="33.02" x2="160.02" y2="40.64" width="0.1524" layer="91"/>
<pinref part="J2" gate="G$1" pin="1"/>
<wire x1="160.02" y1="40.64" x2="187.96" y2="40.64" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="GND@32"/>
<wire x1="175.26" y1="86.36" x2="154.94" y2="86.36" width="0.1524" layer="91"/>
<pinref part="RF1" gate="G$1" pin="GND1"/>
<wire x1="225.298" y1="104.14" x2="226.568" y2="104.14" width="0.1524" layer="91"/>
<wire x1="226.568" y1="104.14" x2="236.22" y2="104.14" width="0.1524" layer="91"/>
<wire x1="236.22" y1="104.14" x2="236.22" y2="114.3" width="0.1524" layer="91"/>
<wire x1="236.22" y1="114.3" x2="175.26" y2="114.3" width="0.1524" layer="91"/>
<wire x1="175.26" y1="86.36" x2="175.26" y2="114.3" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="RF1" gate="G$1" pin="GND2"/>
<wire x1="225.298" y1="99.06" x2="226.568" y2="99.06" width="0.1524" layer="91"/>
<wire x1="226.568" y1="99.06" x2="236.22" y2="99.06" width="0.1524" layer="91"/>
<wire x1="236.22" y1="99.06" x2="236.22" y2="86.36" width="0.1524" layer="91"/>
<wire x1="236.22" y1="86.36" x2="193.04" y2="86.36" width="0.1524" layer="91"/>
<wire x1="193.04" y1="86.36" x2="185.42" y2="86.36" width="0.1524" layer="91"/>
<wire x1="185.42" y1="86.36" x2="185.42" y2="81.28" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="GND@30"/>
<wire x1="185.42" y1="81.28" x2="154.94" y2="81.28" width="0.1524" layer="91"/>
<pinref part="L1" gate="G$1" pin="2"/>
<wire x1="193.04" y1="88.9" x2="193.04" y2="86.36" width="0.1524" layer="91"/>
<junction x="193.04" y="86.36"/>

</segment>
</net>
<net name="SPI_AK" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="SPI_AK"/>
<wire x1="154.94" y1="60.96" x2="170.18" y2="60.96" width="0.1524" layer="91"/>
<wire x1="170.18" y1="60.96" x2="172.72" y2="60.96" width="0.1524" layer="91"/>
<wire x1="172.72" y1="60.96" x2="172.72" y2="48.26" width="0.1524" layer="91"/>
<wire x1="172.72" y1="48.26" x2="187.96" y2="48.26" width="0.1524" layer="91"/>

<pinref part="J2" gate="G$1" pin="4"/>
</segment>
</net>
<net name="RST_N" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="RST_N"/>
<wire x1="137.16" y1="35.56" x2="137.16" y2="30.48" width="0.1524" layer="91"/>
<wire x1="137.16" y1="30.48" x2="154.94" y2="30.48" width="0.1524" layer="91"/>
<wire x1="154.94" y1="30.48" x2="154.94" y2="55.88" width="0.1524" layer="91"/>
<wire x1="154.94" y1="55.88" x2="154.94" y2="58.42" width="0.1524" layer="91"/>
<wire x1="154.94" y1="58.42" x2="170.18" y2="58.42" width="0.1524" layer="91"/>
<wire x1="170.18" y1="58.42" x2="170.18" y2="45.72" width="0.1524" layer="91"/>
<wire x1="170.18" y1="45.72" x2="187.96" y2="45.72" width="0.1524" layer="91"/>

<pinref part="J2" gate="G$1" pin="3"/>

</segment>
</net>
<net name="ANT" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="ANT"/>
<wire x1="154.94" y1="83.82" x2="177.8" y2="83.82" width="0.1524" layer="91"/>
<wire x1="177.8" y1="83.82" x2="180.34" y2="83.82" width="0.1524" layer="91"/>

<pinref part="C3" gate="G$1" pin="1"/>
<wire x1="181.61" y1="101.6" x2="180.34" y2="101.6" width="0.1524" layer="91"/>
<wire x1="180.34" y1="101.6" x2="180.34" y2="83.82" width="0.1524" layer="91"/>
</segment>
</net>
<net name="3V3" class="0">
<segment>
<wire x1="147.32" y1="142.24" x2="147.32" y2="139.7" width="0.1524" layer="91"/>
<wire x1="147.32" y1="139.7" x2="147.32" y2="137.16" width="0.1524" layer="91"/>
<wire x1="147.32" y1="137.16" x2="139.7" y2="137.16" width="0.1524" layer="91"/>
<wire x1="139.7" y1="137.16" x2="127" y2="137.16" width="0.1524" layer="91"/>
<wire x1="127" y1="137.16" x2="93.98" y2="137.16" width="0.1524" layer="91"/>
<wire x1="93.98" y1="137.16" x2="93.98" y2="116.84" width="0.1524" layer="91"/>
<wire x1="93.98" y1="116.84" x2="93.98" y2="99.06" width="0.1524" layer="91"/>
<wire x1="93.98" y1="99.06" x2="93.98" y2="91.44" width="0.1524" layer="91"/>
<wire x1="93.98" y1="91.44" x2="93.98" y2="83.82" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="VDD"/>
<wire x1="93.98" y1="83.82" x2="111.76" y2="83.82" width="0.1524" layer="91"/>
<pinref part="C1" gate="G$1" pin="2"/>
<wire x1="127" y1="125.73" x2="127" y2="137.16" width="0.1524" layer="91"/>
<junction x="127" y="137.16"/>
<pinref part="J1" gate="G$1" pin="4"/>
<wire x1="68.58" y1="142.24" x2="147.32" y2="142.24" width="0.1524" layer="91"/>

<pinref part="C2" gate="G$1" pin="+"/>
<wire x1="139.7" y1="125.73" x2="139.7" y2="137.16" width="0.1524" layer="91"/>
<junction x="139.7" y="137.16"/>

</segment>
</net>
<net name="SPI_SDI" class="0">
<segment>
<wire x1="88.9" y1="139.7" x2="88.9" y2="66.04" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="SPI_SDI"/>
<wire x1="88.9" y1="66.04" x2="111.76" y2="66.04" width="0.1524" layer="91"/>
<pinref part="J1" gate="G$1" pin="3"/>
<wire x1="68.58" y1="139.7" x2="88.9" y2="139.7" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SPI_CS" class="0">
<segment>
<wire x1="86.36" y1="137.16" x2="86.36" y2="63.5" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="SPI_CS"/>
<wire x1="86.36" y1="63.5" x2="111.76" y2="63.5" width="0.1524" layer="91"/>
<pinref part="J1" gate="G$1" pin="2"/>
<wire x1="68.58" y1="137.16" x2="86.36" y2="137.16" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SPI_SCLK" class="0">
<segment>
<wire x1="83.82" y1="134.62" x2="83.82" y2="30.48" width="0.1524" layer="91"/>
<wire x1="83.82" y1="30.48" x2="124.46" y2="30.48" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="SPI_SCLK"/>
<wire x1="124.46" y1="30.48" x2="124.46" y2="35.56" width="0.1524" layer="91"/>
<pinref part="J1" gate="G$1" pin="1"/>
<wire x1="68.58" y1="134.62" x2="83.82" y2="134.62" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SPI_SDO" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="SPI_SDO"/>
<wire x1="127" y1="27.94" x2="127" y2="35.56" width="0.1524" layer="91"/>
<wire x1="127" y1="27.94" x2="157.48" y2="27.94" width="0.1524" layer="91"/>
<wire x1="157.48" y1="27.94" x2="157.48" y2="55.88" width="0.1524" layer="91"/>
<wire x1="157.48" y1="55.88" x2="167.64" y2="55.88" width="0.1524" layer="91"/>
<wire x1="167.64" y1="55.88" x2="167.64" y2="43.18" width="0.1524" layer="91"/>
<pinref part="J2" gate="G$1" pin="2"/>
<wire x1="167.64" y1="43.18" x2="187.96" y2="43.18" width="0.1524" layer="91"/>

</segment>
</net>
<net name="ESD" class="0">
<segment>
<pinref part="C3" gate="G$1" pin="2"/>
<pinref part="R1" gate="G$1" pin="1"/>
<wire x1="189.23" y1="101.6" x2="193.04" y2="101.6" width="0.1524" layer="91"/>
<pinref part="L1" gate="G$1" pin="1"/>
<wire x1="193.04" y1="101.6" x2="199.39" y2="101.6" width="0.1524" layer="91"/>
<wire x1="193.04" y1="101.6" x2="193.04" y2="99.06" width="0.1524" layer="91"/>
<junction x="193.04" y="101.6"/>

</segment>
</net>
<net name="RF" class="0">
<segment>
<pinref part="R1" gate="G$1" pin="2"/>
<pinref part="RF1" gate="G$1" pin="D"/>
<wire x1="207.01" y1="101.6" x2="210.058" y2="101.6" width="0.1524" layer="91"/>

</segment>
</net>
</nets>
</sheet>
</sheets>
</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>
</compatibility>
</eagle>

license: MIT

license_type: permissive

branch_name: refs/heads/master

extension: sch


text:
package sipparser

import (
	//"fmt"
	"unsafe"
)

type SipViaKnownParamInfo struct {
	name  []byte
	index int
}

const (
	SIP_VIA_KNOWN_PARAM_BRANCH   = 0
	SIP_VIA_KNOWN_PARAM_RECEIVED = 1
	SIP_VIA_KNOWN_PARAM_RPORT    = 2
	SIP_VIA_KNOWN_PARAM_TTL      = 3
	SIP_VIA_KNOWN_PARAM_MADDR    = 4
	SIP_VIA_KNOWN_PARAM_MAX_NUM  = iota
)

var g_SipViaKnownParamInfo = []SipToKnownParamInfo{
	{[]byte("branch"), SIP_VIA_KNOWN_PARAM_BRANCH},
	{[]byte("received"), SIP_VIA_KNOWN_PARAM_RECEIVED},
	{[]byte("rport"), SIP_VIA_KNOWN_PARAM_RPORT},
	{[]byte("ttl"), SIP_VIA_KNOWN_PARAM_TTL},
	{[]byte("maddr"), SIP_VIA_KNOWN_PARAM_MADDR},
}

type SipViaKnownParams struct {
	params [SIP_VIA_KNOWN_PARAM_MAX_NUM]AbnfPtr
}

func SizeofSipViaKnownParams() int {
	return int(unsafe.Sizeof(SipViaKnownParams{}))
}

func NewSipViaKnownParams(context *Context) AbnfPtr {
	return context.allocator.AllocWithClear(uint32(SizeofSipViaKnownParams()))
}

type SipSentProtocol struct {
	name    AbnfPtr
	version AbnfPtr
}

func SizeofSipSentProtocol() int {
	return int(unsafe.Sizeof(SipSentProtocol{}))
}

func NewSipSentProtocol(context *Context) AbnfPtr {
	return context.allocator.AllocWithClear(uint32(SizeofSipSentProtocol()))
}

type SipHeaderVia struct {
	sentProtocol AbnfPtr
	transport    AbnfPtr
	sentBy       SipHostPort
	params       AbnfPtr
	knownParams  AbnfPtr
	next         AbnfPtr
}

func SizeofSipHeaderVia() int {
	return int(unsafe.Sizeof(SipHeaderVia{}))
}

func NewSipHeaderVia(context *Context) AbnfPtr {
	return context.allocator.AllocWithClear(uint32(SizeofSipHeaderVia()))
}

func (this *SipHeaderVia) memAddr() uintptr {
	return uintptr(unsafe.Pointer(this))
}

func (this *SipHeaderVia) Init() {
	ZeroMem(this.memAddr(), SizeofSipHeaderTo())
}

func (this *SipHeaderVia) String(context *Context) string {
	return AbnfEncoderToString(context, this)
}

func (this *SipHeaderVia) Encode(context *Context, buf *AbnfByteBuffer) {
	buf.WriteString("Via: ")
	this.EncodeValue(context, buf)
}

func (this *SipHeaderVia) EncodeValue(context *Context, buf *AbnfByteBuffer) {
	if !this.sentProtocol.IsAbnfPtr() {
		buf.WriteString("SIP/2.0/")
	} else {
		sentProtocol := this.sentProtocol.GetSipSentProtocol(context)
		sentProtocol.name.WriteCString(context, buf)
		buf.WriteByte('/')
		sentProtocol.version.WriteCString(context, buf)
		buf.WriteByte('/')
	}
	this.transport.WriteCString(context, buf)
	buf.WriteByte(' ')
	this.sentBy.Encode(context, buf)
	EncodeSipGenericParams(context, buf, this.params, ';', this)
}

/* RFC3261
 *
 * Via               =  ( "Via" / "v" ) HCOLON via-parm *(COMMA via-parm)
 * via-parm          =  sent-protocol LWS sent-by *( SEMI via-params )
 * via-params        =  via-ttl / via-maddr
 *                      / via-received / via-branch
 *                      / via-extension
 * via-ttl           =  "ttl" EQUAL ttl
 * via-maddr         =  "maddr" EQUAL host
 * via-received      =  "received" EQUAL (IPv4address / IPv6address)
 * via-branch        =  "branch" EQUAL token
 * via-extension     =  generic-param
 * sent-protocol     =  protocol-name SLASH protocol-version
 *                      SLASH transport
 * protocol-name     =  "SIP" / token
 * protocol-version  =  token
 * transport         =  "UDP" / "TCP" / "TLS" / "SCTP"
 *                      / other-transport
 * other-transport   =  token
 * sent-by           =  host [ COLON port ]
 * ttl               =  1*3DIGIT ; 0 to 255
 *
 * RFC3581
 *
 * response-port     = "rport" [EQUAL 1*DIGIT]
 * via-params        =  via-ttl / via-maddr
 *                      / via-received / via-branch
 *                      / response-port / via-extension
 *
 */
func (this *SipHeaderVia) Parse(context *Context) (ok bool) {
	this.Init()
	return this.ParseWithoutInit(context)
}

func (this *SipHeaderVia) ParseWithoutInit(context *Context) (ok bool) {
	ok = this.parseHeaderName(context)
	if !ok {
		context.AddError(context.parsePos, "parse header-name failed for Via header")
		return false
	}

	ok = ParseHcolon(context)
	if !ok {
		context.AddError(context.parsePos, "parse HCOLON failed for Via header")
		return false
	}

	return this.ParseValueWithoutInit(context)
}

func (this *SipHeaderVia) ParseValue(context *Context) (ok bool) {
	this.Init()
	return this.ParseValueWithoutInit(context)
}

func (this *SipHeaderVia) ParseValueWithoutInit(context *Context) (ok bool) {
	if !this.parseSentProtocol(context) {
		context.AddError(context.parsePos, "parse sent-protocol failed for Via header")
		return false
	}

	this.transport, ok = context.allocator.ParseAndAllocCString(context, ABNF_CHARSET_SIP_TOKEN, ABNF_CHARSET_MASK_SIP_TOKEN)
	if !ok {
		context.AddError(context.parsePos, "wrong transport for Via header")
		return false
	}

	if !ParseLWS(context) {
		context.AddError(context.parsePos, "wrong LWS after transport for Via header")
		return false
	}

	if !this.sentBy.ParseWithoutInit(context) {
		context.AddError(context.parsePos, "wrong sent-by for Via header")
		return false
	}

	if context.ParseSetSipViaKnownParam {
		this.params, ok = ParseSipGenericParams(context, ';', this)
	} else {
		this.params, ok = ParseSipGenericParams(context, ';', nil)
	}
	if !ok {
		context.AddError(context.parsePos, "parse generic-params failed for Via header")
		return false
	}

	return true
}

func (this *SipHeaderVia) parseSentProtocol(context *Context) (ok bool) {
	if ((context.parsePos+6) < AbnfPos(len(context.parseSrc)) &&
		(context.parseSrc[context.parsePos]|0x20) == 's') &&
		((context.parseSrc[context.parsePos+1] | 0x20) == 'i') &&
		((context.parseSrc[context.parsePos+2] | 0x20) == 'p') &&
		(context.parseSrc[context.parsePos+3] == '/') &&
		(context.parseSrc[context.parsePos+4] == '2') &&
		(context.parseSrc[context.parsePos+5] == '.') &&
		(context.parseSrc[context.parsePos+6] == '0') {

		if ((context.parsePos + 7) < AbnfPos(len(context.parseSrc))) &&
			!IsDigit(context.parseSrc[context.parsePos+7]) {
			context.parsePos += 7
			if !ParseSWSMark(context, '/') {
				context.AddError(context.parsePos, "wrong SLASH after protocol-version for Via header")
				return false
			}

			this.sentProtocol = AbnfPtrSetValue(AbnfPtr(SIP_VERSION_2_0))
			return true
		}
	}

	this.sentProtocol = NewSipSentProtocol(context)
	if this.sentProtocol == ABNF_PTR_NIL {
		context.AddError(context.parsePos, "no mem for sent-protocol for Via header")
		return false
	}

	sentProtocol := this.sentProtocol.GetSipSentProtocol(context)

	sentProtocol.name, ok = context.allocator.ParseAndAllocCString(context, ABNF_CHARSET_SIP_TOKEN, ABNF_CHARSET_MASK_SIP_TOKEN)
	if !ok {
		context.AddError(context.parsePos, "wrong protocol-name for Via header")
		return false
	}

	if !ParseSWSMark(context, '/') {
		context.AddError(context.parsePos, "wrong SLASH after protocol-name for Via header")
		return false
	}

	sentProtocol.version, ok = context.allocator.ParseAndAllocCString(context, ABNF_CHARSET_SIP_TOKEN, ABNF_CHARSET_MASK_SIP_TOKEN)
	if !ok {
		context.AddError(context.parsePos, "wrong protocol-version for Via header")
		return false
	}

	if !ParseSWSMark(context, '/') {
		context.AddError(context.parsePos, "wrong SLASH after protocol-version for Via header")
		return false
	}

	return true
}

func (this *SipHeaderVia) EncodeKnownParams(context *Context, buf *AbnfByteBuffer) {
	if this.knownParams == ABNF_PTR_NIL {
		return
	}

	knownParams := this.knownParams.GetSipViaKnownParams(context)

	for i := 0; i < SIP_VIA_KNOWN_PARAM_MAX_NUM; i++ {
		param := knownParams.params[i]
		if param != ABNF_PTR_NIL {
			buf.WriteByte(';')
			buf.Write(g_SipViaKnownParamInfo[i].name)
			param.GetSipGenericParam(context).EncodeValue(context, buf)
		}
	}
}

func (this *SipHeaderVia) SetKnownParams(context *Context, name AbnfPtr, param AbnfPtr) bool {
	if !context.ParseSetSipViaKnownParam {
		return false
	}

	var knownParams *SipViaKnownParams

	if this.knownParams != ABNF_PTR_NIL {
		knownParams = this.knownParams.GetSipViaKnownParams(context)
	}

	len1 := len(g_SipViaKnownParamInfo)
	for i := 0; i < len1; i++ {
		if name.CStringEqualNoCase(context, g_SipViaKnownParamInfo[i].name) {
			if this.knownParams == ABNF_PTR_NIL {
				this.knownParams = NewSipViaKnownParams(context)
				knownParams = this.knownParams.GetSipViaKnownParams(context)
			}

			knownParams.params[g_SipViaKnownParamInfo[i].index] = param
			return true
		}
	}
	return false
}

func (this *SipHeaderVia) parseHeaderName(context *Context) (ok bool) {
	src := context.parseSrc
	len1 := AbnfPos(len(context.parseSrc))
	pos := context.parsePos

	if pos >= len1 {
		return false
	}

	if src[pos]|0x20 == 'v' {
		pos++
		if pos >= len1 {
			return false
		}
		if src[pos] == ':' || IsWspChar(src[pos]) {
			context.parsePos = pos
			return true
		}

		if (pos + 2) >= len1 {
			return false
		}

		if ((src[pos] | 0x20) == 'i') &&
			(src[pos+1]|0x20) == 'a' {
			if src[pos+2] == ':' || IsWspChar(src[pos+2]) {
				context.parsePos = pos + 2
				return true
			}
		}
	}

	return false
}

func ParseSipVia(context *Context) (parsed AbnfPtr, ok bool) {
	addr := NewSipHeaderVia(context)
	if addr == ABNF_PTR_NIL {
		context.AddError(context.parsePos, "no mem for Via header")
		return ABNF_PTR_NIL, false
	}
	ok = addr.GetSipHeaderVia(context).ParseValueWithoutInit(context)
	return addr, ok
}

func EncodeSipViaValue(parsed AbnfPtr, context *Context, buf *AbnfByteBuffer) {
	if parsed == ABNF_PTR_NIL {
		return
	}
	parsed.GetSipHeaderVia(context).EncodeValue(context, buf)
}

func AppendSipViaValue(context *Context, parsed AbnfPtr, header AbnfPtr) {
	for addr := parsed; addr != ABNF_PTR_NIL; {
		h := addr.GetSipHeaderVia(context)
		if h.next == ABNF_PTR_NIL {
			h.next = header
			return
		}
		addr = h.next
	}
}

func GetNextViaValue(context *Context, parsed AbnfPtr) AbnfPtr {
	return parsed.GetSipHeaderVia(context).next
}

repository: lioneagle/sipparser

repo_name: lioneagle/sipparser

extension: go


text:
namespace Rocks.Commands.Tests.Decorators.Sync.Commands
{
	internal class TestDecorator<TCommand, TResult> : ICommandHandler<TCommand, TResult>,
	                                                  IDecorator
		where TCommand : ICommand<TResult>, IDecoratableCommand
	{
		private readonly ICommandHandler<TCommand, TResult> decorated;

		public TestDecorator (ICommandHandler<TCommand, TResult> decorated)
		{
			this.decorated = decorated;
		}

		public TResult Execute (TCommand command)
		{
			var result = this.decorated.Execute (command);
			command.Number++;
			return result;
		}

		public object Decorated { get { return this.decorated; } }
	}
}

gha_license_id: MIT

gha_language: C#

extension: cs


text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="6.1">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.0125" unitdist="inch" unit="inch" style="dots" multiple="1" display="yes" altdistance="0.025" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
<layer number="2" name="Route2" color="1" fill="3" visible="no" active="no"/>
<layer number="3" name="Route3" color="4" fill="3" visible="no" active="no"/>
<layer number="4" name="Route4" color="1" fill="4" visible="no" active="no"/>
<layer number="5" name="Route5" color="4" fill="4" visible="no" active="no"/>
<layer number="6" name="Route6" color="1" fill="8" visible="no" active="no"/>
<layer number="7" name="Route7" color="4" fill="8" visible="no" active="no"/>
<layer number="8" name="Route8" color="1" fill="2" visible="no" active="no"/>
<layer number="9" name="Route9" color="4" fill="2" visible="no" active="no"/>
<layer number="10" name="Route10" color="1" fill="7" visible="no" active="no"/>
<layer number="11" name="Route11" color="4" fill="7" visible="no" active="no"/>
<layer number="12" name="Route12" color="1" fill="5" visible="no" active="no"/>
<layer number="13" name="Route13" color="4" fill="5" visible="no" active="no"/>
<layer number="14" name="Route14" color="1" fill="6" visible="no" active="no"/>
<layer number="15" name="Route15" color="4" fill="6" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
</layers>
<board>
<plain>
<wire x1="0" y1="0" x2="29.21" y2="0" width="0" layer="20"/>
<wire x1="29.21" y1="0" x2="29.21" y2="21.59" width="0" layer="20"/>
<wire x1="29.21" y1="21.59" x2="0" y2="21.59" width="0" layer="20"/>
<wire x1="0" y1="21.59" x2="0" y2="0" width="0" layer="20"/>
<text x="9.525" y="16.1925" size="1.27" layer="21" rot="R90">MA</text>
<text x="11.7475" y="16.1925" size="1.27" layer="21" rot="R90">MB</text>
<text x="13.97" y="16.1925" size="1.27" layer="21" rot="R90">MC</text>
<text x="16.1925" y="14.9225" size="1.27" layer="21" rot="R90">GND</text>
<text x="18.415" y="16.1925" size="1.27" layer="21" rot="R90">HA</text>
<text x="20.6375" y="16.1925" size="1.27" layer="21" rot="R90">HB</text>
<text x="22.86" y="16.1925" size="1.27" layer="21" rot="R90">HC</text>
<text x="8.255" y="5.715" size="1.27" layer="21" rot="R270">MA</text>
<text x="10.4775" y="5.715" size="1.27" layer="21" rot="R270">MB</text>
<text x="12.7" y="5.715" size="1.27" layer="21" rot="R270">MC</text>
<text x="14.9225" y="6.985" size="1.27" layer="21" rot="R270">GND</text>
<text x="17.145" y="5.3975" size="1.27" layer="21" rot="R270">HA</text>
<text x="19.3675" y="5.3975" size="1.27" layer="21" rot="R270">HB</text>
<text x="21.59" y="5.3975" size="1.27" layer="21" rot="R270">HC</text>
<text x="8.5725" y="11.1125" size="1.27" layer="21">Motor-Tester revA</text>
<text x="9.2075" y="8.89" size="1.016" layer="21">rosawa@gatech.edu</text>
</plain>
<libraries>
<library name="hirose">
<packages>
<package name="FH_11_HOR">
<wire x1="-7.8" y1="6.8" x2="-7.8" y2="0" width="0.127" layer="21"/>
<wire x1="-7.8" y1="6.8" x2="7.8" y2="6.8" width="0.127" layer="21"/>
<wire x1="7.8" y1="6.8" x2="7.8" y2="0" width="0.127" layer="21"/>
<wire x1="-7.8" y1="0" x2="7.8" y2="0" width="0.127" layer="21"/>
<smd name="11" x="5" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="10" x="4" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="9" x="3" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="8" x="2" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="7" x="1" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="6" x="0" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="5" x="-1" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="4" x="-2" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="3" x="-3" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="2" x="-4" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="1" x="-5" y="0.65" dx="0.6" dy="1.9" layer="1"/>
<smd name="12NC" x="8.2" y="3" dx="2.1" dy="2.8" layer="1"/>
<smd name="13NC" x="-8.2" y="3" dx="2.1" dy="2.8" layer="1"/>
<text x="-3" y="7" size="1.27" layer="25">>NAME</text>
<rectangle x1="-7.1" y1="1.6" x2="-5.3" y2="4.4" layer="41"/>
<rectangle x1="5.3" y1="1.6" x2="7.1" y2="4.4" layer="41"/>
</package>
<package name="FH_11_PADONLY">
<smd name="11" x="5" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="10" x="4" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="9" x="3" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="8" x="2" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="7" x="1" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="6" x="0" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="5" x="-1" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="4" x="-2" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="3" x="-3" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="2" x="-4" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
<smd name="1" x="-5" y="-0.62" dx="0.6" dy="1.9" layer="1"/>
</package>
</packages>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<designrules>
<description language="en">EAGLE Design Rules

The default Design Rules have been set to cover
a wide range of applications. Your particular design
may have different requirements, so please make the
necessary adjustments and save your customized
design rules under a new name.</description>
<param name="layerSetup" value="(1*16)"/>
<param name="mtCopper" value="0.0356mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.0356mm"/>
<param name="mtIsolate" value="63mil 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
<param name="mdWireWire" value="6mil"/>
<param name="mdWirePad" value="6mil"/>
<param name="mdWireVia" value="6mil"/>
<param name="mdPadPad" value="6mil"/>
<param name="mdPadVia" value="6mil"/>
<param name="mdViaVia" value="6mil"/>
<param name="mdSmdPad" value="6mil"/>
<param name="mdSmdVia" value="0mil"/>
<param name="mdSmdSmd" value="6mil"/>
<param name="mdViaViaSameLayer" value="8mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="0mil"/>
<param name="mdDrill" value="6mil"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="6mil"/>
<param name="msDrill" value="15mil"/>
<param name="msMicroVia" value="9.99mm"/>
<param name="msBlindViaRatio" value="0.5"/>
<param name="rvPadTop" value="0.25"/>
<param name="rvPadInner" value="0.25"/>
<param name="rvPadBottom" value="0.25"/>
<param name="rvViaOuter" value="0.25"/>
<param name="rvViaInner" value="0.25"/>
<param name="rvMicroViaOuter" value="0.25"/>
<param name="rvMicroViaInner" value="0.25"/>
<param name="rlMinPadTop" value="10mil"/>
<param name="rlMaxPadTop" value="20mil"/>
<param name="rlMinPadInner" value="10mil"/>
<param name="rlMaxPadInner" value="20mil"/>
<param name="rlMinPadBottom" value="10mil"/>
<param name="rlMaxPadBottom" value="20mil"/>
<param name="rlMinViaOuter" value="8mil"/>
<param name="rlMaxViaOuter" value="20mil"/>
<param name="rlMinViaInner" value="8mil"/>
<param name="rlMaxViaInner" value="20mil"/>
<param name="rlMinMicroViaOuter" value="4mil"/>
<param name="rlMaxMicroViaOuter" value="20mil"/>
<param name="rlMinMicroViaInner" value="4mil"/>
<param name="rlMaxMicroViaInner" value="20mil"/>
<param name="psTop" value="-1"/>
<param name="psBottom" value="-1"/>
<param name="psFirst" value="-1"/>
<param name="psElongationLong" value="100"/>
<param name="psElongationOffset" value="100"/>
<param name="mvStopFrame" value="1"/>
<param name="mvCreamFrame" value="0"/>
<param name="mlMinStopFrame" value="4mil"/>
<param name="mlMaxStopFrame" value="4mil"/>
<param name="mlMinCreamFrame" value="0mil"/>
<param name="mlMaxCreamFrame" value="0mil"/>
<param name="mlViaStopLimit" value="0mil"/>
<param name="srRoundness" value="0"/>
<param name="srMinRoundness" value="0mil"/>
<param name="srMaxRoundness" value="0mil"/>
<param name="slThermalIsolate" value="10mil"/>
<param name="slThermalsForVias" value="0"/>
<param name="dpMaxLengthDifference" value="10mm"/>
<param name="dpGapFactor" value="2.5"/>
<param name="checkGrid" value="0"/>
<param name="checkAngle" value="0"/>
<param name="checkFont" value="1"/>
<param name="checkRestrict" value="1"/>
<param name="useDiameter" value="13"/>
<param name="maxErrors" value="50"/>
</designrules>
<autorouter>
<pass name="Default">
<param name="RoutingGrid" value="50mil"/>
<param name="tpViaShape" value="round"/>
<param name="PrefDir.1" value="|"/>
<param name="PrefDir.2" value="0"/>
<param name="PrefDir.3" value="0"/>
<param name="PrefDir.4" value="0"/>
<param name="PrefDir.5" value="0"/>
<param name="PrefDir.6" value="0"/>
<param name="PrefDir.7" value="0"/>
<param name="PrefDir.8" value="0"/>
<param name="PrefDir.9" value="0"/>
<param name="PrefDir.10" value="0"/>
<param name="PrefDir.11" value="0"/>
<param name="PrefDir.12" value="0"/>
<param name="PrefDir.13" value="0"/>
<param name="PrefDir.14" value="0"/>
<param name="PrefDir.15" value="0"/>
<param name="PrefDir.16" value="-"/>
<param name="cfVia" value="8"/>
<param name="cfNonPref" value="5"/>
<param name="cfChangeDir" value="2"/>
<param name="cfOrthStep" value="2"/>
<param name="cfDiagStep" value="3"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="1"/>
<param name="cfMalusStep" value="1"/>
<param name="cfPadImpact" value="4"/>
<param name="cfSmdImpact" value="4"/>
<param name="cfBusImpact" value="0"/>
<param name="cfHugging" value="3"/>
<param name="cfAvoid" value="4"/>
<param name="cfPolygon" value="10"/>
<param name="cfBase.1" value="0"/>
<param name="cfBase.2" value="1"/>
<param name="cfBase.3" value="1"/>
<param name="cfBase.4" value="1"/>
<param name="cfBase.5" value="1"/>
<param name="cfBase.6" value="1"/>
<param name="cfBase.7" value="1"/>
<param name="cfBase.8" value="1"/>
<param name="cfBase.9" value="1"/>
<param name="cfBase.10" value="1"/>
<param name="cfBase.11" value="1"/>
<param name="cfBase.12" value="1"/>
<param name="cfBase.13" value="1"/>
<param name="cfBase.14" value="1"/>
<param name="cfBase.15" value="1"/>
<param name="cfBase.16" value="0"/>
<param name="mnVias" value="20"/>
<param name="mnSegments" value="9999"/>
<param name="mnExtdSteps" value="9999"/>
<param name="mnRipupLevel" value="10"/>
<param name="mnRipupSteps" value="100"/>
<param name="mnRipupTotal" value="100"/>
</pass>
<pass name="Follow-me" refer="Default" active="yes">
</pass>
<pass name="Busses" refer="Default" active="yes">
<param name="cfNonPref" value="4"/>
<param name="cfBusImpact" value="4"/>
<param name="cfHugging" value="0"/>
<param name="mnVias" value="0"/>
</pass>
<pass name="Route" refer="Default" active="yes">
</pass>
<pass name="Optimize1" refer="Default" active="yes">
<param name="cfVia" value="99"/>
<param name="cfExtdStep" value="10"/>
<param name="cfHugging" value="1"/>
<param name="mnExtdSteps" value="1"/>
<param name="mnRipupLevel" value="0"/>
</pass>
<pass name="Optimize2" refer="Optimize1" active="yes">
<param name="cfNonPref" value="0"/>
<param name="cfChangeDir" value="6"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="2"/>
<param name="cfMalusStep" value="2"/>
<param name="cfPadImpact" value="2"/>
<param name="cfSmdImpact" value="2"/>
<param name="cfHugging" value="0"/>
</pass>
<pass name="Optimize3" refer="Optimize2" active="yes">
<param name="cfChangeDir" value="8"/>
<param name="cfPadImpact" value="0"/>
<param name="cfSmdImpact" value="0"/>
</pass>
<pass name="Optimize4" refer="Optimize3" active="yes">
<param name="cfChangeDir" value="25"/>
</pass>
</autorouter>
<elements>
<element name="J1" library="hirose" package="FH_11_HOR" value="FH_11_H" x="6.985" y="10.795" smashed="yes" rot="R90"/>
<element name="J2" library="hirose" package="FH_11_PADONLY" value="FH_11_PAD" x="24.4475" y="10.795" rot="R90"/>
</elements>
<signals>
<signal name="GND">
<polygon width="0.254" layer="1" thermals="no">
<vertex x="0.635" y="20.955"/>
<vertex x="28.575" y="20.955"/>
<vertex x="28.575" y="10.4775"/>
<vertex x="26.67" y="10.4775"/>
<vertex x="26.67" y="11.43"/>
<vertex x="4.7625" y="11.43"/>
<vertex x="4.7625" y="5.08"/>
<vertex x="28.575" y="5.08"/>
<vertex x="28.575" y="0.635"/>
<vertex x="0.635" y="0.635"/>
</polygon>
<contactref element="J1" pad="7"/>
<contactref element="J2" pad="7"/>
<via x="15.5575" y="20.0025" extent="1-16" drill="1.27"/>
<via x="15.5575" y="1.5875" extent="1-16" drill="1.27"/>
<wire x1="27.6225" y1="11.1125" x2="27.6225" y2="4.445" width="2.159" layer="1"/>
</signal>
<signal name="MA">
<contactref element="J1" pad="1"/>
<contactref element="J1" pad="2"/>
<via x="8.89" y="20.0025" extent="1-16" drill="1.27"/>
<via x="8.89" y="1.5875" extent="1-16" drill="1.27"/>
<polygon width="0.254" layer="1" thermals="no">
<vertex x="5.3975" y="5.715"/>
<vertex x="25.0825" y="5.715"/>
<vertex x="25.0825" y="6.985"/>
<vertex x="5.3975" y="6.985"/>
</polygon>
<contactref element="J2" pad="2"/>
<wire x1="8.89" y1="20.0025" x2="8.89" y2="6.35" width="0.6096" layer="16"/>
<via x="8.89" y="6.35" extent="1-16" drill="0.381"/>
<wire x1="8.89" y1="6.35" x2="8.89" y2="1.5875" width="0.6096" layer="16"/>
<contactref element="J2" pad="1"/>
</signal>
<signal name="MB">
<contactref element="J1" pad="3"/>
<contactref element="J1" pad="4"/>
<via x="11.1125" y="20.0025" extent="1-16" drill="1.27"/>
<via x="11.1125" y="1.5875" extent="1-16" drill="1.27"/>
<polygon width="0.254" layer="1" thermals="no">
<vertex x="5.3975" y="7.62"/>
<vertex x="25.0825" y="7.62"/>
<vertex x="25.0825" y="8.89"/>
<vertex x="5.3975" y="8.89"/>
</polygon>
<contactref element="J2" pad="3"/>
<contactref element="J2" pad="4"/>
<wire x1="11.1125" y1="1.5875" x2="11.1125" y2="8.255" width="0.6096" layer="16"/>
<wire x1="11.1125" y1="8.255" x2="11.1125" y2="20.0025" width="0.6096" layer="16"/>
<via x="11.1125" y="8.255" extent="1-16" drill="0.381"/>
</signal>
<signal name="MC">
<contactref element="J1" pad="5"/>
<contactref element="J1" pad="6"/>
<via x="13.335" y="20.0025" extent="1-16" drill="1.27"/>
<via x="13.335" y="1.5875" extent="1-16" drill="1.27"/>
<polygon width="0.254" layer="1" thermals="no">
<vertex x="5.3975" y="9.525"/>
<vertex x="25.0825" y="9.525"/>
<vertex x="25.0825" y="10.795"/>
<vertex x="5.3975" y="10.795"/>
</polygon>
<contactref element="J2" pad="5"/>
<contactref element="J2" pad="6"/>
<wire x1="13.335" y1="20.0025" x2="13.335" y2="10.16" width="0.6096" layer="16"/>
<wire x1="13.335" y1="10.16" x2="13.335" y2="1.5875" width="0.6096" layer="16"/>
<via x="13.335" y="10.16" extent="1-16" drill="0.381"/>
</signal>
<signal name="HALLB">
<contactref element="J1" pad="8"/>
<contactref element="J2" pad="8"/>
<via x="20.0025" y="20.0025" extent="1-16" drill="1.27"/>
<via x="20.0025" y="1.5875" extent="1-16" drill="1.27"/>
<wire x1="20.0025" y1="20.0025" x2="20.0025" y2="12.7" width="0.6096" layer="16"/>
<wire x1="20.0025" y1="12.7" x2="20.0025" y2="1.5875" width="0.6096" layer="16"/>
<wire x1="6.335" y1="12.795" x2="19.9075" y2="12.795" width="0.4064" layer="1"/>
<wire x1="19.9075" y1="12.795" x2="20.0025" y2="12.7" width="0.4064" layer="1"/>
<wire x1="25.0675" y1="12.795" x2="20.0975" y2="12.795" width="0.4064" layer="1"/>
<wire x1="20.0975" y1="12.795" x2="20.0025" y2="12.7" width="0.4064" layer="1"/>
<via x="20.0025" y="12.7" extent="1-16" drill="0.381"/>
</signal>
<signal name="HALLA">
<contactref element="J2" pad="9"/>
<contactref element="J1" pad="9"/>
<via x="17.78" y="20.0025" extent="1-16" drill="1.27"/>
<via x="17.78" y="1.5875" extent="1-16" drill="1.27"/>
<wire x1="17.78" y1="1.5875" x2="17.78" y2="13.6525" width="0.6096" layer="16"/>
<wire x1="17.78" y1="13.6525" x2="17.78" y2="20.0025" width="0.6096" layer="16"/>
<wire x1="6.335" y1="13.795" x2="17.6375" y2="13.795" width="0.4064" layer="1"/>
<wire x1="17.6375" y1="13.795" x2="17.78" y2="13.6525" width="0.4064" layer="1"/>
<wire x1="25.0675" y1="13.795" x2="17.9225" y2="13.795" width="0.4064" layer="1"/>
<wire x1="17.9225" y1="13.795" x2="17.78" y2="13.6525" width="0.4064" layer="1"/>
<via x="17.78" y="13.6525" extent="1-16" drill="0.381"/>
</signal>
<signal name="HALLC">
<contactref element="J1" pad="10"/>
<contactref element="J2" pad="10"/>
<via x="22.225" y="20.0025" extent="1-16" drill="1.27"/>
<via x="22.225" y="1.5875" extent="1-16" drill="1.27"/>
<wire x1="22.225" y1="1.5875" x2="22.225" y2="14.605" width="0.6096" layer="16"/>
<wire x1="22.225" y1="14.605" x2="22.225" y2="20.0025" width="0.6096" layer="16"/>
<wire x1="25.0675" y1="14.795" x2="22.415" y2="14.795" width="0.4064" layer="1"/>
<wire x1="22.415" y1="14.795" x2="22.225" y2="14.605" width="0.4064" layer="1"/>
<wire x1="6.335" y1="14.795" x2="22.035" y2="14.795" width="0.4064" layer="1"/>
<wire x1="22.035" y1="14.795" x2="22.225" y2="14.605" width="0.4064" layer="1"/>
<via x="22.225" y="14.605" extent="1-16" drill="0.381"/>
</signal>
<signal name="+5V">
<contactref element="J1" pad="11"/>
<contactref element="J2" pad="11"/>
<wire x1="6.335" y1="15.795" x2="25.0675" y2="15.795" width="0.4064" layer="1"/>
</signal>
</signals>
</board>
</drawing>
</eagle>

repository: RoboJackets/robocup-pcb

repo_name: RoboJackets/robocup-pcb

gha_language: TeX

extension: brd