created software directory
This commit is contained in:
parent
ff3a5bc2e3
commit
6d0e569a3f
|
@ -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><b>Harting & 3M Connectors</b><p>
|
||||||
|
Low profile connectors, straight<p>
|
||||||
|
<author>Created by librarian@cadsoft.de</author></description>
|
||||||
|
<packages>
|
||||||
|
<package name="ML14">
|
||||||
|
<description><b>HARTING</b></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">>NAME</text>
|
||||||
|
<text x="0" y="5.08" size="1.778" layer="27" ratio="10">>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><b>LEDs</b><p>
|
||||||
|
<author>Created by librarian@cadsoft.de</author><br>
|
||||||
|
Extended by Federico Battaglin <author>&lt;federico.rd@fdpinternational.com&gt;</author> with DUOLED</description>
|
||||||
|
<packages>
|
||||||
|
<package name="LED5MM">
|
||||||
|
<description><B>LED</B><p>
|
||||||
|
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">>NAME</text>
|
||||||
|
<text x="3.2004" y="-1.8034" size="1.27" layer="27" ratio="10">>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"><b>EAGLE Design Rules</b>
|
||||||
|
<p>
|
||||||
|
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"><b>EAGLE Design Rules</b>
|
||||||
|
<p>
|
||||||
|
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>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
||||||
|
bikegenerator
|
|
@ -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>
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
<component name="CopyrightManager">
|
||||||
|
<settings default="">
|
||||||
|
<module2copyright />
|
||||||
|
</settings>
|
||||||
|
</component>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
|
||||||
|
</project>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
<component name="DependencyValidationManager">
|
||||||
|
<state>
|
||||||
|
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
|
||||||
|
</state>
|
||||||
|
</component>
|
|
@ -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>
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
|
@ -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="<template>" 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>
|
||||||
|
|
|
@ -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
|
|
@ -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>
|
||||||
|
|
|
@ -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:
|
|
@ -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:
|
|
@ -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:
|
|
@ -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
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
:00000001FF
|
Binary file not shown.
|
@ -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
|
|
@ -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>
|
|
@ -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
|
|
@ -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
|
|
@ -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>
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
|
@ -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
|
|
@ -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.
|
@ -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
|
|
@ -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++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
#ifndef _utils_h
|
||||||
|
#define _utils_h
|
||||||
|
|
||||||
|
void wait(uint8_t count);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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.
Loading…
Reference in New Issue