created software directory

This commit is contained in:
Lucas Pleß 2013-06-11 14:47:29 +02:00
parent ff3a5bc2e3
commit 6d0e569a3f
38 changed files with 5943 additions and 0 deletions

581
display/db_bp_led_panel.brd Normal file
View File

@ -0,0 +1,581 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="6.4">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="1.27" unitdist="mm" unit="mm" style="lines" multiple="1" display="no" 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="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<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"/>
<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"/>
</layers>
<board>
<plain>
<wire x1="0" y1="0" x2="146.03" y2="0" width="0" layer="20"/>
<wire x1="146.03" y1="0" x2="146.03" y2="26.34" width="0" layer="20"/>
<wire x1="146.03" y1="26.34" x2="0" y2="26.34" width="0" layer="20"/>
<wire x1="0" y1="26.34" x2="0" y2="0" width="0" layer="20"/>
<text x="76.2" y="-7.62" size="1.778" layer="16" rot="MR0">db_bp_led_panel</text>
</plain>
<libraries>
<library name="con-harting-ml">
<description>&lt;b&gt;Harting &amp; 3M Connectors&lt;/b&gt;&lt;p&gt;
Low profile connectors, straight&lt;p&gt;
&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
<packages>
<package name="ML14">
<description>&lt;b&gt;HARTING&lt;/b&gt;</description>
<wire x1="-11.43" y1="3.175" x2="11.43" y2="3.175" width="0.1524" layer="21"/>
<wire x1="11.43" y1="-3.175" x2="11.43" y2="3.175" width="0.1524" layer="21"/>
<wire x1="-11.43" y1="3.175" x2="-11.43" y2="-3.175" width="0.1524" layer="21"/>
<wire x1="-12.7" y1="4.445" x2="-11.43" y2="4.445" width="0.1524" layer="21"/>
<wire x1="12.7" y1="-4.445" x2="8.001" y2="-4.445" width="0.1524" layer="21"/>
<wire x1="12.7" y1="-4.445" x2="12.7" y2="4.445" width="0.1524" layer="21"/>
<wire x1="-12.7" y1="4.445" x2="-12.7" y2="-4.445" width="0.1524" layer="21"/>
<wire x1="11.43" y1="-3.175" x2="7.112" y2="-3.175" width="0.1524" layer="21"/>
<wire x1="2.032" y1="-2.413" x2="-2.032" y2="-2.413" width="0.1524" layer="21"/>
<wire x1="-2.032" y1="-3.175" x2="-2.032" y2="-2.413" width="0.1524" layer="21"/>
<wire x1="-2.032" y1="-3.175" x2="-11.43" y2="-3.175" width="0.1524" layer="21"/>
<wire x1="-2.032" y1="-3.175" x2="-2.032" y2="-3.429" width="0.1524" layer="21"/>
<wire x1="2.032" y1="-2.413" x2="2.032" y2="-3.175" width="0.1524" layer="21"/>
<wire x1="2.032" y1="-3.175" x2="2.032" y2="-3.429" width="0.1524" layer="21"/>
<wire x1="11.43" y1="4.445" x2="11.43" y2="4.699" width="0.1524" layer="21"/>
<wire x1="11.43" y1="4.699" x2="10.16" y2="4.699" width="0.1524" layer="21"/>
<wire x1="10.16" y1="4.445" x2="10.16" y2="4.699" width="0.1524" layer="21"/>
<wire x1="11.43" y1="4.445" x2="12.7" y2="4.445" width="0.1524" layer="21"/>
<wire x1="0.635" y1="4.699" x2="-0.635" y2="4.699" width="0.1524" layer="21"/>
<wire x1="0.635" y1="4.699" x2="0.635" y2="4.445" width="0.1524" layer="21"/>
<wire x1="0.635" y1="4.445" x2="10.16" y2="4.445" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="4.699" x2="-0.635" y2="4.445" width="0.1524" layer="21"/>
<wire x1="-10.16" y1="4.699" x2="-11.43" y2="4.699" width="0.1524" layer="21"/>
<wire x1="-11.43" y1="4.699" x2="-11.43" y2="4.445" width="0.1524" layer="21"/>
<wire x1="-10.16" y1="4.699" x2="-10.16" y2="4.445" width="0.1524" layer="21"/>
<wire x1="-10.16" y1="4.445" x2="-0.635" y2="4.445" width="0.1524" layer="21"/>
<wire x1="4.699" y1="-4.445" x2="2.032" y2="-4.445" width="0.1524" layer="21"/>
<wire x1="2.032" y1="-4.445" x2="-2.032" y2="-4.445" width="0.1524" layer="21"/>
<wire x1="5.588" y1="-3.175" x2="5.588" y2="-3.429" width="0.1524" layer="21"/>
<wire x1="5.588" y1="-3.175" x2="2.032" y2="-3.175" width="0.1524" layer="21"/>
<wire x1="7.112" y1="-3.175" x2="7.112" y2="-3.429" width="0.1524" layer="21"/>
<wire x1="7.112" y1="-3.175" x2="5.588" y2="-3.175" width="0.1524" layer="21"/>
<wire x1="4.699" y1="-4.445" x2="5.08" y2="-3.937" width="0.1524" layer="21"/>
<wire x1="7.62" y1="-3.937" x2="8.001" y2="-4.445" width="0.1524" layer="21"/>
<wire x1="7.62" y1="-3.937" x2="7.112" y2="-3.937" width="0.1524" layer="21"/>
<wire x1="5.588" y1="-3.429" x2="2.032" y2="-3.429" width="0.0508" layer="21"/>
<wire x1="2.032" y1="-3.429" x2="2.032" y2="-4.445" width="0.1524" layer="21"/>
<wire x1="7.112" y1="-3.429" x2="11.684" y2="-3.429" width="0.0508" layer="21"/>
<wire x1="11.684" y1="-3.429" x2="11.684" y2="3.429" width="0.0508" layer="21"/>
<wire x1="11.684" y1="3.429" x2="-11.684" y2="3.429" width="0.0508" layer="21"/>
<wire x1="-11.684" y1="3.429" x2="-11.684" y2="-3.429" width="0.0508" layer="21"/>
<wire x1="-11.684" y1="-3.429" x2="-2.032" y2="-3.429" width="0.0508" layer="21"/>
<wire x1="-2.032" y1="-3.429" x2="-2.032" y2="-4.445" width="0.1524" layer="21"/>
<wire x1="5.588" y1="-3.429" x2="5.588" y2="-3.937" width="0.1524" layer="21"/>
<wire x1="5.588" y1="-3.937" x2="5.08" y2="-3.937" width="0.1524" layer="21"/>
<wire x1="7.112" y1="-3.429" x2="7.112" y2="-3.937" width="0.1524" layer="21"/>
<wire x1="7.112" y1="-3.937" x2="5.588" y2="-3.937" width="0.1524" layer="21"/>
<wire x1="-2.032" y1="-4.445" x2="-6.858" y2="-4.445" width="0.1524" layer="21"/>
<wire x1="-6.858" y1="-4.318" x2="-6.858" y2="-4.445" width="0.1524" layer="21"/>
<wire x1="-6.858" y1="-4.318" x2="-8.382" y2="-4.318" width="0.1524" layer="21"/>
<wire x1="-8.382" y1="-4.445" x2="-8.382" y2="-4.318" width="0.1524" layer="21"/>
<wire x1="-8.382" y1="-4.445" x2="-12.7" y2="-4.445" width="0.1524" layer="21"/>
<pad name="1" x="-7.62" y="-1.27" drill="0.9144" shape="octagon"/>
<pad name="2" x="-7.62" y="1.27" drill="0.9144" shape="octagon"/>
<pad name="3" x="-5.08" y="-1.27" drill="0.9144" shape="octagon"/>
<pad name="4" x="-5.08" y="1.27" drill="0.9144" shape="octagon"/>
<pad name="5" x="-2.54" y="-1.27" drill="0.9144" shape="octagon"/>
<pad name="6" x="-2.54" y="1.27" drill="0.9144" shape="octagon"/>
<pad name="7" x="0" y="-1.27" drill="0.9144" shape="octagon"/>
<pad name="8" x="0" y="1.27" drill="0.9144" shape="octagon"/>
<pad name="9" x="2.54" y="-1.27" drill="0.9144" shape="octagon"/>
<pad name="10" x="2.54" y="1.27" drill="0.9144" shape="octagon"/>
<pad name="11" x="5.08" y="-1.27" drill="0.9144" shape="octagon"/>
<pad name="12" x="5.08" y="1.27" drill="0.9144" shape="octagon"/>
<pad name="13" x="7.62" y="-1.27" drill="0.9144" shape="octagon"/>
<pad name="14" x="7.62" y="1.27" drill="0.9144" shape="octagon"/>
<text x="-12.7" y="5.08" size="1.778" layer="25" ratio="10">&gt;NAME</text>
<text x="0" y="5.08" size="1.778" layer="27" ratio="10">&gt;VALUE</text>
<text x="-1.016" y="-4.064" size="1.27" layer="21" ratio="10">14</text>
<text x="-10.16" y="-1.905" size="1.27" layer="21" ratio="10">1</text>
<text x="-10.16" y="0.635" size="1.27" layer="21" ratio="10">2</text>
<rectangle x1="7.366" y1="1.016" x2="7.874" y2="1.524" layer="51"/>
<rectangle x1="4.826" y1="1.016" x2="5.334" y2="1.524" layer="51"/>
<rectangle x1="4.826" y1="-1.524" x2="5.334" y2="-1.016" layer="51"/>
<rectangle x1="7.366" y1="-1.524" x2="7.874" y2="-1.016" layer="51"/>
<rectangle x1="-5.334" y1="1.016" x2="-4.826" y2="1.524" layer="51"/>
<rectangle x1="-7.874" y1="1.016" x2="-7.366" y2="1.524" layer="51"/>
<rectangle x1="-2.794" y1="1.016" x2="-2.286" y2="1.524" layer="51"/>
<rectangle x1="2.286" y1="1.016" x2="2.794" y2="1.524" layer="51"/>
<rectangle x1="-0.254" y1="1.016" x2="0.254" y2="1.524" layer="51"/>
<rectangle x1="-5.334" y1="-1.524" x2="-4.826" y2="-1.016" layer="51"/>
<rectangle x1="-7.874" y1="-1.524" x2="-7.366" y2="-1.016" layer="51"/>
<rectangle x1="-2.794" y1="-1.524" x2="-2.286" y2="-1.016" layer="51"/>
<rectangle x1="2.286" y1="-1.524" x2="2.794" y2="-1.016" layer="51"/>
<rectangle x1="-0.254" y1="-1.524" x2="0.254" y2="-1.016" layer="51"/>
</package>
</packages>
</library>
<library name="led">
<description>&lt;b&gt;LEDs&lt;/b&gt;&lt;p&gt;
&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;&lt;br&gt;
Extended by Federico Battaglin &lt;author&gt;&amp;lt;federico.rd@fdpinternational.com&amp;gt;&lt;/author&gt; with DUOLED</description>
<packages>
<package name="LED5MM">
<description>&lt;B&gt;LED&lt;/B&gt;&lt;p&gt;
5 mm, round</description>
<wire x1="2.54" y1="-1.905" x2="2.54" y2="1.905" width="0.2032" layer="21"/>
<wire x1="2.54" y1="-1.905" x2="2.54" y2="1.905" width="0.254" layer="21" curve="-286.260205"/>
<wire x1="-1.143" y1="0" x2="0" y2="1.143" width="0.1524" layer="51" curve="-90"/>
<wire x1="0" y1="-1.143" x2="1.143" y2="0" width="0.1524" layer="51" curve="90"/>
<wire x1="-1.651" y1="0" x2="0" y2="1.651" width="0.1524" layer="51" curve="-90"/>
<wire x1="0" y1="-1.651" x2="1.651" y2="0" width="0.1524" layer="51" curve="90"/>
<wire x1="-2.159" y1="0" x2="0" y2="2.159" width="0.1524" layer="51" curve="-90"/>
<wire x1="0" y1="-2.159" x2="2.159" y2="0" width="0.1524" layer="51" curve="90"/>
<circle x="0" y="0" radius="2.54" width="0.1524" layer="21"/>
<pad name="A" x="-1.27" y="0" drill="0.8128" shape="octagon"/>
<pad name="K" x="1.27" y="0" drill="0.8128" shape="octagon"/>
<text x="3.175" y="0.5334" size="1.27" layer="25" ratio="10">&gt;NAME</text>
<text x="3.2004" y="-1.8034" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
</package>
</packages>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<designrules name="default *">
<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
&lt;p&gt;
Die Standard-Design-Rules sind so gewählt, dass sie für
die meisten Anwendungen passen. Sollte ihre Platine
besondere Anforderungen haben, treffen Sie die erforderlichen
Einstellungen hier und speichern die Design Rules unter
einem neuen Namen ab.</description>
<description language="en">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
&lt;p&gt;
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.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.035mm 0.035mm"/>
<param name="mtIsolate" value="1.5mm 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="8mil"/>
<param name="mdWirePad" value="8mil"/>
<param name="mdWireVia" value="8mil"/>
<param name="mdPadPad" value="8mil"/>
<param name="mdPadVia" value="8mil"/>
<param name="mdViaVia" value="8mil"/>
<param name="mdSmdPad" value="8mil"/>
<param name="mdSmdVia" value="8mil"/>
<param name="mdSmdSmd" value="8mil"/>
<param name="mdViaViaSameLayer" value="8mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="0mil"/>
<param name="mdDrill" value="8mil"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="10mil"/>
<param name="msDrill" value="24mil"/>
<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="SV1" library="con-harting-ml" package="ML14" value="" x="72.39" y="10.16" rot="MR0">
<attribute name="OC_NEWARK" value="unknown" x="45.72" y="5.08" size="1.778" layer="28" rot="MR0" display="off"/>
<attribute name="MPN" value="" x="45.72" y="5.08" size="1.778" layer="28" rot="MR0" display="off"/>
<attribute name="MF" value="" x="45.72" y="5.08" size="1.778" layer="28" rot="MR0" display="off"/>
<attribute name="OC_FARNELL" value="unknown" x="45.72" y="5.08" size="1.778" layer="28" rot="MR0" display="off"/>
</element>
<element name="LED1" library="led" package="LED5MM" value="" x="6.35" y="21.59" rot="R90"/>
<element name="LED2" library="led" package="LED5MM" value="" x="15.24" y="21.59" rot="R90"/>
<element name="LED3" library="led" package="LED5MM" value="" x="24.13" y="21.59" rot="R90"/>
<element name="LED4" library="led" package="LED5MM" value="" x="33.02" y="21.59" rot="R90"/>
<element name="LED5" library="led" package="LED5MM" value="" x="41.91" y="21.59" rot="R90"/>
<element name="LED6" library="led" package="LED5MM" value="" x="50.8" y="21.59" rot="R90"/>
<element name="LED7" library="led" package="LED5MM" value="" x="59.69" y="21.59" rot="R90"/>
<element name="LED8" library="led" package="LED5MM" value="" x="68.58" y="21.59" rot="R90"/>
<element name="LED9" library="led" package="LED5MM" value="" x="139.7" y="21.59" rot="R90"/>
<element name="LED10" library="led" package="LED5MM" value="" x="130.81" y="21.59" rot="R90"/>
<element name="LED11" library="led" package="LED5MM" value="" x="121.92" y="21.59" rot="R90"/>
<element name="LED12" library="led" package="LED5MM" value="" x="113.03" y="21.59" rot="R90"/>
<element name="LED13" library="led" package="LED5MM" value="" x="104.14" y="21.59" rot="R90"/>
<element name="LED14" library="led" package="LED5MM" value="" x="95.25" y="21.59" rot="R90"/>
<element name="LED15" library="led" package="LED5MM" value="" x="86.36" y="21.59" rot="R90"/>
<element name="LED16" library="led" package="LED5MM" value="" x="77.47" y="21.59" rot="R90"/>
</elements>
<signals>
<signal name="DIG3">
<contactref element="SV1" pad="2"/>
<contactref element="LED1" pad="K"/>
<contactref element="LED2" pad="K"/>
<contactref element="LED3" pad="K"/>
<contactref element="LED4" pad="K"/>
<contactref element="LED5" pad="K"/>
<contactref element="LED6" pad="K"/>
<contactref element="LED7" pad="K"/>
<contactref element="LED8" pad="K"/>
<wire x1="6.35" y1="22.86" x2="15.24" y2="22.86" width="0.6096" layer="16"/>
<wire x1="15.24" y1="22.86" x2="24.13" y2="22.86" width="0.6096" layer="16"/>
<wire x1="24.13" y1="22.86" x2="33.02" y2="22.86" width="0.6096" layer="16"/>
<wire x1="33.02" y1="22.86" x2="41.91" y2="22.86" width="0.6096" layer="16"/>
<wire x1="41.91" y1="22.86" x2="50.8" y2="22.86" width="0.6096" layer="16"/>
<wire x1="50.8" y1="22.86" x2="59.69" y2="22.86" width="0.6096" layer="16"/>
<wire x1="59.69" y1="22.86" x2="68.58" y2="22.86" width="0.6096" layer="16"/>
<wire x1="135.89" y1="21.59" x2="138.43" y2="21.59" width="0.6096" layer="16"/>
<wire x1="138.43" y1="21.59" x2="140.97" y2="21.59" width="0.4064" layer="16"/>
<wire x1="140.97" y1="21.59" x2="142.24" y2="22.86" width="0.6096" layer="16"/>
<wire x1="142.24" y1="22.86" x2="142.24" y2="24.13" width="0.6096" layer="16"/>
<wire x1="142.24" y1="24.13" x2="140.97" y2="25.4" width="0.6096" layer="16"/>
<wire x1="140.97" y1="25.4" x2="71.12" y2="25.4" width="0.6096" layer="16"/>
<wire x1="71.12" y1="25.4" x2="68.58" y2="22.86" width="0.6096" layer="16"/>
<wire x1="80.01" y1="11.43" x2="119.38" y2="11.43" width="0.4064" layer="16"/>
<wire x1="119.38" y1="11.43" x2="129.54" y2="21.59" width="0.4064" layer="16"/>
<wire x1="129.54" y1="21.59" x2="135.89" y2="21.59" width="0.4064" layer="16"/>
</signal>
<signal name="DIG4">
<contactref element="SV1" pad="4"/>
<contactref element="LED9" pad="K"/>
<contactref element="LED10" pad="K"/>
<contactref element="LED11" pad="K"/>
<contactref element="LED12" pad="K"/>
<contactref element="LED13" pad="K"/>
<contactref element="LED14" pad="K"/>
<contactref element="LED15" pad="K"/>
<contactref element="LED16" pad="K"/>
<wire x1="125.73" y1="20.32" x2="125.73" y2="22.86" width="0.6096" layer="16"/>
<wire x1="125.73" y1="22.86" x2="130.81" y2="22.86" width="0.6096" layer="16"/>
<wire x1="130.81" y1="22.86" x2="139.7" y2="22.86" width="0.6096" layer="16"/>
<wire x1="121.92" y1="22.86" x2="125.73" y2="22.86" width="0.6096" layer="16"/>
<wire x1="121.92" y1="22.86" x2="113.03" y2="22.86" width="0.6096" layer="16"/>
<wire x1="113.03" y1="22.86" x2="104.14" y2="22.86" width="0.6096" layer="16"/>
<wire x1="104.14" y1="22.86" x2="95.25" y2="22.86" width="0.6096" layer="16"/>
<wire x1="95.25" y1="22.86" x2="86.36" y2="22.86" width="0.6096" layer="16"/>
<wire x1="86.36" y1="22.86" x2="77.47" y2="22.86" width="0.6096" layer="16"/>
<wire x1="77.47" y1="11.43" x2="78.74" y2="12.7" width="0.4064" layer="16"/>
<wire x1="78.74" y1="12.7" x2="118.11" y2="12.7" width="0.4064" layer="16"/>
<wire x1="118.11" y1="12.7" x2="125.73" y2="20.32" width="0.4064" layer="16"/>
</signal>
<signal name="N$2">
<contactref element="LED1" pad="A"/>
<contactref element="SV1" pad="1"/>
<contactref element="LED9" pad="A"/>
<wire x1="80.01" y1="8.89" x2="80.01" y2="2.54" width="0.6096" layer="16"/>
<wire x1="80.01" y1="2.54" x2="78.74" y2="1.27" width="0.6096" layer="16"/>
<wire x1="78.74" y1="1.27" x2="10.16" y2="1.27" width="0.6096" layer="16"/>
<wire x1="10.16" y1="1.27" x2="7.62" y2="1.27" width="0.6096" layer="16"/>
<wire x1="7.62" y1="1.27" x2="6.35" y2="2.54" width="0.6096" layer="16"/>
<wire x1="6.35" y1="2.54" x2="6.35" y2="20.32" width="0.6096" layer="16"/>
<wire x1="80.01" y1="8.89" x2="128.27" y2="8.89" width="0.4064" layer="16"/>
<wire x1="128.27" y1="8.89" x2="139.7" y2="20.32" width="0.4064" layer="16"/>
</signal>
<signal name="N$4">
<contactref element="LED2" pad="A"/>
<contactref element="SV1" pad="3"/>
<contactref element="LED10" pad="A"/>
<wire x1="15.24" y1="20.32" x2="15.24" y2="3.81" width="0.6096" layer="16"/>
<wire x1="15.24" y1="3.81" x2="16.51" y2="2.54" width="0.6096" layer="16"/>
<wire x1="16.51" y1="2.54" x2="19.05" y2="2.54" width="0.6096" layer="16"/>
<wire x1="19.05" y1="2.54" x2="76.2" y2="2.54" width="0.6096" layer="16"/>
<wire x1="76.2" y1="2.54" x2="77.47" y2="3.81" width="0.6096" layer="16"/>
<wire x1="77.47" y1="3.81" x2="77.47" y2="8.89" width="0.6096" layer="16"/>
<wire x1="77.47" y1="8.89" x2="78.74" y2="10.16" width="0.4064" layer="16"/>
<wire x1="78.74" y1="10.16" x2="120.65" y2="10.16" width="0.4064" layer="16"/>
<wire x1="120.65" y1="10.16" x2="130.81" y2="20.32" width="0.4064" layer="16"/>
</signal>
<signal name="N$5">
<contactref element="LED3" pad="A"/>
<contactref element="SV1" pad="5"/>
<contactref element="LED11" pad="A"/>
<wire x1="24.13" y1="20.32" x2="24.13" y2="5.08" width="0.6096" layer="16"/>
<wire x1="24.13" y1="5.08" x2="25.4" y2="3.81" width="0.6096" layer="16"/>
<wire x1="25.4" y1="3.81" x2="27.94" y2="3.81" width="0.6096" layer="16"/>
<wire x1="27.94" y1="3.81" x2="73.66" y2="3.81" width="0.6096" layer="16"/>
<wire x1="73.66" y1="3.81" x2="74.93" y2="5.08" width="0.6096" layer="16"/>
<wire x1="74.93" y1="5.08" x2="74.93" y2="8.89" width="0.6096" layer="16"/>
<wire x1="74.93" y1="8.89" x2="76.2" y2="10.16" width="0.4064" layer="16"/>
<wire x1="76.2" y1="10.16" x2="76.2" y2="12.7" width="0.4064" layer="16"/>
<wire x1="76.2" y1="12.7" x2="77.47" y2="13.97" width="0.4064" layer="16"/>
<wire x1="77.47" y1="13.97" x2="115.57" y2="13.97" width="0.4064" layer="16"/>
<wire x1="115.57" y1="13.97" x2="121.92" y2="20.32" width="0.4064" layer="16"/>
</signal>
<signal name="N$6">
<contactref element="LED4" pad="A"/>
<contactref element="SV1" pad="7"/>
<contactref element="LED12" pad="A"/>
<wire x1="33.02" y1="20.32" x2="33.02" y2="6.35" width="0.6096" layer="16"/>
<wire x1="33.02" y1="6.35" x2="34.29" y2="5.08" width="0.6096" layer="16"/>
<wire x1="34.29" y1="5.08" x2="71.12" y2="5.08" width="0.6096" layer="16"/>
<wire x1="71.12" y1="5.08" x2="72.39" y2="6.35" width="0.6096" layer="16"/>
<wire x1="72.39" y1="6.35" x2="72.39" y2="8.89" width="0.6096" layer="16"/>
<wire x1="72.39" y1="8.89" x2="73.66" y2="10.16" width="0.4064" layer="16"/>
<wire x1="73.66" y1="10.16" x2="73.66" y2="12.7" width="0.4064" layer="16"/>
<wire x1="73.66" y1="12.7" x2="76.2" y2="15.24" width="0.4064" layer="16"/>
<wire x1="76.2" y1="15.24" x2="107.95" y2="15.24" width="0.4064" layer="16"/>
<wire x1="107.95" y1="15.24" x2="113.03" y2="20.32" width="0.4064" layer="16"/>
</signal>
<signal name="N$7">
<contactref element="LED5" pad="A"/>
<contactref element="SV1" pad="9"/>
<contactref element="LED13" pad="A"/>
<wire x1="41.91" y1="20.32" x2="41.91" y2="7.62" width="0.6096" layer="16"/>
<wire x1="41.91" y1="7.62" x2="43.18" y2="6.35" width="0.6096" layer="16"/>
<wire x1="43.18" y1="6.35" x2="68.58" y2="6.35" width="0.6096" layer="16"/>
<wire x1="68.58" y1="6.35" x2="69.85" y2="7.62" width="0.6096" layer="16"/>
<wire x1="69.85" y1="7.62" x2="69.85" y2="8.89" width="0.6096" layer="16"/>
<wire x1="69.85" y1="8.89" x2="71.12" y2="10.16" width="0.4064" layer="16"/>
<wire x1="71.12" y1="10.16" x2="71.12" y2="12.7" width="0.4064" layer="16"/>
<wire x1="71.12" y1="12.7" x2="74.93" y2="16.51" width="0.4064" layer="16"/>
<wire x1="74.93" y1="16.51" x2="100.33" y2="16.51" width="0.4064" layer="16"/>
<wire x1="100.33" y1="16.51" x2="104.14" y2="20.32" width="0.4064" layer="16"/>
</signal>
<signal name="N$9">
<contactref element="LED7" pad="A"/>
<contactref element="SV1" pad="13"/>
<contactref element="LED15" pad="A"/>
<wire x1="59.69" y1="20.32" x2="59.69" y2="11.43" width="0.6096" layer="16"/>
<wire x1="59.69" y1="11.43" x2="62.23" y2="8.89" width="0.6096" layer="16"/>
<wire x1="62.23" y1="8.89" x2="64.77" y2="8.89" width="0.6096" layer="16"/>
<wire x1="86.36" y1="20.32" x2="85.09" y2="20.32" width="0.4064" layer="16"/>
<wire x1="85.09" y1="20.32" x2="83.82" y2="21.59" width="0.4064" layer="16"/>
<wire x1="83.82" y1="21.59" x2="60.96" y2="21.59" width="0.4064" layer="16"/>
<wire x1="60.96" y1="21.59" x2="59.69" y2="20.32" width="0.4064" layer="16"/>
</signal>
<signal name="N$10">
<contactref element="LED8" pad="A"/>
<contactref element="SV1" pad="14"/>
<contactref element="LED16" pad="A"/>
<wire x1="68.58" y1="20.32" x2="71.12" y2="20.32" width="0.6096" layer="16"/>
<wire x1="71.12" y1="20.32" x2="77.47" y2="20.32" width="0.6096" layer="16"/>
<wire x1="64.77" y1="11.43" x2="71.12" y2="20.32" width="0.6096" layer="16"/>
</signal>
<signal name="N$15">
<contactref element="LED14" pad="A"/>
<contactref element="LED6" pad="A"/>
<contactref element="SV1" pad="11"/>
<wire x1="50.8" y1="20.32" x2="50.8" y2="10.16" width="0.6096" layer="16"/>
<wire x1="50.8" y1="10.16" x2="53.34" y2="7.62" width="0.6096" layer="16"/>
<wire x1="53.34" y1="7.62" x2="66.04" y2="7.62" width="0.6096" layer="16"/>
<wire x1="66.04" y1="7.62" x2="67.31" y2="8.89" width="0.6096" layer="16"/>
<wire x1="67.31" y1="8.89" x2="68.58" y2="10.16" width="0.4064" layer="16"/>
<wire x1="68.58" y1="10.16" x2="68.58" y2="12.7" width="0.4064" layer="16"/>
<wire x1="68.58" y1="12.7" x2="73.66" y2="17.78" width="0.4064" layer="16"/>
<wire x1="73.66" y1="17.78" x2="92.71" y2="17.78" width="0.4064" layer="16"/>
<wire x1="92.71" y1="17.78" x2="95.25" y2="20.32" width="0.4064" layer="16"/>
</signal>
<signal name="GND">
<polygon width="0.4064" layer="16">
<vertex x="0" y="26.67"/>
<vertex x="146.05" y="26.67"/>
<vertex x="146.05" y="0"/>
<vertex x="0" y="0"/>
</polygon>
</signal>
</signals>
</board>
</drawing>
</eagle>

2374
display/db_bp_led_panel.sch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
bikegenerator

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>

View File

@ -0,0 +1,5 @@
<component name="CopyrightManager">
<settings default="">
<module2copyright />
</settings>
</component>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CppTools.Loader" reportImplicitCastToBool="false" reportNameReferencedOnce="false" warnedAboutFileOutOfSourceRoot="true" version="3" currentProject="$PROJECT_DIR$/displayboard/Makefile" compilerSelect="AUTO" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/displayboard/displayboard.iml" filepath="$PROJECT_DIR$/displayboard/displayboard.iml" />
<module fileurl="file://$PROJECT_DIR$/powerboard/powerboard.iml" filepath="$PROJECT_DIR$/powerboard/powerboard.iml" />
</modules>
</component>
</project>

View File

@ -0,0 +1,5 @@
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="" />
</component>
</project>

View File

@ -0,0 +1,486 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="9fad4545-a424-4a82-86dc-76602cf3eef3" name="Default" comment="" />
<ignored path="bikegenerator.iws" />
<ignored path=".idea/workspace.xml" />
<file path="/Makefile" changelist="9fad4545-a424-4a82-86dc-76602cf3eef3" time="1370954497482" ignored="false" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
<component name="DaemonCodeAnalyzer">
<disable_hints />
</component>
<component name="DebuggerManager">
<ui_properties default_suspend_policy="SuspendAll" default_condition_enabled="true" />
<breakpoint_any default_suspend_policy="SuspendAll" default_condition_enabled="true">
<breakpoint>
<option name="NOTIFY_CAUGHT" value="true" />
<option name="NOTIFY_UNCAUGHT" value="true" />
<option name="ENABLED" value="false" />
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
<option name="REMOVE_AFTER_HIT" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="SUSPEND" value="true" />
<option name="COUNT_FILTER_ENABLED" value="false" />
<option name="COUNT_FILTER" value="0" />
<option name="CONDITION_ENABLED" value="true" />
<option name="CLASS_FILTERS_ENABLED" value="false" />
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
<option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" />
</breakpoint>
<breakpoint>
<option name="NOTIFY_CAUGHT" value="true" />
<option name="NOTIFY_UNCAUGHT" value="true" />
<option name="ENABLED" value="false" />
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
<option name="REMOVE_AFTER_HIT" value="false" />
<option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="SUSPEND" value="true" />
<option name="COUNT_FILTER_ENABLED" value="false" />
<option name="COUNT_FILTER" value="0" />
<option name="CONDITION_ENABLED" value="true" />
<option name="CLASS_FILTERS_ENABLED" value="false" />
<option name="INSTANCE_FILTERS_ENABLED" value="false" />
<option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" />
</breakpoint>
</breakpoint_any>
<breakpoint_rules />
<ui_properties />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FavoritesManager">
<favorites_list name="bikegenerator" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="Makefile" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/displayboard/Makefile">
<provider selected="true" editor-type-id="text-editor">
<state line="19" column="28" selection-start="429" selection-end="429" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Makefile" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/powerboard/Makefile">
<provider selected="true" editor-type-id="text-editor">
<state line="54" column="43" selection-start="1446" selection-end="1446" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="adc.h" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/powerboard/src/adc.h">
<provider selected="true" editor-type-id="text-editor">
<state line="3" column="22" selection-start="52" selection-end="52" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="main.c" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/powerboard/src/main.c">
<provider selected="true" editor-type-id="text-editor">
<state line="51" column="42" selection-start="1125" selection-end="1125" vertical-scroll-proportion="0.5403088">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="adc.c" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/powerboard/src/adc.c">
<provider selected="true" editor-type-id="text-editor">
<state line="2" column="0" selection-start="21" selection-end="21" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindManager">
<FindUsagesManager>
<setting name="OPEN_NEW_TAB" value="false" />
</FindUsagesManager>
</component>
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/powerboard/src/adc.h" />
<option value="$PROJECT_DIR$/powerboard/Makefile" />
<option value="$PROJECT_DIR$/powerboard/src/adc.c" />
<option value="$PROJECT_DIR$/powerboard/src/main.c" />
</list>
</option>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="1596" />
<option name="width" value="1928" />
<option name="height" value="1058" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectReloadState">
<option name="STATE" value="0" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
</navigator>
<panes>
<pane id="PackagesPane" />
<pane id="ProjectPane">
<subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="bikegenerator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="bikegenerator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="powerboard" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="bikegenerator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="powerboard" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="bikegenerator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="displayboard" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="GoToFile.includeJavaFiles" value="false" />
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="recentsLimit" value="5" />
<property name="MemberChooser.sorted" value="false" />
<property name="restartRequiresConfirmation" value="true" />
<property name="MemberChooser.showClasses" value="true" />
<property name="GoToClass.includeLibraries" value="false" />
<property name="MemberChooser.copyJavadoc" value="false" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/powerboard/src" />
</key>
</component>
<component name="RunManager">
<configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
<module name="" />
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m" />
<option name="PROGRAM_PARAMETERS" />
<method />
</configuration>
<configuration default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
<method />
</configuration>
<configuration default="true" type="TestNG" factoryName="TestNG">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SUITE_NAME" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="GROUP_NAME" />
<option name="TEST_OBJECT" value="CLASS" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="OUTPUT_DIRECTORY" />
<option name="ANNOTATION_TYPE" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<option name="USE_DEFAULT_REPORTERS" value="false" />
<option name="PROPERTIES_FILE" />
<envs />
<properties />
<listeners />
<method />
</configuration>
<configuration default="true" type="Applet" factoryName="Applet">
<module name="" />
<option name="MAIN_CLASS_NAME" />
<option name="HTML_FILE_NAME" />
<option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="VM_PARAMETERS" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<method />
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="" />
<envs />
<method />
</configuration>
<configuration default="true" type="CppRunConfigurationType" factoryName="Cpp">
<method />
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<envs />
<patterns />
<method />
</configuration>
<list size="0" />
<configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
<Host>localhost</Host>
<Port>5050</Port>
</configuration>
</component>
<component name="ShelveChangesManager" show_recycled="false" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="9fad4545-a424-4a82-86dc-76602cf3eef3" name="Default" comment="" />
<created>1370952913198</created>
<updated>1370952913198</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="1596" y="0" width="1928" height="1058" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32893288" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="CDI" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2497332" sideWeight="0.6710671" order="0" side_tool="false" content_ui="combo" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="VcsManagerConfiguration">
<option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
<option name="CHECK_NEW_TODO" value="true" />
<option name="myTodoPanelSettings">
<value>
<are-packages-shown value="false" />
<are-modules-shown value="false" />
<flatten-packages value="false" />
<is-autoscroll-to-source value="false" />
</value>
</option>
<option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
<option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
<option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
<option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
<option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
<option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
<option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
<option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
<option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
<option name="SHORT_DIFF_HORIZONTALLY" value="true" />
<option name="SHORT_DIFF_EXTRA_LINES" value="2" />
<option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
<option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
<option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
<option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
<option name="SHOW_DIRTY_RECURSIVELY" value="false" />
<option name="LIMIT_HISTORY" value="true" />
<option name="MAXIMUM_HISTORY_ROWS" value="1000" />
<option name="UPDATE_FILTER_SCOPE_NAME" />
<option name="USE_COMMIT_MESSAGE_MARGIN" value="false" />
<option name="COMMIT_MESSAGE_MARGIN_SIZE" value="72" />
<option name="WRAP_WHEN_TYPING_REACHES_RIGHT_MARGIN" value="false" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
<option name="LAST_COMMIT_MESSAGE" />
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
<option name="ACTIVE_VCS_NAME" />
<option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
<option name="UPDATE_FILTER_BY_SCOPE" value="false" />
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
</component>
<component name="antWorkspaceConfiguration">
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/displayboard/Makefile">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/powerboard/Makefile">
<provider selected="true" editor-type-id="text-editor">
<state line="5" column="31" selection-start="95" selection-end="95" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/powerboard/powerboard.iml">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/displayboard/Makefile">
<provider selected="true" editor-type-id="text-editor">
<state line="19" column="28" selection-start="429" selection-end="429" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/powerboard/src/adc.c">
<provider selected="true" editor-type-id="text-editor">
<state line="2" column="0" selection-start="21" selection-end="21" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/powerboard/src/adc.h">
<provider selected="true" editor-type-id="text-editor">
<state line="3" column="22" selection-start="52" selection-end="52" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/powerboard/Makefile">
<provider selected="true" editor-type-id="text-editor">
<state line="54" column="43" selection-start="1446" selection-end="1446" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/powerboard/src/main.c">
<provider selected="true" editor-type-id="text-editor">
<state line="51" column="42" selection-start="1125" selection-end="1125" vertical-scroll-proportion="0.5403088">
<folding />
</state>
</provider>
</entry>
</component>
</project>

View File

@ -0,0 +1,56 @@
COMPILER=G++
# todo: object files into output path, processing c / c++ files in the same time (?), nested directories for source files (?)
C = c
OUTPUT_PATH = out/production/displayboard/
SOURCE_PATH = src/
EXE = $(OUTPUT_PATH)displayboard
ifeq ($(COMPILER), G++)
ifeq ($(OS),Windows_NT)
OBJ = obj
else
OBJ = o
endif
COPT = -O2
CCMD = g++
OBJFLAG = -o
EXEFLAG = -o
# INCLUDES = -I../.includes
INCLUDES =
# LIBS = -lgc
LIBS =
# LIBPATH = -L../gc/.libs
LIBPATH =
CPPFLAGS = $(COPT) -g $(INCLUDES)
LDFLAGS = $(LIBPATH) -g $(LIBS)
DEP = dep
else
OBJ = obj
COPT = /O2
CCMD = cl
OBJFLAG = /Fo
EXEFLAG = /Fe
# INCLUDES = /I..\\.includes
INCLUDES =
# LIBS = ..\\.libs\\libgc.lib
LIBS =
CPPFLAGS = $(COPT) /DEBUG $(INCLUDES)
LDFLAGS = /DEBUG
endif
OBJS := $(patsubst %.$(C),%.$(OBJ),$(wildcard $(SOURCE_PATH)*.$(C)))
%.$(OBJ):%.$(C)
@echo Compiling $(basename $<)...
$(CCMD) -c $(CPPFLAGS) $(CXXFLAGS) $< $(OBJFLAG)$@
all: $(OBJS)
@echo Linking...
$(CCMD) $(LDFLAGS) $^ $(LIBS) $(EXEFLAG) $(EXE)
clean:
rm -rf $(SOURCE_PATH)*.$(OBJ) $(EXE)
rebuild: clean all
#rebuild is not entirely correct

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="C++" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="jdk" jdkName="Cpp SDK" jdkType="CppSdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,33 @@
src/adc.o: src/adc.c /usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/io.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/sfr_defs.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/inttypes.h \
/usr/lib/gcc/avr/4.5.3/include/stdint.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/stdint.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/iom8.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/portpins.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/common.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/version.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/fuse.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/lock.h
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/io.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/sfr_defs.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/inttypes.h:
/usr/lib/gcc/avr/4.5.3/include/stdint.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/stdint.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/iom8.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/portpins.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/common.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/version.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/fuse.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/lock.h:

View File

@ -0,0 +1,47 @@
src/main.o: src/main.c \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/io.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/sfr_defs.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/inttypes.h \
/usr/lib/gcc/avr/4.5.3/include/stdint.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/stdint.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/iom8.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/portpins.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/common.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/version.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/fuse.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/lock.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/interrupt.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/pgmspace.h \
/usr/lib/gcc/avr/4.5.3/include/stddef.h src/utils.h src/adc.h
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/io.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/sfr_defs.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/inttypes.h:
/usr/lib/gcc/avr/4.5.3/include/stdint.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/stdint.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/iom8.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/portpins.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/common.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/version.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/fuse.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/lock.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/interrupt.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/pgmspace.h:
/usr/lib/gcc/avr/4.5.3/include/stddef.h:
src/utils.h:
src/adc.h:

View File

@ -0,0 +1,43 @@
src/utils.o: src/utils.c \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/io.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/sfr_defs.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/inttypes.h \
/usr/lib/gcc/avr/4.5.3/include/stdint.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/stdint.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/iom8.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/portpins.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/common.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/version.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/fuse.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/lock.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay_basic.h \
/usr/lib/gcc/avr/4.5.3/../../../avr/include/math.h
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/io.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/sfr_defs.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/inttypes.h:
/usr/lib/gcc/avr/4.5.3/include/stdint.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/stdint.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/iom8.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/portpins.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/common.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/version.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/fuse.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/lock.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay_basic.h:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/math.h:

View File

@ -0,0 +1,436 @@
# Hey Emacs, this is a -*- makefile -*-
#
# WinAVR makefile written by Eric B. Weddington, J<>rg Wunsch, et al.
# Released to the Public Domain
# Please read the make user manual!
#
# Additional material for this makefile was submitted by:
# Tim Henigan
# Peter Fleury
# Reiner Patommel
# Sander Pool
# Frederik Rouleau
# Markus Pfaff
#
# On command line:
#
# make all = Make software.
#
# make clean = Clean out built project files.
#
# make coff = Convert ELF to AVR COFF (for use with AVR Studio 3.x or VMLAB).
#
# make extcoff = Convert ELF to AVR Extended COFF (for use with AVR Studio
# 4.07 or greater).
#
# make program = Download the hex file to the device, using avrdude. Please
# customize the avrdude settings below first!
#
# make filename.s = Just compile filename.c into the assembler code only
#
# To rebuild project do "make clean" then "make all".
#
# mth 2004/09
# Differences from WinAVR 20040720 sample:
# - DEPFLAGS according to Eric Weddingtion's fix (avrfreaks/gcc-forum)
# - F_OSC Define in CFLAGS and AFLAGS
# MCU name
MCU = atmega8
# Main Oscillator Frequency
# This is only used to define F_OSC in all assembler and c-sources.
F_OSC = 8000000
# Output format. (can be srec, ihex, binary)
FORMAT = ihex
# Target file name (without extension).
TARGET = main
# List C source files here. (C dependencies are automatically generated.)
SRC = src/$(TARGET).c src/adc.c src/utils.c
# List Assembler source files here.
# Make them always end in a capital .S. Files ending in a lowercase .s
# will not be considered source files but generated files (assembler
# output from the compiler), and will be deleted upon "make clean"!
# Even though the DOS/Win* filesystem matches both .s and .S the same,
# it will preserve the spelling of the filenames, and gcc itself does
# care about how the name is spelled on its command-line.
ASRC =
# Optimization level, can be [0, 1, 2, 3, s].
# 0 = turn off optimization. s = optimize for size.
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
OPT = s
# Debugging format.
# Native formats for AVR-GCC's -g are stabs [default], or dwarf-2.
# AVR (extended) COFF requires stabs, plus an avr-objcopy run.
#DEBUG = stabs
DEBUG = dwarf-2
# List any extra directories to look for include files here.
# Each directory must be seperated by a space.
EXTRAINCDIRS = src/
# Compiler flag to set the C Standard level.
# c89 - "ANSI" C
# gnu89 - c89 plus GCC extensions
# c99 - ISO C99 standard (not yet fully implemented)
# gnu99 - c99 plus GCC extensions
CSTANDARD = -std=gnu99
# Place -D or -U options here
CDEFS =
# Place -I options here
CINCS =
# Compiler flags.
# -g*: generate debugging information
# -O*: optimization level
# -f...: tuning, see GCC manual and avr-libc documentation
# -Wall...: warning level
# -Wa,...: tell GCC to pass this to the assembler.
# -adhlns...: create assembler listing
CFLAGS = -g$(DEBUG)
CFLAGS += $(CDEFS) $(CINCS)
CFLAGS += -O$(OPT)
CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
CFLAGS += -Wall -Wstrict-prototypes
CFLAGS += -Wa,-adhlns=$(<:.c=.lst)
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
CFLAGS += $(CSTANDARD)
CFLAGS += -DF_OSC=$(F_OSC)
# Assembler flags.
# -Wa,...: tell GCC to pass this to the assembler.
# -ahlms: create listing
# -gstabs: have the assembler create line number information; note that
# for use in COFF files, additional information about filenames
# and function names needs to be present in the assembler source
# files -- see avr-libc docs [FIXME: not yet described there]
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
ASFLAGS += -DF_OSC=$(F_OSC)
#Additional libraries.
# Minimalistic printf version
PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min
# Floating point printf version (requires MATH_LIB = -lm below)
PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
PRINTF_LIB =
# Minimalistic scanf version
SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
# Floating point + %[ scanf version (requires MATH_LIB = -lm below)
SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
SCANF_LIB =
MATH_LIB = -lm
# External memory options
# 64 KB of external RAM, starting after internal RAM (ATmega128!),
# used for variables (.data/.bss) and heap (malloc()).
#EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff
# 64 KB of external RAM, starting after internal RAM (ATmega128!),
# only used for heap (malloc()).
#EXTMEMOPTS = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff
EXTMEMOPTS =
# Linker flags.
# -Wl,...: tell GCC to pass this to linker.
# -Map: create map file
# --cref: add cross reference to map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
LDFLAGS += $(EXTMEMOPTS)
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
# Programming support using avrdude. Settings and variables.
# Programming hardware: alf avr910 avrisp bascom bsd
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ?
# to get a full listing.
#
AVRDUDE_PROGRAMMER = usbasp
# com1 = serial port. Use lpt1 to connect to parallel port.
AVRDUDE_PORT =
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
# Uncomment the following if you want avrdude's erase cycle counter.
# Note that this counter needs to be initialized first using -Yn,
# see avrdude manual.
#AVRDUDE_ERASE_COUNTER = -y
# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
#AVRDUDE_NO_VERIFY = -V
# Increase verbosity level. Please use this when submitting bug
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
# to submit bug reports.
#AVRDUDE_VERBOSE = -v -v
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
# ---------------------------------------------------------------------------
# Define directories, if needed.
DIRAVR = c:/winavr
DIRAVRBIN = $(DIRAVR)/bin
DIRAVRUTILS = $(DIRAVR)/utils/bin
DIRINC = .
DIRLIB = $(DIRAVR)/avr/lib
# Define programs and commands.
SHELL = sh
CC = avr-gcc
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
SIZE = avr-size
NM = avr-nm
AVRDUDE = avrdude
REMOVE = rm -f
COPY = cp
# Define Messages
# English
MSG_ERRORS_NONE = Errors: none
MSG_BEGIN = -------- begin --------
MSG_END = -------- end --------
MSG_SIZE_BEFORE = Size before:
MSG_SIZE_AFTER = Size after:
MSG_COFF = Converting to AVR COFF:
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
MSG_FLASH = Creating load file for Flash:
MSG_EEPROM = Creating load file for EEPROM:
MSG_EXTENDED_LISTING = Creating Extended Listing:
MSG_SYMBOL_TABLE = Creating Symbol Table:
MSG_LINKING = Linking:
MSG_COMPILING = Compiling:
MSG_ASSEMBLING = Assembling:
MSG_CLEANING = Cleaning project:
# Define all object files.
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o)
# Define all listing files.
LST = $(ASRC:.S=.lst) $(SRC:.c=.lst)
# Compiler flags to generate dependency files.
### GENDEPFLAGS = -Wp,-M,-MP,-MT,$(*F).o,-MF,.dep/$(@F).d
GENDEPFLAGS = -MD -MP -MF .dep/$(@F).d
# Combine all necessary flags and optional flags.
# Add target processor to flags.
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) $(GENDEPFLAGS)
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target.
all: begin gccversion sizebefore build sizeafter finished end
build: elf hex eep lss sym
elf: $(TARGET).elf
hex: $(TARGET).hex
eep: $(TARGET).eep
lss: $(TARGET).lss
sym: $(TARGET).sym
# Eye candy.
# AVR Studio 3.x does not check make's exit code but relies on
# the following magic strings to be generated by the compile job.
begin:
@echo
@echo $(MSG_BEGIN)
finished:
@echo $(MSG_ERRORS_NONE)
end:
@echo $(MSG_END)
@echo
# Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
sizebefore:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi
sizeafter:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
# Display compiler version information.
gccversion :
@$(CC) --version
# Program the device.
program: $(TARGET).hex $(TARGET).eep
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
COFFCONVERT=$(OBJCOPY) --debugging \
--change-section-address .data-0x800000 \
--change-section-address .bss-0x800000 \
--change-section-address .noinit-0x800000 \
--change-section-address .eeprom-0x810000
coff: $(TARGET).elf
@echo
@echo $(MSG_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
extcoff: $(TARGET).elf
@echo
@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
# Create final output files (.hex, .eep) from ELF output file.
%.hex: %.elf
@echo
@echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
%.eep: %.elf
@echo
@echo $(MSG_EEPROM) $@
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
# Create extended listing file from ELF output file.
%.lss: %.elf
@echo
@echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -S $< > $@
# Create a symbol table from ELF output file.
%.sym: %.elf
@echo
@echo $(MSG_SYMBOL_TABLE) $@
$(NM) -n $< > $@
# Link: create ELF output file from object files.
.SECONDARY : $(TARGET).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
@echo
@echo $(MSG_LINKING) $@
$(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS)
# Compile: create object files from C source files.
%.o : %.c
@echo
@echo $(MSG_COMPILING) $<
$(CC) -c $(ALL_CFLAGS) $< -o $@
# Compile: create assembler files from C source files.
%.s : %.c
$(CC) -S $(ALL_CFLAGS) $< -o $@
# Assemble: create object files from assembler source files.
%.o : %.S
@echo
@echo $(MSG_ASSEMBLING) $<
$(CC) -c $(ALL_ASFLAGS) $< -o $@
# Target: clean project.
clean: begin clean_list finished end
clean_list :
@echo
@echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).a90
$(REMOVE) $(TARGET).sym
$(REMOVE) $(TARGET).lnk
$(REMOVE) $(TARGET).lss
$(REMOVE) $(OBJ)
$(REMOVE) $(LST)
$(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d)
$(REMOVE) .dep/*
# Include the dependency files.
-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
# Listing of phony targets.
.PHONY : all begin finish end sizebefore sizeafter gccversion \
build elf hex eep lss sym coff extcoff \
clean clean_list program

View File

@ -0,0 +1 @@
:00000001FF

Binary file not shown.

View File

@ -0,0 +1,27 @@
:1000000012C021C020C01FC01EC01DC03EC01BC0EA
:100010001AC019C018C017C016C015C014C013C02C
:1000200012C011C010C011241FBECFE5D4E0DEBF46
:10003000CDBF10E0A0E6B0E001C01D92A236B1072E
:10004000E1F71FD0ABC0DCCF8EB58B608EBD82EEEA
:1000500094E09BBD8ABD80E189BF7894089587B301
:10006000876087BB88B3887F88BB089580E0089548
:10007000882311F481E001C080E064E034D080E0A6
:100080000895EDDF19D0E0DFFFCF1F920F920FB67A
:100090000F9211248F939F93809160009091610043
:1000A000019690936100809360009F918F910F90D3
:1000B0000FBE0F901F90189580E487B983E086B932
:1000C000379A369A3699FECF84B195B1089597B193
:1000D0008F71907E892B87B9369A3699FECF24B1DD
:1000E00035B1C9010895BF92CF92DF92EF92FF928E
:1000F0000F931F93D82EB62ECC24EE24FF24870115
:100100000AC08D2DE4DFAC0160E070E0E40EF51E66
:10011000061F171FC394CB14A0F32B2D30E040E033
:1001200050E0C801B70118D0C9011F910F91FF908D
:10013000EF90DF90CF90BF900895882309F484E674
:1001400090E007C0E3ECF9E03197F1F700C0000060
:100150009F5F9817B8F30895A1E21A2EAA1BBB1B44
:10016000FD010DC0AA1FBB1FEE1FFF1FA217B30783
:10017000E407F50720F0A21BB30BE40BF50B661F99
:10018000771F881F991F1A9469F76095709580955D
:1001900090959B01AC01BD01CF010895F894FFCF6C
:00000001FF

View File

@ -0,0 +1,399 @@
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000001a0 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .bss 00000002 00800060 00800060 00000214 2**0
ALLOC
2 .stab 000006cc 00000000 00000000 00000214 2**2
CONTENTS, READONLY, DEBUGGING
3 .stabstr 00000054 00000000 00000000 000008e0 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_aranges 00000060 00000000 00000000 00000934 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_pubnames 000000d4 00000000 00000000 00000994 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_info 0000040e 00000000 00000000 00000a68 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_abbrev 000002a5 00000000 00000000 00000e76 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 00000384 00000000 00000000 0000111b 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_frame 000000d0 00000000 00000000 000014a0 2**2
CONTENTS, READONLY, DEBUGGING
10 .debug_str 000001cd 00000000 00000000 00001570 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_loc 0000017b 00000000 00000000 0000173d 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_pubtypes 000000ac 00000000 00000000 000018b8 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end>
2: 21 c0 rjmp .+66 ; 0x46 <__bad_interrupt>
4: 20 c0 rjmp .+64 ; 0x46 <__bad_interrupt>
6: 1f c0 rjmp .+62 ; 0x46 <__bad_interrupt>
8: 1e c0 rjmp .+60 ; 0x46 <__bad_interrupt>
a: 1d c0 rjmp .+58 ; 0x46 <__bad_interrupt>
c: 3e c0 rjmp .+124 ; 0x8a <__vector_6>
e: 1b c0 rjmp .+54 ; 0x46 <__bad_interrupt>
10: 1a c0 rjmp .+52 ; 0x46 <__bad_interrupt>
12: 19 c0 rjmp .+50 ; 0x46 <__bad_interrupt>
14: 18 c0 rjmp .+48 ; 0x46 <__bad_interrupt>
16: 17 c0 rjmp .+46 ; 0x46 <__bad_interrupt>
18: 16 c0 rjmp .+44 ; 0x46 <__bad_interrupt>
1a: 15 c0 rjmp .+42 ; 0x46 <__bad_interrupt>
1c: 14 c0 rjmp .+40 ; 0x46 <__bad_interrupt>
1e: 13 c0 rjmp .+38 ; 0x46 <__bad_interrupt>
20: 12 c0 rjmp .+36 ; 0x46 <__bad_interrupt>
22: 11 c0 rjmp .+34 ; 0x46 <__bad_interrupt>
24: 10 c0 rjmp .+32 ; 0x46 <__bad_interrupt>
00000026 <__ctors_end>:
26: 11 24 eor r1, r1
28: 1f be out 0x3f, r1 ; 63
2a: cf e5 ldi r28, 0x5F ; 95
2c: d4 e0 ldi r29, 0x04 ; 4
2e: de bf out 0x3e, r29 ; 62
30: cd bf out 0x3d, r28 ; 61
00000032 <__do_clear_bss>:
32: 10 e0 ldi r17, 0x00 ; 0
34: a0 e6 ldi r26, 0x60 ; 96
36: b0 e0 ldi r27, 0x00 ; 0
38: 01 c0 rjmp .+2 ; 0x3c <.do_clear_bss_start>
0000003a <.do_clear_bss_loop>:
3a: 1d 92 st X+, r1
0000003c <.do_clear_bss_start>:
3c: a2 36 cpi r26, 0x62 ; 98
3e: b1 07 cpc r27, r17
40: e1 f7 brne .-8 ; 0x3a <.do_clear_bss_loop>
42: 1f d0 rcall .+62 ; 0x82 <main>
44: ab c0 rjmp .+342 ; 0x19c <_exit>
00000046 <__bad_interrupt>:
46: dc cf rjmp .-72 ; 0x0 <__vectors>
00000048 <timer_init>:
volatile uint16_t syscounter = 0;
void timer_init(void) {
// clock is 8MHz
TCCR1B |= _BV(WGM12) | _BV(CS11) | _BV(CS10) ; // CTC Mode for Timer 1 (16Bit) with prescale of 64
48: 8e b5 in r24, 0x2e ; 46
4a: 8b 60 ori r24, 0x0B ; 11
4c: 8e bd out 0x2e, r24 ; 46
OCR1A = 1250; // 100Hz
4e: 82 ee ldi r24, 0xE2 ; 226
50: 94 e0 ldi r25, 0x04 ; 4
52: 9b bd out 0x2b, r25 ; 43
54: 8a bd out 0x2a, r24 ; 42
TIMSK = _BV(OCIE1A);
56: 80 e1 ldi r24, 0x10 ; 16
58: 89 bf out 0x39, r24 ; 57
sei(); // enable interrupts
5a: 78 94 sei
}
5c: 08 95 ret
0000005e <ports_init>:
void ports_init(void) {
DDR_SW |= _BV(LOADSW) | _BV(GENSW) | _BV(DUMPSW);
5e: 87 b3 in r24, 0x17 ; 23
60: 87 60 ori r24, 0x07 ; 7
62: 87 bb out 0x17, r24 ; 23
PORT_SW &= ~(_BV(LOADSW) | _BV(GENSW) | _BV(DUMPSW));
64: 88 b3 in r24, 0x18 ; 24
66: 88 7f andi r24, 0xF8 ; 248
68: 88 bb out 0x18, r24 ; 24
}
6a: 08 95 ret
0000006c <get_voltage>:
// voltage has a divider (12V - 56k - ADC - 27k - GND)
// so
uint8_t voltage = 0;
return voltage;
}
6c: 80 e0 ldi r24, 0x00 ; 0
6e: 08 95 ret
00000070 <get_power>:
uint8_t get_power(power_source source) {
uint16_t voltage = get_voltage();
uint16_t amperes;
if(source == generated) {
70: 88 23 and r24, r24
72: 11 f4 brne .+4 ; 0x78 <get_power+0x8>
amperes = adc_read_avg(AD_I_GEN, 4);
74: 81 e0 ldi r24, 0x01 ; 1
76: 01 c0 rjmp .+2 ; 0x7a <get_power+0xa>
} else {
amperes = adc_read_avg(AD_I_LOAD, 4);
78: 80 e0 ldi r24, 0x00 ; 0
7a: 64 e0 ldi r22, 0x04 ; 4
7c: 34 d0 rcall .+104 ; 0xe6 <adc_read_avg>
}
return 0;
}
7e: 80 e0 ldi r24, 0x00 ; 0
80: 08 95 ret
00000082 <main>:
int main(void) {
ports_init();
82: ed df rcall .-38 ; 0x5e <ports_init>
adc_init();
84: 19 d0 rcall .+50 ; 0xb8 <adc_init>
timer_init();
86: e0 df rcall .-64 ; 0x48 <timer_init>
88: ff cf rjmp .-2 ; 0x88 <main+0x6>
0000008a <__vector_6>:
return(0);
}
// system timer
SIGNAL(TIMER1_COMPA_vect) {
8a: 1f 92 push r1
8c: 0f 92 push r0
8e: 0f b6 in r0, 0x3f ; 63
90: 0f 92 push r0
92: 11 24 eor r1, r1
94: 8f 93 push r24
96: 9f 93 push r25
syscounter++;
98: 80 91 60 00 lds r24, 0x0060
9c: 90 91 61 00 lds r25, 0x0061
a0: 01 96 adiw r24, 0x01 ; 1
a2: 90 93 61 00 sts 0x0061, r25
a6: 80 93 60 00 sts 0x0060, r24
}
aa: 9f 91 pop r25
ac: 8f 91 pop r24
ae: 0f 90 pop r0
b0: 0f be out 0x3f, r0 ; 63
b2: 0f 90 pop r0
b4: 1f 90 pop r1
b6: 18 95 reti
000000b8 <adc_init>:
void adc_init(void) {
uint16_t dummyResult;
// AVCC with external capacitor at AREF pin
ADMUX = _BV(REFS0);
b8: 80 e4 ldi r24, 0x40 ; 64
ba: 87 b9 out 0x07, r24 ; 7
// set frequency prescaler to 8
ADCSRA = _BV(ADPS1) | _BV(ADPS0);
bc: 83 e0 ldi r24, 0x03 ; 3
be: 86 b9 out 0x06, r24 ; 6
// enable ADC
ADCSRA |= _BV(ADEN);
c0: 37 9a sbi 0x06, 7 ; 6
// make a dummy read out
ADCSRA |= _BV(ADSC);
c2: 36 9a sbi 0x06, 6 ; 6
while (ADCSRA & _BV(ADSC) ) {
c4: 36 99 sbic 0x06, 6 ; 6
c6: fe cf rjmp .-4 ; 0xc4 <adc_init+0xc>
}
// we have to read, otherwise the next result is not available
dummyResult = ADCW;
c8: 84 b1 in r24, 0x04 ; 4
ca: 95 b1 in r25, 0x05 ; 5
}
cc: 08 95 ret
000000ce <adc_read_single>:
uint16_t adc_read_single(uint8_t channel) {
ADMUX = (ADMUX & ~(0x1F)) | (channel & 0x1F);
ce: 97 b1 in r25, 0x07 ; 7
d0: 8f 71 andi r24, 0x1F ; 31
d2: 90 7e andi r25, 0xE0 ; 224
d4: 89 2b or r24, r25
d6: 87 b9 out 0x07, r24 ; 7
ADCSRA |= _BV(ADSC);
d8: 36 9a sbi 0x06, 6 ; 6
while (ADCSRA & (1<<ADSC) ) {
da: 36 99 sbic 0x06, 6 ; 6
dc: fe cf rjmp .-4 ; 0xda <adc_read_single+0xc>
}
return ADCW;
de: 24 b1 in r18, 0x04 ; 4
e0: 35 b1 in r19, 0x05 ; 5
}
e2: c9 01 movw r24, r18
e4: 08 95 ret
000000e6 <adc_read_avg>:
uint16_t adc_read_avg(uint8_t channel, uint8_t nsamples) {
e6: bf 92 push r11
e8: cf 92 push r12
ea: df 92 push r13
ec: ef 92 push r14
ee: ff 92 push r15
f0: 0f 93 push r16
f2: 1f 93 push r17
f4: d8 2e mov r13, r24
f6: b6 2e mov r11, r22
uint32_t sum = 0;
for (uint8_t i=0; i<nsamples;++i ) {
f8: cc 24 eor r12, r12
}
return ADCW;
}
uint16_t adc_read_avg(uint8_t channel, uint8_t nsamples) {
uint32_t sum = 0;
fa: ee 24 eor r14, r14
fc: ff 24 eor r15, r15
fe: 87 01 movw r16, r14
for (uint8_t i=0; i<nsamples;++i ) {
100: 0a c0 rjmp .+20 ; 0x116 <adc_read_avg+0x30>
sum += adc_read_single(channel);
102: 8d 2d mov r24, r13
104: e4 df rcall .-56 ; 0xce <adc_read_single>
106: ac 01 movw r20, r24
108: 60 e0 ldi r22, 0x00 ; 0
10a: 70 e0 ldi r23, 0x00 ; 0
10c: e4 0e add r14, r20
10e: f5 1e adc r15, r21
110: 06 1f adc r16, r22
112: 17 1f adc r17, r23
}
uint16_t adc_read_avg(uint8_t channel, uint8_t nsamples) {
uint32_t sum = 0;
for (uint8_t i=0; i<nsamples;++i ) {
114: c3 94 inc r12
116: cb 14 cp r12, r11
118: a0 f3 brcs .-24 ; 0x102 <adc_read_avg+0x1c>
sum += adc_read_single(channel);
}
return (uint16_t)(sum / nsamples);
11a: 2b 2d mov r18, r11
11c: 30 e0 ldi r19, 0x00 ; 0
11e: 40 e0 ldi r20, 0x00 ; 0
120: 50 e0 ldi r21, 0x00 ; 0
122: c8 01 movw r24, r16
124: b7 01 movw r22, r14
126: 18 d0 rcall .+48 ; 0x158 <__udivmodsi4>
}
128: c9 01 movw r24, r18
12a: 1f 91 pop r17
12c: 0f 91 pop r16
12e: ff 90 pop r15
130: ef 90 pop r14
132: df 90 pop r13
134: cf 90 pop r12
136: bf 90 pop r11
138: 08 95 ret
0000013a <wait>:
#include <util/delay.h>
void wait(uint8_t count) {
uint8_t i;
if(count == 0) count = 100;
13a: 88 23 and r24, r24
13c: 09 f4 brne .+2 ; 0x140 <wait+0x6>
13e: 84 e6 ldi r24, 0x64 ; 100
for(i=0;i<count;i++) {
140: 90 e0 ldi r25, 0x00 ; 0
142: 07 c0 rjmp .+14 ; 0x152 <wait+0x18>
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
144: e3 ec ldi r30, 0xC3 ; 195
146: f9 e0 ldi r31, 0x09 ; 9
148: 31 97 sbiw r30, 0x01 ; 1
14a: f1 f7 brne .-4 ; 0x148 <wait+0xe>
14c: 00 c0 rjmp .+0 ; 0x14e <wait+0x14>
14e: 00 00 nop
150: 9f 5f subi r25, 0xFF ; 255
152: 98 17 cp r25, r24
154: b8 f3 brcs .-18 ; 0x144 <wait+0xa>
_delay_ms(10);
}
}
156: 08 95 ret
00000158 <__udivmodsi4>:
158: a1 e2 ldi r26, 0x21 ; 33
15a: 1a 2e mov r1, r26
15c: aa 1b sub r26, r26
15e: bb 1b sub r27, r27
160: fd 01 movw r30, r26
162: 0d c0 rjmp .+26 ; 0x17e <__udivmodsi4_ep>
00000164 <__udivmodsi4_loop>:
164: aa 1f adc r26, r26
166: bb 1f adc r27, r27
168: ee 1f adc r30, r30
16a: ff 1f adc r31, r31
16c: a2 17 cp r26, r18
16e: b3 07 cpc r27, r19
170: e4 07 cpc r30, r20
172: f5 07 cpc r31, r21
174: 20 f0 brcs .+8 ; 0x17e <__udivmodsi4_ep>
176: a2 1b sub r26, r18
178: b3 0b sbc r27, r19
17a: e4 0b sbc r30, r20
17c: f5 0b sbc r31, r21
0000017e <__udivmodsi4_ep>:
17e: 66 1f adc r22, r22
180: 77 1f adc r23, r23
182: 88 1f adc r24, r24
184: 99 1f adc r25, r25
186: 1a 94 dec r1
188: 69 f7 brne .-38 ; 0x164 <__udivmodsi4_loop>
18a: 60 95 com r22
18c: 70 95 com r23
18e: 80 95 com r24
190: 90 95 com r25
192: 9b 01 movw r18, r22
194: ac 01 movw r20, r24
196: bd 01 movw r22, r26
198: cf 01 movw r24, r30
19a: 08 95 ret
0000019c <_exit>:
19c: f8 94 cli
0000019e <__stop_program>:
19e: ff cf rjmp .-2 ; 0x19e <__stop_program>

View File

@ -0,0 +1,458 @@
Archive member included because of file (symbol)
/usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_udivmodsi4.o)
src/adc.o (__udivmodsi4)
/usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_exit.o)
/usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o (exit)
/usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_clear_bss.o)
src/main.o (__do_clear_bss)
Memory Configuration
Name Origin Length Attributes
text 0x0000000000000000 0x0000000000002000 xr
data 0x0000000000800060 0x000000000000ffa0 rw !x
eeprom 0x0000000000810000 0x0000000000010000 rw !x
fuse 0x0000000000820000 0x0000000000000400 rw !x
lock 0x0000000000830000 0x0000000000000400 rw !x
signature 0x0000000000840000 0x0000000000000400 rw !x
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
LOAD /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
LOAD src/main.o
LOAD src/adc.o
LOAD src/utils.o
LOAD /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/libm.a
LOAD /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a
LOAD /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/libc.a
LOAD /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a
.hash
*(.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.init
*(.rel.init)
.rela.init
*(.rela.init)
.rel.text
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
.rela.text
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
.rel.fini
*(.rel.fini)
.rela.fini
*(.rela.fini)
.rel.rodata
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
.rela.rodata
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
.rel.data
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
.rela.data
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
.rel.ctors
*(.rel.ctors)
.rela.ctors
*(.rela.ctors)
.rel.dtors
*(.rel.dtors)
.rela.dtors
*(.rela.dtors)
.rel.got
*(.rel.got)
.rela.got
*(.rela.got)
.rel.bss
*(.rel.bss)
.rela.bss
*(.rela.bss)
.rel.plt
*(.rel.plt)
.rela.plt
*(.rela.plt)
.text 0x0000000000000000 0x1a0
*(.vectors)
.vectors 0x0000000000000000 0x26 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
0x0000000000000000 __vectors
0x0000000000000000 __vector_default
*(.vectors)
*(.progmem.gcc*)
*(.progmem*)
0x0000000000000026 . = ALIGN (0x2)
0x0000000000000026 __trampolines_start = .
*(.trampolines)
.trampolines 0x0000000000000026 0x0 linker stubs
*(.trampolines*)
0x0000000000000026 __trampolines_end = .
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x0000000000000026 __ctors_start = .
*(.ctors)
0x0000000000000026 __ctors_end = .
0x0000000000000026 __dtors_start = .
*(.dtors)
0x0000000000000026 __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x0000000000000026 0x0 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
0x0000000000000026 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x0000000000000026 0xc /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x0000000000000032 0x10 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_clear_bss.o)
0x0000000000000032 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x0000000000000042 0x4 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
*(.init9)
*(.text)
.text 0x0000000000000046 0x2 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
0x0000000000000046 __vector_1
0x0000000000000046 __vector_12
0x0000000000000046 __bad_interrupt
0x0000000000000046 __vector_3
0x0000000000000046 __vector_11
0x0000000000000046 __vector_13
0x0000000000000046 __vector_17
0x0000000000000046 __vector_7
0x0000000000000046 __vector_5
0x0000000000000046 __vector_4
0x0000000000000046 __vector_9
0x0000000000000046 __vector_2
0x0000000000000046 __vector_15
0x0000000000000046 __vector_8
0x0000000000000046 __vector_14
0x0000000000000046 __vector_10
0x0000000000000046 __vector_16
0x0000000000000046 __vector_18
.text 0x0000000000000048 0x70 src/main.o
0x0000000000000048 timer_init
0x000000000000005e ports_init
0x000000000000006c get_voltage
0x0000000000000070 get_power
0x0000000000000082 main
0x000000000000008a __vector_6
.text 0x00000000000000b8 0x82 src/adc.o
0x00000000000000b8 adc_init
0x00000000000000ce adc_read_single
0x00000000000000e6 adc_read_avg
.text 0x000000000000013a 0x1e src/utils.o
0x000000000000013a wait
.text 0x0000000000000158 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_udivmodsi4.o)
.text 0x0000000000000158 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_exit.o)
.text 0x0000000000000158 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_clear_bss.o)
0x0000000000000158 . = ALIGN (0x2)
*(.text.*)
.text.libgcc 0x0000000000000158 0x44 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_udivmodsi4.o)
0x0000000000000158 __udivmodsi4
.text.libgcc 0x000000000000019c 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_exit.o)
.text.libgcc 0x000000000000019c 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_clear_bss.o)
0x000000000000019c . = ALIGN (0x2)
*(.fini9)
.fini9 0x000000000000019c 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_exit.o)
0x000000000000019c exit
0x000000000000019c _exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x000000000000019c 0x4 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_exit.o)
*(.fini0)
0x00000000000001a0 _etext = .
.data 0x0000000000800060 0x0 load address 0x00000000000001a0
0x0000000000800060 PROVIDE (__data_start, .)
*(.data)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
.data 0x0000000000800060 0x0 src/main.o
.data 0x0000000000800060 0x0 src/adc.o
.data 0x0000000000800060 0x0 src/utils.o
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_udivmodsi4.o)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_exit.o)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_clear_bss.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x0000000000800060 . = ALIGN (0x2)
0x0000000000800060 _edata = .
0x0000000000800060 PROVIDE (__data_end, .)
.bss 0x0000000000800060 0x2
0x0000000000800060 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
.bss 0x0000000000800060 0x2 src/main.o
0x0000000000800060 syscounter
.bss 0x0000000000800062 0x0 src/adc.o
.bss 0x0000000000800062 0x0 src/utils.o
.bss 0x0000000000800062 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_udivmodsi4.o)
.bss 0x0000000000800062 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_exit.o)
.bss 0x0000000000800062 0x0 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_clear_bss.o)
*(.bss*)
*(COMMON)
0x0000000000800062 PROVIDE (__bss_end, .)
0x00000000000001a0 __data_load_start = LOADADDR (.data)
0x00000000000001a0 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0000000000800062 0x0
0x0000000000800062 PROVIDE (__noinit_start, .)
*(.noinit*)
0x0000000000800062 PROVIDE (__noinit_end, .)
0x0000000000800062 _end = .
0x0000000000800062 PROVIDE (__heap_start, .)
.eeprom 0x0000000000810000 0x0
*(.eeprom*)
0x0000000000810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.stab 0x0000000000000000 0x6cc
*(.stab)
.stab 0x0000000000000000 0x6cc /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
.stabstr 0x0000000000000000 0x54
*(.stabstr)
.stabstr 0x0000000000000000 0x54 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment
*(.comment)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x0000000000000000 0x60
*(.debug_aranges)
.debug_aranges
0x0000000000000000 0x20 src/main.o
.debug_aranges
0x0000000000000020 0x20 src/adc.o
.debug_aranges
0x0000000000000040 0x20 src/utils.o
.debug_pubnames
0x0000000000000000 0xd4
*(.debug_pubnames)
.debug_pubnames
0x0000000000000000 0x75 src/main.o
.debug_pubnames
0x0000000000000075 0x44 src/adc.o
.debug_pubnames
0x00000000000000b9 0x1b src/utils.o
.debug_info 0x0000000000000000 0x40e
*(.debug_info)
.debug_info 0x0000000000000000 0x19c src/main.o
.debug_info 0x000000000000019c 0x136 src/adc.o
.debug_info 0x00000000000002d2 0x13c src/utils.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x0000000000000000 0x2a5
*(.debug_abbrev)
.debug_abbrev 0x0000000000000000 0x113 src/main.o
.debug_abbrev 0x0000000000000113 0xb4 src/adc.o
.debug_abbrev 0x00000000000001c7 0xde src/utils.o
.debug_line 0x0000000000000000 0x384
*(.debug_line)
.debug_line 0x0000000000000000 0x144 src/main.o
.debug_line 0x0000000000000144 0x13b src/adc.o
.debug_line 0x000000000000027f 0x105 src/utils.o
.debug_frame 0x0000000000000000 0xd0
*(.debug_frame)
.debug_frame 0x0000000000000000 0x70 src/main.o
.debug_frame 0x0000000000000070 0x40 src/adc.o
.debug_frame 0x00000000000000b0 0x20 src/utils.o
.debug_str 0x0000000000000000 0x1cd
*(.debug_str)
.debug_str 0x0000000000000000 0x116 src/main.o
0x159 (size before relaxing)
.debug_str 0x0000000000000116 0x56 src/adc.o
0x11a (size before relaxing)
.debug_str 0x000000000000016c 0x61 src/utils.o
0x12e (size before relaxing)
.debug_loc 0x0000000000000000 0x17b
*(.debug_loc)
.debug_loc 0x0000000000000000 0x1e src/main.o
.debug_loc 0x000000000000001e 0xcf src/adc.o
.debug_loc 0x00000000000000ed 0x8e src/utils.o
.debug_macinfo
*(.debug_macinfo)
OUTPUT(main.elf elf32-avr)
LOAD linker stubs
.debug_pubtypes
0x0000000000000000 0xac
.debug_pubtypes
0x0000000000000000 0x3c src/main.o
.debug_pubtypes
0x000000000000003c 0x38 src/adc.o
.debug_pubtypes
0x0000000000000074 0x38 src/utils.o
Cross Reference Table
Symbol File
__bad_interrupt /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__bss_end /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_clear_bss.o)
__bss_start /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_clear_bss.o)
__do_clear_bss /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_clear_bss.o)
src/main.o
__heap_end /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__init /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__stack /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__udivmodsi4 /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_udivmodsi4.o)
src/adc.o
__vector_1 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_10 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_11 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_12 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_13 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_14 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_15 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_16 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_17 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_18 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_2 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_3 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_4 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_5 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_6 src/main.o
/usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_7 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_8 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_9 /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vector_default /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
__vectors /usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
_exit /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_exit.o)
adc_init src/adc.o
src/main.o
adc_read_avg src/adc.o
src/main.o
adc_read_single src/adc.o
exit /usr/lib/gcc/avr/4.5.3/avr4/libgcc.a(_exit.o)
/usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
get_power src/main.o
get_voltage src/main.o
main src/main.o
/usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr4/crtm8.o
ports_init src/main.o
syscounter src/main.o
timer_init src/main.o
wait src/utils.o

View File

@ -0,0 +1,75 @@
00000000 W __heap_end
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 W __vector_default
00000000 T __vectors
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000026 T __ctors_end
00000026 T __ctors_start
00000026 T __dtors_end
00000026 T __dtors_start
00000026 W __init
00000026 T __trampolines_end
00000026 T __trampolines_start
00000032 T __do_clear_bss
00000034 a __CCP__
00000034 a __CCP__
00000034 a __CCP__
0000003a t .do_clear_bss_loop
0000003c t .do_clear_bss_start
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
00000046 T __bad_interrupt
00000046 W __vector_1
00000046 W __vector_10
00000046 W __vector_11
00000046 W __vector_12
00000046 W __vector_13
00000046 W __vector_14
00000046 W __vector_15
00000046 W __vector_16
00000046 W __vector_17
00000046 W __vector_18
00000046 W __vector_2
00000046 W __vector_3
00000046 W __vector_4
00000046 W __vector_5
00000046 W __vector_7
00000046 W __vector_8
00000046 W __vector_9
00000048 T timer_init
0000005e T ports_init
0000006c T get_voltage
00000070 T get_power
00000082 T main
0000008a T __vector_6
000000b8 T adc_init
000000ce T adc_read_single
000000e6 T adc_read_avg
0000013a T wait
00000158 T __udivmodsi4
00000164 t __udivmodsi4_loop
0000017e t __udivmodsi4_ep
0000019c T _exit
0000019c W exit
0000019e t __stop_program
000001a0 A __data_load_end
000001a0 A __data_load_start
000001a0 T _etext
0000045f W __stack
00800060 B __bss_start
00800060 T _edata
00800060 B syscounter
00800062 B __bss_end
00800062 N _end
00810000 N __eeprom_end

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="C++" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Cpp SDK" jdkType="CppSdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,41 @@
#include <avr/io.h>
void adc_init(void) {
uint16_t dummyResult;
// AVCC with external capacitor at AREF pin
ADMUX = _BV(REFS0);
// set frequency prescaler to 8
ADCSRA = _BV(ADPS1) | _BV(ADPS0);
// enable ADC
ADCSRA |= _BV(ADEN);
// make a dummy read out
ADCSRA |= _BV(ADSC);
while (ADCSRA & _BV(ADSC) ) {
}
// we have to read, otherwise the next result is not available
dummyResult = ADCW;
}
uint16_t adc_read_single(uint8_t channel) {
ADMUX = (ADMUX & ~(0x1F)) | (channel & 0x1F);
ADCSRA |= _BV(ADSC);
while (ADCSRA & (1<<ADSC) ) {
}
return ADCW;
}
uint16_t adc_read_avg(uint8_t channel, uint8_t nsamples) {
uint32_t sum = 0;
for (uint8_t i=0; i<nsamples;++i ) {
sum += adc_read_single(channel);
}
return (uint16_t)(sum / nsamples);
}

View File

@ -0,0 +1,8 @@
#ifndef _adc_h
#define _adc_h
void adc_init(void);
uint16_t adc_read_single(uint8_t);
uint16_t adc_read_avg(uint8_t, uint8_t);
#endif

View File

@ -0,0 +1,155 @@
1 .file "adc.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
15 .Ltext0:
16 .global adc_init
18 adc_init:
19 .LFB0:
20 .LM1:
21 /* prologue: function */
22 /* frame size = 0 */
23 /* stack size = 0 */
24 .L__stack_usage = 0
25 .LM2:
26 0000 80E4 ldi r24,lo8(64)
27 0002 87B9 out 39-32,r24
28 .LM3:
29 0004 83E0 ldi r24,lo8(3)
30 0006 86B9 out 38-32,r24
31 .LM4:
32 0008 379A sbi 38-32,7
33 .LM5:
34 000a 369A sbi 38-32,6
35 .L2:
36 .LM6:
37 000c 3699 sbic 38-32,6
38 000e 00C0 rjmp .L2
39 .LM7:
40 0010 84B1 in r24,36-32
41 0012 95B1 in r25,36+1-32
42 /* epilogue start */
43 .LM8:
44 0014 0895 ret
45 .LFE0:
47 .global adc_read_single
49 adc_read_single:
50 .LFB1:
51 .LM9:
52 .LVL0:
53 /* prologue: function */
54 /* frame size = 0 */
55 /* stack size = 0 */
56 .L__stack_usage = 0
57 .LM10:
58 0016 97B1 in r25,39-32
59 0018 8F71 andi r24,lo8(31)
60 .LVL1:
61 001a 907E andi r25,lo8(-32)
62 001c 892B or r24,r25
63 001e 87B9 out 39-32,r24
64 .LM11:
65 0020 369A sbi 38-32,6
66 .L5:
67 .LM12:
68 0022 3699 sbic 38-32,6
69 0024 00C0 rjmp .L5
70 .LM13:
71 0026 24B1 in r18,36-32
72 0028 35B1 in r19,36+1-32
73 .LM14:
74 002a C901 movw r24,r18
75 /* epilogue start */
76 002c 0895 ret
77 .LFE1:
79 .global adc_read_avg
81 adc_read_avg:
82 .LFB2:
83 .LM15:
84 .LVL2:
85 002e BF92 push r11
86 0030 CF92 push r12
87 0032 DF92 push r13
88 0034 EF92 push r14
89 0036 FF92 push r15
90 0038 0F93 push r16
91 003a 1F93 push r17
92 /* prologue: function */
93 /* frame size = 0 */
94 /* stack size = 7 */
95 .L__stack_usage = 7
96 003c D82E mov r13,r24
97 003e B62E mov r11,r22
98 .LVL3:
99 .LBB2:
100 .LM16:
101 0040 CC24 clr r12
102 .LM17:
103 0042 EE24 clr r14
104 0044 FF24 clr r15
105 0046 8701 movw r16,r14
106 .LM18:
107 0048 00C0 rjmp .L8
108 .LVL4:
109 .L9:
110 .LM19:
111 004a 8D2D mov r24,r13
112 004c 00D0 rcall adc_read_single
113 004e AC01 movw r20,r24
114 0050 60E0 ldi r22,lo8(0)
115 0052 70E0 ldi r23,hi8(0)
116 0054 E40E add r14,r20
117 0056 F51E adc r15,r21
118 0058 061F adc r16,r22
119 005a 171F adc r17,r23
120 .LVL5:
121 .LM20:
122 005c C394 inc r12
123 .LVL6:
124 .L8:
125 .LM21:
126 005e CB14 cp r12,r11
127 0060 00F0 brlo .L9
128 .LBE2:
129 .LM22:
130 0062 2B2D mov r18,r11
131 0064 30E0 ldi r19,lo8(0)
132 0066 40E0 ldi r20,lo8(0)
133 0068 50E0 ldi r21,hi8(0)
134 006a C801 movw r24,r16
135 006c B701 movw r22,r14
136 006e 00D0 rcall __udivmodsi4
137 .LM23:
138 0070 C901 movw r24,r18
139 /* epilogue start */
140 0072 1F91 pop r17
141 0074 0F91 pop r16
142 0076 FF90 pop r15
143 0078 EF90 pop r14
144 .LVL7:
145 007a DF90 pop r13
146 .LVL8:
147 007c CF90 pop r12
148 .LVL9:
149 007e BF90 pop r11
150 .LVL10:
151 0080 0895 ret
152 .LFE2:
194 .Letext0:
DEFINED SYMBOLS
*ABS*:0000000000000000 adc.c
/tmp/cccUykaz.s:2 *ABS*:000000000000003f __SREG__
/tmp/cccUykaz.s:3 *ABS*:000000000000003e __SP_H__
/tmp/cccUykaz.s:4 *ABS*:000000000000003d __SP_L__
/tmp/cccUykaz.s:5 *ABS*:0000000000000034 __CCP__
/tmp/cccUykaz.s:6 *ABS*:0000000000000000 __tmp_reg__
/tmp/cccUykaz.s:7 *ABS*:0000000000000001 __zero_reg__
/tmp/cccUykaz.s:18 .text:0000000000000000 adc_init
/tmp/cccUykaz.s:49 .text:0000000000000016 adc_read_single
/tmp/cccUykaz.s:81 .text:000000000000002e adc_read_avg
UNDEFINED SYMBOLS
__udivmodsi4

Binary file not shown.

View File

@ -0,0 +1,138 @@
#ifndef _asciiart_h
#define _asciiart_h
#define NUM_ROWS 10
#define ASCII_OFFSET 0
const uint8_t characters[128][10] PROGMEM = {
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{66,165,24,0,0,0,0,0,0,0}, // smiley 1
{56,68,130,170,130,130,146,130,68,56}, // smiley 2
{56,68,130,170,130,130,186,130,68,56}, // smiley 3
{56,68,130,170,130,130,186,198,68,56}, // smiley 4
{56,68,130,170,130,130,170,146,68,56}, // smiley 5
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{255,255,255,255,255,255,255,255,255,255}, // gefuellt
{0,0,0,0,0,0,0,0,0,0}, // leer
{56,254,254,124,124,56,56,16,0,16}, // !
{36,36,0,0,0,0,0,0,0,0}, // "
{0,72,72,254,72,72,238,72,72,0}, // #
{16,60,80,80,48,24,20,20,120,16}, // $
{0,100,100,8,8,16,19,35,0,0}, // %
{24,68,68,68,24,40,69,66,70,57}, // &
{0,32,32,32,0,0,0,0,0,0}, // '
{16,32,32,32,32,32,32,32,32,16}, // (
{32,16,16,16,16,16,16,16,16,32}, // )
{0,0,0,24,60,60,24,0,0,0}, // *
{0,0,16,16,16,254,16,16,16,0}, // +
{0,0,0,0,0,0,0,48,48,64}, // ,
{0,0,0,0,0,126,0,0,0,0}, // -
{0,0,0,0,0,0,0,0,24,24}, // .
{2,4,4,12,8,16,16,32,32,64}, // /
{59,68,130,130,130,130,130,130,68,56}, // 0
{24,40,72,136,8,8,8,8,8,8}, // 1
{56,68,132,4,8,16,32,64,128,252}, // 2
{56,68,130,2,4,4,2,130,68,56}, // 3
{8,24,40,72,252,8,8,8,8,8}, // 4
{254,128,128,184,196,2,2,130,68,56}, // 5
{56,68,128,128,176,200,132,132,72,48}, // 6
{254,2,4,8,124,32,32,64,64,128}, // 7
{56,68,130,68,56,68,130,130,68,56}, // 8
{60,66,130,130,64,62,2,130,68,56}, // 9
{0,0,48,48,0,0,48,48,0,0}, // :
{0,48,48,0,0,48,48,64,64,0}, // ;
{0,0,24,32,64,64,32,24,0,0}, // <
{0,0,0,60,0,60,0,0,0,0}, // =
{0,0,32,16,8,8,16,32,0,0}, // >
{56,68,130,2,2,4,8,16,0,16}, // ?
{126,153,153,165,133,157,164,166,125,60},// @
{16,40,68,130,130,254,130,130,130,130}, // A
{248,132,132,132,248,132,130,130,130,252},// B
{60,66,128,128,128,128,128,128,66,60}, // C
{248,132,130,130,130,130,130,130,132,248},// D
{124,64,64,64,124,64,64,64,64,124}, // E
{124,64,64,64,124,64,64,64,64,64}, // F
{56,64,128,128,128,140,130,130,132,120},// G
{130,130,130,130,254,130,130,130,130,130},// H
{124,16,16,16,16,16,16,16,16,124}, // I
{2,2,2,2,2,2,2,2,68,56}, // J
{132,136,144,160,192,192,160,144,136,132},// K
{128,128,128,128,128,128,128,128,128,248},// L
{130,198,170,170,146,130,130,130,130,130},// M
{130,194,162,162,146,146,138,138,134,130},// N
{56,68,130,130,130,130,130,130,68,56}, // O
{252,130,130,130,252,128,128,128,128,128},// P
{56,68,130,130,130,130,130,138,68,58}, // Q
{252,130,130,130,252,136,132,130,130,130},// R
{62,64,128,128,96,24,4,2,2,252}, // S
{254,16,16,16,16,16,16,16,16,16}, // T
{130,130,130,130,130,130,130,130,68,56},// U
{130,130,130,130,130,130,130,68,40,16}, // V
{130,130,130,130,146,170,170,198,198,130},// W
{130,68,68,40,16,16,40,68,68,130}, // X
{130,130,130,68,56,16,16,16,16,16}, // Y
{254,4,8,8,16,16,32,32,64,254}, // Z
{56,32,32,32,32,32,32,32,32,56}, // [
{128,64,64,64,32,32,16,16,8,12}, // backslash
{112,16,16,16,16,16,16,16,16,112}, // ]
{16,16,40,68,0,0,0,0,0,0}, // ^
{0,0,0,0,0,0,0,0,0,124}, // _
{24,4,0,0,0,0,0,0,0,0}, // `
{0,0,0,112,136,8,120,136,136,248}, // a
{0,0,0,128,128,128,240,136,136,240},
{0,0,0,0,112,128,128,128,128,112},
{0,0,0,8,8,8,120,136,136,120},
{0,0,0,0,112,136,248,128,128,120},
{0,0,0,16,32,32,112,32,32,32},
{0,0,0,120,136,136,120,8,8,240},
{0,0,0,128,128,128,240,136,136,136},
{0,0,0,32,0,32,32,32,32,32},
{0,0,0,16,0,16,16,16,144,96},
{0,0,0,128,128,144,160,192,160,144},
{0,0,0,32,32,32,32,32,32,32},
{0,0,0,0,108,84,84,84,84,84},
{0,0,0,0,240,136,136,136,136,136},
{0,0,0,0,112,136,136,136,136,112},
{0,0,0,0,120,68,68,120,64,64},
{0,0,0,0,120,136,136,120,8,8},
{0,0,0,0,176,192,128,128,128,128},
{0,0,0,0,112,128,64,32,16,224},
{0,0,0,64,64,224,64,64,64,48},
{0,0,0,0,136,136,136,136,136,112},
{0,0,0,0,136,136,136,136,80,32},
{0,0,0,0,146,146,146,84,84,40},
{0,0,0,0,136,80,32,32,80,136},
{0,0,0,0,136,136,80,32,32,64},
{0,0,0,0,248,16,32,64,128,248}, // z
{24,24,24,24,56,56,24,24,24,24}, // {
{0,32,32,32,32,32,32,32,32,0}, // |
{24,24,24,24,28,28,24,24,24,24}, // }
{0,0,0,0,50,76,0,0,0,0}, // ~
{0,0,0,0,126,98,98,98,126,0}, // kasten
};
#endif

View File

@ -0,0 +1,88 @@
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <utils.h>
#include "adc.h"
#define AD_I_LOAD 0
#define AD_I_GEN 1
#define AD_V 2
#define LOADSW PB0
#define GENSW PB1
#define DUMPSW PB2
#define PORT_SW PORTB
#define DDR_SW DDRB
#define LOAD_ON PORT_SW |= _BV(LOADSW)
#define LOAD_OFF PORT_SW &= ~_BV(LOADSW)
#define GEN_ON PORT_SW |= _BV(GENSW)
#define GEN_OFF PORT_SW &= ~_BV(GENSW)
#define DUMP_ON PORT_SW |= _BV(DUMPSW)
#define DUMP_OFF PORT_SW &= ~_BV(DUMPSW)
typedef enum {
generated,
consumed
} power_source;
volatile uint16_t syscounter = 0;
void timer_init(void) {
// clock is 8MHz
TCCR1B |= _BV(WGM12) | _BV(CS11) | _BV(CS10) ; // CTC Mode for Timer 1 (16Bit) with prescale of 64
OCR1A = 1250; // 100Hz
TIMSK = _BV(OCIE1A);
sei(); // enable interrupts
}
void ports_init(void) {
DDR_SW |= _BV(LOADSW) | _BV(GENSW) | _BV(DUMPSW);
PORT_SW &= ~(_BV(LOADSW) | _BV(GENSW) | _BV(DUMPSW));
}
uint8_t get_voltage(void) {
// voltage has a divider (12V - 56k - ADC - 27k - GND)
// so
uint8_t voltage = 0;
return voltage;
}
uint8_t get_power(power_source source) {
uint16_t voltage = get_voltage();
uint16_t amperes;
if(source == generated) {
amperes = adc_read_avg(AD_I_GEN, 4);
} else {
amperes = adc_read_avg(AD_I_LOAD, 4);
}
return 0;
}
int main(void) {
ports_init();
adc_init();
timer_init();
while(1) {
}
return(0);
}
// system timer
SIGNAL(TIMER1_COMPA_vect) {
syscounter++;
}

View File

@ -0,0 +1,26 @@
#ifndef _main_h
#define _main_h
// count of lines on display
#define NUM_ROWS 10
enum tower_mode_t {
NONE,
ROTATE_CCW,
ROTATE_CW,
BLINK,
};
enum display_mode_t {
NORMAL,
SCROLL
};
struct message_t {
enum display_mode_t mode;
uint8_t speed;
char *text;
};
#endif

View File

@ -0,0 +1,175 @@
1 .file "main.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
15 .Ltext0:
16 .global timer_init
18 timer_init:
19 .LFB0:
20 .LM1:
21 /* prologue: function */
22 /* frame size = 0 */
23 /* stack size = 0 */
24 .L__stack_usage = 0
25 .LM2:
26 0000 8EB5 in r24,78-32
27 0002 8B60 ori r24,lo8(11)
28 0004 8EBD out 78-32,r24
29 .LM3:
30 0006 82EE ldi r24,lo8(1250)
31 0008 94E0 ldi r25,hi8(1250)
32 000a 9BBD out 74+1-32,r25
33 000c 8ABD out 74-32,r24
34 .LM4:
35 000e 80E1 ldi r24,lo8(16)
36 0010 89BF out 89-32,r24
37 .LM5:
38 /* #APP */
39 ; 37 "src/main.c" 1
40 0012 7894 sei
41 ; 0 "" 2
42 /* epilogue start */
43 .LM6:
44 /* #NOAPP */
45 0014 0895 ret
46 .LFE0:
48 .global ports_init
50 ports_init:
51 .LFB1:
52 .LM7:
53 /* prologue: function */
54 /* frame size = 0 */
55 /* stack size = 0 */
56 .L__stack_usage = 0
57 .LM8:
58 0016 87B3 in r24,55-32
59 0018 8760 ori r24,lo8(7)
60 001a 87BB out 55-32,r24
61 .LM9:
62 001c 88B3 in r24,56-32
63 001e 887F andi r24,lo8(-8)
64 0020 88BB out 56-32,r24
65 /* epilogue start */
66 .LM10:
67 0022 0895 ret
68 .LFE1:
70 .global get_voltage
72 get_voltage:
73 .LFB2:
74 .LM11:
75 /* prologue: function */
76 /* frame size = 0 */
77 /* stack size = 0 */
78 .L__stack_usage = 0
79 .LVL0:
80 .LM12:
81 0024 80E0 ldi r24,lo8(0)
82 /* epilogue start */
83 0026 0895 ret
84 .LFE2:
86 .global get_power
88 get_power:
89 .LFB3:
90 .LM13:
91 .LVL1:
92 /* prologue: function */
93 /* frame size = 0 */
94 /* stack size = 0 */
95 .L__stack_usage = 0
96 .LM14:
97 0028 8823 tst r24
98 002a 01F4 brne .L5
99 .LM15:
100 002c 81E0 ldi r24,lo8(1)
101 .LVL2:
102 002e 00C0 rjmp .L7
103 .LVL3:
104 .L5:
105 .LM16:
106 0030 80E0 ldi r24,lo8(0)
107 .LVL4:
108 .L7:
109 0032 64E0 ldi r22,lo8(4)
110 0034 00D0 rcall adc_read_avg
111 .LM17:
112 0036 80E0 ldi r24,lo8(0)
113 /* epilogue start */
114 0038 0895 ret
115 .LFE3:
117 .global main
119 main:
120 .LFB4:
121 .LM18:
122 /* prologue: function */
123 /* frame size = 0 */
124 /* stack size = 0 */
125 .L__stack_usage = 0
126 .LM19:
127 003a 00D0 rcall ports_init
128 .LM20:
129 003c 00D0 rcall adc_init
130 .LM21:
131 003e 00D0 rcall timer_init
132 .L9:
133 0040 00C0 rjmp .L9
134 .LFE4:
136 .global __vector_6
138 __vector_6:
139 .LFB5:
140 .LM22:
141 0042 1F92 push __zero_reg__
142 0044 0F92 push r0
143 0046 0FB6 in r0,__SREG__
144 0048 0F92 push r0
145 004a 1124 clr __zero_reg__
146 004c 8F93 push r24
147 004e 9F93 push r25
148 /* prologue: Signal */
149 /* frame size = 0 */
150 /* stack size = 5 */
151 .L__stack_usage = 5
152 .LM23:
153 0050 8091 0000 lds r24,syscounter
154 0054 9091 0000 lds r25,syscounter+1
155 0058 0196 adiw r24,1
156 005a 9093 0000 sts syscounter+1,r25
157 005e 8093 0000 sts syscounter,r24
158 /* epilogue start */
159 .LM24:
160 0062 9F91 pop r25
161 0064 8F91 pop r24
162 0066 0F90 pop r0
163 0068 0FBE out __SREG__,r0
164 006a 0F90 pop r0
165 006c 1F90 pop __zero_reg__
166 006e 1895 reti
167 .LFE5:
169 .global syscounter
170 .global syscounter
171 .section .bss
174 syscounter:
175 0000 0000 .skip 2,0
240 .Letext0:
DEFINED SYMBOLS
*ABS*:0000000000000000 main.c
/tmp/cc5sOhJc.s:2 *ABS*:000000000000003f __SREG__
/tmp/cc5sOhJc.s:3 *ABS*:000000000000003e __SP_H__
/tmp/cc5sOhJc.s:4 *ABS*:000000000000003d __SP_L__
/tmp/cc5sOhJc.s:5 *ABS*:0000000000000034 __CCP__
/tmp/cc5sOhJc.s:6 *ABS*:0000000000000000 __tmp_reg__
/tmp/cc5sOhJc.s:7 *ABS*:0000000000000001 __zero_reg__
/tmp/cc5sOhJc.s:18 .text:0000000000000000 timer_init
/tmp/cc5sOhJc.s:50 .text:0000000000000016 ports_init
/tmp/cc5sOhJc.s:72 .text:0000000000000024 get_voltage
/tmp/cc5sOhJc.s:88 .text:0000000000000028 get_power
/tmp/cc5sOhJc.s:119 .text:000000000000003a main
/tmp/cc5sOhJc.s:138 .text:0000000000000042 __vector_6
/tmp/cc5sOhJc.s:174 .bss:0000000000000000 syscounter
UNDEFINED SYMBOLS
adc_read_avg
adc_init
__do_clear_bss

Binary file not shown.

View File

@ -0,0 +1,14 @@
#include <avr/io.h>
#include <util/delay.h>
void wait(uint8_t count) {
uint8_t i;
if(count == 0) count = 100;
for(i=0;i<count;i++) {
_delay_ms(10);
}
}

View File

@ -0,0 +1,9 @@
#ifndef _utils_h
#define _utils_h
void wait(uint8_t count);
#endif

View File

@ -0,0 +1,62 @@
1 .file "utils.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
15 .Ltext0:
16 .global wait
18 wait:
19 .LFB6:
20 .LM1:
21 .LVL0:
22 /* prologue: function */
23 /* frame size = 0 */
24 /* stack size = 0 */
25 .L__stack_usage = 0
26 .LM2:
27 0000 8823 tst r24
28 0002 01F4 brne .L2
29 0004 84E6 ldi r24,lo8(100)
30 .LVL1:
31 .L2:
32 .LM3:
33 0006 90E0 ldi r25,lo8(0)
34 0008 00C0 rjmp .L3
35 .LVL2:
36 .L4:
37 .LBB4:
38 .LBB5:
39 .LM4:
40 000a E3EC ldi r30,lo8(2499)
41 000c F9E0 ldi r31,hi8(2499)
42 000e 3197 1:sbiw r30,1
43 0010 01F4 brne 1b
44 0012 00C0 rjmp .
45 0014 0000 nop
46 .LBE5:
47 .LBE4:
48 .LM5:
49 0016 9F5F subi r25,lo8(-(1))
50 .LVL3:
51 .L3:
52 .LM6:
53 0018 9817 cp r25,r24
54 001a 00F0 brlo .L4
55 /* epilogue start */
56 .LM7:
57 001c 0895 ret
58 .LFE6:
84 .Letext0:
DEFINED SYMBOLS
*ABS*:0000000000000000 utils.c
/tmp/cctzSRIE.s:2 *ABS*:000000000000003f __SREG__
/tmp/cctzSRIE.s:3 *ABS*:000000000000003e __SP_H__
/tmp/cctzSRIE.s:4 *ABS*:000000000000003d __SP_L__
/tmp/cctzSRIE.s:5 *ABS*:0000000000000034 __CCP__
/tmp/cctzSRIE.s:6 *ABS*:0000000000000000 __tmp_reg__
/tmp/cctzSRIE.s:7 *ABS*:0000000000000001 __zero_reg__
/tmp/cctzSRIE.s:18 .text:0000000000000000 wait
NO UNDEFINED SYMBOLS

Binary file not shown.