remove display board, since it never made it into the finals
This commit is contained in:
		
							parent
							
								
									fee54a77eb
								
							
						
					
					
						commit
						420d08dd47
					
				@ -1,9 +0,0 @@
 | 
				
			|||||||
The OLED display board
 | 
					 | 
				
			||||||
======================
 | 
					 | 
				
			||||||
======================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The Board features an attiny84a as its primary controller, which comunicates with an ssd1306 as the oled 
 | 
					 | 
				
			||||||
display controller and uses its interrupt lines for the encoder.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**All datasheets can be found in the `doc/` folder.**
 | 
					 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@ -1,69 +0,0 @@
 | 
				
			|||||||
description[de] = <b>Werkstatt Design Rules --- <font size=4 color="red">BITTE LESEN!!!</font></b>\n<p>\n<p>\nDiese Design-Rules sind explizit für die Möglichkeiten der EMSP-Werkstatt eingestellt. <br>\nAlles was hier bemängelt wird, sollte nochmal überprüft und angepasst werden.\n<p><br>\n<p>\n<font color="red"><b>ACHTUNG - VOR der Abgabe beachten:</b><p></font color="red">\n<ul>\n0. Vor dem DRC immer den ERC prüfen!\n<br>\n1. Zur DRC-Prüfung & Abgabe nur die zu ätzenden Layer einblenden (Top, Bottom, Pad, Vias, Dimension, Centerdrill).\n<br>\n2. Bitte keine Beschriftungen oder ähnliches in das Layer Dimension legen. Ausschließlich die Schnittkanten der Platinen.\n<br>\n3. Isolate der Polygone wird nicht vom DRC überprüft: Bitte mindestens 0,4mm - besser 0,8mm.\n<br>\n4. Für die Bohrlöcher das ULP Drillaid (0,4mm) ausführen - das erleichtert das Bohren.\n<br>\n5. Beschriftungen setzen: Top, Bottom, 'Ersteller', 'Betreuer', Projekt, etc.\n<br>\n6. Bitte ausschließlich die zu ätzenden Layer einblenden.\n<br>\n7. Benenne die schematic- (.sch) und Board-Datei (.brd) mit Namen/Modul und Anforderungen um ( Einseitig = ES oder Doppelseitig = DS ).\n</ul>\n<p>\n<br>\n<p>\nletzte Aktualisierung: 27.05.2015 von Felix Bohn\n<p>\nErläuterungen (dazu Fenster vergrößern):\n...\n<ul>- Winkel werden auf 45° geprüft, da bei anderen Winkeln kleine Ecken entstehen - diese werden auch vom Drucker entsprechend gedruckt und hindern das Ätzbad am Fließen, so dass besonders bei feinen Bahnen ein schlechteres Ergebnis erzielt wird.<br>\n- Beschriftungen sind für die Zuordnung und für den Prozess der Platinenherstellung unverzichtbar.<br>\n- Drillaid sorgt dafür, dass die Bohrlöcher so aufgefüllt werden, dass nur noch ein kleiner Zentrierungspunkt übrig bleibt. So findet der Bohrer besser das Zentrum des Lochs. Dies ist besonders Wichtig bei Bauelementen mit mehreren Beinchen (ICs, Stecker, etc.).<br>\n- Isolate ist der Abstand des Polygons zu den Leiterbahnen und Pads. Ist dieser zu gering, entstehen beim Löten sehr schnell Kurzschlüsse, da es keine Lötstopmaske gibt.<br>\n</ul>
 | 
					 | 
				
			||||||
description[en] = <b>EAGLE Design Rules</b>\n<p>\nThe default Design Rules have been set to cover\na wide range of applications. Your particular design\nmay have different requirements, so please make the\nnecessary adjustments and save your customized\ndesign rules under a new name.
 | 
					 | 
				
			||||||
layerSetup = (1*16)
 | 
					 | 
				
			||||||
mtCopper = 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
 | 
					 | 
				
			||||||
mtIsolate = 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
 | 
					 | 
				
			||||||
mdWireWire = 8mil
 | 
					 | 
				
			||||||
mdWirePad = 8mil
 | 
					 | 
				
			||||||
mdWireVia = 8mil
 | 
					 | 
				
			||||||
mdPadPad = 8mil
 | 
					 | 
				
			||||||
mdPadVia = 8mil
 | 
					 | 
				
			||||||
mdViaVia = 8mil
 | 
					 | 
				
			||||||
mdSmdPad = 8mil
 | 
					 | 
				
			||||||
mdSmdVia = 8mil
 | 
					 | 
				
			||||||
mdSmdSmd = 8mil
 | 
					 | 
				
			||||||
mdViaViaSameLayer = 8mil
 | 
					 | 
				
			||||||
mnLayersViaInSmd = 2
 | 
					 | 
				
			||||||
mdCopperDimension = 20mil
 | 
					 | 
				
			||||||
mdDrill = 8mil
 | 
					 | 
				
			||||||
mdSmdStop = 0mil
 | 
					 | 
				
			||||||
msWidth = 10mil
 | 
					 | 
				
			||||||
msDrill = 20mil
 | 
					 | 
				
			||||||
msMicroVia = 20mil
 | 
					 | 
				
			||||||
msBlindViaRatio = 0.500000
 | 
					 | 
				
			||||||
rvPadTop = 0.400000
 | 
					 | 
				
			||||||
rvPadInner = 0.400000
 | 
					 | 
				
			||||||
rvPadBottom = 0.400000
 | 
					 | 
				
			||||||
rvViaOuter = 0.400000
 | 
					 | 
				
			||||||
rvViaInner = 0.400000
 | 
					 | 
				
			||||||
rvMicroViaOuter = 0.250000
 | 
					 | 
				
			||||||
rvMicroViaInner = 0.250000
 | 
					 | 
				
			||||||
rlMinPadTop = 10mil
 | 
					 | 
				
			||||||
rlMaxPadTop = 40mil
 | 
					 | 
				
			||||||
rlMinPadInner = 10mil
 | 
					 | 
				
			||||||
rlMaxPadInner = 40mil
 | 
					 | 
				
			||||||
rlMinPadBottom = 10mil
 | 
					 | 
				
			||||||
rlMaxPadBottom = 40mil
 | 
					 | 
				
			||||||
rlMinViaOuter = 8mil
 | 
					 | 
				
			||||||
rlMaxViaOuter = 40mil
 | 
					 | 
				
			||||||
rlMinViaInner = 8mil
 | 
					 | 
				
			||||||
rlMaxViaInner = 40mil
 | 
					 | 
				
			||||||
rlMinMicroViaOuter = 4mil
 | 
					 | 
				
			||||||
rlMaxMicroViaOuter = 20mil
 | 
					 | 
				
			||||||
rlMinMicroViaInner = 4mil
 | 
					 | 
				
			||||||
rlMaxMicroViaInner = 20mil
 | 
					 | 
				
			||||||
psTop = -1
 | 
					 | 
				
			||||||
psBottom = -1
 | 
					 | 
				
			||||||
psFirst = -1
 | 
					 | 
				
			||||||
psElongationLong = 100
 | 
					 | 
				
			||||||
psElongationOffset = 100
 | 
					 | 
				
			||||||
mvStopFrame = 1.000000
 | 
					 | 
				
			||||||
mvCreamFrame = 0.000000
 | 
					 | 
				
			||||||
mlMinStopFrame = 4mil
 | 
					 | 
				
			||||||
mlMaxStopFrame = 4mil
 | 
					 | 
				
			||||||
mlMinCreamFrame = 0mil
 | 
					 | 
				
			||||||
mlMaxCreamFrame = 0mil
 | 
					 | 
				
			||||||
mlViaStopLimit = 0mil
 | 
					 | 
				
			||||||
srRoundness = 0.000000
 | 
					 | 
				
			||||||
srMinRoundness = 0mil
 | 
					 | 
				
			||||||
srMaxRoundness = 0mil
 | 
					 | 
				
			||||||
slThermalIsolate = 15mil
 | 
					 | 
				
			||||||
slThermalsForVias = 1
 | 
					 | 
				
			||||||
dpMaxLengthDifference = 10mm
 | 
					 | 
				
			||||||
dpGapFactor = 2.500000
 | 
					 | 
				
			||||||
checkGrid = 0
 | 
					 | 
				
			||||||
checkAngle = 1
 | 
					 | 
				
			||||||
checkFont = 1
 | 
					 | 
				
			||||||
checkRestrict = 1
 | 
					 | 
				
			||||||
useDiameter = 31
 | 
					 | 
				
			||||||
maxErrors = 50
 | 
					 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,406 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<!DOCTYPE eagle SYSTEM "eagle.dtd">
 | 
					 | 
				
			||||||
<eagle version="9.2.0">
 | 
					 | 
				
			||||||
<drawing>
 | 
					 | 
				
			||||||
<settings>
 | 
					 | 
				
			||||||
<setting alwaysvectorfont="no"/>
 | 
					 | 
				
			||||||
<setting verticaltext="up"/>
 | 
					 | 
				
			||||||
</settings>
 | 
					 | 
				
			||||||
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="yes" altdistance="0.01" 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="yes"/>
 | 
					 | 
				
			||||||
<layer number="3" name="Route3" color="4" fill="3" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="4" name="Route4" color="1" fill="4" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="5" name="Route5" color="4" fill="4" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="6" name="Route6" color="1" fill="8" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="7" name="Route7" color="4" fill="8" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="8" name="Route8" color="1" fill="2" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="9" name="Route9" color="4" fill="2" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="10" name="Route10" color="1" fill="7" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="11" name="Route11" color="4" fill="7" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="12" name="Route12" color="1" fill="5" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="13" name="Route13" color="4" fill="5" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="14" name="Route14" color="1" fill="6" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="15" name="Route15" color="4" fill="6" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<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="24" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="88" name="SimResults" color="9" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="89" name="SimProbes" color="9" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="93" name="Pins" color="2" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
</layers>
 | 
					 | 
				
			||||||
<library>
 | 
					 | 
				
			||||||
<packages>
 | 
					 | 
				
			||||||
<package name="QFN45P300X300X85-21T170" urn="urn:adsk.eagle:footprint:7166536/1" locally_modified="yes">
 | 
					 | 
				
			||||||
<description>20-QFN, 0.45 mm pitch, 3.00 X 3.00 X 0.85 mm body, 1.70 X 1.70 mm thermal pad
 | 
					 | 
				
			||||||
<p>20-pin QFN package with 0.45 mm pitch with body size 3.00 X 3.00 X 0.85 mm and thermal pad size 1.70 X 1.70 mm</p></description>
 | 
					 | 
				
			||||||
<circle x="-2.054" y="1.524" radius="0.25" width="0" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="1.274" x2="-1.55" y2="1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="1.55" x2="-1.274" y2="1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="1.274" x2="1.55" y2="1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="1.55" x2="1.274" y2="1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="-1.274" x2="1.55" y2="-1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="-1.55" x2="1.274" y2="-1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="-1.274" x2="-1.55" y2="-1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="-1.55" x2="-1.274" y2="-1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="-1.55" x2="-1.55" y2="-1.55" width="0.12" layer="51"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="-1.55" x2="-1.55" y2="1.55" width="0.12" layer="51"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="1.55" x2="1.55" y2="1.55" width="0.12" layer="51"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="1.55" x2="1.55" y2="-1.55" width="0.12" layer="51"/>
 | 
					 | 
				
			||||||
<smd name="1" x="-1.5456" y="0.9" dx="0.818" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="2" x="-1.4456" y="0.45" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="3" x="-1.4456" y="0" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="4" x="-1.4456" y="-0.45" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="5" x="-1.5456" y="-0.9" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="6" x="-0.9" y="-1.5456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="7" x="-0.45" y="-1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="8" x="0" y="-1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="9" x="0.45" y="-1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="10" x="0.9" y="-1.5456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="11" x="1.5456" y="-0.9" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="12" x="1.4456" y="-0.45" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="13" x="1.4456" y="0" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="14" x="1.4456" y="0.45" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="15" x="1.5456" y="0.9" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="16" x="0.9" y="1.5456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="17" x="0.45" y="1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="18" x="0" y="1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="19" x="-0.45" y="1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="20" x="-0.9" y="1.5456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="21" x="0" y="0" dx="1.7" dy="1.7" layer="1" thermals="no"/>
 | 
					 | 
				
			||||||
<text x="0" y="2.4996" size="1.27" layer="25" align="bottom-center">>NAME</text>
 | 
					 | 
				
			||||||
<text x="0" y="-2.4996" size="1.27" layer="27" align="top-center">>VALUE</text>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="DREHGEBER">
 | 
					 | 
				
			||||||
<pad name="A" x="-2.5" y="-7.5" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="C" x="0" y="-7.5" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="B" x="2.5" y="-7.5" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="S" x="-2.5" y="7" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="W" x="2.5" y="7" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="M2" x="-6" y="0" drill="3.2"/>
 | 
					 | 
				
			||||||
<pad name="M1" x="6" y="0" drill="3.2"/>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="SLIDER">
 | 
					 | 
				
			||||||
<pad name="1" x="-36.75" y="1.75" drill="1.2" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="2" x="-36.75" y="-1.75" drill="1.2" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="3" x="36.75" y="1.75" drill="1.2" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="G1" x="-31.4" y="4.2" drill="1.8"/>
 | 
					 | 
				
			||||||
<pad name="G3" x="31.4" y="4.2" drill="1.8"/>
 | 
					 | 
				
			||||||
<pad name="G2" x="-32.6" y="-4.2" drill="1.8"/>
 | 
					 | 
				
			||||||
<pad name="G4" x="32.6" y="-4.2" drill="1.8"/>
 | 
					 | 
				
			||||||
<wire x1="-37" y1="4.5" x2="37" y2="4.5" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-37" y1="-4.5" x2="37" y2="-4.5" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-37" y1="4.5" x2="-37" y2="-4.5" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="37" y1="4.5" x2="37" y2="-4.5" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-30" y1="1" x2="30" y2="1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-30" y1="1" x2="-30" y2="-1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="30" y1="1" x2="30" y2="-1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<text x="-38" y="0" size="1.27" layer="25" rot="R90" align="bottom-center">>NAME</text>
 | 
					 | 
				
			||||||
<wire x1="-30" y1="-1" x2="30" y2="-1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="POTI">
 | 
					 | 
				
			||||||
<pad name="2" x="-1.25" y="-11" drill="1"/>
 | 
					 | 
				
			||||||
<pad name="3" x="1.25" y="-11" drill="1"/>
 | 
					 | 
				
			||||||
<pad name="1" x="-3.75" y="-11" drill="1"/>
 | 
					 | 
				
			||||||
<pad name="4" x="3.75" y="-11" drill="1"/>
 | 
					 | 
				
			||||||
<pad name="M2" x="5.45" y="0" drill="2.5"/>
 | 
					 | 
				
			||||||
<pad name="M1" x="-5.45" y="0" drill="2.5"/>
 | 
					 | 
				
			||||||
<wire x1="-5.5" y1="-9.1" x2="5.5" y2="-9.1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-5.5" y1="6.6" x2="5.5" y2="6.6" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="5.5" y1="6.6" x2="5.5" y2="-9.1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-5.5" y1="6.6" x2="-5.5" y2="-9.1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<text x="0" y="6.6" size="1.27" layer="25" align="bottom-center">>NAME</text>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="PROGPIN">
 | 
					 | 
				
			||||||
<smd name="VDD" x="0" y="0" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="MOSI" x="2.5" y="0" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="GND" x="5" y="0" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="!RST" x="5" y="-2.5" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="CLK" x="2.5" y="-2.5" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="MISO" x="0" y="-2.5" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<pad name="P$7" x="-5" y="0" drill="2.5" diameter="3.81"/>
 | 
					 | 
				
			||||||
<pad name="P$8" x="10" y="-2.5" drill="2.5" diameter="3.81"/>
 | 
					 | 
				
			||||||
<wire x1="-10" y1="0" x2="-10" y2="-2.5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-10" y1="-2.5" x2="-7.5" y2="-5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-7.5" y1="-5" x2="12.5" y2="-5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="12.5" y1="-5" x2="15" y2="-2.5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="15" y1="-2.5" x2="15" y2="0" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="15" y1="0" x2="12.5" y2="2.5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="12.5" y1="2.5" x2="-7.5" y2="2.5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-7.5" y1="2.5" x2="-10" y2="0" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<text x="-5" y="2.5" size="1.778" layer="25">>NAME</text>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="12832_OLED">
 | 
					 | 
				
			||||||
<pad name="4" x="-3.81" y="0" drill="0.9" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="3" x="-1.27" y="0" drill="0.9" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="2" x="1.27" y="0" drill="0.9" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="1" x="3.81" y="0" drill="0.9" shape="octagon"/>
 | 
					 | 
				
			||||||
<wire x1="-6" y1="-2.54" x2="6" y2="-2.54" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-6" y1="35.46" x2="6" y2="35.46" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-6" y1="35.46" x2="-6" y2="-2.54" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="6" y1="35.46" x2="6" y2="-2.54" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
</packages>
 | 
					 | 
				
			||||||
<packages3d>
 | 
					 | 
				
			||||||
<package3d name="QFN45P300X300X85-21T170" urn="urn:adsk.eagle:package:7166534/1" locally_modified="yes" type="model">
 | 
					 | 
				
			||||||
<description>20-QFN, 0.45 mm pitch, 3.00 X 3.00 X 0.85 mm body, 1.70 X 1.70 mm thermal pad
 | 
					 | 
				
			||||||
<p>20-pin QFN package with 0.45 mm pitch with body size 3.00 X 3.00 X 0.85 mm and thermal pad size 1.70 X 1.70 mm</p></description>
 | 
					 | 
				
			||||||
<packageinstances>
 | 
					 | 
				
			||||||
<packageinstance name="QFN45P300X300X85-21T170"/>
 | 
					 | 
				
			||||||
</packageinstances>
 | 
					 | 
				
			||||||
</package3d>
 | 
					 | 
				
			||||||
</packages3d>
 | 
					 | 
				
			||||||
<symbols>
 | 
					 | 
				
			||||||
<symbol name="ATTINY84A">
 | 
					 | 
				
			||||||
<pin name="PA4" x="-17.78" y="5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="PA3" x="-17.78" y="2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="PA2" x="-17.78" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="PA1" x="-17.78" y="-2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="PA0" x="-17.78" y="-5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="0" y="-17.78" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<pin name="PB1" x="17.78" y="-2.54" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="PB3" x="17.78" y="0" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="PB2" x="17.78" y="2.54" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="PA7" x="17.78" y="5.08" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="PA6" x="5.08" y="17.78" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
<pin name="PB0" x="17.78" y="-5.08" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="VCC" x="2.54" y="-17.78" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<wire x1="-12.7" y1="12.7" x2="-12.7" y2="-12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-12.7" y1="-12.7" x2="12.7" y2="-12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="12.7" y1="-12.7" x2="12.7" y2="12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="12.7" y1="12.7" x2="-12.7" y2="12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="PA5" x="-5.08" y="17.78" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="DREHGEBER">
 | 
					 | 
				
			||||||
<circle x="0" y="0" radius="2.54" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="A" x="-15.24" y="2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="B" x="-15.24" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="COM" x="-15.24" y="-2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="SW+" x="15.24" y="2.54" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="SW-" x="15.24" y="0" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<wire x1="-10.16" y1="5.08" x2="10.16" y2="5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="10.16" y1="5.08" x2="10.16" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="10.16" y1="-5.08" x2="-10.16" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-10.16" y1="-5.08" x2="-10.16" y2="5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="0" y="-10.16" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="SLIDER">
 | 
					 | 
				
			||||||
<pin name="1" x="0" y="17.78" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
<pin name="3" x="0" y="-17.78" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="12.7" x2="5.08" y2="12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="12.7" x2="5.08" y2="-12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="-12.7" x2="-2.54" y2="-12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="-12.7" x2="-2.54" y2="12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="2" x="-7.62" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="2.54" y="-17.78" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<text x="5.08" y="12.7" size="1.27" layer="95" rot="R270">>NAME</text>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="POTI">
 | 
					 | 
				
			||||||
<pin name="1" x="0" y="15.24" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
<pin name="3" x="0" y="-15.24" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<pin name="2" x="-10.16" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="7.62" x2="0" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="0" y1="7.62" x2="2.54" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="2.54" y1="7.62" x2="2.54" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="2.54" y1="-5.08" x2="2.54" y2="-7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="2.54" y1="-7.62" x2="0" y2="-7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="0" y1="-7.62" x2="-2.54" y2="-7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="-7.62" x2="-2.54" y2="0" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="0" x2="-2.54" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-5.08" y1="-5.08" x2="7.62" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="7.62" y1="7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="7.62" x2="7.62" y2="5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="7.62" y1="5.08" x2="7.62" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-5.08" y1="0" x2="-2.54" y2="0" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="0" y1="10.16" x2="0" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="0" y1="-10.16" x2="0" y2="-7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="5.08" y="-15.24" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="-10.16" x2="5.08" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="-5.08" x2="2.54" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<text x="-2.54" y="7.62" size="1.27" layer="95" rot="MR270">>NAME</text>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="PROGPIN">
 | 
					 | 
				
			||||||
<pin name="!RST" x="-7.62" y="5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="MISO" x="-7.62" y="2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="MOSI" x="-7.62" y="-2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="SCK" x="-7.62" y="-5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="VDD" x="5.08" y="12.7" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="5.08" y="-12.7" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="7.62" x2="7.62" y2="7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="7.62" y1="7.62" x2="7.62" y2="-7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="7.62" y1="-7.62" x2="-2.54" y2="-7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="-7.62" x2="-2.54" y2="7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<text x="7.62" y="-7.62" size="1.778" layer="95" rot="MR90">>NAME</text>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="12832_OLED">
 | 
					 | 
				
			||||||
<pin name="SDA" x="-10.16" y="5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="SCL" x="-10.16" y="2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="VCC" x="-10.16" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="-10.16" y="-2.54" length="middle"/>
 | 
					 | 
				
			||||||
<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-5.08" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-5.08" y1="-5.08" x2="58.42" y2="-5.08" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="58.42" y1="-5.08" x2="58.42" y2="7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="58.42" y1="7.62" x2="-5.08" y2="7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="12.7" y1="5.08" x2="55.88" y2="5.08" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="55.88" y1="5.08" x2="55.88" y2="-2.54" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="55.88" y1="-2.54" x2="12.7" y2="-2.54" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="12.7" y1="-2.54" x2="12.7" y2="5.08" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<text x="15.24" y="-2.54" size="1.778" layer="95">>NAME</text>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
</symbols>
 | 
					 | 
				
			||||||
<devicesets>
 | 
					 | 
				
			||||||
<deviceset name="ATTINY84A">
 | 
					 | 
				
			||||||
<description>8-bit
 | 
					 | 
				
			||||||
Microcontroller
 | 
					 | 
				
			||||||
with 2K/4K/8K
 | 
					 | 
				
			||||||
Bytes In-System
 | 
					 | 
				
			||||||
Programmable
 | 
					 | 
				
			||||||
Flash</description>
 | 
					 | 
				
			||||||
<gates>
 | 
					 | 
				
			||||||
<gate name="G$1" symbol="ATTINY84A" x="0" y="0"/>
 | 
					 | 
				
			||||||
</gates>
 | 
					 | 
				
			||||||
<devices>
 | 
					 | 
				
			||||||
<device name="" package="QFN45P300X300X85-21T170">
 | 
					 | 
				
			||||||
<connects>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="GND" pad="8 21"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA0" pad="5"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA1" pad="4"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA2" pad="3"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA3" pad="2"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA4" pad="1"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA5" pad="20"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA6" pad="16"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA7" pad="15"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PB0" pad="11"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PB1" pad="12"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PB2" pad="14"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PB3" pad="13"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="VCC" pad="9"/>
 | 
					 | 
				
			||||||
</connects>
 | 
					 | 
				
			||||||
<package3dinstances>
 | 
					 | 
				
			||||||
<package3dinstance package3d_urn="urn:adsk.eagle:package:7166534/1"/>
 | 
					 | 
				
			||||||
</package3dinstances>
 | 
					 | 
				
			||||||
<technologies>
 | 
					 | 
				
			||||||
<technology name=""/>
 | 
					 | 
				
			||||||
</technologies>
 | 
					 | 
				
			||||||
</device>
 | 
					 | 
				
			||||||
</devices>
 | 
					 | 
				
			||||||
</deviceset>
 | 
					 | 
				
			||||||
<deviceset name="DREHGEBER">
 | 
					 | 
				
			||||||
<description>DREHGEBER</description>
 | 
					 | 
				
			||||||
<gates>
 | 
					 | 
				
			||||||
<gate name="G$1" symbol="DREHGEBER" x="0" y="0"/>
 | 
					 | 
				
			||||||
</gates>
 | 
					 | 
				
			||||||
<devices>
 | 
					 | 
				
			||||||
<device name="" package="DREHGEBER">
 | 
					 | 
				
			||||||
<connects>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="A" pad="A"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="B" pad="B"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="COM" pad="C"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="GND" pad="M1 M2"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SW+" pad="S"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SW-" pad="W"/>
 | 
					 | 
				
			||||||
</connects>
 | 
					 | 
				
			||||||
<technologies>
 | 
					 | 
				
			||||||
<technology name=""/>
 | 
					 | 
				
			||||||
</technologies>
 | 
					 | 
				
			||||||
</device>
 | 
					 | 
				
			||||||
</devices>
 | 
					 | 
				
			||||||
</deviceset>
 | 
					 | 
				
			||||||
<deviceset name="PROGPIN" prefix="CON">
 | 
					 | 
				
			||||||
<description>Programming port</description>
 | 
					 | 
				
			||||||
<gates>
 | 
					 | 
				
			||||||
<gate name="G$1" symbol="PROGPIN" x="-2.54" y="0"/>
 | 
					 | 
				
			||||||
</gates>
 | 
					 | 
				
			||||||
<devices>
 | 
					 | 
				
			||||||
<device name="" package="PROGPIN">
 | 
					 | 
				
			||||||
<connects>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="!RST" pad="!RST"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="GND" pad="GND P$7 P$8"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="MISO" pad="MISO"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="MOSI" pad="MOSI"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SCK" pad="CLK"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="VDD" pad="VDD"/>
 | 
					 | 
				
			||||||
</connects>
 | 
					 | 
				
			||||||
<technologies>
 | 
					 | 
				
			||||||
<technology name=""/>
 | 
					 | 
				
			||||||
</technologies>
 | 
					 | 
				
			||||||
</device>
 | 
					 | 
				
			||||||
</devices>
 | 
					 | 
				
			||||||
</deviceset>
 | 
					 | 
				
			||||||
<deviceset name="12832_OLED" prefix="DISP">
 | 
					 | 
				
			||||||
<gates>
 | 
					 | 
				
			||||||
<gate name="G$1" symbol="12832_OLED" x="0" y="0"/>
 | 
					 | 
				
			||||||
</gates>
 | 
					 | 
				
			||||||
<devices>
 | 
					 | 
				
			||||||
<device name="" package="12832_OLED">
 | 
					 | 
				
			||||||
<connects>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="GND" pad="1"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SCL" pad="3"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SDA" pad="4"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="VCC" pad="2"/>
 | 
					 | 
				
			||||||
</connects>
 | 
					 | 
				
			||||||
<technologies>
 | 
					 | 
				
			||||||
<technology name=""/>
 | 
					 | 
				
			||||||
</technologies>
 | 
					 | 
				
			||||||
</device>
 | 
					 | 
				
			||||||
</devices>
 | 
					 | 
				
			||||||
</deviceset>
 | 
					 | 
				
			||||||
</devicesets>
 | 
					 | 
				
			||||||
</library>
 | 
					 | 
				
			||||||
</drawing>
 | 
					 | 
				
			||||||
<compatibility>
 | 
					 | 
				
			||||||
<note version="8.3" severity="warning">
 | 
					 | 
				
			||||||
Since Version 8.3, EAGLE supports URNs for individual library
 | 
					 | 
				
			||||||
assets (packages, symbols, and devices). The URNs of those assets
 | 
					 | 
				
			||||||
will not be understood (or retained) with this version.
 | 
					 | 
				
			||||||
</note>
 | 
					 | 
				
			||||||
<note version="8.3" severity="warning">
 | 
					 | 
				
			||||||
Since Version 8.3, EAGLE supports the association of 3D packages
 | 
					 | 
				
			||||||
with devices in libraries, schematics, and board files. Those 3D
 | 
					 | 
				
			||||||
packages will not be understood (or retained) with this version.
 | 
					 | 
				
			||||||
</note>
 | 
					 | 
				
			||||||
</compatibility>
 | 
					 | 
				
			||||||
</eagle>
 | 
					 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,360 +0,0 @@
 | 
				
			|||||||
[Eagle]
 | 
					 | 
				
			||||||
Version="09 02 00"
 | 
					 | 
				
			||||||
Platform="Windows"
 | 
					 | 
				
			||||||
Globals="Globals"
 | 
					 | 
				
			||||||
Desktop="Desktop"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Globals]
 | 
					 | 
				
			||||||
AutoSaveProject=1
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:79"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:88"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:201"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:202"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:203"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:204"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:206"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:208"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:210"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:211"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:212"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:213"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:89"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:214"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:215"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:217"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:218"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:220"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:221"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:222"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:224"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:226"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:229"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:90"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:230"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:231"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:233"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:234"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:235"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:236"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:237"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:238"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:239"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:240"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:93"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:241"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:242"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:243"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:244"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:245"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:248"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:250"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:251"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:252"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:255"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:94"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:256"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:258"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:259"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:260"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:261"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:262"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:263"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:264"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:265"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:266"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:96"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:267"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:269"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:270"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:272"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:273"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:274"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:275"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:276"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:278"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:279"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:97"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:281"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:283"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:284"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:285"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:287"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:288"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:289"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:290"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:291"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:293"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:98"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:294"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:296"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:297"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:298"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:300"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:302"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:303"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:304"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:307"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:312"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:99"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:313"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:314"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:315"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:317"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:318"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:319"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:320"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:322"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:323"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:324"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:102"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:325"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:327"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:328"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:331"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:332"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:334"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:335"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:336"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:337"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:338"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:80"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:105"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:339"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:341"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:342"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:343"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:344"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:346"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:347"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:350"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:351"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:353"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:107"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:358"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:360"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:361"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:362"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:364"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:366"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:367"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:368"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:369"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:371"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:109"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:372"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:373"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:374"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:375"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:376"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:377"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:378"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:379"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:380"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:382"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:111"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:383"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:385"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:386"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:387"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:388"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:389"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:391"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:392"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:393"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:394"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:112"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:396"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:397"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:398"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:399"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:400"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:401"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:402"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:403"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:404"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:407"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:113"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:408"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:409"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:410"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:411"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:412"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:417"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:418"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:419"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:527439"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:116"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:117"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:118"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:119"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:81"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:121"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:122"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:123"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:124"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:125"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:126"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:127"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:128"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:129"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:130"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:82"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:132"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:133"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:134"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:135"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:136"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:138"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:139"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:140"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:141"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:143"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:83"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:144"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:145"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:147"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:148"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:149"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:150"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:151"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:152"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:153"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:154"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:84"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:155"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:156"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:157"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:158"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:159"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:160"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:161"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:162"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:163"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:164"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:85"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:165"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:166"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:167"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:169"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:170"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:171"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:172"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:173"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:174"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:175"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:86"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:176"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:177"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:179"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:180"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:181"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:182"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:183"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:184"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:188"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:189"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:87"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:190"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:191"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:192"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:193"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:194"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:195"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:196"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:197"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:198"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:199"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:178"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:185"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:186"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:187"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:200"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:205"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:207"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:91"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:209"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:216"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:92"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:219"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:223"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:225"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:227"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:228"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:232"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:246"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:247"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:95"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:249"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:253"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:254"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:257"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:268"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:271"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:277"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:280"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:282"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:286"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:292"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:295"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:100"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:299"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:301"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:305"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:306"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:101"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:308"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:309"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:310"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:311"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:316"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:321"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:326"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:103"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:329"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:330"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:333"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:104"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:340"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:345"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:348"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:349"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:352"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:354"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:355"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:356"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:357"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:106"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:359"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:363"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:365"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:370"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:108"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:381"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:384"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:390"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:395"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:110"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:405"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:406"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:413"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:414"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:415"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:416"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:1252642"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:114"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:115"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:120"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:131"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:137"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:142"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:146"
 | 
					 | 
				
			||||||
UsedLibraryUrn="urn:adsk.eagle:library:168"
 | 
					 | 
				
			||||||
UsedLibrary="display.lbr"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Win_1]
 | 
					 | 
				
			||||||
Type="Control Panel"
 | 
					 | 
				
			||||||
Number=0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Desktop]
 | 
					 | 
				
			||||||
Screen="4864 1351"
 | 
					 | 
				
			||||||
Window="Win_1"
 | 
					 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,382 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<!DOCTYPE eagle SYSTEM "eagle.dtd">
 | 
					 | 
				
			||||||
<eagle version="7.7.0">
 | 
					 | 
				
			||||||
<drawing>
 | 
					 | 
				
			||||||
<settings>
 | 
					 | 
				
			||||||
<setting alwaysvectorfont="no"/>
 | 
					 | 
				
			||||||
<setting verticaltext="up"/>
 | 
					 | 
				
			||||||
</settings>
 | 
					 | 
				
			||||||
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="yes" altdistance="0.01" 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="yes"/>
 | 
					 | 
				
			||||||
<layer number="3" name="Route3" color="4" fill="3" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="4" name="Route4" color="1" fill="4" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="5" name="Route5" color="4" fill="4" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="6" name="Route6" color="1" fill="8" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="7" name="Route7" color="4" fill="8" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="8" name="Route8" color="1" fill="2" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="9" name="Route9" color="4" fill="2" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="10" name="Route10" color="1" fill="7" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="11" name="Route11" color="4" fill="7" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="12" name="Route12" color="1" fill="5" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="13" name="Route13" color="4" fill="5" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="14" name="Route14" color="1" fill="6" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="15" name="Route15" color="4" fill="6" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<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="24" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="88" name="SimResults" color="9" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="89" name="SimProbes" color="9" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="93" name="Pins" color="2" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
 | 
					 | 
				
			||||||
</layers>
 | 
					 | 
				
			||||||
<library>
 | 
					 | 
				
			||||||
<packages>
 | 
					 | 
				
			||||||
<package name="QFN45P300X300X85-21T170">
 | 
					 | 
				
			||||||
<description>20-QFN, 0.45 mm pitch, 3.00 X 3.00 X 0.85 mm body, 1.70 X 1.70 mm thermal pad
 | 
					 | 
				
			||||||
<p>20-pin QFN package with 0.45 mm pitch with body size 3.00 X 3.00 X 0.85 mm and thermal pad size 1.70 X 1.70 mm</p></description>
 | 
					 | 
				
			||||||
<circle x="-2.054" y="1.524" radius="0.25" width="0" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="1.274" x2="-1.55" y2="1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="1.55" x2="-1.274" y2="1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="1.274" x2="1.55" y2="1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="1.55" x2="1.274" y2="1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="-1.274" x2="1.55" y2="-1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="-1.55" x2="1.274" y2="-1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="-1.274" x2="-1.55" y2="-1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="-1.55" x2="-1.274" y2="-1.55" width="0.12" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="-1.55" x2="-1.55" y2="-1.55" width="0.12" layer="51"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="-1.55" x2="-1.55" y2="1.55" width="0.12" layer="51"/>
 | 
					 | 
				
			||||||
<wire x1="-1.55" y1="1.55" x2="1.55" y2="1.55" width="0.12" layer="51"/>
 | 
					 | 
				
			||||||
<wire x1="1.55" y1="1.55" x2="1.55" y2="-1.55" width="0.12" layer="51"/>
 | 
					 | 
				
			||||||
<smd name="1" x="-1.5456" y="0.9" dx="0.818" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="2" x="-1.4456" y="0.45" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="3" x="-1.4456" y="0" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="4" x="-1.4456" y="-0.45" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="5" x="-1.5456" y="-0.9" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="6" x="-0.9" y="-1.5456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="7" x="-0.45" y="-1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="8" x="0" y="-1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="9" x="0.45" y="-1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="10" x="0.9" y="-1.5456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="11" x="1.5456" y="-0.9" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="12" x="1.4456" y="-0.45" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="13" x="1.4456" y="0" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="14" x="1.4456" y="0.45" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="15" x="1.5456" y="0.9" dx="0.838" dy="0.24" layer="1"/>
 | 
					 | 
				
			||||||
<smd name="16" x="0.9" y="1.5456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="17" x="0.45" y="1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="18" x="0" y="1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="19" x="-0.45" y="1.4456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="20" x="-0.9" y="1.5456" dx="0.838" dy="0.24" layer="1" rot="R90"/>
 | 
					 | 
				
			||||||
<smd name="21" x="0" y="0" dx="1.7" dy="1.7" layer="1" thermals="no"/>
 | 
					 | 
				
			||||||
<text x="0" y="2.4996" size="1.27" layer="25" align="bottom-center">>NAME</text>
 | 
					 | 
				
			||||||
<text x="0" y="-2.4996" size="1.27" layer="27" align="top-center">>VALUE</text>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="DREHGEBER">
 | 
					 | 
				
			||||||
<pad name="A" x="-2.5" y="-7.5" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="C" x="0" y="-7.5" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="B" x="2.5" y="-7.5" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="S" x="-2.5" y="7" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="W" x="2.5" y="7" drill="1" shape="square"/>
 | 
					 | 
				
			||||||
<pad name="M2" x="-6" y="0" drill="3.2"/>
 | 
					 | 
				
			||||||
<pad name="M1" x="6" y="0" drill="3.2"/>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="SLIDER">
 | 
					 | 
				
			||||||
<pad name="1" x="-36.75" y="1.75" drill="1.2" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="2" x="-36.75" y="-1.75" drill="1.2" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="3" x="36.75" y="1.75" drill="1.2" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="G1" x="-31.4" y="4.2" drill="1.8"/>
 | 
					 | 
				
			||||||
<pad name="G3" x="31.4" y="4.2" drill="1.8"/>
 | 
					 | 
				
			||||||
<pad name="G2" x="-32.6" y="-4.2" drill="1.8"/>
 | 
					 | 
				
			||||||
<pad name="G4" x="32.6" y="-4.2" drill="1.8"/>
 | 
					 | 
				
			||||||
<wire x1="-37" y1="4.5" x2="37" y2="4.5" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-37" y1="-4.5" x2="37" y2="-4.5" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-37" y1="4.5" x2="-37" y2="-4.5" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="37" y1="4.5" x2="37" y2="-4.5" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-30" y1="1" x2="30" y2="1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-30" y1="1" x2="-30" y2="-1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="30" y1="1" x2="30" y2="-1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<text x="-38" y="0" size="1.27" layer="25" rot="R90" align="bottom-center">>NAME</text>
 | 
					 | 
				
			||||||
<wire x1="-30" y1="-1" x2="30" y2="-1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="POTI">
 | 
					 | 
				
			||||||
<pad name="2" x="-1.25" y="-11" drill="1"/>
 | 
					 | 
				
			||||||
<pad name="3" x="1.25" y="-11" drill="1"/>
 | 
					 | 
				
			||||||
<pad name="1" x="-3.75" y="-11" drill="1"/>
 | 
					 | 
				
			||||||
<pad name="4" x="3.75" y="-11" drill="1"/>
 | 
					 | 
				
			||||||
<pad name="M2" x="5.45" y="0" drill="2.5"/>
 | 
					 | 
				
			||||||
<pad name="M1" x="-5.45" y="0" drill="2.5"/>
 | 
					 | 
				
			||||||
<wire x1="-5.5" y1="-9.1" x2="5.5" y2="-9.1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-5.5" y1="6.6" x2="5.5" y2="6.6" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="5.5" y1="6.6" x2="5.5" y2="-9.1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-5.5" y1="6.6" x2="-5.5" y2="-9.1" width="0.127" layer="21"/>
 | 
					 | 
				
			||||||
<text x="0" y="6.6" size="1.27" layer="25" align="bottom-center">>NAME</text>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="PROGPIN">
 | 
					 | 
				
			||||||
<smd name="VDD" x="0" y="0" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="MOSI" x="2.5" y="0" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="GND" x="5" y="0" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="!RST" x="5" y="-2.5" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="CLK" x="2.5" y="-2.5" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<smd name="MISO" x="0" y="-2.5" dx="2" dy="2" layer="1" roundness="100"/>
 | 
					 | 
				
			||||||
<pad name="P$7" x="-5" y="0" drill="2.5" diameter="3.81"/>
 | 
					 | 
				
			||||||
<pad name="P$8" x="10" y="-2.5" drill="2.5" diameter="3.81"/>
 | 
					 | 
				
			||||||
<wire x1="-10" y1="0" x2="-10" y2="-2.5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-10" y1="-2.5" x2="-7.5" y2="-5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-7.5" y1="-5" x2="12.5" y2="-5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="12.5" y1="-5" x2="15" y2="-2.5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="15" y1="-2.5" x2="15" y2="0" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="15" y1="0" x2="12.5" y2="2.5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="12.5" y1="2.5" x2="-7.5" y2="2.5" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-7.5" y1="2.5" x2="-10" y2="0" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<text x="-5" y="2.5" size="1.778" layer="25">>NAME</text>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
<package name="12832_OLED">
 | 
					 | 
				
			||||||
<pad name="4" x="-3.81" y="0" drill="0.9" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="3" x="-1.27" y="0" drill="0.9" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="2" x="1.27" y="0" drill="0.9" shape="octagon"/>
 | 
					 | 
				
			||||||
<pad name="1" x="3.81" y="0" drill="0.9" shape="octagon"/>
 | 
					 | 
				
			||||||
<wire x1="-6" y1="-2.54" x2="6" y2="-2.54" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-6" y1="35.46" x2="6" y2="35.46" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="-6" y1="35.46" x2="-6" y2="-2.54" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
<wire x1="6" y1="35.46" x2="6" y2="-2.54" width="0.1524" layer="21"/>
 | 
					 | 
				
			||||||
</package>
 | 
					 | 
				
			||||||
</packages>
 | 
					 | 
				
			||||||
<symbols>
 | 
					 | 
				
			||||||
<symbol name="ATTINY84A">
 | 
					 | 
				
			||||||
<pin name="PA4" x="-17.78" y="5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="PA3" x="-17.78" y="2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="PA2" x="-17.78" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="PA1" x="-17.78" y="-2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="PA0" x="-17.78" y="-5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="0" y="-17.78" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<pin name="PB1" x="17.78" y="-2.54" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="PB3" x="17.78" y="0" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="PB2" x="17.78" y="2.54" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="PA7" x="17.78" y="5.08" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="PA6" x="5.08" y="17.78" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
<pin name="PB0" x="17.78" y="-5.08" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="VCC" x="2.54" y="-17.78" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<wire x1="-12.7" y1="12.7" x2="-12.7" y2="-12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-12.7" y1="-12.7" x2="12.7" y2="-12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="12.7" y1="-12.7" x2="12.7" y2="12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="12.7" y1="12.7" x2="-12.7" y2="12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="PA5" x="-5.08" y="17.78" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="DREHGEBER">
 | 
					 | 
				
			||||||
<circle x="0" y="0" radius="2.54" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="A" x="-15.24" y="2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="B" x="-15.24" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="COM" x="-15.24" y="-2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="SW+" x="15.24" y="2.54" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<pin name="SW-" x="15.24" y="0" length="middle" rot="R180"/>
 | 
					 | 
				
			||||||
<wire x1="-10.16" y1="5.08" x2="10.16" y2="5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="10.16" y1="5.08" x2="10.16" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="10.16" y1="-5.08" x2="-10.16" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-10.16" y1="-5.08" x2="-10.16" y2="5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="0" y="-10.16" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="SLIDER">
 | 
					 | 
				
			||||||
<pin name="1" x="0" y="17.78" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
<pin name="3" x="0" y="-17.78" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="12.7" x2="5.08" y2="12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="12.7" x2="5.08" y2="-12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="-12.7" x2="-2.54" y2="-12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="-12.7" x2="-2.54" y2="12.7" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="2" x="-7.62" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="2.54" y="-17.78" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<text x="5.08" y="12.7" size="1.27" layer="95" rot="R270">>NAME</text>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="POTI">
 | 
					 | 
				
			||||||
<pin name="1" x="0" y="15.24" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
<pin name="3" x="0" y="-15.24" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<pin name="2" x="-10.16" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="7.62" x2="0" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="0" y1="7.62" x2="2.54" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="2.54" y1="7.62" x2="2.54" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="2.54" y1="-5.08" x2="2.54" y2="-7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="2.54" y1="-7.62" x2="0" y2="-7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="0" y1="-7.62" x2="-2.54" y2="-7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="-7.62" x2="-2.54" y2="0" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="0" x2="-2.54" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-5.08" y1="-5.08" x2="7.62" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="7.62" y1="7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="7.62" x2="7.62" y2="5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="7.62" y1="5.08" x2="7.62" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-5.08" y1="0" x2="-2.54" y2="0" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="0" y1="10.16" x2="0" y2="7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="0" y1="-10.16" x2="0" y2="-7.62" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="5.08" y="-15.24" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="-10.16" x2="5.08" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="5.08" y1="-5.08" x2="2.54" y2="-5.08" width="0.254" layer="94"/>
 | 
					 | 
				
			||||||
<text x="-2.54" y="7.62" size="1.27" layer="95" rot="MR270">>NAME</text>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="PROGPIN">
 | 
					 | 
				
			||||||
<pin name="!RST" x="-7.62" y="5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="MISO" x="-7.62" y="2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="MOSI" x="-7.62" y="-2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="SCK" x="-7.62" y="-5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="VDD" x="5.08" y="12.7" length="middle" rot="R270"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="5.08" y="-12.7" length="middle" rot="R90"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="7.62" x2="7.62" y2="7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="7.62" y1="7.62" x2="7.62" y2="-7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="7.62" y1="-7.62" x2="-2.54" y2="-7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-2.54" y1="-7.62" x2="-2.54" y2="7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<text x="7.62" y="-7.62" size="1.778" layer="95" rot="MR90">>NAME</text>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
<symbol name="12832_OLED">
 | 
					 | 
				
			||||||
<pin name="SDA" x="-10.16" y="5.08" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="SCL" x="-10.16" y="2.54" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="VCC" x="-10.16" y="0" length="middle"/>
 | 
					 | 
				
			||||||
<pin name="GND" x="-10.16" y="-2.54" length="middle"/>
 | 
					 | 
				
			||||||
<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-5.08" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="-5.08" y1="-5.08" x2="58.42" y2="-5.08" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="58.42" y1="-5.08" x2="58.42" y2="7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="58.42" y1="7.62" x2="-5.08" y2="7.62" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="12.7" y1="5.08" x2="55.88" y2="5.08" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="55.88" y1="5.08" x2="55.88" y2="-2.54" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="55.88" y1="-2.54" x2="12.7" y2="-2.54" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<wire x1="12.7" y1="-2.54" x2="12.7" y2="5.08" width="0.1524" layer="94"/>
 | 
					 | 
				
			||||||
<text x="15.24" y="-2.54" size="1.778" layer="95">>NAME</text>
 | 
					 | 
				
			||||||
</symbol>
 | 
					 | 
				
			||||||
</symbols>
 | 
					 | 
				
			||||||
<devicesets>
 | 
					 | 
				
			||||||
<deviceset name="ATTINY84A">
 | 
					 | 
				
			||||||
<description>8-bit
 | 
					 | 
				
			||||||
Microcontroller
 | 
					 | 
				
			||||||
with 2K/4K/8K
 | 
					 | 
				
			||||||
Bytes In-System
 | 
					 | 
				
			||||||
Programmable
 | 
					 | 
				
			||||||
Flash</description>
 | 
					 | 
				
			||||||
<gates>
 | 
					 | 
				
			||||||
<gate name="G$1" symbol="ATTINY84A" x="0" y="0"/>
 | 
					 | 
				
			||||||
</gates>
 | 
					 | 
				
			||||||
<devices>
 | 
					 | 
				
			||||||
<device name="" package="QFN45P300X300X85-21T170">
 | 
					 | 
				
			||||||
<connects>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="GND" pad="8 21"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA0" pad="5"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA1" pad="4"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA2" pad="3"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA3" pad="2"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA4" pad="1"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA5" pad="20"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA6" pad="16"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PA7" pad="15"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PB0" pad="11"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PB1" pad="12"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PB2" pad="14"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="PB3" pad="13"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="VCC" pad="9"/>
 | 
					 | 
				
			||||||
</connects>
 | 
					 | 
				
			||||||
<technologies>
 | 
					 | 
				
			||||||
<technology name=""/>
 | 
					 | 
				
			||||||
</technologies>
 | 
					 | 
				
			||||||
</device>
 | 
					 | 
				
			||||||
</devices>
 | 
					 | 
				
			||||||
</deviceset>
 | 
					 | 
				
			||||||
<deviceset name="DREHGEBER">
 | 
					 | 
				
			||||||
<description>DREHGEBER</description>
 | 
					 | 
				
			||||||
<gates>
 | 
					 | 
				
			||||||
<gate name="G$1" symbol="DREHGEBER" x="0" y="0"/>
 | 
					 | 
				
			||||||
</gates>
 | 
					 | 
				
			||||||
<devices>
 | 
					 | 
				
			||||||
<device name="" package="DREHGEBER">
 | 
					 | 
				
			||||||
<connects>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="A" pad="A"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="B" pad="B"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="COM" pad="C"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="GND" pad="M1 M2"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SW+" pad="S"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SW-" pad="W"/>
 | 
					 | 
				
			||||||
</connects>
 | 
					 | 
				
			||||||
<technologies>
 | 
					 | 
				
			||||||
<technology name=""/>
 | 
					 | 
				
			||||||
</technologies>
 | 
					 | 
				
			||||||
</device>
 | 
					 | 
				
			||||||
</devices>
 | 
					 | 
				
			||||||
</deviceset>
 | 
					 | 
				
			||||||
<deviceset name="PROGPIN" prefix="CON">
 | 
					 | 
				
			||||||
<description>Programming port</description>
 | 
					 | 
				
			||||||
<gates>
 | 
					 | 
				
			||||||
<gate name="G$1" symbol="PROGPIN" x="-2.54" y="0"/>
 | 
					 | 
				
			||||||
</gates>
 | 
					 | 
				
			||||||
<devices>
 | 
					 | 
				
			||||||
<device name="" package="PROGPIN">
 | 
					 | 
				
			||||||
<connects>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="!RST" pad="!RST"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="GND" pad="GND P$7 P$8"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="MISO" pad="MISO"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="MOSI" pad="MOSI"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SCK" pad="CLK"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="VDD" pad="VDD"/>
 | 
					 | 
				
			||||||
</connects>
 | 
					 | 
				
			||||||
<technologies>
 | 
					 | 
				
			||||||
<technology name=""/>
 | 
					 | 
				
			||||||
</technologies>
 | 
					 | 
				
			||||||
</device>
 | 
					 | 
				
			||||||
</devices>
 | 
					 | 
				
			||||||
</deviceset>
 | 
					 | 
				
			||||||
<deviceset name="12832_OLED" prefix="DISP">
 | 
					 | 
				
			||||||
<gates>
 | 
					 | 
				
			||||||
<gate name="G$1" symbol="12832_OLED" x="0" y="0"/>
 | 
					 | 
				
			||||||
</gates>
 | 
					 | 
				
			||||||
<devices>
 | 
					 | 
				
			||||||
<device name="" package="12832_OLED">
 | 
					 | 
				
			||||||
<connects>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="GND" pad="1"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SCL" pad="3"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="SDA" pad="4"/>
 | 
					 | 
				
			||||||
<connect gate="G$1" pin="VCC" pad="2"/>
 | 
					 | 
				
			||||||
</connects>
 | 
					 | 
				
			||||||
<technologies>
 | 
					 | 
				
			||||||
<technology name=""/>
 | 
					 | 
				
			||||||
</technologies>
 | 
					 | 
				
			||||||
</device>
 | 
					 | 
				
			||||||
</devices>
 | 
					 | 
				
			||||||
</deviceset>
 | 
					 | 
				
			||||||
</devicesets>
 | 
					 | 
				
			||||||
</library>
 | 
					 | 
				
			||||||
</drawing>
 | 
					 | 
				
			||||||
</eagle>
 | 
					 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							@ -1,13 +0,0 @@
 | 
				
			|||||||
cmake_minimum_required(VERSION 3.0.0)
 | 
					 | 
				
			||||||
set(AVR_MCU attiny84a)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../avr-toolchain.cmake)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
project(DSPLAB_display_firmware C)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
add_subdirectory(SliderCommunication)
 | 
					 | 
				
			||||||
set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-O3")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
add_avr_executable(DSPLAB_display_firmware main.c)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@ -1,441 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * font.h
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 *  Created on: 06.02.2019
 | 
					 | 
				
			||||||
 *      Author: julian
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef FONT_H_
 | 
					 | 
				
			||||||
#define FONT_H_
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <avr/pgmspace.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define FONT_WIDTH  0x0A // Width: 10
 | 
					 | 
				
			||||||
#define FONT_HEIGHT 0x0C // Height: 12
 | 
					 | 
				
			||||||
#define FONT_START  0x20 // First Char: 32
 | 
					 | 
				
			||||||
#define FONT_END    0xE0 // Numbers of Chars: 224
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Created by http://oleddisplay.squix.ch/ Consider a donation
 | 
					 | 
				
			||||||
// In case of problems make sure that you are using the font file with the correct version!
 | 
					 | 
				
			||||||
const char Fonttable[] PROGMEM = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Jump Table:
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 32:65535
 | 
					 | 
				
			||||||
	0x00, 0x00, 0x03, 0x02,  // 33:0
 | 
					 | 
				
			||||||
	0x00, 0x03, 0x03, 0x02,  // 34:3
 | 
					 | 
				
			||||||
	0x00, 0x06, 0x07, 0x04,  // 35:6
 | 
					 | 
				
			||||||
	0x00, 0x0D, 0x05, 0x03,  // 36:13
 | 
					 | 
				
			||||||
	0x00, 0x12, 0x05, 0x03,  // 37:18
 | 
					 | 
				
			||||||
	0x00, 0x17, 0x09, 0x05,  // 38:23
 | 
					 | 
				
			||||||
	0x00, 0x20, 0x01, 0x01,  // 39:32
 | 
					 | 
				
			||||||
	0x00, 0x21, 0x05, 0x03,  // 40:33
 | 
					 | 
				
			||||||
	0x00, 0x26, 0x03, 0x03,  // 41:38
 | 
					 | 
				
			||||||
	0x00, 0x29, 0x05, 0x03,  // 42:41
 | 
					 | 
				
			||||||
	0x00, 0x2E, 0x07, 0x04,  // 43:46
 | 
					 | 
				
			||||||
	0x00, 0x35, 0x01, 0x01,  // 44:53
 | 
					 | 
				
			||||||
	0x00, 0x36, 0x07, 0x04,  // 45:54
 | 
					 | 
				
			||||||
	0x00, 0x3D, 0x01, 0x01,  // 46:61
 | 
					 | 
				
			||||||
	0x00, 0x3E, 0x07, 0x04,  // 47:62
 | 
					 | 
				
			||||||
	0x00, 0x45, 0x07, 0x05,  // 48:69
 | 
					 | 
				
			||||||
	0x00, 0x4C, 0x04, 0x03,  // 49:76
 | 
					 | 
				
			||||||
	0x00, 0x50, 0x07, 0x04,  // 50:80
 | 
					 | 
				
			||||||
	0x00, 0x57, 0x07, 0x05,  // 51:87
 | 
					 | 
				
			||||||
	0x00, 0x5E, 0x09, 0x05,  // 52:94
 | 
					 | 
				
			||||||
	0x00, 0x67, 0x07, 0x04,  // 53:103
 | 
					 | 
				
			||||||
	0x00, 0x6E, 0x07, 0x04,  // 54:110
 | 
					 | 
				
			||||||
	0x00, 0x75, 0x09, 0x05,  // 55:117
 | 
					 | 
				
			||||||
	0x00, 0x7E, 0x07, 0x05,  // 56:126
 | 
					 | 
				
			||||||
	0x00, 0x85, 0x07, 0x04,  // 57:133
 | 
					 | 
				
			||||||
	0x00, 0x8C, 0x01, 0x01,  // 58:140
 | 
					 | 
				
			||||||
	0x00, 0x8D, 0x01, 0x01,  // 59:141
 | 
					 | 
				
			||||||
	0x00, 0x8E, 0x07, 0x04,  // 60:142
 | 
					 | 
				
			||||||
	0x00, 0x95, 0x07, 0x04,  // 61:149
 | 
					 | 
				
			||||||
	0x00, 0x9C, 0x07, 0x04,  // 62:156
 | 
					 | 
				
			||||||
	0x00, 0xA3, 0x05, 0x03,  // 63:163
 | 
					 | 
				
			||||||
	0x00, 0xA8, 0x09, 0x05,  // 64:168
 | 
					 | 
				
			||||||
	0x00, 0xB1, 0x0B, 0x06,  // 65:177
 | 
					 | 
				
			||||||
	0x00, 0xBC, 0x0B, 0x06,  // 66:188
 | 
					 | 
				
			||||||
	0x00, 0xC7, 0x0B, 0x06,  // 67:199
 | 
					 | 
				
			||||||
	0x00, 0xD2, 0x0B, 0x06,  // 68:210
 | 
					 | 
				
			||||||
	0x00, 0xDD, 0x07, 0x04,  // 69:221
 | 
					 | 
				
			||||||
	0x00, 0xE4, 0x07, 0x04,  // 70:228
 | 
					 | 
				
			||||||
	0x00, 0xEB, 0x0C, 0x07,  // 71:235
 | 
					 | 
				
			||||||
	0x00, 0xF7, 0x0B, 0x06,  // 72:247
 | 
					 | 
				
			||||||
	0x01, 0x02, 0x04, 0x02,  // 73:258
 | 
					 | 
				
			||||||
	0x01, 0x06, 0x07, 0x04,  // 74:262
 | 
					 | 
				
			||||||
	0x01, 0x0D, 0x09, 0x05,  // 75:269
 | 
					 | 
				
			||||||
	0x01, 0x16, 0x08, 0x04,  // 76:278
 | 
					 | 
				
			||||||
	0x01, 0x1E, 0x0F, 0x08,  // 77:286
 | 
					 | 
				
			||||||
	0x01, 0x2D, 0x0B, 0x06,  // 78:301
 | 
					 | 
				
			||||||
	0x01, 0x38, 0x0B, 0x06,  // 79:312
 | 
					 | 
				
			||||||
	0x01, 0x43, 0x09, 0x05,  // 80:323
 | 
					 | 
				
			||||||
	0x01, 0x4C, 0x0C, 0x07,  // 81:332
 | 
					 | 
				
			||||||
	0x01, 0x58, 0x0B, 0x06,  // 82:344
 | 
					 | 
				
			||||||
	0x01, 0x63, 0x08, 0x04,  // 83:355
 | 
					 | 
				
			||||||
	0x01, 0x6B, 0x07, 0x04,  // 84:363
 | 
					 | 
				
			||||||
	0x01, 0x72, 0x09, 0x05,  // 85:370
 | 
					 | 
				
			||||||
	0x01, 0x7B, 0x0B, 0x06,  // 86:379
 | 
					 | 
				
			||||||
	0x01, 0x86, 0x0F, 0x08,  // 87:390
 | 
					 | 
				
			||||||
	0x01, 0x95, 0x0C, 0x06,  // 88:405
 | 
					 | 
				
			||||||
	0x01, 0xA1, 0x0C, 0x06,  // 89:417
 | 
					 | 
				
			||||||
	0x01, 0xAD, 0x0A, 0x06,  // 90:429
 | 
					 | 
				
			||||||
	0x01, 0xB7, 0x04, 0x02,  // 91:439
 | 
					 | 
				
			||||||
	0x01, 0xBB, 0x08, 0x04,  // 92:443
 | 
					 | 
				
			||||||
	0x01, 0xC3, 0x04, 0x02,  // 93:451
 | 
					 | 
				
			||||||
	0x01, 0xC7, 0x05, 0x04,  // 94:455
 | 
					 | 
				
			||||||
	0x01, 0xCC, 0x0F, 0x08,  // 95:460
 | 
					 | 
				
			||||||
	0x01, 0xDB, 0x07, 0x06,  // 96:475
 | 
					 | 
				
			||||||
	0x01, 0xE2, 0x09, 0x05,  // 97:482
 | 
					 | 
				
			||||||
	0x01, 0xEB, 0x09, 0x05,  // 98:491
 | 
					 | 
				
			||||||
	0x01, 0xF4, 0x07, 0x05,  // 99:500
 | 
					 | 
				
			||||||
	0x01, 0xFB, 0x0C, 0x06,  // 100:507
 | 
					 | 
				
			||||||
	0x02, 0x07, 0x07, 0x05,  // 101:519
 | 
					 | 
				
			||||||
	0x02, 0x0E, 0x06, 0x03,  // 102:526
 | 
					 | 
				
			||||||
	0x02, 0x14, 0x08, 0x04,  // 103:532
 | 
					 | 
				
			||||||
	0x02, 0x1C, 0x07, 0x04,  // 104:540
 | 
					 | 
				
			||||||
	0x02, 0x23, 0x03, 0x02,  // 105:547
 | 
					 | 
				
			||||||
	0x02, 0x26, 0x02, 0x02,  // 106:550
 | 
					 | 
				
			||||||
	0x02, 0x28, 0x07, 0x04,  // 107:552
 | 
					 | 
				
			||||||
	0x02, 0x2F, 0x01, 0x02,  // 108:559
 | 
					 | 
				
			||||||
	0x02, 0x30, 0x0D, 0x07,  // 109:560
 | 
					 | 
				
			||||||
	0x02, 0x3D, 0x07, 0x05,  // 110:573
 | 
					 | 
				
			||||||
	0x02, 0x44, 0x09, 0x05,  // 111:580
 | 
					 | 
				
			||||||
	0x02, 0x4D, 0x09, 0x05,  // 112:589
 | 
					 | 
				
			||||||
	0x02, 0x56, 0x0A, 0x05,  // 113:598
 | 
					 | 
				
			||||||
	0x02, 0x60, 0x07, 0x04,  // 114:608
 | 
					 | 
				
			||||||
	0x02, 0x67, 0x07, 0x04,  // 115:615
 | 
					 | 
				
			||||||
	0x02, 0x6E, 0x06, 0x03,  // 116:622
 | 
					 | 
				
			||||||
	0x02, 0x74, 0x07, 0x05,  // 117:628
 | 
					 | 
				
			||||||
	0x02, 0x7B, 0x07, 0x04,  // 118:635
 | 
					 | 
				
			||||||
	0x02, 0x82, 0x0D, 0x07,  // 119:642
 | 
					 | 
				
			||||||
	0x02, 0x8F, 0x07, 0x04,  // 120:655
 | 
					 | 
				
			||||||
	0x02, 0x96, 0x0A, 0x05,  // 121:662
 | 
					 | 
				
			||||||
	0x02, 0xA0, 0x07, 0x04,  // 122:672
 | 
					 | 
				
			||||||
	0x02, 0xA7, 0x06, 0x03,  // 123:679
 | 
					 | 
				
			||||||
	0x02, 0xAD, 0x02, 0x01,  // 124:685
 | 
					 | 
				
			||||||
	0x02, 0xAF, 0x05, 0x03,  // 125:687
 | 
					 | 
				
			||||||
	0x02, 0xB4, 0x07, 0x04,  // 126:692
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 127:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 128:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 129:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 130:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 131:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 132:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 133:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 134:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 135:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 136:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 137:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 138:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 139:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 140:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 141:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 142:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 143:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 144:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 145:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 146:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 147:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 148:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 149:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 150:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 151:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 152:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 153:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 154:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 155:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 156:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 157:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 158:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 159:65535
 | 
					 | 
				
			||||||
	0xFF, 0xFF, 0x00, 0x03,  // 160:65535
 | 
					 | 
				
			||||||
	0x02, 0xBB, 0x03, 0x02,  // 161:699
 | 
					 | 
				
			||||||
	0x02, 0xBE, 0x05, 0x03,  // 162:702
 | 
					 | 
				
			||||||
	0x02, 0xC3, 0x07, 0x04,  // 163:707
 | 
					 | 
				
			||||||
	0x02, 0xCA, 0x07, 0x04,  // 164:714
 | 
					 | 
				
			||||||
	0x02, 0xD1, 0x07, 0x04,  // 165:721
 | 
					 | 
				
			||||||
	0x02, 0xD8, 0x01, 0x01,  // 166:728
 | 
					 | 
				
			||||||
	0x02, 0xD9, 0x06, 0x03,  // 167:729
 | 
					 | 
				
			||||||
	0x02, 0xDF, 0x07, 0x06,  // 168:735
 | 
					 | 
				
			||||||
	0x02, 0xE6, 0x07, 0x04,  // 169:742
 | 
					 | 
				
			||||||
	0x02, 0xED, 0x03, 0x02,  // 170:749
 | 
					 | 
				
			||||||
	0x02, 0xF0, 0x05, 0x03,  // 171:752
 | 
					 | 
				
			||||||
	0x02, 0xF5, 0x07, 0x04,  // 172:757
 | 
					 | 
				
			||||||
	0x02, 0xFC, 0x07, 0x04,  // 173:764
 | 
					 | 
				
			||||||
	0x03, 0x03, 0x07, 0x04,  // 174:771
 | 
					 | 
				
			||||||
	0x03, 0x0A, 0x07, 0x06,  // 175:778
 | 
					 | 
				
			||||||
	0x03, 0x11, 0x01, 0x02,  // 176:785
 | 
					 | 
				
			||||||
	0x03, 0x12, 0x07, 0x04,  // 177:786
 | 
					 | 
				
			||||||
	0x03, 0x19, 0x05, 0x03,  // 178:793
 | 
					 | 
				
			||||||
	0x03, 0x1E, 0x03, 0x03,  // 179:798
 | 
					 | 
				
			||||||
	0x03, 0x21, 0x07, 0x06,  // 180:801
 | 
					 | 
				
			||||||
	0x03, 0x28, 0x07, 0x04,  // 181:808
 | 
					 | 
				
			||||||
	0x03, 0x2F, 0x09, 0x05,  // 182:815
 | 
					 | 
				
			||||||
	0x03, 0x38, 0x01, 0x01,  // 183:824
 | 
					 | 
				
			||||||
	0x03, 0x39, 0x08, 0x06,  // 184:825
 | 
					 | 
				
			||||||
	0x03, 0x41, 0x01, 0x02,  // 185:833
 | 
					 | 
				
			||||||
	0x03, 0x42, 0x05, 0x03,  // 186:834
 | 
					 | 
				
			||||||
	0x03, 0x47, 0x05, 0x03,  // 187:839
 | 
					 | 
				
			||||||
	0x03, 0x4C, 0x0A, 0x05,  // 188:844
 | 
					 | 
				
			||||||
	0x03, 0x56, 0x0A, 0x05,  // 189:854
 | 
					 | 
				
			||||||
	0x03, 0x60, 0x0C, 0x06,  // 190:864
 | 
					 | 
				
			||||||
	0x03, 0x6C, 0x05, 0x03,  // 191:876
 | 
					 | 
				
			||||||
	0x03, 0x71, 0x0B, 0x06,  // 192:881
 | 
					 | 
				
			||||||
	0x03, 0x7C, 0x0B, 0x06,  // 193:892
 | 
					 | 
				
			||||||
	0x03, 0x87, 0x0B, 0x06,  // 194:903
 | 
					 | 
				
			||||||
	0x03, 0x92, 0x0B, 0x06,  // 195:914
 | 
					 | 
				
			||||||
	0x03, 0x9D, 0x0B, 0x06,  // 196:925
 | 
					 | 
				
			||||||
	0x03, 0xA8, 0x0B, 0x06,  // 197:936
 | 
					 | 
				
			||||||
	0x03, 0xB3, 0x13, 0x0A,  // 198:947
 | 
					 | 
				
			||||||
	0x03, 0xC6, 0x0B, 0x06,  // 199:966
 | 
					 | 
				
			||||||
	0x03, 0xD1, 0x07, 0x04,  // 200:977
 | 
					 | 
				
			||||||
	0x03, 0xD8, 0x07, 0x04,  // 201:984
 | 
					 | 
				
			||||||
	0x03, 0xDF, 0x07, 0x04,  // 202:991
 | 
					 | 
				
			||||||
	0x03, 0xE6, 0x07, 0x04,  // 203:998
 | 
					 | 
				
			||||||
	0x03, 0xED, 0x04, 0x02,  // 204:1005
 | 
					 | 
				
			||||||
	0x03, 0xF1, 0x04, 0x02,  // 205:1009
 | 
					 | 
				
			||||||
	0x03, 0xF5, 0x04, 0x02,  // 206:1013
 | 
					 | 
				
			||||||
	0x03, 0xF9, 0x04, 0x02,  // 207:1017
 | 
					 | 
				
			||||||
	0x03, 0xFD, 0x0B, 0x06,  // 208:1021
 | 
					 | 
				
			||||||
	0x04, 0x08, 0x0B, 0x06,  // 209:1032
 | 
					 | 
				
			||||||
	0x04, 0x13, 0x0B, 0x06,  // 210:1043
 | 
					 | 
				
			||||||
	0x04, 0x1E, 0x0B, 0x06,  // 211:1054
 | 
					 | 
				
			||||||
	0x04, 0x29, 0x0B, 0x06,  // 212:1065
 | 
					 | 
				
			||||||
	0x04, 0x34, 0x0B, 0x06,  // 213:1076
 | 
					 | 
				
			||||||
	0x04, 0x3F, 0x0B, 0x06,  // 214:1087
 | 
					 | 
				
			||||||
	0x04, 0x4A, 0x05, 0x03,  // 215:1098
 | 
					 | 
				
			||||||
	0x04, 0x4F, 0x0B, 0x06,  // 216:1103
 | 
					 | 
				
			||||||
	0x04, 0x5A, 0x09, 0x05,  // 217:1114
 | 
					 | 
				
			||||||
	0x04, 0x63, 0x09, 0x05,  // 218:1123
 | 
					 | 
				
			||||||
	0x04, 0x6C, 0x09, 0x05,  // 219:1132
 | 
					 | 
				
			||||||
	0x04, 0x75, 0x09, 0x05,  // 220:1141
 | 
					 | 
				
			||||||
	0x04, 0x7E, 0x0C, 0x06,  // 221:1150
 | 
					 | 
				
			||||||
	0x04, 0x8A, 0x0B, 0x06,  // 222:1162
 | 
					 | 
				
			||||||
	0x04, 0x95, 0x09, 0x05,  // 223:1173
 | 
					 | 
				
			||||||
	0x04, 0x9E, 0x09, 0x05,  // 224:1182
 | 
					 | 
				
			||||||
	0x04, 0xA7, 0x09, 0x05,  // 225:1191
 | 
					 | 
				
			||||||
	0x04, 0xB0, 0x09, 0x05,  // 226:1200
 | 
					 | 
				
			||||||
	0x04, 0xB9, 0x09, 0x05,  // 227:1209
 | 
					 | 
				
			||||||
	0x04, 0xC2, 0x09, 0x05,  // 228:1218
 | 
					 | 
				
			||||||
	0x04, 0xCB, 0x09, 0x05,  // 229:1227
 | 
					 | 
				
			||||||
	0x04, 0xD4, 0x0F, 0x08,  // 230:1236
 | 
					 | 
				
			||||||
	0x04, 0xE3, 0x07, 0x04,  // 231:1251
 | 
					 | 
				
			||||||
	0x04, 0xEA, 0x07, 0x05,  // 232:1258
 | 
					 | 
				
			||||||
	0x04, 0xF1, 0x07, 0x05,  // 233:1265
 | 
					 | 
				
			||||||
	0x04, 0xF8, 0x07, 0x05,  // 234:1272
 | 
					 | 
				
			||||||
	0x04, 0xFF, 0x07, 0x05,  // 235:1279
 | 
					 | 
				
			||||||
	0x05, 0x06, 0x03, 0x02,  // 236:1286
 | 
					 | 
				
			||||||
	0x05, 0x09, 0x03, 0x02,  // 237:1289
 | 
					 | 
				
			||||||
	0x05, 0x0C, 0x03, 0x02,  // 238:1292
 | 
					 | 
				
			||||||
	0x05, 0x0F, 0x03, 0x02,  // 239:1295
 | 
					 | 
				
			||||||
	0x05, 0x12, 0x07, 0x04,  // 240:1298
 | 
					 | 
				
			||||||
	0x05, 0x19, 0x09, 0x05,  // 241:1305
 | 
					 | 
				
			||||||
	0x05, 0x22, 0x09, 0x05,  // 242:1314
 | 
					 | 
				
			||||||
	0x05, 0x2B, 0x09, 0x05,  // 243:1323
 | 
					 | 
				
			||||||
	0x05, 0x34, 0x09, 0x05,  // 244:1332
 | 
					 | 
				
			||||||
	0x05, 0x3D, 0x09, 0x05,  // 245:1341
 | 
					 | 
				
			||||||
	0x05, 0x46, 0x09, 0x05,  // 246:1350
 | 
					 | 
				
			||||||
	0x05, 0x4F, 0x07, 0x04,  // 247:1359
 | 
					 | 
				
			||||||
	0x05, 0x56, 0x09, 0x05,  // 248:1366
 | 
					 | 
				
			||||||
	0x05, 0x5F, 0x07, 0x05,  // 249:1375
 | 
					 | 
				
			||||||
	0x05, 0x66, 0x07, 0x05,  // 250:1382
 | 
					 | 
				
			||||||
	0x05, 0x6D, 0x07, 0x05,  // 251:1389
 | 
					 | 
				
			||||||
	0x05, 0x74, 0x07, 0x05,  // 252:1396
 | 
					 | 
				
			||||||
	0x05, 0x7B, 0x0A, 0x05,  // 253:1403
 | 
					 | 
				
			||||||
	0x05, 0x85, 0x0B, 0x06,  // 254:1413
 | 
					 | 
				
			||||||
	0x05, 0x90, 0x0A, 0x05,  // 255:1424
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Font Data:
 | 
					 | 
				
			||||||
	0x60,0x01,0x18,	// 33
 | 
					 | 
				
			||||||
	0x00,0x00,0x18,	// 34
 | 
					 | 
				
			||||||
	0x50,0x00,0xF8,0x00,0xF0,0x00,0x58,	// 35
 | 
					 | 
				
			||||||
	0x58,0x00,0xAC,0x01,0xF0,	// 36
 | 
					 | 
				
			||||||
	0x18,0x01,0xD8,0x00,0xB8,	// 37
 | 
					 | 
				
			||||||
	0xE0,0x00,0x38,0x01,0x34,0x01,0xE8,0x00,0x34,	// 38
 | 
					 | 
				
			||||||
	0x18,	// 39
 | 
					 | 
				
			||||||
	0xE0,0x00,0x18,0x03,0x04,	// 40
 | 
					 | 
				
			||||||
	0x88,0x01,0x70,	// 41
 | 
					 | 
				
			||||||
	0x30,0x00,0x18,0x00,0x30,	// 42
 | 
					 | 
				
			||||||
	0x20,0x00,0xF8,0x00,0x20,0x00,0x20,	// 43
 | 
					 | 
				
			||||||
	0x80,	// 44
 | 
					 | 
				
			||||||
	0x20,0x00,0x20,0x00,0x20,0x00,0x20,	// 45
 | 
					 | 
				
			||||||
	0x80,	// 46
 | 
					 | 
				
			||||||
	0x00,0x01,0xC0,0x00,0x30,0x00,0x0C,	// 47
 | 
					 | 
				
			||||||
	0x78,0x00,0x84,0x00,0x84,0x00,0x78,	// 48
 | 
					 | 
				
			||||||
	0x20,0x00,0xF8,0x01,	// 49
 | 
					 | 
				
			||||||
	0xB0,0x00,0xC8,0x00,0x48,0x00,0xB8,	// 50
 | 
					 | 
				
			||||||
	0x98,0x00,0x24,0x01,0x24,0x01,0xF8,	// 51
 | 
					 | 
				
			||||||
	0x40,0x00,0x38,0x00,0x20,0x00,0xFC,0x01,0x40,	// 52
 | 
					 | 
				
			||||||
	0x40,0x00,0xB8,0x00,0x98,0x00,0x78,	// 53
 | 
					 | 
				
			||||||
	0x70,0x00,0xA8,0x00,0xA8,0x00,0xF0,	// 54
 | 
					 | 
				
			||||||
	0x08,0x00,0x88,0x00,0x68,0x00,0x28,0x00,0x38,	// 55
 | 
					 | 
				
			||||||
	0x40,0x00,0xB8,0x00,0xA8,0x00,0x78,	// 56
 | 
					 | 
				
			||||||
	0xB0,0x00,0xA8,0x00,0x68,0x00,0x30,	// 57
 | 
					 | 
				
			||||||
	0xA0,	// 58
 | 
					 | 
				
			||||||
	0xA0,	// 59
 | 
					 | 
				
			||||||
	0x40,0x00,0x60,0x00,0x90,0x00,0x90,	// 60
 | 
					 | 
				
			||||||
	0xA0,0x00,0xA0,0x00,0xA0,0x00,0xA0,	// 61
 | 
					 | 
				
			||||||
	0x50,0x00,0x50,0x00,0x20,0x00,0x20,	// 62
 | 
					 | 
				
			||||||
	0x78,0x00,0x64,0x01,0x24,	// 63
 | 
					 | 
				
			||||||
	0x70,0x00,0xB8,0x00,0xB8,0x00,0xA8,0x00,0x70,	// 64
 | 
					 | 
				
			||||||
	0x40,0x00,0xB8,0x00,0x24,0x00,0xA4,0x00,0x78,0x00,0x20,	// 65
 | 
					 | 
				
			||||||
	0xF4,0x01,0xF8,0x01,0x84,0x00,0xE4,0x00,0x64,0x00,0x18,	// 66
 | 
					 | 
				
			||||||
	0x70,0x00,0x90,0x00,0x88,0x00,0x88,0x00,0x98,0x00,0x58,	// 67
 | 
					 | 
				
			||||||
	0x08,0x01,0xFC,0x01,0x08,0x01,0x08,0x01,0x90,0x00,0x70,	// 68
 | 
					 | 
				
			||||||
	0x60,0x00,0x98,0x00,0x98,0x00,0x50,	// 69
 | 
					 | 
				
			||||||
	0x04,0x00,0xFC,0x01,0x44,0x00,0x04,	// 70
 | 
					 | 
				
			||||||
	0x70,0x00,0xC8,0x00,0x84,0x00,0x84,0x01,0x84,0x02,0xF8,0x01,	// 71
 | 
					 | 
				
			||||||
	0x44,0x00,0xF8,0x01,0x40,0x00,0x40,0x00,0x40,0x00,0xFC,	// 72
 | 
					 | 
				
			||||||
	0x00,0x00,0xF8,0x01,	// 73
 | 
					 | 
				
			||||||
	0x80,0x01,0x40,0x01,0x04,0x01,0xF8,	// 74
 | 
					 | 
				
			||||||
	0x60,0x00,0xF8,0x01,0x20,0x00,0x70,0x00,0x8C,	// 75
 | 
					 | 
				
			||||||
	0x84,0x01,0xF8,0x00,0x80,0x00,0x00,0x01,	// 76
 | 
					 | 
				
			||||||
	0x00,0x00,0x70,0x00,0x88,0x00,0x78,0x00,0x70,0x00,0x08,0x00,0x88,0x00,0x70,	// 77
 | 
					 | 
				
			||||||
	0x00,0x00,0xF8,0x01,0x18,0x00,0x04,0x00,0xC4,0x01,0x3C,	// 78
 | 
					 | 
				
			||||||
	0x78,0x00,0x8C,0x00,0x84,0x00,0x84,0x00,0xCC,0x00,0x78,	// 79
 | 
					 | 
				
			||||||
	0x1C,0x00,0xFC,0x01,0x24,0x00,0x24,0x00,0x18,	// 80
 | 
					 | 
				
			||||||
	0x00,0x00,0x78,0x00,0x84,0x00,0x84,0x00,0xC4,0x00,0x78,0x01,	// 81
 | 
					 | 
				
			||||||
	0x18,0x00,0xFC,0x01,0x24,0x00,0x24,0x00,0xE4,0x01,0x18,	// 82
 | 
					 | 
				
			||||||
	0x80,0x00,0x58,0x01,0x28,0x01,0xD0,0x01,	// 83
 | 
					 | 
				
			||||||
	0x10,0x00,0x08,0x00,0xF8,0x01,0x08,	// 84
 | 
					 | 
				
			||||||
	0x00,0x00,0x78,0x00,0x80,0x00,0x80,0x00,0x78,	// 85
 | 
					 | 
				
			||||||
	0x0C,0x00,0x10,0x00,0xE0,0x03,0xA0,0x03,0x18,0x00,0x04,	// 86
 | 
					 | 
				
			||||||
	0x00,0x00,0xF0,0x00,0x88,0x00,0xE0,0x00,0x80,0x00,0x80,0x00,0xC0,0x00,0x78,	// 87
 | 
					 | 
				
			||||||
	0x00,0x00,0x8C,0x01,0x50,0x00,0x20,0x00,0xD0,0x00,0x0C,0x01,	// 88
 | 
					 | 
				
			||||||
	0x00,0x00,0xF0,0x00,0x88,0x0E,0x40,0x09,0xF8,0x07,0x00,0x02,	// 89
 | 
					 | 
				
			||||||
	0x10,0x01,0x10,0x01,0xC8,0x00,0xA8,0x00,0x38,0x01,	// 90
 | 
					 | 
				
			||||||
	0x00,0x00,0xFE,0x01,	// 91
 | 
					 | 
				
			||||||
	0x0C,0x00,0x10,0x00,0x60,0x00,0x80,0x01,	// 92
 | 
					 | 
				
			||||||
	0x04,0x01,0xFC,0x01,	// 93
 | 
					 | 
				
			||||||
	0x30,0x00,0x08,0x00,0x30,	// 94
 | 
					 | 
				
			||||||
	0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,	// 95
 | 
					 | 
				
			||||||
	0x00,0x00,0x00,0x00,0x00,0x00,0x08,	// 96
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0xF0,	// 97
 | 
					 | 
				
			||||||
	0xFC,0x01,0x20,0x01,0x10,0x01,0x10,0x01,0xE0,	// 98
 | 
					 | 
				
			||||||
	0xE0,0x00,0x10,0x01,0x10,0x01,0xA0,	// 99
 | 
					 | 
				
			||||||
	0xC0,0x00,0x20,0x01,0x20,0x01,0xA0,0x00,0xFC,0x00,0x00,0x01,	// 100
 | 
					 | 
				
			||||||
	0x60,0x00,0xD0,0x00,0xD0,0x00,0x70,	// 101
 | 
					 | 
				
			||||||
	0x10,0x00,0xF8,0x00,0x04,0x01,	// 102
 | 
					 | 
				
			||||||
	0x60,0x00,0x50,0x07,0xD0,0x05,0x70,0x03,	// 103
 | 
					 | 
				
			||||||
	0xFC,0x01,0x10,0x00,0x10,0x01,0xF0,	// 104
 | 
					 | 
				
			||||||
	0x00,0x00,0x78,	// 105
 | 
					 | 
				
			||||||
	0xF4,0x03,	// 106
 | 
					 | 
				
			||||||
	0xFC,0x00,0x60,0x00,0x60,0x00,0x90,	// 107
 | 
					 | 
				
			||||||
	0xFC,	// 108
 | 
					 | 
				
			||||||
	0x10,0x00,0xE0,0x00,0x10,0x00,0xF0,0x00,0x20,0x00,0x90,0x00,0x70,	// 109
 | 
					 | 
				
			||||||
	0xE0,0x00,0x10,0x00,0x90,0x00,0x70,	// 110
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0x60,	// 111
 | 
					 | 
				
			||||||
	0xD0,0x03,0xE0,0x03,0x90,0x00,0x90,0x00,0x60,	// 112
 | 
					 | 
				
			||||||
	0xE0,0x00,0x90,0x00,0x90,0x00,0xF0,0x03,0x80,0x04,	// 113
 | 
					 | 
				
			||||||
	0x00,0x00,0xF0,0x01,0x10,0x00,0x30,	// 114
 | 
					 | 
				
			||||||
	0x30,0x00,0x50,0x00,0xD0,0x00,0xE0,	// 115
 | 
					 | 
				
			||||||
	0x10,0x00,0xF8,0x00,0x14,0x01,	// 116
 | 
					 | 
				
			||||||
	0x70,0x00,0x80,0x00,0x80,0x00,0x70,	// 117
 | 
					 | 
				
			||||||
	0x30,0x00,0xC0,0x00,0x40,0x00,0x30,	// 118
 | 
					 | 
				
			||||||
	0xF0,0x00,0x80,0x00,0x80,0x00,0xF0,0x00,0x80,0x00,0x90,0x00,0x70,	// 119
 | 
					 | 
				
			||||||
	0xA0,0x00,0x40,0x00,0xB0,0x00,0x80,	// 120
 | 
					 | 
				
			||||||
	0x70,0x00,0x40,0x0F,0xA0,0x08,0xF0,0x07,0x80,0x01,	// 121
 | 
					 | 
				
			||||||
	0xA0,0x00,0xD0,0x00,0xD0,0x00,0xF0,	// 122
 | 
					 | 
				
			||||||
	0x20,0x00,0x20,0x00,0xFC,0x01,	// 123
 | 
					 | 
				
			||||||
	0xF8,0x01,	// 124
 | 
					 | 
				
			||||||
	0x04,0x01,0xF8,0x00,0x20,	// 125
 | 
					 | 
				
			||||||
	0x60,0x00,0x20,0x00,0x20,0x00,0x20,	// 126
 | 
					 | 
				
			||||||
	0x00,0x00,0xF8,	// 161
 | 
					 | 
				
			||||||
	0x70,0x00,0xDC,0x00,0x78,	// 162
 | 
					 | 
				
			||||||
	0x20,0x00,0xF8,0x00,0xA8,0x00,0xB0,	// 163
 | 
					 | 
				
			||||||
	0x78,0x00,0x48,0x00,0x48,0x00,0x78,	// 164
 | 
					 | 
				
			||||||
	0x10,0x00,0xE0,0x00,0xB8,0x00,0xA0,	// 165
 | 
					 | 
				
			||||||
	0xD8,	// 166
 | 
					 | 
				
			||||||
	0x7C,0x00,0x94,0x01,0xE8,0x01,	// 167
 | 
					 | 
				
			||||||
	0x00,0x00,0x00,0x00,0x08,0x00,0x08,	// 168
 | 
					 | 
				
			||||||
	0x30,0x00,0x78,0x00,0x78,0x00,0x30,	// 169
 | 
					 | 
				
			||||||
	0x30,0x00,0x30,	// 170
 | 
					 | 
				
			||||||
	0x60,0x00,0xF0,0x00,0x90,	// 171
 | 
					 | 
				
			||||||
	0x20,0x00,0x20,0x00,0x20,0x00,0xE0,	// 172
 | 
					 | 
				
			||||||
	0x20,0x00,0x20,0x00,0x20,0x00,0x20,	// 173
 | 
					 | 
				
			||||||
	0x30,0x00,0x78,0x00,0x78,0x00,0x30,	// 174
 | 
					 | 
				
			||||||
	0x00,0x00,0x00,0x00,0x08,0x00,0x08,	// 175
 | 
					 | 
				
			||||||
	0x08,	// 176
 | 
					 | 
				
			||||||
	0xA0,0x00,0xB8,0x00,0x90,0x00,0x90,	// 177
 | 
					 | 
				
			||||||
	0x28,0x00,0x38,0x00,0x20,	// 178
 | 
					 | 
				
			||||||
	0x38,0x00,0x38,	// 179
 | 
					 | 
				
			||||||
	0x00,0x00,0x00,0x00,0x00,0x00,0x08,	// 180
 | 
					 | 
				
			||||||
	0xF0,0x03,0x80,0x00,0x80,0x00,0x70,	// 181
 | 
					 | 
				
			||||||
	0x30,0x00,0x48,0x00,0xF8,0x00,0x78,0x00,0x88,	// 182
 | 
					 | 
				
			||||||
	0x20,	// 183
 | 
					 | 
				
			||||||
	0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,	// 184
 | 
					 | 
				
			||||||
	0x38,	// 185
 | 
					 | 
				
			||||||
	0x30,0x00,0x30,0x00,0x30,	// 186
 | 
					 | 
				
			||||||
	0x90,0x00,0xF0,0x00,0x60,	// 187
 | 
					 | 
				
			||||||
	0x38,0x00,0xC0,0x00,0xB0,0x00,0xC8,0x00,0xE0,0x01,	// 188
 | 
					 | 
				
			||||||
	0x38,0x00,0xC0,0x00,0x70,0x01,0xA8,0x00,0x40,0x01,	// 189
 | 
					 | 
				
			||||||
	0x30,0x00,0x38,0x00,0xC0,0x00,0x30,0x00,0x88,0x00,0xE0,0x01,	// 190
 | 
					 | 
				
			||||||
	0xC0,0x01,0x54,0x01,0xF0,	// 191
 | 
					 | 
				
			||||||
	0x40,0x00,0xB8,0x00,0x24,0x00,0xA6,0x00,0x78,0x00,0x20,	// 192
 | 
					 | 
				
			||||||
	0x40,0x00,0xB8,0x00,0x24,0x00,0xA4,0x00,0x7A,0x00,0x20,	// 193
 | 
					 | 
				
			||||||
	0x40,0x00,0xB8,0x00,0x26,0x00,0xA4,0x00,0x78,0x00,0x20,	// 194
 | 
					 | 
				
			||||||
	0x40,0x00,0xB8,0x00,0x26,0x00,0xA6,0x00,0x7A,0x00,0x22,	// 195
 | 
					 | 
				
			||||||
	0x40,0x00,0xB8,0x00,0x26,0x00,0xA6,0x00,0x78,0x00,0x20,	// 196
 | 
					 | 
				
			||||||
	0x40,0x00,0xB0,0x00,0x28,0x00,0x26,0x00,0xF8,0x00,0x20,	// 197
 | 
					 | 
				
			||||||
	0x60,0x00,0xD8,0x00,0x44,0x00,0x44,0x00,0x4C,0x00,0xF8,0x00,0xC8,0x00,0xC8,0x00,0x44,0x00,0x20,	// 198
 | 
					 | 
				
			||||||
	0x70,0x00,0xC8,0x00,0x84,0x03,0x84,0x03,0x9C,0x00,0x58,	// 199
 | 
					 | 
				
			||||||
	0x60,0x00,0x98,0x00,0x9A,0x00,0x50,	// 200
 | 
					 | 
				
			||||||
	0x60,0x00,0x98,0x00,0x98,0x00,0x52,	// 201
 | 
					 | 
				
			||||||
	0x60,0x00,0x98,0x00,0x9A,0x00,0x52,	// 202
 | 
					 | 
				
			||||||
	0x60,0x00,0x9A,0x00,0x9A,0x00,0x50,	// 203
 | 
					 | 
				
			||||||
	0x02,0x00,0xF8,0x01,	// 204
 | 
					 | 
				
			||||||
	0x00,0x00,0xFA,0x01,	// 205
 | 
					 | 
				
			||||||
	0x02,0x00,0xFA,0x01,	// 206
 | 
					 | 
				
			||||||
	0x02,0x00,0xFA,0x01,	// 207
 | 
					 | 
				
			||||||
	0xA4,0x00,0xFC,0x00,0xA4,0x00,0x84,0x00,0x48,0x00,0x38,	// 208
 | 
					 | 
				
			||||||
	0x00,0x00,0xF8,0x01,0x1E,0x00,0x06,0x00,0xC6,0x01,0x3E,	// 209
 | 
					 | 
				
			||||||
	0x78,0x00,0x8C,0x00,0x84,0x00,0x86,0x00,0xCC,0x00,0x78,	// 210
 | 
					 | 
				
			||||||
	0x78,0x00,0x8C,0x00,0x84,0x00,0x86,0x00,0xCC,0x00,0x78,	// 211
 | 
					 | 
				
			||||||
	0x78,0x00,0x8C,0x00,0x86,0x00,0x84,0x00,0xCC,0x00,0x78,	// 212
 | 
					 | 
				
			||||||
	0x78,0x00,0x8C,0x00,0x86,0x00,0x86,0x00,0xCE,0x00,0x7A,	// 213
 | 
					 | 
				
			||||||
	0x78,0x00,0x8C,0x00,0x86,0x00,0x86,0x00,0xCC,0x00,0x78,	// 214
 | 
					 | 
				
			||||||
	0x50,0x00,0x20,0x00,0x50,	// 215
 | 
					 | 
				
			||||||
	0xF0,0x01,0x18,0x01,0xC8,0x00,0xB8,0x00,0x8C,0x00,0x70,	// 216
 | 
					 | 
				
			||||||
	0x00,0x00,0x78,0x00,0x82,0x00,0x80,0x00,0x78,	// 217
 | 
					 | 
				
			||||||
	0x00,0x00,0x78,0x00,0x80,0x00,0x82,0x00,0x78,	// 218
 | 
					 | 
				
			||||||
	0x00,0x00,0x78,0x00,0x82,0x00,0x82,0x00,0x78,	// 219
 | 
					 | 
				
			||||||
	0x00,0x00,0x78,0x00,0x82,0x00,0x82,0x00,0x78,	// 220
 | 
					 | 
				
			||||||
	0x00,0x00,0xF0,0x00,0x88,0x0E,0x42,0x09,0xF8,0x07,0x00,0x02,	// 221
 | 
					 | 
				
			||||||
	0x10,0x00,0x08,0x00,0xFC,0x01,0x48,0x00,0x48,0x00,0x30,	// 222
 | 
					 | 
				
			||||||
	0x00,0x00,0x78,0x00,0xA4,0x01,0x3C,0x01,0xC0,	// 223
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x00,0x94,0x00,0x90,0x00,0xF0,	// 224
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x00,0x90,0x00,0x94,0x00,0xF0,	// 225
 | 
					 | 
				
			||||||
	0x60,0x00,0x94,0x00,0x94,0x00,0x90,0x00,0xF0,	// 226
 | 
					 | 
				
			||||||
	0x60,0x00,0x98,0x00,0x98,0x00,0x98,0x00,0xF8,	// 227
 | 
					 | 
				
			||||||
	0x60,0x00,0x98,0x00,0x98,0x00,0x90,0x00,0xF0,	// 228
 | 
					 | 
				
			||||||
	0x60,0x00,0x98,0x00,0x98,0x00,0x90,0x00,0xF0,	// 229
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0xE0,0x00,0xD0,0x00,0xD0,0x00,0x70,	// 230
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x03,0x90,0x03,0x60,	// 231
 | 
					 | 
				
			||||||
	0x60,0x00,0xD0,0x00,0xD8,0x00,0x70,	// 232
 | 
					 | 
				
			||||||
	0x60,0x00,0xD0,0x00,0xD0,0x00,0x78,	// 233
 | 
					 | 
				
			||||||
	0x60,0x00,0xD0,0x00,0xD4,0x00,0x74,	// 234
 | 
					 | 
				
			||||||
	0x60,0x00,0xD8,0x00,0xD8,0x00,0x70,	// 235
 | 
					 | 
				
			||||||
	0x08,0x00,0x70,	// 236
 | 
					 | 
				
			||||||
	0x00,0x00,0x74,	// 237
 | 
					 | 
				
			||||||
	0x08,0x00,0x70,	// 238
 | 
					 | 
				
			||||||
	0x08,0x00,0x78,	// 239
 | 
					 | 
				
			||||||
	0xD0,0x01,0x38,0x01,0x3C,0x01,0xE0,	// 240
 | 
					 | 
				
			||||||
	0xE0,0x00,0x18,0x00,0x98,0x00,0x78,0x00,0x08,	// 241
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x00,0x94,0x00,0x90,0x00,0x60,	// 242
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x00,0x90,0x00,0x94,0x00,0x60,	// 243
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x00,0x94,0x00,0x94,0x00,0x60,	// 244
 | 
					 | 
				
			||||||
	0x60,0x00,0x90,0x00,0x98,0x00,0x98,0x00,0x68,	// 245
 | 
					 | 
				
			||||||
	0x60,0x00,0x98,0x00,0x98,0x00,0x90,0x00,0x60,	// 246
 | 
					 | 
				
			||||||
	0x40,0x00,0x40,0x00,0x50,0x01,0x40,	// 247
 | 
					 | 
				
			||||||
	0xE0,0x00,0xB0,0x00,0xD0,0x00,0xB0,0x00,0x70,	// 248
 | 
					 | 
				
			||||||
	0x70,0x00,0x80,0x00,0x88,0x00,0x70,	// 249
 | 
					 | 
				
			||||||
	0x70,0x00,0x80,0x00,0x80,0x00,0x78,	// 250
 | 
					 | 
				
			||||||
	0x70,0x00,0x88,0x00,0x88,0x00,0x70,	// 251
 | 
					 | 
				
			||||||
	0x70,0x00,0x88,0x00,0x88,0x00,0x70,	// 252
 | 
					 | 
				
			||||||
	0x70,0x00,0x40,0x0F,0xA0,0x08,0xF4,0x07,0x80,0x01,	// 253
 | 
					 | 
				
			||||||
	0xCC,0x03,0xF0,0x03,0x90,0x00,0x90,0x00,0x90,0x00,0x60,	// 254
 | 
					 | 
				
			||||||
	0x70,0x00,0x48,0x0F,0xA8,0x08,0xF0,0x07,0x80,0x01	// 255
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* FONT_H_ */
 | 
					 | 
				
			||||||
@ -1,403 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * DisplayBoardFirmware.c
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * Created: 08.01.2019 19:46:33
 | 
					 | 
				
			||||||
 * Author : julian
 | 
					 | 
				
			||||||
 */ 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <avr/io.h>
 | 
					 | 
				
			||||||
#include <avr/interrupt.h>
 | 
					 | 
				
			||||||
#include <util/delay.h>
 | 
					 | 
				
			||||||
#include <stddef.h> // for size_t
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define DISPLAY_PORT PORTA
 | 
					 | 
				
			||||||
#define DISPLAY_PIN PINA
 | 
					 | 
				
			||||||
#define DISPLAY_DDR DDRA
 | 
					 | 
				
			||||||
#define DISPLAY_SCL (1<<PA3)
 | 
					 | 
				
			||||||
#define DISPLAY_SDA (1<<PA2)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define DISPLAY_SET(pin) do { DISPLAY_PORT &= ~(pin); DISPLAY_DDR |= (pin); } while(0)
 | 
					 | 
				
			||||||
#define DISPLAY_PIN_CLEAR(pin) do { DISPLAY_DDR &= ~(pin); DISPLAY_PORT |= (pin); } while(0)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define DISPLAY_HALFCLK 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// display commands
 | 
					 | 
				
			||||||
enum {
 | 
					 | 
				
			||||||
	DISPLAY_CMD_CLK_DIV     = 0xD5,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_MULTIPLEX   = 0xA8,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_CHARGEPUMP  = 0x8D,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	DISPLAY_CMD_COMM_VOLTAGE_DETECT = 0xDB,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	DISPLAY_CMD_LINE_OFFSET = 0xD3,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_LINE_START  = 0x40,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_ENABLE      = 0xAE,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_INVERT      = 0xA6,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_TEST        = 0xA4,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_CONTRAST    = 0x81,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	DISPLAY_CMD_ADDR_MODE   = 0x20,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_COLUMN_ADDR = 0x21,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_PAGE_ADDR   = 0x22,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_SCANMODE_POS = 0xC8,
 | 
					 | 
				
			||||||
	DISPLAY_CMD_SCANMODE_NEG = 0xC0,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Display driver */
 | 
					 | 
				
			||||||
typedef struct {
 | 
					 | 
				
			||||||
	volatile uint8_t current_buffer:1;
 | 
					 | 
				
			||||||
} display_t;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
display_t display;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static inline void display_start() {
 | 
					 | 
				
			||||||
	DISPLAY_SET(DISPLAY_SDA);
 | 
					 | 
				
			||||||
	_delay_us(DISPLAY_HALFCLK);
 | 
					 | 
				
			||||||
	DISPLAY_SET(DISPLAY_SCL);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static inline void display_stop() {
 | 
					 | 
				
			||||||
	DISPLAY_PIN_CLEAR(DISPLAY_SCL);
 | 
					 | 
				
			||||||
	_delay_us(DISPLAY_HALFCLK);
 | 
					 | 
				
			||||||
	DISPLAY_PIN_CLEAR(DISPLAY_SDA);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint8_t display_addr = 0x78;
 | 
					 | 
				
			||||||
//const uint8_t display_addr = 0x1E;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// returns 1 on NACK
 | 
					 | 
				
			||||||
int display_send(uint8_t b) {
 | 
					 | 
				
			||||||
	int i = 0;
 | 
					 | 
				
			||||||
	while(i < 8)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		if (b&(0x80>>i))
 | 
					 | 
				
			||||||
			DISPLAY_PIN_CLEAR(DISPLAY_SDA);
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
			DISPLAY_SET(DISPLAY_SDA);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		_delay_us(1);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		DISPLAY_PIN_CLEAR(DISPLAY_SCL);
 | 
					 | 
				
			||||||
		_delay_us(DISPLAY_HALFCLK);
 | 
					 | 
				
			||||||
		DISPLAY_SET(DISPLAY_SCL);
 | 
					 | 
				
			||||||
		_delay_us(DISPLAY_HALFCLK-2);
 | 
					 | 
				
			||||||
		i++;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	DISPLAY_PIN_CLEAR(DISPLAY_SDA);
 | 
					 | 
				
			||||||
	_delay_us(DISPLAY_HALFCLK);
 | 
					 | 
				
			||||||
	DISPLAY_PIN_CLEAR(DISPLAY_SCL);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	_delay_us(DISPLAY_HALFCLK);
 | 
					 | 
				
			||||||
	// look for ACK
 | 
					 | 
				
			||||||
	int result = DISPLAY_PIN & DISPLAY_SDA;
 | 
					 | 
				
			||||||
	DISPLAY_SET(DISPLAY_SCL);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// ack means 0 during clk period
 | 
					 | 
				
			||||||
	return result != 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int display_ncmd(uint8_t *cmd, uint8_t len) {
 | 
					 | 
				
			||||||
	int result = 1;
 | 
					 | 
				
			||||||
	display_start();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (display_send(display_addr)) goto fail;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	uint8_t prefix = 0x80;
 | 
					 | 
				
			||||||
	while(len--)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		if (display_send(prefix) || display_send(*cmd))
 | 
					 | 
				
			||||||
			goto fail;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		if (len-1) {
 | 
					 | 
				
			||||||
			prefix = 0x00;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		++cmd;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	result = 0;
 | 
					 | 
				
			||||||
fail:
 | 
					 | 
				
			||||||
	display_stop();
 | 
					 | 
				
			||||||
	return result;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int display_cmd(uint8_t cmd) {
 | 
					 | 
				
			||||||
	return display_ncmd(&cmd, 1);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int display_data_chunk(uint8_t ** data, size_t *len) {
 | 
					 | 
				
			||||||
	int result = 1;
 | 
					 | 
				
			||||||
	uint8_t count = 16;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_start();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (display_send(display_addr)) {
 | 
					 | 
				
			||||||
		goto fail;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (display_send(0x40))
 | 
					 | 
				
			||||||
		goto fail;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	while(count && *len && !display_send(**data)) {
 | 
					 | 
				
			||||||
		count--;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		(*len)--;
 | 
					 | 
				
			||||||
		(*data)++;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	result = 0;
 | 
					 | 
				
			||||||
fail:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_stop();
 | 
					 | 
				
			||||||
	return result;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
int display_data(uint8_t * data, size_t len) {
 | 
					 | 
				
			||||||
	int result = 1;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	while(len && !(result = display_data_chunk(&data, &len))) {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return result;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void display_copy(int x, int y,  int w, int h, uint8_t *data, size_t len) {
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_COLUMN_ADDR);
 | 
					 | 
				
			||||||
	display_cmd(y);
 | 
					 | 
				
			||||||
	display_cmd(y + h);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_PAGE_ADDR);
 | 
					 | 
				
			||||||
	display_cmd(x     + 4*display.current_buffer);
 | 
					 | 
				
			||||||
	display_cmd(x + w + 4*display.current_buffer -1);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_data(data, len);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void display_clear() {
 | 
					 | 
				
			||||||
	static uint8_t chunk[8] = {0xFF};
 | 
					 | 
				
			||||||
	size_t len = 0;
 | 
					 | 
				
			||||||
	size_t c = 8;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_COLUMN_ADDR);
 | 
					 | 
				
			||||||
	display_cmd(0);
 | 
					 | 
				
			||||||
	display_cmd(127);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_PAGE_ADDR);
 | 
					 | 
				
			||||||
	display_cmd(display.current_buffer*4);
 | 
					 | 
				
			||||||
	display_cmd(display.current_buffer*4+3);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	uint8_t * current = chunk;
 | 
					 | 
				
			||||||
	while(len < 128*4) {
 | 
					 | 
				
			||||||
		display_start();
 | 
					 | 
				
			||||||
		display_send(display_addr);
 | 
					 | 
				
			||||||
		display_send(0x40);
 | 
					 | 
				
			||||||
		for (uint8_t i = 0; i < 16; i++) {
 | 
					 | 
				
			||||||
			display_send(0x00);
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		display_stop();
 | 
					 | 
				
			||||||
		len += 16;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
#include "font.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static inline void pgm_memcpy(uint8_t * dest, const uint8_t * src, size_t s) {
 | 
					 | 
				
			||||||
	while(s--) {
 | 
					 | 
				
			||||||
		*dest = pgm_read_byte(src);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		++src;
 | 
					 | 
				
			||||||
		++dest;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void display_font_copy(char c, int x, int y) {
 | 
					 | 
				
			||||||
	static uint8_t buffer[FONT_HEIGHT*2];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (c < FONT_START || c > FONT_START + FONT_END)
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	int offset = c - FONT_START;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	uint16_t index = pgm_read_word(Fonttable + offset);
 | 
					 | 
				
			||||||
	uint8_t w = pgm_read_byte(Fonttable + offset +2);
 | 
					 | 
				
			||||||
	uint8_t h = pgm_read_byte(Fonttable + offset +3);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	const uint8_t * current = Fonttable + index + FONT_END;
 | 
					 | 
				
			||||||
	uint8_t linebuffer = pgm_read_byte(current++);
 | 
					 | 
				
			||||||
	uint8_t count = 8;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for (int y = 0; y < h; y++) {
 | 
					 | 
				
			||||||
		for (int x = 0; x < w; x++) {
 | 
					 | 
				
			||||||
			count--;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			if (!count) {
 | 
					 | 
				
			||||||
				count = 8;
 | 
					 | 
				
			||||||
				linebuffer = pgm_read_byte(current++);
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//	pgm_memcpy((uint8_t*)&glyph_buffer, (const uint8_t*)Glyphtable, sizeof(glyph_buffer));
 | 
					 | 
				
			||||||
//	pgm_memcpy(buffer, Fonttable + glyph_buffer.index, glyph_buffer.w);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//	display_copy(x, y, 1, FONT_HEIGHT, buffer, FONT_HEIGHT);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// initializes display 
 | 
					 | 
				
			||||||
// setup parameters for normal operation
 | 
					 | 
				
			||||||
void display_init()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	display.current_buffer = 1;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	DISPLAY_PIN_CLEAR(DISPLAY_SCL | DISPLAY_SDA);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_ENABLE);
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_CLK_DIV);
 | 
					 | 
				
			||||||
	display_cmd(0x80);
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_MULTIPLEX);
 | 
					 | 
				
			||||||
	display_cmd(63);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_CHARGEPUMP);
 | 
					 | 
				
			||||||
	display_cmd(0x14);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(0xDA);
 | 
					 | 
				
			||||||
	display_cmd(0x02);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_LINE_OFFSET);
 | 
					 | 
				
			||||||
	display_cmd(0);
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_LINE_START | 0);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_COMM_VOLTAGE_DETECT);
 | 
					 | 
				
			||||||
	display_cmd(0x40);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_ADDR_MODE);
 | 
					 | 
				
			||||||
	display_cmd(0x01);
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_SCANMODE_POS);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_TEST); // no testing mode
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	display_clear();
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_ENABLE|1);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void display_swap() {
 | 
					 | 
				
			||||||
	display.current_buffer = !display.current_buffer;
 | 
					 | 
				
			||||||
	display_cmd(DISPLAY_CMD_LINE_START | 32*display.current_buffer);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// TODO: find out what display is capable of
 | 
					 | 
				
			||||||
void display_write(const char * str) 
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// should be called after every change to display content is made
 | 
					 | 
				
			||||||
// TODO: check if this is possible to implement
 | 
					 | 
				
			||||||
void display_present() {
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* encoder driver */
 | 
					 | 
				
			||||||
typedef enum {
 | 
					 | 
				
			||||||
	ENC_DIR_NONE,
 | 
					 | 
				
			||||||
	ENC_DIR_CW,
 | 
					 | 
				
			||||||
	ENC_DIR_CCW,
 | 
					 | 
				
			||||||
} encoder_dir_t;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
struct encoder;
 | 
					 | 
				
			||||||
typedef void (*encoder_callback_t)(struct encoder * encoder);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
typedef struct encoder {
 | 
					 | 
				
			||||||
	encoder_dir_t dir;
 | 
					 | 
				
			||||||
	uint16_t velo;
 | 
					 | 
				
			||||||
	int16_t pos;
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	encoder_callback_t callback;
 | 
					 | 
				
			||||||
} encoder_t;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
encoder_t encoder;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// encoder can only be at the INT0/INT1 lines
 | 
					 | 
				
			||||||
// maybe pushbutton on pinchange
 | 
					 | 
				
			||||||
void encoder_init(encoder_t * encoder) {
 | 
					 | 
				
			||||||
	*encoder = (encoder_t){};
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
	// TODO: configure PCINT0 interrupt for direction
 | 
					 | 
				
			||||||
	// TODO: configure PCINT1 interrupt for push button
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
volatile encoder_dir_t first;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <avr/interrupt.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// turning interrupt
 | 
					 | 
				
			||||||
ISR(PCINT0_vect) {
 | 
					 | 
				
			||||||
	// find edge type
 | 
					 | 
				
			||||||
	if (first == ENC_DIR_NONE) {
 | 
					 | 
				
			||||||
		first = ENC_DIR_CCW;
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	encoder.dir = first;
 | 
					 | 
				
			||||||
	encoder.pos -= 1;
 | 
					 | 
				
			||||||
	if (encoder.callback) 
 | 
					 | 
				
			||||||
		encoder.callback(&encoder);
 | 
					 | 
				
			||||||
	first = ENC_DIR_NONE;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// push interrupt
 | 
					 | 
				
			||||||
ISR(PCINT1_vect) {
 | 
					 | 
				
			||||||
	// TODO
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* main application */
 | 
					 | 
				
			||||||
typedef struct menuitem {
 | 
					 | 
				
			||||||
	struct menuitem * root;
 | 
					 | 
				
			||||||
	const char * text;
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	struct menuitem * children;
 | 
					 | 
				
			||||||
	uint8_t children_count;
 | 
					 | 
				
			||||||
} menuitem;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include <stddef.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
menuitem root = {.root = NULL, 
 | 
					 | 
				
			||||||
	.text = NULL,
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int main(void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	//_delay_ms(100);
 | 
					 | 
				
			||||||
	display_init();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	uint8_t face[8] = {
 | 
					 | 
				
			||||||
		0b11111111,
 | 
					 | 
				
			||||||
		0b11111110,
 | 
					 | 
				
			||||||
		0b11111100,
 | 
					 | 
				
			||||||
		0b11111000,
 | 
					 | 
				
			||||||
		0b11110000,
 | 
					 | 
				
			||||||
		0b11100000,
 | 
					 | 
				
			||||||
		0b11000000,
 | 
					 | 
				
			||||||
		0b10000000,
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for (int j = 0; j< 16; j++)
 | 
					 | 
				
			||||||
		for (int i = 0; i<4; i++)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			display_copy(i,j*8, 1,8, face, 8);
 | 
					 | 
				
			||||||
			display_font_copy('a', i,j*8);
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	display_swap();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* Replace with your application code */
 | 
					 | 
				
			||||||
    while (1) 
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user