changeset 1299:fa74a9c9f753

rm old golang server that made an rdf graph from inputs on rpi (goraptor & hwio) Ignore-this: 9631ad748dccd16277c74ee602846add darcs-hash:223083e3a057713de9856ce548eddd285c8f48fa
author drewp <drewp@bigasterisk.com>
date Sun, 21 Apr 2019 02:45:35 -0700
parents 1edf7f8d1995
children 8c8134ca6cff
files service/laundry/index.html service/laundry/laundrydoor-eagle.sch service/laundry/laundrydoor-opto2.sch service/laundry/laundrydoor.sch service/laundry/makefile service/laundry/src/bigasterisk/laundry.go service/laundry/static/gui.js service/laundry/symbols/ILQ74.sym
diffstat 8 files changed, 0 insertions(+), 2328 deletions(-) [+]
line wrap: on
line diff
--- a/service/laundry/index.html	Sun Apr 21 02:44:08 2019 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<!doctype html>
-<html lang="en" ng-app>
-  <head>
-    <title>laundry pi</title>
-    <script src="//bigasterisk.com/lib/angular/angular-1.2.0rc1.min.js"></script>
-    <script src="static/gui.js"></script>
-  </head>
-  <body ng-controller="Ctrl">
-    <h1>laundry room pi</h1>
-    <div>
-      <div>
-        current <a href="status">/status</a>
-        (as an rdf <a href="graph">graph</a>)
-      </div>
-      <div><button ng-click="refresh()">refresh</button></div>
-      <h2>Inputs</h2>
-      <div>motion: {{status.motion}}</div>
-      <div>switch1: {{status.switch1}}</div>
-      <div>switch2: {{status.switch2}}</div>
-      <div>switch3: {{status.switch3}}</div>
-      <div>doorClosed: {{status.doorClosed}}</div>
-      <h2>Outputs</h2>
-      <div>
-        orange led: {{status.led}}
-        <button ng-click="setLed('on')">on</button>
-        <button ng-click="setLed('off')">off</button>
-      </div>
-      <div>strike: {{status.strike}} <button ng-click="temporaryUnlock()">unlock for 3 seconds</button></div>
-      <div>speaker: <button ng-click="beep()">beep</button> {{speakerStatus}}</div>
-    </div>
-    <h2>Raw status</h2>
-    <div>{{status | json}}</div>
-  </body>
-</html>
--- a/service/laundry/laundrydoor-eagle.sch	Sun Apr 21 02:44:08 2019 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,877 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE eagle SYSTEM "eagle.dtd">
-<eagle>
-    <drawing>
-        <layers>
-            <layer name="Nets" color="2" number="91" visible="yes" active="yes" fill="1"/>
-            <layer name="Busses" color="1" number="92" visible="yes" active="yes" fill="1"/>
-            <layer name="Pins" color="2" number="93" visible="no" active="yes" fill="1"/>
-            <layer name="Symbols" color="4" number="94" visible="yes" active="yes" fill="1"/>
-            <layer name="Names" color="7" number="95" visible="yes" active="yes" fill="1"/>
-            <layer name="Values" color="7" number="96" visible="yes" active="yes" fill="1"/>
-            <layer name="Info" color="7" number="97" visible="yes" active="yes" fill="1"/>
-            <layer name="Guide" color="6" number="98" visible="yes" active="yes" fill="1"/>
-        </layers>
-        <schematic>
-            <libraries>
-                <library name="openjson">
-                    <packages/>
-                    <symbols>
-                        <symbol name="symbol_0">
-                            <wire layer="94" y2="1.27" x2="2.54" y1="1.27" x1="0.0"/>
-                            <wire layer="94" y2="0.635" x2="1.778" y1="0.635" x1="0.635"/>
-                            <wire layer="94" y2="0.127" x2="1.524" y1="0.127" x1="1.016"/>
-                            <pin name="1" length="short" y="3.81" x="1.27" rot="R270"/>
-                        </symbol>
-                        <symbol name="symbol_1">
-                            <wire layer="94" y2="96.52" x2="2.54" y1="97.79" x1="6.35"/>
-                            <wire layer="94" y2="88.9" x2="2.54" y1="90.17" x1="6.35"/>
-                            <wire layer="94" y2="81.28" x2="2.54" y1="82.55" x1="6.35"/>
-                            <wire layer="94" y2="73.66" x2="2.54" y1="74.93" x1="6.35"/>
-                            <wire layer="94" y2="66.04" x2="2.54" y1="67.31" x1="6.35"/>
-                            <wire layer="94" y2="58.42" x2="2.54" y1="59.69" x1="6.35"/>
-                            <wire layer="94" y2="50.8" x2="2.54" y1="52.07" x1="6.35"/>
-                            <wire layer="94" y2="43.18" x2="2.54" y1="44.45" x1="6.35"/>
-                            <wire layer="94" y2="27.94" x2="2.54" y1="29.21" x1="6.35"/>
-                            <wire layer="94" y2="20.32" x2="2.54" y1="21.59" x1="6.35"/>
-                            <wire layer="94" y2="12.7" x2="2.54" y1="13.97" x1="6.35"/>
-                            <wire layer="94" y2="5.08" x2="2.54" y1="6.35" x1="6.35"/>
-                            <wire layer="94" y2="35.56" x2="2.54" y1="36.83" x1="6.35"/>
-                            <pin name="2" length="middle" y="93.98" x="17.78" rot="R180"/>
-                            <pin name="1" length="long" y="97.79" x="16.51" rot="R180"/>
-                            <pin name="4" length="middle" y="86.36" x="17.78" rot="R180"/>
-                            <pin name="3" length="long" y="90.17" x="16.51" rot="R180"/>
-                            <pin name="6" length="middle" y="78.74" x="17.78" rot="R180"/>
-                            <pin name="5" length="long" y="82.55" x="16.51" rot="R180"/>
-                            <pin name="8" length="middle" y="71.12" x="17.78" rot="R180"/>
-                            <pin name="7" length="long" y="74.93" x="16.51" rot="R180"/>
-                            <pin name="10" length="middle" y="63.5" x="17.78" rot="R180"/>
-                            <pin name="9" length="long" y="67.31" x="16.51" rot="R180"/>
-                            <pin name="12" length="middle" y="55.88" x="17.78" rot="R180"/>
-                            <pin name="11" length="long" y="59.69" x="16.51" rot="R180"/>
-                            <pin name="14" length="middle" y="48.26" x="17.78" rot="R180"/>
-                            <pin name="13" length="long" y="52.07" x="16.51" rot="R180"/>
-                            <pin name="16" length="middle" y="40.64" x="17.78" rot="R180"/>
-                            <pin name="15" length="long" y="44.45" x="16.51" rot="R180"/>
-                            <pin name="18" length="middle" y="33.02" x="17.78" rot="R180"/>
-                            <pin name="20" length="middle" y="25.4" x="17.78" rot="R180"/>
-                            <pin name="19" length="long" y="29.21" x="16.51" rot="R180"/>
-                            <pin name="22" length="middle" y="17.78" x="17.78" rot="R180"/>
-                            <pin name="21" length="long" y="21.59" x="16.51" rot="R180"/>
-                            <pin name="24" length="middle" y="10.16" x="17.78" rot="R180"/>
-                            <pin name="23" length="long" y="13.97" x="16.51" rot="R180"/>
-                            <pin name="26" length="middle" y="2.54" x="17.78" rot="R180"/>
-                            <pin name="25" length="long" y="6.35" x="16.51" rot="R180"/>
-                            <pin name="17" length="long" y="36.83" x="16.51" rot="R180"/>
-                            <circle y="93.98" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="93.98" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="86.36" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="86.36" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="78.74" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="78.74" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="71.12" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="71.12" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="63.5" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="63.5" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="55.88" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="55.88" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="48.26" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="48.26" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="40.64" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="40.64" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="33.02" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="33.02" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="25.4" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="25.4" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="17.78" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="17.78" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="10.16" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="10.16" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="2.54" x="10.16" layer="94" radius="2.54" width="0.254"/>
-                            <circle y="2.54" x="2.54" layer="94" radius="2.54" width="0.254"/>
-                        </symbol>
-                        <symbol name="symbol_2">
-                            <wire layer="94" y2="0.0" x2="22.86" y1="31.75" x1="22.86"/>
-                            <wire layer="94" y2="31.75" x2="22.86" y1="24.13" x1="17.78"/>
-                            <wire layer="94" y2="0.0" x2="22.86" y1="8.89" x1="17.78"/>
-                            <pin name="1" length="long" y="24.13" x="0.0"/>
-                            <pin name="2" length="long" y="8.89" x="0.0"/>
-                            <rectangle layer="94" y2="24.13" x2="17.78" y1="8.89" x1="15.24"/>
-                        </symbol>
-                        <symbol name="symbol_3">
-                            <wire layer="94" y2="1.27" x2="-2.54" y1="1.27" x1="0.0"/>
-                            <wire layer="94" y2="0.635" x2="-1.778" y1="0.635" x1="-0.635"/>
-                            <wire layer="94" y2="0.127" x2="-1.524" y1="0.127" x1="-1.016"/>
-                            <pin name="1" length="short" y="3.81" x="-1.27" rot="R270"/>
-                        </symbol>
-                        <symbol name="symbol_4">
-                            <wire layer="94" y2="15.24" x2="-8.89" y1="15.24" x1="-3.81"/>
-                            <wire layer="94" y2="11.43" x2="-8.89" y1="15.24" x1="-8.89"/>
-                            <wire layer="94" y2="8.89" x2="-6.35" y1="8.89" x1="-11.43"/>
-                            <wire layer="94" y2="11.43" x2="-11.43" y1="8.89" x1="-8.89"/>
-                            <wire layer="94" y2="11.43" x2="-6.35" y1="11.43" x1="-11.43"/>
-                            <wire layer="94" y2="8.89" x2="-8.89" y1="11.43" x1="-6.35"/>
-                            <wire layer="94" y2="3.81" x2="-8.89" y1="8.89" x1="-8.89"/>
-                            <wire layer="94" y2="3.81" x2="-3.81" y1="3.81" x1="-8.89"/>
-                            <wire layer="94" y2="15.24" x2="-21.59" y1="15.24" x1="-22.86"/>
-                            <wire layer="94" y2="12.7" x2="-21.59" y1="15.24" x1="-21.59"/>
-                            <wire layer="94" y2="7.62" x2="-17.78" y1="12.7" x1="-17.78"/>
-                            <wire layer="94" y2="11.43" x2="-17.78" y1="12.7" x1="-21.59"/>
-                            <wire layer="94" y2="7.62" x2="-21.59" y1="8.89" x1="-17.78"/>
-                            <wire layer="94" y2="3.81" x2="-21.59" y1="7.62" x1="-21.59"/>
-                            <wire layer="94" y2="3.81" x2="-22.86" y1="3.81" x1="-21.59"/>
-                            <wire layer="94" y2="8.89" x2="-20.32" y1="7.62" x1="-21.59"/>
-                            <wire layer="94" y2="7.62" x2="-19.05" y1="7.62" x1="-21.59"/>
-                            <wire layer="94" y2="10.922" x2="-14.478" y1="10.033" x1="-11.938"/>
-                            <wire layer="94" y2="10.16" x2="-14.097" y1="10.922" x1="-14.478"/>
-                            <wire layer="94" y2="11.303" x2="-17.145" y1="10.16" x1="-14.097"/>
-                            <wire layer="94" y2="10.033" x2="-14.478" y1="9.017" x1="-11.938"/>
-                            <wire layer="94" y2="9.271" x2="-14.097" y1="10.033" x1="-14.478"/>
-                            <wire layer="94" y2="10.287" x2="-17.145" y1="9.271" x1="-14.097"/>
-                            <wire layer="94" y2="11.176" x2="-16.002" y1="11.303" x1="-17.018"/>
-                            <wire layer="94" y2="10.795" x2="-16.256" y1="11.303" x1="-17.018"/>
-                            <wire layer="94" y2="10.287" x2="-16.129" y1="10.287" x1="-17.018"/>
-                            <wire layer="94" y2="9.779" x2="-16.256" y1="10.287" x1="-17.018"/>
-                            <wire layer="94" y2="20.32" x2="-16.51" y1="20.32" x1="-22.86"/>
-                            <wire layer="94" y2="10.16" x2="-16.51" y1="20.32" x1="-16.51"/>
-                            <wire layer="94" y2="10.16" x2="-17.78" y1="10.16" x1="-16.51"/>
-                            <pin name="1" length="middle" y="15.24" x="1.27" rot="R180"/>
-                            <pin name="2" length="middle" y="3.81" x="1.27" rot="R180"/>
-                            <pin name="5" length="middle" y="15.24" x="-27.94"/>
-                            <pin name="4" length="middle" y="3.81" x="-27.94"/>
-                            <pin name="6" length="middle" y="20.32" x="-27.94"/>
-                            <rectangle layer="94" y2="21.59" x2="-3.81" y1="0.0" x1="-22.86"/>
-                        </symbol>
-                        <symbol name="symbol_5">
-                            <wire layer="94" y2="0.0" x2="6.35" y1="2.54" x1="7.62"/>
-                            <wire layer="94" y2="2.54" x2="5.08" y1="0.0" x1="6.35"/>
-                            <wire layer="94" y2="0.0" x2="3.81" y1="2.54" x1="5.08"/>
-                            <wire layer="94" y2="2.54" x2="2.54" y1="0.0" x1="3.81"/>
-                            <wire layer="94" y2="0.0" x2="8.89" y1="2.54" x1="7.62"/>
-                            <wire layer="94" y2="1.27" x2="9.525" y1="0.0" x1="8.89"/>
-                            <wire layer="94" y2="1.27" x2="1.905" y1="2.54" x1="2.54"/>
-                            <pin name="2" length="short" y="1.27" x="12.7" rot="R180"/>
-                            <pin name="1" length="short" y="1.27" x="-1.27"/>
-                        </symbol>
-                        <symbol name="symbol_6">
-                            <pin name="1" length="short" y="45.72" x="0.0"/>
-                            <pin name="2" length="short" y="40.64" x="0.0"/>
-                            <pin name="3" length="short" y="35.56" x="0.0"/>
-                            <pin name="4" length="short" y="30.48" x="0.0"/>
-                            <pin name="5" length="short" y="25.4" x="0.0"/>
-                            <pin name="6" length="short" y="20.32" x="0.0"/>
-                            <pin name="7" length="short" y="15.24" x="0.0"/>
-                            <pin name="8" length="short" y="10.16" x="0.0"/>
-                            <pin name="9" length="short" y="5.08" x="0.0"/>
-                            <circle y="45.72" x="3.175" layer="94" radius="0.635" width="0.254"/>
-                            <circle y="40.64" x="3.175" layer="94" radius="0.635" width="0.254"/>
-                            <circle y="35.56" x="3.175" layer="94" radius="0.635" width="0.254"/>
-                            <circle y="30.48" x="3.175" layer="94" radius="0.635" width="0.254"/>
-                            <circle y="25.4" x="3.175" layer="94" radius="0.635" width="0.254"/>
-                            <circle y="20.32" x="3.175" layer="94" radius="0.635" width="0.254"/>
-                            <circle y="15.24" x="3.175" layer="94" radius="0.635" width="0.254"/>
-                            <circle y="10.16" x="3.175" layer="94" radius="0.635" width="0.254"/>
-                            <circle y="5.08" x="3.175" layer="94" radius="0.635" width="0.254"/>
-                            <rectangle layer="94" y2="50.8" x2="8.89" y1="0.0" x1="3.81"/>
-                        </symbol>
-                        <symbol name="symbol_7">
-                            <wire layer="94" y2="0.0" x2="6.35" y1="2.54" x1="3.81"/>
-                            <pin name="2" length="middle" y="0.0" x="11.43" rot="R180"/>
-                            <pin name="1" length="middle" y="0.0" x="-1.27"/>
-                        </symbol>
-                        <symbol name="symbol_8">
-                            <wire layer="94" y2="2.54" x2="-6.35" y1="3.81" x1="-5.08"/>
-                            <wire layer="94" y2="1.27" x2="-5.08" y1="2.54" x1="-6.35"/>
-                            <wire layer="94" y2="1.27" x2="-5.08" y1="3.81" x1="-5.08"/>
-                            <wire layer="94" y2="1.27" x2="-6.35" y1="3.81" x1="-6.35"/>
-                            <wire layer="94" y2="2.54" x2="-8.89" y1="2.54" x1="-6.35"/>
-                            <wire layer="94" y2="2.54" x2="-2.54" y1="2.54" x1="-5.08"/>
-                            <wire layer="94" y2="7.62" x2="-7.747" y1="6.35" x1="-6.477"/>
-                            <wire layer="94" y2="6.985" x2="-7.874" y1="7.62" x1="-7.747"/>
-                            <wire layer="94" y2="8.255" x2="-9.144" y1="6.985" x1="-7.874"/>
-                            <wire layer="94" y2="6.477" x2="-7.366" y1="5.207" x1="-6.096"/>
-                            <wire layer="94" y2="5.842" x2="-7.366" y1="6.477" x1="-7.366"/>
-                            <wire layer="94" y2="7.239" x2="-8.763" y1="5.842" x1="-7.366"/>
-                            <pin name="A" length="short" y="2.54" x="0.0" rot="R180"/>
-                            <pin name="K" length="short" y="2.54" x="-11.43"/>
-                            <circle y="2.54" x="-5.715" layer="94" radius="2.54" width="0.254"/>
-                        </symbol>
-                        <symbol name="symbol_9">
-                            <wire layer="94" y2="0.0" x2="-3.175" y1="0.0" x1="-1.905"/>
-                            <wire layer="94" y2="0.635" x2="-3.81" y1="0.635" x1="-1.27"/>
-                            <wire layer="94" y2="1.27" x2="-4.445" y1="1.27" x1="-0.635"/>
-                            <pin name="1" length="short" y="3.81" x="-2.54" rot="R270"/>
-                        </symbol>
-                        <symbol name="symbol_10">
-                            <wire layer="94" y2="2.54" x2="-4.445" y1="2.54" x1="-0.635"/>
-                            <pin name="1" length="short" y="0.0" x="-2.54" rot="R90"/>
-                        </symbol>
-                        <symbol name="symbol_11">
-                            <wire layer="94" y2="0.0" x2="-6.35" y1="2.54" x1="-7.62"/>
-                            <wire layer="94" y2="2.54" x2="-5.08" y1="0.0" x1="-6.35"/>
-                            <wire layer="94" y2="0.0" x2="-3.81" y1="2.54" x1="-5.08"/>
-                            <wire layer="94" y2="2.54" x2="-2.54" y1="0.0" x1="-3.81"/>
-                            <wire layer="94" y2="0.0" x2="-8.89" y1="2.54" x1="-7.62"/>
-                            <wire layer="94" y2="1.27" x2="-9.525" y1="0.0" x1="-8.89"/>
-                            <wire layer="94" y2="1.27" x2="-1.905" y1="2.54" x1="-2.54"/>
-                            <pin name="2" length="short" y="1.27" x="-12.7"/>
-                            <pin name="1" length="short" y="1.27" x="1.27" rot="R180"/>
-                        </symbol>
-                        <symbol name="symbol_12">
-                            <wire layer="94" y2="2.54" x2="6.35" y1="3.81" x1="5.08"/>
-                            <wire layer="94" y2="1.27" x2="5.08" y1="2.54" x1="6.35"/>
-                            <wire layer="94" y2="1.27" x2="5.08" y1="3.81" x1="5.08"/>
-                            <wire layer="94" y2="1.27" x2="6.35" y1="3.81" x1="6.35"/>
-                            <wire layer="94" y2="2.54" x2="8.89" y1="2.54" x1="6.35"/>
-                            <wire layer="94" y2="2.54" x2="2.54" y1="2.54" x1="5.08"/>
-                            <wire layer="94" y2="7.62" x2="7.747" y1="6.35" x1="6.477"/>
-                            <wire layer="94" y2="6.985" x2="7.874" y1="7.62" x1="7.747"/>
-                            <wire layer="94" y2="8.255" x2="9.144" y1="6.985" x1="7.874"/>
-                            <wire layer="94" y2="6.477" x2="7.366" y1="5.207" x1="6.096"/>
-                            <wire layer="94" y2="5.842" x2="7.366" y1="6.477" x1="7.366"/>
-                            <wire layer="94" y2="7.239" x2="8.763" y1="5.842" x1="7.366"/>
-                            <pin name="A" length="short" y="2.54" x="0.0"/>
-                            <pin name="K" length="short" y="2.54" x="11.43" rot="R180"/>
-                            <circle y="2.54" x="5.715" layer="94" radius="2.54" width="0.254"/>
-                        </symbol>
-                        <symbol name="symbol_13">
-                            <wire layer="94" y2="0.0" x2="8.89" y1="0.0" x1="3.81"/>
-                            <wire layer="94" y2="10.16" x2="8.89" y1="10.16" x1="3.81"/>
-                            <wire layer="94" y2="5.08" x2="8.89" y1="5.08" x1="3.81"/>
-                            <pin name="1" length="middle" y="12.7" x="-1.27"/>
-                            <pin name="2" length="middle" y="7.62" x="-1.27"/>
-                            <pin name="3" length="middle" y="2.54" x="-1.27"/>
-                            <rectangle layer="94" y2="15.24" x2="8.89" y1="0.0" x1="3.81"/>
-                        </symbol>
-                    </symbols>
-                    <devicesets>
-                        <deviceset name="gnd-1">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_0" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="header26-2">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_1" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="speaker-1">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_2" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="gnd-1_MIRRORED">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_3" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="4N25-1_MIRRORED">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_4" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="resistor-1">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_5" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="connector9-2">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_6" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="switch-spst-1">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_7" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="led-1_MIRRORED">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_8" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="ground_MIRRORED">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_9" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="vcc-1_MIRRORED">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_10" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="resistor-1_MIRRORED">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_11" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="led-1">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_12" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                        <deviceset name="header3-1">
-                            <gates>
-                                <gate name="G$0" symbol="symbol_13" y="0" x="0"/>
-                            </gates>
-                            <devices>
-                                <device name=""/>
-                            </devices>
-                        </deviceset>
-                    </devicesets>
-                </library>
-            </libraries>
-            <parts>
-                <part name="U?" deviceset="4N25-1_MIRRORED" library="openjson" device=""/>
-                <part name="DB9 from outside" deviceset="connector9-2" library="openjson" device=""/>
-                <part name="orange" deviceset="led-1_MIRRORED" library="openjson" device=""/>
-                <part name="ground_MIRRORED" deviceset="ground_MIRRORED" library="openjson" device=""/>
-                <part name="1K" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="R?" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="ground_MIRRORED-0" deviceset="ground_MIRRORED" library="openjson" device=""/>
-                <part name="U?-1" deviceset="4N25-1_MIRRORED" library="openjson" device=""/>
-                <part name="U?-2" deviceset="4N25-1_MIRRORED" library="openjson" device=""/>
-                <part name="U?-3" deviceset="4N25-1_MIRRORED" library="openjson" device=""/>
-                <part name="vcc-1_MIRRORED" deviceset="vcc-1_MIRRORED" library="openjson" device=""/>
-                <part name="R?-4" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="R?-5" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="R?-6" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="U?-7" deviceset="4N25-1_MIRRORED" library="openjson" device=""/>
-                <part name="U?-8" deviceset="4N25-1_MIRRORED" library="openjson" device=""/>
-                <part name="gnd-1_MIRRORED" deviceset="gnd-1_MIRRORED" library="openjson" device=""/>
-                <part name="1K-9" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="1K-10" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="1K-11" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="1K-12" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="r-pi gpio" deviceset="header26-2" library="openjson" device=""/>
-                <part name="R?-13" deviceset="resistor-1" library="openjson" device=""/>
-                <part name="R?-14" deviceset="resistor-1" library="openjson" device=""/>
-                <part name="gnd-1" deviceset="gnd-1" library="openjson" device=""/>
-                <part name="LED?" deviceset="led-1" library="openjson" device=""/>
-                <part name="PX-555-28027" deviceset="header3-1" library="openjson" device=""/>
-                <part name="blue" deviceset="led-1" library="openjson" device=""/>
-                <part name="1K-15" deviceset="resistor-1_MIRRORED" library="openjson" device=""/>
-                <part name="S?" deviceset="switch-spst-1" library="openjson" device=""/>
-                <part name="S?-16" deviceset="switch-spst-1" library="openjson" device=""/>
-                <part name="S?-17" deviceset="switch-spst-1" library="openjson" device=""/>
-                <part name="SPK?" deviceset="speaker-1" library="openjson" device=""/>
-            </parts>
-            <sheets>
-                <sheet>
-                    <instances>
-                        <instance part="U?" x="95.25" y="100.33" gate="G$0" rot="R360">
-                            <attribute layer="94" name="U?" value="U?" y="100.33" x="95.25" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="DB9 from outside" x="149.86" y="59.69" gate="G$0" rot="R360">
-                            <attribute layer="94" name="DB9 from outside" value="DB9 from outside" y="59.69" x="149.86" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="orange" x="194.31" y="85.09" gate="G$0" rot="R90">
-                            <attribute layer="94" name="orange" value="orange" y="85.09" x="194.31" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="ground_MIRRORED" x="194.31" y="55.88" gate="G$0" rot="R360"/>
-                        <instance part="1K" x="189.23" y="91.44" gate="G$0" rot="R360">
-                            <attribute layer="94" name="1K" value="1K" y="91.44" x="189.23" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="R?" x="106.68" y="114.3" gate="G$0" rot="R360">
-                            <attribute layer="94" name="R?" value="R?" y="114.3" x="106.68" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="ground_MIRRORED-0" x="100.33" y="97.79" gate="G$0" rot="R360"/>
-                        <instance part="U?-1" x="95.25" y="73.66" gate="G$0" rot="R360">
-                            <attribute layer="94" name="U?" value="U?" y="73.66" x="95.25" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="U?-2" x="95.25" y="46.99" gate="G$0" rot="R360">
-                            <attribute layer="94" name="U?" value="U?" y="46.99" x="95.25" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="U?-3" x="95.25" y="20.32" gate="G$0" rot="R360">
-                            <attribute layer="94" name="U?" value="U?" y="20.32" x="95.25" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="vcc-1_MIRRORED" x="110.49" y="90.17" gate="G$0" rot="R360"/>
-                        <instance part="R?-4" x="107.95" y="87.63" gate="G$0" rot="R360">
-                            <attribute layer="94" name="R?" value="R?" y="87.63" x="107.95" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="R?-5" x="107.95" y="60.96" gate="G$0" rot="R360">
-                            <attribute layer="94" name="R?" value="R?" y="60.96" x="107.95" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="R?-6" x="107.95" y="34.29" gate="G$0" rot="R360">
-                            <attribute layer="94" name="R?" value="R?" y="34.29" x="107.95" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="U?-7" x="68.58" y="-3.81" gate="G$0" rot="R180">
-                            <attribute layer="94" name="U?" value="U?" y="-3.81" x="68.58" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="U?-8" x="68.58" y="-31.75" gate="G$0" rot="R180">
-                            <attribute layer="94" name="U?" value="U?" y="-31.75" x="68.58" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="gnd-1_MIRRORED" x="63.5" y="19.05" gate="G$0" rot="R360"/>
-                        <instance part="1K-9" x="58.42" y="114.3" gate="G$0" rot="R360">
-                            <attribute layer="94" name="1K" value="1K" y="114.3" x="58.42" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="1K-10" x="59.69" y="87.63" gate="G$0" rot="R360">
-                            <attribute layer="94" name="1K" value="1K" y="87.63" x="59.69" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="1K-11" x="59.69" y="60.96" gate="G$0" rot="R360">
-                            <attribute layer="94" name="1K" value="1K" y="60.96" x="59.69" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="1K-12" x="59.69" y="34.29" gate="G$0" rot="R360">
-                            <attribute layer="94" name="1K" value="1K" y="34.29" x="59.69" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="r-pi gpio" x="7.62" y="21.59" gate="G$0" rot="R360">
-                            <attribute layer="94" name="r-pi gpio" value="r-pi gpio" y="21.59" x="7.62" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="R?-13" x="53.34" y="-20.32" gate="G$0" rot="R360">
-                            <attribute layer="94" name="R?" value="R?" y="-20.32" x="53.34" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="R?-14" x="53.34" y="-48.26" gate="G$0" rot="R360">
-                            <attribute layer="94" name="R?" value="R?" y="-48.26" x="53.34" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="gnd-1" x="148.59" y="54.61" gate="G$0" rot="R360"/>
-                        <instance part="LED?" x="111.76" y="125.73" gate="G$0" rot="R360">
-                            <attribute layer="94" name="LED?" value="LED?" y="125.73" x="111.76" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="PX-555-28027" x="186.69" y="110.49" gate="G$0" rot="R360">
-                            <attribute layer="94" name="PX-555-28027" value="PX-555-28027" y="110.49" x="186.69" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="blue" x="172.72" y="128.27" gate="G$0" rot="R360">
-                            <attribute layer="94" name="blue" value="blue" y="128.27" x="172.72" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="1K-15" x="173.99" y="130.81" gate="G$0" rot="R90">
-                            <attribute layer="94" name="1K" value="1K" y="130.81" x="173.99" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="S?" x="196.85" y="97.79" gate="G$0" rot="R360">
-                            <attribute layer="94" name="S?" value="S?" y="97.79" x="196.85" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="S?-16" x="196.85" y="87.63" gate="G$0" rot="R360">
-                            <attribute layer="94" name="S?" value="S?" y="87.63" x="196.85" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="S?-17" x="196.85" y="107.95" gate="G$0" rot="R360">
-                            <attribute layer="94" name="S?" value="S?" y="107.95" x="196.85" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                        <instance part="SPK?" x="184.15" y="25.4" gate="G$0" rot="R360">
-                            <attribute layer="94" name="SPK?" value="SPK?" y="25.4" x="184.15" rot="R360" display="value" size="1.27"/>
-                        </instance>
-                    </instances>
-                    <nets>
-                        <net name="1000a110">
-                            <segment>
-                                <pinref gate="G$0" part="U?-7" pin="4"/>
-                                <wire layer="91" y2="-7.62" x2="110.49" y1="-7.62" x1="96.52"/>
-                                <wire layer="91" y2="13.97" x2="110.49" y1="-7.62" x1="110.49"/>
-                                <wire layer="91" y2="13.97" x2="127.0" y1="13.97" x1="110.49"/>
-                                <wire layer="91" y2="90.17" x2="127.0" y1="13.97" x1="127.0"/>
-                            </segment>
-                            <segment>
-                                <pinref gate="G$0" part="1K" pin="2"/>
-                                <pinref gate="G$0" part="DB9 from outside" pin="4"/>
-                                <wire layer="91" y2="13.97" x2="110.49" y1="-7.62" x1="110.49"/>
-                                <wire layer="91" y2="13.97" x2="127.0" y1="13.97" x1="110.49"/>
-                                <wire layer="91" y2="90.17" x2="127.0" y1="13.97" x1="127.0"/>
-                                <wire layer="91" y2="90.17" x2="149.86" y1="90.17" x1="127.0"/>
-                                <wire layer="91" y2="92.71" x2="149.86" y1="90.17" x1="149.86"/>
-                                <wire layer="91" y2="92.71" x2="176.53" y1="92.71" x1="149.86"/>
-                            </segment>
-                        </net>
-                        <net name="1020a-280">
-                            <segment>
-                                <pinref gate="G$0" part="DB9 from outside" pin="6"/>
-                                <pinref gate="G$0" part="SPK?" pin="2"/>
-                                <wire layer="91" y2="80.01" x2="149.86" y1="80.01" x1="129.54"/>
-                                <wire layer="91" y2="82.55" x2="149.86" y1="80.01" x1="149.86"/>
-                                <wire layer="91" y2="82.55" x2="179.07" y1="82.55" x1="149.86"/>
-                                <wire layer="91" y2="82.55" x2="179.07" y1="34.29" x1="179.07"/>
-                                <wire layer="91" y2="34.29" x2="184.15" y1="34.29" x1="179.07"/>
-                            </segment>
-                            <segment>
-                                <pinref gate="G$0" part="DB9 from outside" pin="6"/>
-                                <pinref gate="G$0" part="U?-8" pin="4"/>
-                                <wire layer="91" y2="-35.56" x2="129.54" y1="-35.56" x1="96.52"/>
-                                <wire layer="91" y2="80.01" x2="129.54" y1="-35.56" x1="129.54"/>
-                                <wire layer="91" y2="80.01" x2="149.86" y1="80.01" x1="129.54"/>
-                                <wire layer="91" y2="82.55" x2="149.86" y1="80.01" x1="149.86"/>
-                                <wire layer="91" y2="82.55" x2="179.07" y1="82.55" x1="149.86"/>
-                            </segment>
-                        </net>
-                        <net name="1180a460">
-                            <segment>
-                                <pinref gate="G$0" part="S?" pin="2"/>
-                                <pinref gate="G$0" part="S?-16" pin="2"/>
-                                <pinref gate="G$0" part="S?-17" pin="2"/>
-                                <wire layer="91" y2="67.31" x2="207.01" y1="67.31" x1="191.77"/>
-                                <wire layer="91" y2="87.63" x2="208.28" y1="67.31" x1="207.01"/>
-                                <wire layer="91" y2="97.79" x2="208.28" y1="67.31" x1="207.01"/>
-                                <wire layer="91" y2="107.95" x2="208.28" y1="87.63" x1="208.28"/>
-                                <wire layer="91" y2="107.95" x2="208.28" y1="97.79" x1="208.28"/>
-                            </segment>
-                            <segment>
-                                <pinref gate="G$0" part="DB9 from outside" pin="9"/>
-                                <pinref gate="G$0" part="S?" pin="2"/>
-                                <pinref gate="G$0" part="S?-16" pin="2"/>
-                                <pinref gate="G$0" part="SPK?" pin="1"/>
-                                <pinref gate="G$0" part="gnd-1" pin="1"/>
-                                <pinref gate="G$0" part="ground_MIRRORED" pin="1"/>
-                                <pinref gate="G$0" part="orange" pin="K"/>
-                                <wire layer="91" y2="64.77" x2="149.86" y1="58.42" x1="149.86"/>
-                                <wire layer="91" y2="67.31" x2="149.86" y1="64.77" x1="149.86"/>
-                                <wire layer="91" y2="67.31" x2="175.26" y1="67.31" x1="149.86"/>
-                                <wire layer="91" y2="67.31" x2="184.15" y1="67.31" x1="149.86"/>
-                                <wire layer="91" y2="123.19" x2="175.26" y1="67.31" x1="175.26"/>
-                                <wire layer="91" y2="67.31" x2="191.77" y1="67.31" x1="175.26"/>
-                                <wire layer="91" y2="123.19" x2="184.15" y1="123.19" x1="175.26"/>
-                                <wire layer="91" y2="67.31" x2="184.15" y1="49.53" x1="184.15"/>
-                                <wire layer="91" y2="67.31" x2="191.77" y1="67.31" x1="184.15"/>
-                                <wire layer="91" y2="67.31" x2="191.77" y1="59.69" x1="191.77"/>
-                                <wire layer="91" y2="73.66" x2="191.77" y1="59.69" x1="191.77"/>
-                                <wire layer="91" y2="78.74" x2="191.77" y1="67.31" x1="191.77"/>
-                                <wire layer="91" y2="67.31" x2="207.01" y1="67.31" x1="191.77"/>
-                                <wire layer="91" y2="78.74" x2="191.77" y1="73.66" x1="191.77"/>
-                                <wire layer="91" y2="87.63" x2="208.28" y1="67.31" x1="207.01"/>
-                                <wire layer="91" y2="97.79" x2="208.28" y1="67.31" x1="207.01"/>
-                                <wire layer="91" y2="107.95" x2="208.28" y1="87.63" x1="208.28"/>
-                                <wire layer="91" y2="107.95" x2="208.28" y1="97.79" x1="208.28"/>
-                            </segment>
-                            <segment>
-                                <pinref gate="G$0" part="PX-555-28027" pin="1"/>
-                                <pinref gate="G$0" part="blue" pin="K"/>
-                                <wire layer="91" y2="67.31" x2="175.26" y1="67.31" x1="149.86"/>
-                                <wire layer="91" y2="123.19" x2="175.26" y1="67.31" x1="175.26"/>
-                                <wire layer="91" y2="67.31" x2="191.77" y1="67.31" x1="175.26"/>
-                                <wire layer="91" y2="123.19" x2="184.15" y1="123.19" x1="175.26"/>
-                                <wire layer="91" y2="130.81" x2="184.15" y1="123.19" x1="184.15"/>
-                                <wire layer="91" y2="123.19" x2="185.42" y1="123.19" x1="184.15"/>
-                            </segment>
-                        </net>
-                        <net name="1180a590">
-                            <segment>
-                                <pinref gate="G$0" part="DB9 from outside" pin="7"/>
-                                <pinref gate="G$0" part="R?-4" pin="1"/>
-                                <pinref gate="G$0" part="R?-5" pin="1"/>
-                                <pinref gate="G$0" part="R?-6" pin="1"/>
-                                <pinref gate="G$0" part="U?-7" pin="5"/>
-                                <pinref gate="G$0" part="U?-8" pin="5"/>
-                                <pinref gate="G$0" part="vcc-1_MIRRORED" pin="1"/>
-                                <wire layer="91" y2="-46.99" x2="107.95" y1="-46.99" x1="96.52"/>
-                                <wire layer="91" y2="-19.05" x2="107.95" y1="-19.05" x1="96.52"/>
-                                <wire layer="91" y2="-19.05" x2="107.95" y1="-46.99" x1="107.95"/>
-                                <wire layer="91" y2="35.56" x2="109.22" y1="-46.99" x1="107.95"/>
-                                <wire layer="91" y2="62.23" x2="109.22" y1="-46.99" x1="107.95"/>
-                                <wire layer="91" y2="88.9" x2="109.22" y1="-46.99" x1="107.95"/>
-                                <wire layer="91" y2="90.17" x2="107.95" y1="-19.05" x1="107.95"/>
-                                <wire layer="91" y2="35.56" x2="109.22" y1="90.17" x1="107.95"/>
-                                <wire layer="91" y2="62.23" x2="109.22" y1="90.17" x1="107.95"/>
-                                <wire layer="91" y2="88.9" x2="109.22" y1="90.17" x1="107.95"/>
-                                <wire layer="91" y2="88.9" x2="113.03" y1="88.9" x1="109.22"/>
-                                <wire layer="91" y2="88.9" x2="113.03" y1="74.93" x1="113.03"/>
-                                <wire layer="91" y2="74.93" x2="149.86" y1="74.93" x1="113.03"/>
-                                <wire layer="91" y2="77.47" x2="149.86" y1="74.93" x1="149.86"/>
-                            </segment>
-                            <segment>
-                                <pinref gate="G$0" part="1K-15" pin="2"/>
-                                <pinref gate="G$0" part="DB9 from outside" pin="7"/>
-                                <pinref gate="G$0" part="PX-555-28027" pin="2"/>
-                                <wire layer="91" y2="88.9" x2="113.03" y1="74.93" x1="113.03"/>
-                                <wire layer="91" y2="74.93" x2="149.86" y1="74.93" x1="113.03"/>
-                                <wire layer="91" y2="77.47" x2="149.86" y1="74.93" x1="149.86"/>
-                                <wire layer="91" y2="77.47" x2="172.72" y1="77.47" x1="149.86"/>
-                                <wire layer="91" y2="118.11" x2="172.72" y1="77.47" x1="172.72"/>
-                                <wire layer="91" y2="118.11" x2="172.72" y1="118.11" x1="172.72"/>
-                                <wire layer="91" y2="118.11" x2="185.42" y1="118.11" x1="172.72"/>
-                            </segment>
-                        </net>
-                        <net name="1180a670">
-                            <segment>
-                                <pinref gate="G$0" part="DB9 from outside" pin="5"/>
-                                <pinref gate="G$0" part="S?-16" pin="1"/>
-                                <pinref gate="G$0" part="U?-3" pin="2"/>
-                                <wire layer="91" y2="24.13" x2="124.46" y1="24.13" x1="96.52"/>
-                                <wire layer="91" y2="85.09" x2="124.46" y1="24.13" x1="124.46"/>
-                                <wire layer="91" y2="85.09" x2="149.86" y1="85.09" x1="124.46"/>
-                                <wire layer="91" y2="87.63" x2="149.86" y1="85.09" x1="149.86"/>
-                                <wire layer="91" y2="87.63" x2="195.58" y1="87.63" x1="149.86"/>
-                            </segment>
-                        </net>
-                        <net name="1180a750">
-                            <segment>
-                                <pinref gate="G$0" part="DB9 from outside" pin="3"/>
-                                <pinref gate="G$0" part="S?" pin="1"/>
-                                <wire layer="91" y2="50.8" x2="121.92" y1="50.8" x1="96.52"/>
-                                <wire layer="91" y2="95.25" x2="121.92" y1="50.8" x1="121.92"/>
-                                <wire layer="91" y2="95.25" x2="149.86" y1="95.25" x1="121.92"/>
-                                <wire layer="91" y2="97.79" x2="149.86" y1="95.25" x1="149.86"/>
-                                <wire layer="91" y2="97.79" x2="195.58" y1="97.79" x1="149.86"/>
-                            </segment>
-                            <segment>
-                                <pinref gate="G$0" part="U?-2" pin="2"/>
-                                <wire layer="91" y2="50.8" x2="121.92" y1="50.8" x1="96.52"/>
-                                <wire layer="91" y2="95.25" x2="121.92" y1="50.8" x1="121.92"/>
-                                <wire layer="91" y2="95.25" x2="149.86" y1="95.25" x1="121.92"/>
-                            </segment>
-                        </net>
-                        <net name="1180a790">
-                            <segment>
-                                <pinref gate="G$0" part="DB9 from outside" pin="2"/>
-                                <pinref gate="G$0" part="PX-555-28027" pin="3"/>
-                                <pinref gate="G$0" part="R?" pin="1"/>
-                                <wire layer="91" y2="115.57" x2="115.57" y1="115.57" x1="107.95"/>
-                                <wire layer="91" y2="115.57" x2="115.57" y1="100.33" x1="115.57"/>
-                                <wire layer="91" y2="100.33" x2="149.86" y1="100.33" x1="115.57"/>
-                                <wire layer="91" y2="102.87" x2="149.86" y1="100.33" x1="149.86"/>
-                                <wire layer="91" y2="102.87" x2="177.8" y1="102.87" x1="149.86"/>
-                                <wire layer="91" y2="113.03" x2="177.8" y1="102.87" x1="177.8"/>
-                                <wire layer="91" y2="113.03" x2="185.42" y1="113.03" x1="177.8"/>
-                            </segment>
-                        </net>
-                        <net name="1180a830">
-                            <segment>
-                                <pinref gate="G$0" part="DB9 from outside" pin="1"/>
-                                <pinref gate="G$0" part="S?-17" pin="1"/>
-                                <pinref gate="G$0" part="U?-1" pin="2"/>
-                                <wire layer="91" y2="77.47" x2="119.38" y1="77.47" x1="96.52"/>
-                                <wire layer="91" y2="105.41" x2="119.38" y1="77.47" x1="119.38"/>
-                                <wire layer="91" y2="105.41" x2="149.86" y1="105.41" x1="119.38"/>
-                                <wire layer="91" y2="107.95" x2="149.86" y1="105.41" x1="149.86"/>
-                                <wire layer="91" y2="107.95" x2="195.58" y1="107.95" x1="149.86"/>
-                            </segment>
-                        </net>
-                        <net name="1360a1030">
-                            <segment>
-                                <pinref gate="G$0" part="1K-15" pin="1"/>
-                                <pinref gate="G$0" part="blue" pin="A"/>
-                            </segment>
-                        </net>
-                        <net name="1490a730">
-                            <segment>
-                                <pinref gate="G$0" part="1K" pin="1"/>
-                                <pinref gate="G$0" part="orange" pin="A"/>
-                                <wire layer="91" y2="92.71" x2="191.77" y1="92.71" x1="190.5"/>
-                                <wire layer="91" y2="92.71" x2="191.77" y1="85.09" x1="191.77"/>
-                            </segment>
-                        </net>
-                        <net name="190a520">
-                            <segment>
-                                <pinref gate="G$0" part="R?-14" pin="1"/>
-                                <pinref gate="G$0" part="r-pi gpio" pin="15"/>
-                                <wire layer="91" y2="66.04" x2="35.56" y1="66.04" x1="24.13"/>
-                                <wire layer="91" y2="66.04" x2="35.56" y1="-46.99" x1="35.56"/>
-                                <wire layer="91" y2="-46.99" x2="52.07" y1="-46.99" x1="35.56"/>
-                            </segment>
-                        </net>
-                        <net name="190a580">
-                            <segment>
-                                <pinref gate="G$0" part="R?-13" pin="1"/>
-                                <pinref gate="G$0" part="r-pi gpio" pin="13"/>
-                                <wire layer="91" y2="73.66" x2="39.37" y1="73.66" x1="24.13"/>
-                                <wire layer="91" y2="73.66" x2="39.37" y1="-19.05" x1="39.37"/>
-                                <wire layer="91" y2="-19.05" x2="52.07" y1="-19.05" x1="39.37"/>
-                            </segment>
-                        </net>
-                        <net name="190a640">
-                            <segment>
-                                <pinref gate="G$0" part="1K-12" pin="2"/>
-                                <pinref gate="G$0" part="r-pi gpio" pin="11"/>
-                                <wire layer="91" y2="81.28" x2="43.18" y1="81.28" x1="24.13"/>
-                                <wire layer="91" y2="81.28" x2="43.18" y1="35.56" x1="43.18"/>
-                                <wire layer="91" y2="35.56" x2="46.99" y1="35.56" x1="43.18"/>
-                            </segment>
-                        </net>
-                        <net name="190a760">
-                            <segment>
-                                <pinref gate="G$0" part="1K-11" pin="2"/>
-                                <wire layer="91" y2="96.52" x2="45.72" y1="96.52" x1="24.13"/>
-                                <wire layer="91" y2="96.52" x2="45.72" y1="62.23" x1="45.72"/>
-                                <wire layer="91" y2="62.23" x2="46.99" y1="62.23" x1="45.72"/>
-                            </segment>
-                            <segment>
-                                <pinref gate="G$0" part="r-pi gpio" pin="7"/>
-                                <wire layer="91" y2="96.52" x2="45.72" y1="96.52" x1="24.13"/>
-                                <wire layer="91" y2="96.52" x2="45.72" y1="62.23" x1="45.72"/>
-                                <wire layer="91" y2="62.23" x2="46.99" y1="62.23" x1="45.72"/>
-                            </segment>
-                        </net>
-                        <net name="190a790">
-                            <segment>
-                                <pinref gate="G$0" part="U?" pin="4"/>
-                                <pinref gate="G$0" part="U?-3" pin="4"/>
-                                <pinref gate="G$0" part="U?-7" pin="2"/>
-                                <pinref gate="G$0" part="gnd-1_MIRRORED" pin="1"/>
-                                <wire layer="91" y2="-7.62" x2="48.26" y1="-35.56" x1="48.26"/>
-                                <wire layer="91" y2="-35.56" x2="67.31" y1="-35.56" x1="48.26"/>
-                                <wire layer="91" y2="24.13" x2="48.26" y1="-7.62" x1="48.26"/>
-                                <wire layer="91" y2="-7.62" x2="67.31" y1="-7.62" x1="48.26"/>
-                                <wire layer="91" y2="24.13" x2="62.23" y1="24.13" x1="48.26"/>
-                                <wire layer="91" y2="24.13" x2="62.23" y1="22.86" x1="62.23"/>
-                                <wire layer="91" y2="50.8" x2="62.23" y1="22.86" x1="62.23"/>
-                                <wire layer="91" y2="77.47" x2="62.23" y1="22.86" x1="62.23"/>
-                                <wire layer="91" y2="100.33" x2="62.23" y1="22.86" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="62.23" y1="24.13" x1="62.23"/>
-                                <wire layer="91" y2="24.13" x2="67.31" y1="24.13" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="62.23" y1="50.8" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="62.23" y1="77.47" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="62.23" y1="100.33" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="67.31" y1="104.14" x1="62.23"/>
-                            </segment>
-                            <segment>
-                                <pinref gate="G$0" part="U?" pin="4"/>
-                                <pinref gate="G$0" part="U?-1" pin="4"/>
-                                <pinref gate="G$0" part="U?-2" pin="4"/>
-                                <pinref gate="G$0" part="U?-3" pin="4"/>
-                                <pinref gate="G$0" part="gnd-1_MIRRORED" pin="1"/>
-                                <pinref gate="G$0" part="r-pi gpio" pin="6"/>
-                                <wire layer="91" y2="100.33" x2="62.23" y1="100.33" x1="25.4"/>
-                                <wire layer="91" y2="24.13" x2="62.23" y1="24.13" x1="48.26"/>
-                                <wire layer="91" y2="24.13" x2="62.23" y1="22.86" x1="62.23"/>
-                                <wire layer="91" y2="50.8" x2="62.23" y1="22.86" x1="62.23"/>
-                                <wire layer="91" y2="77.47" x2="62.23" y1="22.86" x1="62.23"/>
-                                <wire layer="91" y2="100.33" x2="62.23" y1="22.86" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="62.23" y1="24.13" x1="62.23"/>
-                                <wire layer="91" y2="24.13" x2="67.31" y1="24.13" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="62.23" y1="50.8" x1="62.23"/>
-                                <wire layer="91" y2="50.8" x2="67.31" y1="50.8" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="62.23" y1="77.47" x1="62.23"/>
-                                <wire layer="91" y2="77.47" x2="67.31" y1="77.47" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="62.23" y1="100.33" x1="62.23"/>
-                                <wire layer="91" y2="104.14" x2="67.31" y1="104.14" x1="62.23"/>
-                            </segment>
-                            <segment>
-                                <pinref gate="G$0" part="U?-8" pin="2"/>
-                                <wire layer="91" y2="-7.62" x2="48.26" y1="-35.56" x1="48.26"/>
-                                <wire layer="91" y2="-35.56" x2="67.31" y1="-35.56" x1="48.26"/>
-                                <wire layer="91" y2="24.13" x2="48.26" y1="-7.62" x1="48.26"/>
-                                <wire layer="91" y2="-7.62" x2="67.31" y1="-7.62" x1="48.26"/>
-                            </segment>
-                        </net>
-                        <net name="190a820">
-                            <segment>
-                                <pinref gate="G$0" part="1K-10" pin="2"/>
-                                <pinref gate="G$0" part="r-pi gpio" pin="5"/>
-                                <wire layer="91" y2="104.14" x2="48.26" y1="104.14" x1="24.13"/>
-                                <wire layer="91" y2="104.14" x2="48.26" y1="88.9" x1="46.99"/>
-                            </segment>
-                        </net>
-                        <net name="190a880">
-                            <segment>
-                                <pinref gate="G$0" part="1K-9" pin="2"/>
-                                <pinref gate="G$0" part="r-pi gpio" pin="3"/>
-                                <wire layer="91" y2="111.76" x2="46.99" y1="111.76" x1="24.13"/>
-                                <wire layer="91" y2="111.76" x2="46.99" y1="115.57" x1="45.72"/>
-                            </segment>
-                        </net>
-                        <net name="460a910">
-                            <segment>
-                                <pinref gate="G$0" part="1K-9" pin="1"/>
-                                <pinref gate="G$0" part="U?" pin="5"/>
-                                <wire layer="91" y2="115.57" x2="67.31" y1="115.57" x1="59.69"/>
-                            </segment>
-                        </net>
-                        <net name="470a280">
-                            <segment>
-                                <pinref gate="G$0" part="1K-12" pin="1"/>
-                                <pinref gate="G$0" part="U?-3" pin="5"/>
-                                <wire layer="91" y2="35.56" x2="67.31" y1="35.56" x1="60.96"/>
-                            </segment>
-                        </net>
-                        <net name="470a490">
-                            <segment>
-                                <pinref gate="G$0" part="1K-11" pin="1"/>
-                                <pinref gate="G$0" part="U?-2" pin="5"/>
-                                <wire layer="91" y2="62.23" x2="67.31" y1="62.23" x1="60.96"/>
-                            </segment>
-                        </net>
-                        <net name="470a700">
-                            <segment>
-                                <pinref gate="G$0" part="1K-10" pin="1"/>
-                                <pinref gate="G$0" part="U?-1" pin="5"/>
-                                <wire layer="91" y2="88.9" x2="67.31" y1="88.9" x1="60.96"/>
-                            </segment>
-                        </net>
-                        <net name="510a-150">
-                            <segment>
-                                <pinref gate="G$0" part="R?-13" pin="2"/>
-                                <pinref gate="G$0" part="U?-7" pin="1"/>
-                                <wire layer="91" y2="-19.05" x2="67.31" y1="-19.05" x1="66.04"/>
-                            </segment>
-                        </net>
-                        <net name="510a-370">
-                            <segment>
-                                <pinref gate="G$0" part="R?-14" pin="2"/>
-                                <pinref gate="G$0" part="U?-8" pin="1"/>
-                                <wire layer="91" y2="-46.99" x2="67.31" y1="-46.99" x1="66.04"/>
-                            </segment>
-                        </net>
-                        <net name="750a280">
-                            <segment>
-                                <pinref gate="G$0" part="R?-6" pin="2"/>
-                                <pinref gate="G$0" part="U?-3" pin="1"/>
-                                <wire layer="91" y2="35.56" x2="96.52" y1="35.56" x1="95.25"/>
-                            </segment>
-                        </net>
-                        <net name="750a490">
-                            <segment>
-                                <pinref gate="G$0" part="R?-5" pin="2"/>
-                                <pinref gate="G$0" part="U?-2" pin="1"/>
-                                <wire layer="91" y2="62.23" x2="96.52" y1="62.23" x1="95.25"/>
-                            </segment>
-                        </net>
-                        <net name="750a700">
-                            <segment>
-                                <pinref gate="G$0" part="R?-4" pin="2"/>
-                                <pinref gate="G$0" part="U?-1" pin="1"/>
-                                <wire layer="91" y2="88.9" x2="96.52" y1="88.9" x1="95.25"/>
-                            </segment>
-                        </net>
-                        <net name="750a820">
-                            <segment>
-                                <pinref gate="G$0" part="U?" pin="2"/>
-                                <pinref gate="G$0" part="ground_MIRRORED-0" pin="1"/>
-                                <wire layer="91" y2="104.14" x2="97.79" y1="104.14" x1="96.52"/>
-                                <wire layer="91" y2="104.14" x2="97.79" y1="101.6" x1="97.79"/>
-                            </segment>
-                        </net>
-                        <net name="750a910">
-                            <segment>
-                                <pinref gate="G$0" part="R?" pin="2"/>
-                                <pinref gate="G$0" part="U?" pin="1"/>
-                            </segment>
-                        </net>
-                    </nets>
-                </sheet>
-            </sheets>
-        </schematic>
-    </drawing>
-</eagle>
--- a/service/laundry/laundrydoor-opto2.sch	Sun Apr 21 02:44:08 2019 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,427 +0,0 @@
-v 20110115 2
-C 51800 44700 1 0 0 connector9-2.sym
-{
-T 53000 48800 5 10 1 1 0 6 1
-refdes=DB9 from outside
-T 52100 48750 5 10 0 0 0 0 1
-device=CONNECTOR_9
-T 52100 48950 5 10 0 0 0 0 1
-footprint=SIP9N
-}
-T 53200 48300 9 10 1 0 0 6 1
-grn sw3
-T 53500 47900 9 10 1 0 0 6 1
-red motion
-T 53300 47500 9 10 1 0 0 6 1
-orn sw1
-T 53500 47100 9 10 1 0 0 6 1
-yel led_out
-T 53300 46700 9 10 1 0 0 6 1
-grn sw2
-T 53300 46300 9 10 1 0 0 6 1
-blu spkr
-T 53300 45900 9 10 1 0 0 6 1
-pur Vcc
-T 52900 45500 9 10 1 0 0 6 1
-NC
-T 53200 45100 9 10 1 0 0 6 1
-blk gnd
-C 55300 46700 1 90 1 led-1.sym
-{
-T 54700 45900 5 10 0 0 270 2 1
-device=LED
-T 54900 45900 5 10 1 1 270 2 1
-refdes=orange
-T 54500 45900 5 10 0 0 270 2 1
-symversion=0.1
-}
-C 55300 44400 1 0 1 ground.sym
-C 54900 47200 1 0 1 resistor-1.sym
-{
-T 54600 47600 5 10 0 0 0 6 1
-device=RESISTOR
-T 54700 47500 5 10 1 1 0 6 1
-refdes=1K
-}
-N 55100 44700 55100 46200 4
-N 54900 47300 55100 47300 4
-N 55100 47300 55100 46700 4
-N 54000 47300 51800 47300 4
-N 51800 47300 51800 47100 4
-N 51800 44600 51800 45300 4
-N 51800 45300 55100 45300 4
-C 48400 48700 1 0 1 resistor-1.sym
-{
-T 48100 49100 5 10 0 0 0 6 1
-device=RESISTOR
-T 48200 49000 5 10 1 1 0 6 1
-refdes=200
-}
-N 48400 48800 51400 48800 4
-N 51400 48800 51400 47900 4
-N 51400 47900 51800 47900 4
-N 47400 47900 51100 47900 4
-C 48700 47100 1 0 1 vcc-1.sym
-C 48500 46700 1 0 1 resistor-1.sym
-{
-T 48200 47100 5 10 0 0 0 6 1
-device=RESISTOR
-T 48300 47000 5 10 1 1 0 6 1
-refdes=200
-}
-C 48500 46500 1 0 1 resistor-1.sym
-{
-T 48200 46900 5 10 0 0 0 6 1
-device=RESISTOR
-T 48300 46800 5 10 1 1 0 6 1
-refdes=200
-}
-C 48500 44500 1 0 1 resistor-1.sym
-{
-T 48200 44900 5 10 0 0 0 6 1
-device=RESISTOR
-T 48300 44800 5 10 1 1 0 6 1
-refdes=200
-}
-N 48500 40600 48500 47100 4
-N 47600 46800 47400 46800 4
-N 47600 46600 47400 46600 4
-N 47600 44600 47400 44600 4
-N 51800 48300 47700 48300 4
-N 47700 48300 47700 47700 4
-N 47700 47700 47400 47700 4
-N 51800 47500 49600 47500 4
-N 49600 47500 49600 45700 4
-N 49600 45700 47400 45700 4
-N 51800 46700 49800 46700 4
-N 49800 46700 49800 45500 4
-N 49800 45500 47400 45500 4
-N 51800 45900 48900 45900 4
-N 48900 45900 48900 46800 4
-N 48900 46800 48500 46800 4
-N 48500 42800 47400 42800 4
-N 51800 47100 50000 47100 4
-N 50000 47100 50000 43200 4
-N 48500 42100 47400 42100 4
-N 49800 41700 50200 41700 4
-N 50200 41700 50200 46300 4
-N 50200 46300 51800 46300 4
-C 45000 48100 1 0 1 resistor-1.sym
-{
-T 44700 48500 5 10 0 0 0 6 1
-device=RESISTOR
-T 44800 48400 5 10 1 1 0 6 1
-refdes=1K
-}
-C 45000 47400 1 0 1 resistor-1.sym
-{
-T 44700 47800 5 10 0 0 0 6 1
-device=RESISTOR
-T 44800 47700 5 10 1 1 0 6 1
-refdes=1K
-}
-C 45000 45900 1 0 1 resistor-1.sym
-{
-T 44700 46300 5 10 0 0 0 6 1
-device=RESISTOR
-T 44800 46200 5 10 1 1 0 6 1
-refdes=1K
-}
-C 45000 45200 1 0 1 resistor-1.sym
-{
-T 44700 45600 5 10 0 0 0 6 1
-device=RESISTOR
-T 44800 45500 5 10 1 1 0 6 1
-refdes=1K
-}
-T 45200 49600 9 10 1 0 0 6 3
-1K to protect Pi 
-in case a pin is 
-set to output mode
-N 45400 48200 45000 48200 4
-N 45400 47500 45000 47500 4
-N 45400 46000 45000 46000 4
-N 45400 45300 45000 45300 4
-C 39500 41700 1 0 0 header26-2.sym
-{
-T 39600 49500 5 10 1 1 0 0 1
-refdes=r-pi gpio
-T 39900 49600 5 10 0 0 0 0 1
-footprint=header26
-T 39900 50000 5 10 0 0 0 0 1
-device=header26
-}
-N 40800 47900 45200 47900 4
-N 40800 48800 44000 48800 4
-N 40800 48200 43800 48200 4
-N 43800 48200 43800 47500 4
-N 40800 47600 43600 47600 4
-N 43600 46000 43600 47600 4
-N 43600 46000 44100 46000 4
-N 40800 46400 43400 46400 4
-N 43400 46400 43400 45300 4
-N 43400 45300 44100 45300 4
-N 40800 45800 43100 45800 4
-N 43100 45800 43100 43400 4
-C 43600 43300 1 0 0 resistor-1.sym
-{
-T 43900 43700 5 10 0 0 0 0 1
-device=RESISTOR
-T 43800 43600 5 10 1 1 0 0 1
-refdes=200
-}
-C 43600 41300 1 0 0 resistor-1.sym
-{
-T 43900 41700 5 10 0 0 0 0 1
-device=RESISTOR
-T 43800 41600 5 10 1 1 0 0 1
-refdes=200
-}
-N 43100 43400 43600 43400 4
-N 44500 43400 45400 43400 4
-N 40800 45200 42800 45200 4
-N 42800 45200 42800 41400 4
-N 42800 41400 43600 41400 4
-N 44500 41400 45400 41400 4
-L 46400 52200 46500 38500 7 0 0 0 -1 -1
-N 50000 43200 47400 43200 4
-T 45100 51900 9 10 1 0 0 0 1
-Pi side (3.3V)
-T 46600 51900 9 10 1 0 0 0 1
-outdoor isolation (5V)
-C 51700 44300 1 0 0 gnd-1.sym
-C 48700 49900 1 0 0 led-1.sym
-{
-T 49500 50500 5 10 0 0 0 0 1
-device=LED
-T 49500 50300 5 10 1 1 0 0 1
-refdes=power
-T 49500 50700 5 10 0 0 0 0 1
-symversion=0.1
-}
-C 54700 48700 1 0 0 header3-1.sym
-{
-T 55700 49350 5 10 0 0 0 0 1
-device=HEADER3
-T 55100 50000 5 10 1 1 0 0 1
-refdes=PX-555-28027
-}
-T 55100 49700 9 10 1 0 0 0 1
-GND
-T 55100 49300 9 10 1 0 0 0 1
-VCC
-T 55100 48900 9 10 1 0 0 0 1
-OUT
-N 51800 47900 51800 48100 4
-N 51800 48100 54000 48100 4
-N 51800 45900 51800 46100 4
-N 51800 46100 53600 46100 4
-N 53600 46100 53600 49400 4
-N 53600 49300 54700 49300 4
-N 54700 49700 53800 49700 4
-N 53800 49700 53800 45300 4
-C 53600 50100 1 0 0 led-1.sym
-{
-T 54400 50700 5 10 0 0 0 0 1
-device=LED
-T 54400 50500 5 10 1 1 0 0 1
-refdes=blue
-T 54400 50900 5 10 0 0 0 0 1
-symversion=0.1
-}
-C 53700 50300 1 90 1 resistor-1.sym
-{
-T 53300 50000 5 10 0 0 90 6 1
-device=RESISTOR
-T 53400 50100 5 10 1 1 90 6 1
-refdes=1K
-}
-N 54500 50300 54500 49700 4
-C 55500 47700 1 0 0 switch-spst-1.sym
-{
-T 55900 48400 5 10 0 0 0 0 1
-device=SPST
-T 55800 48000 5 10 1 1 0 0 1
-refdes=S?
-}
-C 55500 46900 1 0 0 switch-spst-1.sym
-{
-T 55900 47600 5 10 0 0 0 0 1
-device=SPST
-T 55800 47200 5 10 1 1 0 0 1
-refdes=S?
-}
-C 55500 48500 1 0 0 switch-spst-1.sym
-{
-T 55900 49200 5 10 0 0 0 0 1
-device=SPST
-T 55800 48800 5 10 1 1 0 0 1
-refdes=S?
-}
-N 54000 48100 54000 48900 4
-N 54000 48900 54700 48900 4
-N 55500 48500 51800 48500 4
-N 51800 48500 51800 48300 4
-N 55500 47700 51800 47700 4
-N 51800 47700 51800 47500 4
-N 55500 46900 51800 46900 4
-N 51800 46900 51800 46700 4
-N 56300 45300 56300 48500 4
-N 56300 45300 55100 45300 4
-C 54500 42000 1 0 0 speaker-1.sym
-{
-T 56500 44500 5 10 0 0 0 0 1
-device=SPEAKER
-T 55100 44000 5 10 1 1 0 0 1
-refdes=SPK?
-}
-N 54500 43900 54500 45300 4
-N 54100 42700 54500 42700 4
-N 54100 42700 54100 46500 4
-N 54100 46500 51800 46500 4
-N 51800 46500 51800 46300 4
-T 52600 51600 9 10 1 0 0 0 1
-above door
-C 49800 49800 1 0 1 ground.sym
-C 48700 50000 1 0 1 resistor-1.sym
-{
-T 48400 50400 5 10 0 0 0 6 1
-device=RESISTOR
-T 48500 50300 5 10 1 1 0 6 1
-refdes=1K
-}
-C 48000 50100 1 0 1 vcc-1.sym
-C 47400 44400 1 0 1 ILQ74.sym
-{
-T 47100 49400 5 10 1 1 0 6 1
-device=ILQ74
-T 47100 49200 5 10 1 1 0 6 1
-refdes=X?
-}
-C 45400 39000 1 0 0 ILQ74.sym
-{
-T 45700 44000 5 10 1 1 0 0 1
-device=ILQ74
-T 45700 43800 5 10 1 1 0 0 1
-refdes=X?
-}
-N 47400 48800 47500 48800 4
-N 45400 48600 45200 48600 4
-N 45200 40300 45200 48600 4
-N 45200 47100 45400 47100 4
-N 45200 46400 45400 46400 4
-N 45200 44900 45400 44900 4
-N 44100 48200 44000 48200 4
-N 44000 48200 44000 48800 4
-N 43800 47500 44100 47500 4
-N 45200 42500 45400 42500 4
-N 45200 42300 45400 42300 4
-C 55000 37300 1 0 0 switch-spst-1.sym
-{
-T 55400 38000 5 10 0 0 0 0 1
-device=SPST
-T 55300 37600 5 10 1 1 0 0 1
-refdes=DOOR_CLOSE
-}
-C 53900 35800 1 90 0 coil-2.sym
-{
-T 53400 36000 5 10 0 0 90 0 1
-device=COIL
-T 53600 36000 5 10 1 1 90 0 1
-refdes=STRIKE
-T 53200 36000 5 10 0 0 90 0 1
-symversion=0.1
-}
-B 52500 35500 4300 2500 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
-T 52600 37800 9 10 1 0 0 0 1
-inside door
-N 40800 44000 42200 44000 4
-N 42200 44000 42200 32800 4
-N 40800 43400 41900 43400 4
-N 41900 43400 41900 41200 4
-N 40800 44600 42500 44600 4
-N 42500 33200 42500 44600 4
-N 42500 33200 55000 33200 4
-N 55800 37300 55900 37300 4
-N 55900 37300 55900 32800 4
-N 55900 32800 43900 32800 4
-C 43900 32700 1 0 1 resistor-1.sym
-{
-T 43600 33100 5 10 0 0 0 6 1
-device=RESISTOR
-T 43600 33000 5 10 1 1 0 6 1
-refdes=1K
-}
-N 43000 32800 42200 32800 4
-C 49100 34700 1 0 0 npn-2.sym
-{
-T 49700 35200 5 10 0 0 0 0 1
-device=NPN_TRANSISTOR
-T 49700 35200 5 10 1 1 0 0 1
-refdes=Q?
-}
-C 48700 35100 1 0 1 resistor-1.sym
-{
-T 48400 35500 5 10 0 0 0 6 1
-device=RESISTOR
-T 48500 35400 5 10 1 1 0 6 1
-refdes=10K
-}
-C 48900 34800 1 90 1 resistor-1.sym
-{
-T 48500 34500 5 10 0 0 90 6 1
-device=RESISTOR
-T 48600 34600 5 10 1 1 90 6 1
-refdes=100K
-}
-N 48800 33600 50400 33600 4
-N 49600 33600 49600 34700 4
-N 48800 33900 48800 33600 4
-N 48800 34800 48800 35200 4
-N 48700 35200 49100 35200 4
-N 43600 41200 41900 41200 4
-N 49600 35700 53800 35700 4
-C 50900 37500 1 0 0 generic-power.sym
-{
-T 51100 37750 5 10 1 1 0 3 1
-net=12V
-}
-N 51100 36800 53800 36800 4
-C 51300 35800 1 90 0 diode-1.sym
-{
-T 50700 36200 5 10 0 0 90 0 1
-device=DIODE
-T 50800 36100 5 10 1 1 90 0 1
-refdes=D?
-}
-N 51100 35800 51100 35700 4
-N 51100 36700 51100 37500 4
-N 51100 38300 51100 47900 4
-N 51100 45100 51800 45100 4
-T 48700 47300 9 10 1 0 0 0 1
-5V
-B 52500 41700 4300 10100 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
-C 43600 41100 1 0 0 resistor-1.sym
-{
-T 43900 41500 5 10 0 0 0 0 1
-device=RESISTOR
-T 43800 40900 5 10 1 1 0 0 1
-refdes=200
-}
-N 44500 41200 45400 41200 4
-N 48500 40600 47400 40600 4
-N 51100 38300 50400 38300 4
-N 50400 38300 50400 33600 4
-N 45200 40300 45400 40300 4
-N 47400 41000 47800 41000 4
-N 47800 41000 47800 35200 4
-N 55000 33200 55000 37300 4
-N 53800 35700 53800 35800 4
-C 49800 41600 1 0 1 resistor-1.sym
-{
-T 49500 42000 5 10 0 0 0 6 1
-device=RESISTOR
-T 49600 41900 5 10 1 1 0 6 1
-refdes=100
-}
-N 48900 41700 47400 41700 4
--- a/service/laundry/laundrydoor.sch	Sun Apr 21 02:44:08 2019 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,352 +0,0 @@
-v 20110115 2
-C 40000 40000 0 0 0 title-B.sym
-C 47500 47900 1 0 1 4N25-1.sym
-{
-T 46600 49900 5 10 0 0 0 6 1
-device=4N25
-T 45700 49700 5 10 1 1 0 0 1
-refdes=U?
-}
-C 51800 44700 1 0 0 connector9-2.sym
-{
-T 53000 48800 5 10 1 1 0 6 1
-refdes=DB9 from outside
-T 52100 48750 5 10 0 0 0 0 1
-device=CONNECTOR_9
-T 52100 48950 5 10 0 0 0 0 1
-footprint=SIP9N
-}
-T 53200 48300 9 10 1 0 0 6 1
-grn sw3
-T 53500 47900 9 10 1 0 0 6 1
-red motion
-T 53300 47500 9 10 1 0 0 6 1
-orn sw1
-T 53500 47100 9 10 1 0 0 6 1
-yel led_out
-T 53300 46700 9 10 1 0 0 6 1
-grn sw2
-T 53300 46300 9 10 1 0 0 6 1
-blu spkr
-T 53300 45900 9 10 1 0 0 6 1
-pur Vcc
-T 52900 45500 9 10 1 0 0 6 1
-NC
-T 53200 45100 9 10 1 0 0 6 1
-blk gnd
-C 55300 46700 1 90 1 led-1.sym
-{
-T 54700 45900 5 10 0 0 270 2 1
-device=LED
-T 54900 45900 5 10 1 1 270 2 1
-refdes=orange
-T 54500 45900 5 10 0 0 270 2 1
-symversion=0.1
-}
-C 55300 44400 1 0 1 ground.sym
-C 54900 47200 1 0 1 resistor-1.sym
-{
-T 54600 47600 5 10 0 0 0 6 1
-device=RESISTOR
-T 54700 47500 5 10 1 1 0 6 1
-refdes=1K
-}
-N 55100 44700 55100 46200 4
-N 54900 47300 55100 47300 4
-N 55100 47300 55100 46700 4
-N 54000 47300 51800 47300 4
-N 51800 47300 51800 47100 4
-N 51800 44600 51800 45300 4
-N 51800 45300 55100 45300 4
-C 48400 49000 1 0 1 resistor-1.sym
-{
-T 48100 49400 5 10 0 0 0 6 1
-device=RESISTOR
-T 48200 49300 5 10 1 1 0 6 1
-refdes=R?
-}
-N 48400 49100 49100 49100 4
-N 49100 49100 49100 47900 4
-N 49100 47900 51800 47900 4
-C 47900 47700 1 0 1 ground.sym
-N 47500 48200 47700 48200 4
-N 47700 48200 47700 48000 4
-C 47500 45800 1 0 1 4N25-1.sym
-{
-T 46600 47800 5 10 0 0 0 6 1
-device=4N25
-T 45700 47600 5 10 1 1 0 0 1
-refdes=U?
-}
-C 47500 43700 1 0 1 4N25-1.sym
-{
-T 46600 45700 5 10 0 0 0 6 1
-device=4N25
-T 45700 45500 5 10 1 1 0 0 1
-refdes=U?
-}
-C 47500 41600 1 0 1 4N25-1.sym
-{
-T 46600 43600 5 10 0 0 0 6 1
-device=4N25
-T 45700 43400 5 10 1 1 0 0 1
-refdes=U?
-}
-C 48700 47100 1 0 1 vcc-1.sym
-C 48500 46900 1 0 1 resistor-1.sym
-{
-T 48200 47300 5 10 0 0 0 6 1
-device=RESISTOR
-T 48300 47200 5 10 1 1 0 6 1
-refdes=R?
-}
-C 48500 44800 1 0 1 resistor-1.sym
-{
-T 48200 45200 5 10 0 0 0 6 1
-device=RESISTOR
-T 48300 45100 5 10 1 1 0 6 1
-refdes=R?
-}
-C 48500 42700 1 0 1 resistor-1.sym
-{
-T 48200 43100 5 10 0 0 0 6 1
-device=RESISTOR
-T 48300 43000 5 10 1 1 0 6 1
-refdes=R?
-}
-N 48500 36300 48500 47100 4
-N 47600 47000 47500 47000 4
-N 47600 44900 47500 44900 4
-N 47600 42800 47500 42800 4
-N 51800 48300 49400 48300 4
-N 49400 48300 49400 46100 4
-N 49400 46100 47500 46100 4
-N 51800 47500 49600 47500 4
-N 49600 47500 49600 44000 4
-N 49600 44000 47500 44000 4
-N 51800 46700 49800 46700 4
-N 49800 46700 49800 41900 4
-N 49800 41900 47500 41900 4
-N 51800 45900 48900 45900 4
-N 48900 45900 48900 47000 4
-N 48900 47000 48500 47000 4
-C 45400 39700 1 180 1 4N25-1.sym
-{
-T 46300 37700 5 10 0 0 180 6 1
-device=4N25
-T 47200 37900 5 10 1 1 180 0 1
-refdes=U?
-}
-C 45400 37500 1 180 1 4N25-1.sym
-{
-T 46300 35500 5 10 0 0 180 6 1
-device=4N25
-T 47200 35700 5 10 1 1 180 0 1
-refdes=U?
-}
-N 48500 38500 47500 38500 4
-N 48700 39400 48700 41100 4
-N 50000 41100 48700 41100 4
-N 51800 47100 50000 47100 4
-N 50000 47100 50000 41100 4
-N 48500 36300 47500 36300 4
-N 47500 37200 50200 37200 4
-N 50200 37200 50200 46300 4
-N 50200 46300 51800 46300 4
-C 45000 41500 1 0 1 gnd-1.sym
-N 45400 41900 44900 41900 4
-N 44900 41800 44900 48200 4
-N 44900 44000 45400 44000 4
-N 44900 46100 45400 46100 4
-N 44900 48200 45400 48200 4
-C 44600 49000 1 0 1 resistor-1.sym
-{
-T 44300 49400 5 10 0 0 0 6 1
-device=RESISTOR
-T 44400 49300 5 10 1 1 0 6 1
-refdes=1K
-}
-C 44700 46900 1 0 1 resistor-1.sym
-{
-T 44400 47300 5 10 0 0 0 6 1
-device=RESISTOR
-T 44500 47200 5 10 1 1 0 6 1
-refdes=1K
-}
-C 44700 44800 1 0 1 resistor-1.sym
-{
-T 44400 45200 5 10 0 0 0 6 1
-device=RESISTOR
-T 44500 45100 5 10 1 1 0 6 1
-refdes=1K
-}
-C 44700 42700 1 0 1 resistor-1.sym
-{
-T 44400 43100 5 10 0 0 0 6 1
-device=RESISTOR
-T 44500 43000 5 10 1 1 0 6 1
-refdes=1K
-}
-T 45200 49600 9 10 1 0 0 6 3
-1K to protect Pi 
-in case a pin is 
-set to output mode
-N 45400 49100 44600 49100 4
-N 45400 47000 44700 47000 4
-N 45400 44900 44700 44900 4
-N 45400 42800 44700 42800 4
-C 40600 41700 1 0 0 header26-2.sym
-{
-T 40700 49500 5 10 1 1 0 0 1
-refdes=r-pi gpio
-T 41000 49600 5 10 0 0 0 0 1
-footprint=header26
-T 41000 50000 5 10 0 0 0 0 1
-device=header26
-}
-N 41900 47900 44900 47900 4
-N 41900 48800 43700 48800 4
-N 43700 48800 43700 49100 4
-N 41900 48200 43800 48200 4
-N 43800 48200 43800 47000 4
-N 41900 47600 43600 47600 4
-N 43600 44900 43600 47600 4
-N 43600 44900 43800 44900 4
-N 41900 46400 43400 46400 4
-N 43400 46400 43400 42800 4
-N 43400 42800 43800 42800 4
-N 41900 45800 43100 45800 4
-N 43100 45800 43100 38500 4
-C 44200 38400 1 0 0 resistor-1.sym
-{
-T 44500 38800 5 10 0 0 0 0 1
-device=RESISTOR
-T 43700 38700 5 10 1 1 0 0 1
-refdes=R?
-}
-C 44200 36200 1 0 0 resistor-1.sym
-{
-T 44500 36600 5 10 0 0 0 0 1
-device=RESISTOR
-T 44400 36500 5 10 1 1 0 0 1
-refdes=R?
-}
-N 43100 38500 44200 38500 4
-N 45100 38500 45400 38500 4
-N 41900 45200 42800 45200 4
-N 42800 45200 42800 36300 4
-N 42800 36300 44200 36300 4
-N 45100 36300 45400 36300 4
-N 44900 41900 43800 41900 4
-N 43800 37200 43800 41900 4
-N 43800 39400 45400 39400 4
-N 43800 37200 45400 37200 4
-L 46400 52200 46400 33400 3 0 0 0 -1 -1
-N 48700 39400 47500 39400 4
-T 43000 51900 9 10 1 0 0 0 1
-Pi side
-T 48000 51900 9 10 1 0 0 0 1
-outdoor isolation
-C 51700 44300 1 0 0 gnd-1.sym
-C 48700 49900 1 0 0 led-1.sym
-{
-T 49500 50500 5 10 0 0 0 0 1
-device=LED
-T 49500 50300 5 10 1 1 0 0 1
-refdes=power
-T 49500 50700 5 10 0 0 0 0 1
-symversion=0.1
-}
-C 54700 48700 1 0 0 header3-1.sym
-{
-T 55700 49350 5 10 0 0 0 0 1
-device=HEADER3
-T 55100 50000 5 10 1 1 0 0 1
-refdes=PX-555-28027
-}
-T 55100 49700 9 10 1 0 0 0 1
-GND
-T 55100 49300 9 10 1 0 0 0 1
-VCC
-T 55100 48900 9 10 1 0 0 0 1
-OUT
-N 51800 47900 51800 48100 4
-N 51800 48100 54000 48100 4
-N 51800 45900 51800 46100 4
-N 51800 46100 53600 46100 4
-N 53600 46100 53600 49400 4
-N 53600 49300 54700 49300 4
-N 54700 49700 53800 49700 4
-N 53800 49700 53800 45300 4
-C 53600 50100 1 0 0 led-1.sym
-{
-T 54400 50700 5 10 0 0 0 0 1
-device=LED
-T 54400 50500 5 10 1 1 0 0 1
-refdes=blue
-T 54400 50900 5 10 0 0 0 0 1
-symversion=0.1
-}
-C 53700 50300 1 90 1 resistor-1.sym
-{
-T 53300 50000 5 10 0 0 90 6 1
-device=RESISTOR
-T 53400 50100 5 10 1 1 90 6 1
-refdes=1K
-}
-N 54500 50300 54500 49700 4
-C 55500 47700 1 0 0 switch-spst-1.sym
-{
-T 55900 48400 5 10 0 0 0 0 1
-device=SPST
-T 55800 48000 5 10 1 1 0 0 1
-refdes=S?
-}
-C 55500 46900 1 0 0 switch-spst-1.sym
-{
-T 55900 47600 5 10 0 0 0 0 1
-device=SPST
-T 55800 47200 5 10 1 1 0 0 1
-refdes=S?
-}
-C 55500 48500 1 0 0 switch-spst-1.sym
-{
-T 55900 49200 5 10 0 0 0 0 1
-device=SPST
-T 55800 48800 5 10 1 1 0 0 1
-refdes=S?
-}
-N 54000 48100 54000 48900 4
-N 54000 48900 54700 48900 4
-N 55500 48500 51800 48500 4
-N 51800 48500 51800 48300 4
-N 55500 47700 51800 47700 4
-N 51800 47700 51800 47500 4
-N 55500 46900 51800 46900 4
-N 51800 46900 51800 46700 4
-N 56300 45300 56300 48500 4
-N 56300 45300 55100 45300 4
-C 54500 42000 1 0 0 speaker-1.sym
-{
-T 56500 44500 5 10 0 0 0 0 1
-device=SPEAKER
-T 55100 44000 5 10 1 1 0 0 1
-refdes=SPK?
-}
-N 54500 43900 54500 45300 4
-N 54100 42700 54500 42700 4
-N 54100 42700 54100 46500 4
-N 54100 46500 51800 46500 4
-N 51800 46500 51800 46300 4
-L 52500 52300 52500 33600 3 0 0 0 -1 -1
-T 53100 51900 9 10 1 0 0 0 1
-above door
-C 49800 49800 1 0 1 ground.sym
-C 48700 50000 1 0 1 resistor-1.sym
-{
-T 48400 50400 5 10 0 0 0 6 1
-device=RESISTOR
-T 48500 50300 5 10 1 1 0 6 1
-refdes=1K
-}
-C 48000 50100 1 0 1 vcc-1.sym
--- a/service/laundry/makefile	Sun Apr 21 02:44:08 2019 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-
-run: laundry
-	./laundry
-
-laundry: laundry.go
-	GOPATH=`pwd` /opt/go/bin/go build laundry.go
-
-deps:
-	GOPATH=`pwd` /opt/go/bin/go get github.com/mrmorphic/hwio
-	GOPATH=`pwd` /opt/go/bin/go get github.com/stretchr/goweb
-	apt-get install libraptor2-dev
-	GOPATH=`pwd` /opt/go/bin/go get bitbucket.org/ww/goraptor
-	perl -lpi -e 's,/usr/local/,/usr/,' src/bitbucket.org/ww/goraptor/goraptor.go
-	GOPATH=`pwd` /opt/go/bin/go build .../goraptor
--- a/service/laundry/src/bigasterisk/laundry.go	Sun Apr 21 02:44:08 2019 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,366 +0,0 @@
-package main
-
-import (
-	"bitbucket.org/ww/goraptor"
-	"encoding/json"
-	"errors"
-	"github.com/mrmorphic/hwio"
-	"github.com/stretchr/goweb"
-	"github.com/stretchr/goweb/context"
-	"log"
-	"net"
-	"net/http"
-	"runtime"
-	"time"
-)
-
-type Hardware struct {
-	InMotion, InSwitch3, InSwitch1, InSwitch2, OutLed, OutSpeaker, InDoorClosed, OutStrike hwio.Pin
-	LastOutLed, LastOutStrike                                                              string
-}
-
-func DigitalRead(p hwio.Pin) int {
-	v, err := hwio.DigitalRead(p)
-	if err != nil {
-		panic(err)
-	}
-	return v
-}
-
-func (h *Hardware) GetMotion() string {
-	if DigitalRead(h.InMotion) == 0 {
-		return "motion"
-	} else {
-		return "noMotion"
-	}
-}
-
-func (h *Hardware) GetDoor() string {
-	if DigitalRead(h.InDoorClosed) == 1 {
-		return "closed"
-	} else {
-		return "open"
-	}
-}
-
-func (h *Hardware) GetSwitch(which string) string {
-	var level int
-	switch which {
-	case "1":
-		level = DigitalRead(h.InSwitch1)
-	case "2":
-		level = DigitalRead(h.InSwitch2)
-	case "3":
-		level = DigitalRead(h.InSwitch3)
-	}
-	if level == 0 {
-		return "closed"
-	} else {
-		return "open"
-	}
-}
-
-func (h *Hardware) GetLed() string {
-	return h.LastOutLed
-}
-
-func (h *Hardware) GetStrike() string {
-	return h.LastOutStrike
-}
-
-func (h *Hardware) SetLed(state string) {
-	switch state {
-	case "on":
-		hwio.DigitalWrite(h.OutLed, 1)
-	case "off":
-		hwio.DigitalWrite(h.OutLed, 0)
-	default:
-		panic(errors.New("unknown state"))
-	}
-	h.LastOutLed = state
-}
-
-func (h *Hardware) SetStrike(state string) {
-	switch state {
-	case "unlocked":
-		hwio.DigitalWrite(h.OutStrike, 1)
-	case "locked":
-		hwio.DigitalWrite(h.OutStrike, 0)
-	default:
-		panic(errors.New("unknown state"))
-	}
-	h.LastOutStrike = state
-}
-
-// hwio.GetPin with a panic instead of an error return
-func GetPin(id string) hwio.Pin {
-	p, e := hwio.GetPin(id)
-	if e != nil {
-		panic(e)
-	}
-	return p
-}
-
-/*
-hwio.DebugPinMap() wrote this:
-
-Pin 1: 3.3V,  cap:
-Pin 2: 5V,  cap:
-Pin 3: SDA,GPIO0 (rev2 -> GPIO2) cap:output,input,input_pullup,input_pulldown
-Pin 5: SCL,GPIO1 (rev2 -> GPIO3) cap:output,input,input_pullup,input_pulldown
-Pin 6: GROUND,  cap:
-Pin 7: GPIO4  cap:output,input,input_pullup,input_pulldown
-Pin 8: TXD,GPIO14  cap:output,input,input_pullup,input_pulldown
-Pin 10: RXD,GPIO15  cap:output,input,input_pullup,input_pulldown
-Pin 11: GPIO17  cap:output,input,input_pullup,input_pulldown
-Pin 12: GPIO18  cap:output,input,input_pullup,input_pulldown
-Pin 13: GPIO21 (rev2 -> GPIO27) cap:output,input,input_pullup,input_pulldown
-Pin 15: GPIO22  cap:output,input,input_pullup,input_pulldown
-Pin 16: GPIO23  cap:output,input,input_pullup,input_pulldown
-Pin 18: GPIO24  cap:output,input,input_pullup,input_pulldown
-Pin 19: MOSI,GPIO10  cap:output,input,input_pullup,input_pulldown
-Pin 21: MISO,GPIO9  cap:output,input,input_pullup,input_pulldown
-Pin 22: GPIO25  cap:output,input,input_pullup,input_pulldown
-Pin 23: SCLK,GPIO11  cap:output,input,input_pullup,input_pulldown
-Pin 24: CE0N,GPIO8  cap:output,input,input_pullup,input_pulldown
-Pin 26: CE1N,GPIO7  cap:output,input,input_pullup,input_pulldown
-*/
-
-func SetupIo() Hardware {
-	//return Hardware{}
-	pins := Hardware{
-		InMotion:     GetPin("GPIO2"), // pi rev2 calls it GPIO2
-		InSwitch3:    GetPin("GPIO3"), // pi rev2 calls it GPIO3
-		InSwitch1:    GetPin("GPIO4"),
-		InSwitch2:    GetPin("GPIO17"),
-		OutLed:       GetPin("GPIO27"), // pi rev2 calls it GPIO27
-		OutSpeaker:   GetPin("GPIO22"),
-		InDoorClosed: GetPin("GPIO10"),
-		OutStrike:    GetPin("GPIO9"),
-	}
-
-	if err := hwio.PinMode(pins.InMotion, hwio.INPUT_PULLUP); err != nil {
-		panic(err)
-	}
-	if err := hwio.PinMode(pins.InSwitch1, hwio.INPUT_PULLUP); err != nil {
-		panic(err)
-	}
-	if err := hwio.PinMode(pins.InSwitch2, hwio.INPUT_PULLUP); err != nil {
-		panic(err)
-	}
-	if err := hwio.PinMode(pins.InSwitch3, hwio.INPUT_PULLUP); err != nil {
-		panic(err)
-	}
-	if err := hwio.PinMode(pins.InDoorClosed, hwio.INPUT_PULLDOWN); err != nil {
-		panic(err)
-	}
-	if err := hwio.PinMode(pins.OutLed, hwio.OUTPUT); err != nil {
-		panic(err)
-	}
-	if err := hwio.PinMode(pins.OutSpeaker, hwio.OUTPUT); err != nil {
-		panic(err)
-	}
-	if err := hwio.PinMode(pins.OutStrike, hwio.OUTPUT); err != nil {
-		panic(err)
-	}
-	pins.SetLed("off")
-	pins.SetStrike("locked")
-	return pins
-}
-
-func serializeGowebResponse(
-	c context.Context,
-	syntaxName string,
-	statements chan *goraptor.Statement) error {
-	var str string
-	if syntaxName == "trig" {
-		// real trig mode is crashing
-		
-		serializer := goraptor.NewSerializer("ntriples")
-		defer serializer.Free()
-		ntriples, err := serializer.Serialize(statements, "")
-		if err != nil {
-			panic(err)
-		}
-		log.Printf("got %d bytes of ntriples", len(ntriples))
-		str = "<http://projects.bigasterisk.com/room/laundryDoor> { " + ntriples + "}"
-		log.Printf("str now %d bytes", len(str))
-	} else {
-		serializer := goraptor.NewSerializer(syntaxName)
-		defer serializer.Free()
-
-		var err error
-		str, err = serializer.Serialize(statements, "")
-		if err != nil {
-			panic(err)
-		}
-	}
-
-	c.HttpResponseWriter().Header().Set("Content-Type",
-		goraptor.SerializerSyntax[syntaxName].MimeType)
-	return goweb.Respond.With(c, 200, []byte(str))
-}
-
-func namespace(ns string) func(string) *goraptor.Uri {
-	return func(path string) *goraptor.Uri {
-		var u goraptor.Uri = goraptor.Uri(ns + path)
-		return &u
-	}
-}
-
-func literal(v string, datatype *goraptor.Uri) (ret *goraptor.Literal) {
-	ret = new(goraptor.Literal)
-	ret.Value = v
-	if datatype != nil {
-		ret.Datatype = string(*datatype)
-	}
-	return
-}
-
-func nowLiteral() *goraptor.Literal {
-	XS := namespace("http://www.w3.org/2001/XMLSchema#")
-	rfc3999Time, err := time.Now().MarshalJSON()
-	if err != nil {
-		panic(err)
-	}
-	return literal(string(rfc3999Time[:]), XS("dateTime"))
-}
-
-func main() {
-	pins := SetupIo()
-
-	goweb.MapStatic("/static", "static")
-
-	// this one needs to fail if the hardware is broken in
-	// any way that we can determine, though I'm not sure
-	// what that will mean on rpi
-	goweb.MapStaticFile("/", "index.html")
-
-	goweb.Map("GET", "/status", func(c context.Context) error {
-		jsonEncode := json.NewEncoder(c.HttpResponseWriter())
-		jsonEncode.Encode(map[string]interface{}{
-			"motion":     pins.GetMotion(),
-			"switch1":    pins.GetSwitch("1"),
-			"switch2":    pins.GetSwitch("2"),
-			"switch3":    pins.GetSwitch("3"),
-			"doorClosed": pins.GetDoor(),
-			"led":        pins.LastOutLed,
-			"strike":     pins.LastOutStrike,
-		})
-		return nil
-	})
-
-	goweb.Map("GET", "/trig", func(c context.Context) error {
-		statements := make(chan *goraptor.Statement, 100)
-		close(statements)
-		serializer := goraptor.NewSerializer("trig")
-		defer serializer.Free()
-
-		str, err := serializer.Serialize(statements, "")
-		if err != nil {
-			panic(err)
-		}
-		return goweb.Respond.With(c, 200, []byte(str))
-	})
-		
-	goweb.Map("GET", "/graph", func(c context.Context) error {
-		DC := namespace("http://purl.org/dc/terms/")
-		ROOM := namespace("http://projects.bigasterisk.com/room/")
-
-		statements := make(chan *goraptor.Statement, 100)
-
-		graph := ROOM("laundryDoor")
-
-		_, thisFile, _, _ := runtime.Caller(0)
-		statements <- &(goraptor.Statement{
-			graph, DC("creator"), literal(thisFile, nil), graph})
-		statements <- &(goraptor.Statement{
-			graph, DC("modified"), nowLiteral(), graph})
-
-		for subj, state := range map[*goraptor.Uri]*goraptor.Uri{
-			ROOM("laundryDoorMotion"):  ROOM(pins.GetMotion()),
-			ROOM("laundryDoorOpen"):    ROOM(pins.GetDoor()),
-			ROOM("laundryDoorSwitch1"): ROOM(pins.GetSwitch("1")),
-			ROOM("laundryDoorSwitch2"): ROOM(pins.GetSwitch("2")),
-			ROOM("laundryDoorSwitch3"): ROOM(pins.GetSwitch("3")),
-			ROOM("laundryDoorLed"):     ROOM(pins.GetLed()),
-			ROOM("laundryDoorStrike"):  ROOM(pins.GetStrike()),
-		} {
-			statements <- &(goraptor.Statement{subj, ROOM("state"), state, graph})
-		}
-
-		close(statements)
-		return serializeGowebResponse(c, "nquads", statements)
-	})
-
-	goweb.Map("PUT", "/led", func(c context.Context) error {
-		body, err := c.RequestBody()
-		if err != nil {
-			panic(err)
-		}
-
-		pins.SetLed(string(body))
-		return goweb.Respond.WithStatusText(c, http.StatusAccepted)
-	})
-
-	goweb.Map("PUT", "/strike", func(c context.Context) error {
-		body, err := c.RequestBody()
-		if err != nil {
-			panic(err)
-		}
-
-		pins.SetStrike(string(body))
-		return goweb.Respond.WithStatusText(c, http.StatusAccepted)
-	})
-
-	goweb.Map(
-		"PUT", "/strike/temporaryUnlock",
-		func(c context.Context) error {
-			type TemporaryUnlockRequest struct {
-				Seconds float64
-			}
-
-			var req TemporaryUnlockRequest
-			err := json.NewDecoder(c.HttpRequest().Body).
-				Decode(&req)
-			if err != nil {
-				panic(err)
-			}
-
-			// This is not correctly reentrant. There should be a
-			// stack of temporary effects that unpop correctly,
-			// and status should show you any running effects.
-			pins.SetStrike("unlocked")
-			go func() {
-				time.Sleep(time.Duration(req.Seconds *
-					float64(time.Second)))
-				pins.SetStrike("locked")
-			}()
-			return goweb.Respond.WithStatusText(
-				c, http.StatusAccepted)
-		})
-
-	goweb.Map("PUT", "/speaker/beep", func(c context.Context) error {
-		// queue a beep
-		return goweb.Respond.WithStatusText(c, http.StatusAccepted)
-	})
-
-	// start input posting loop. add nquads to reasoning2
-	
-	address := ":8081"
-
-	s := &http.Server{
-		Addr:         address,
-		Handler:      goweb.DefaultHttpHandler(),
-		ReadTimeout:  10 * time.Second,
-		WriteTimeout: 10 * time.Second,
-	}
-
-	log.Printf("Listening on port %s", address)
-	log.Printf("%s", goweb.DefaultHttpHandler())
-	listener, listenErr := net.Listen("tcp", address)
-	if listenErr != nil {
-		panic(listenErr)
-	}
-	s.Serve(listener)
-}
--- a/service/laundry/static/gui.js	Sun Apr 21 02:44:08 2019 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-'use strict';
-
-
-function Ctrl($scope, $http, $timeout) {
-    $scope.refresh = function () {
-        $http.get("status").success(function (data) {
-            $scope.status = data;
-        });
-    }
-    $scope.refresh();
-    $scope.setLed = function (value) {
-        $http.put("led", value).success(function () {
-            $scope.refresh();
-        });
-    };
-    $scope.temporaryUnlock = function () {
-        var seconds = 3;
-        $http.put("strike/temporaryUnlock", {seconds: seconds}).success(function () {
-            $scope.refresh();
-            $timeout($scope.refresh, (seconds + .1) * 1000);
-        });
-    };
-    $scope.beep = function () {
-        $http.put("speaker/beep").success(function () {
-            $scope.speakerStatus = "sent at " + new Date();
-        });
-    }
-}
--- a/service/laundry/symbols/ILQ74.sym	Sun Apr 21 02:44:08 2019 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-v 20110115 2
-B 300 0 1400 4600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
-T 300 5000 8 10 1 1 0 0 1
-device=ILQ74
-T 300 4800 8 10 1 1 0 0 1
-refdes=X?
-C 700 4400 1 270 0 led-2.sym
-{
-T 1300 4300 5 10 0 0 270 0 1
-device=LED
-}
-C 700 2200 1 270 0 led-2.sym
-{
-T 1300 2100 5 10 0 0 270 0 1
-device=LED
-}
-C 900 200 1 90 0 led-2.sym
-{
-T 300 300 5 10 0 0 90 0 1
-device=LED
-}
-C 900 2400 1 90 0 led-2.sym
-{
-T 300 2500 5 10 0 0 90 0 1
-device=LED
-}
-P 0 4400 800 4400 1 0 0
-{
-T 0 4400 5 10 0 0 0 0 1
-pintype=in
-T 355 4195 5 10 1 1 0 0 1
-pinlabel=A
-T 205 4445 5 10 1 1 0 6 1
-pinnumber=1
-T 0 4400 5 10 0 0 0 0 1
-pinseq=0
-}
-P 0 3500 800 3500 1 0 0
-{
-T 0 3500 5 10 0 0 0 0 1
-pintype=unknown
-T 355 3595 5 10 1 1 0 0 1
-pinlabel=C
-T 205 3545 5 10 1 1 0 6 1
-pinnumber=2
-T 0 3500 5 10 0 0 0 0 1
-pinseq=0
-}
-P 0 3300 800 3300 1 0 0
-{
-T 0 3300 5 10 0 0 0 0 1
-pintype=unknown
-T 355 3095 5 10 1 1 0 0 1
-pinlabel=C
-T 205 3145 5 10 1 1 0 6 1
-pinnumber=3
-T 0 3300 5 10 0 0 0 0 1
-pinseq=0
-}
-P 0 2400 800 2400 1 0 0
-{
-T 0 2400 5 10 0 0 0 0 1
-pintype=unknown
-T 355 2495 5 10 1 1 0 0 1
-pinlabel=A
-T 505 2445 5 10 1 1 0 6 1
-pinnumber=4	
-T 0 2400 5 10 0 0 0 0 1
-pinseq=0
-}
-P 0 2200 800 2200 1 0 0
-{
-T 0 2200 5 10 0 0 0 0 1
-pintype=unknown
-T 355 1995 5 10 1 1 0 0 1
-pinlabel=A
-T 205 2045 5 10 1 1 0 6 1
-pinnumber=5
-T 0 2200 5 10 0 0 0 0 1
-pinseq=0
-}
-P 0 1300 800 1300 1 0 0
-{
-T 0 1300 5 10 0 0 0 0 1
-pintype=unknown
-T 355 1395 5 10 1 1 0 0 1
-pinlabel=C
-T 205 1345 5 10 1 1 0 6 1
-pinnumber=6
-T 0 1300 5 10 0 0 0 0 1
-pinseq=0
-}
-P 0 1100 800 1100 1 0 0
-{
-T 0 1100 5 10 0 0 0 0 1
-pintype=unknown
-T 355 895 5 10 1 1 0 0 1
-pinlabel=C
-T 205 945 5 10 1 1 0 6 1
-pinnumber=7
-T 0 1100 5 10 0 0 0 0 1
-pinseq=0
-}
-P 0 200 800 200 1 0 0
-{
-T 0 200 5 10 0 0 0 0 1
-pintype=unknown
-T 355 295 5 10 1 1 0 0 1
-pinlabel=A
-T 205 245 5 10 1 1 0 6 1
-pinnumber=8
-T 0 200 5 10 0 0 0 0 1
-pinseq=0
-}
-C 1200 500 1 0 0 photo-transistor-1.sym
-{
-T 1000 1000 5 6 0 1 0 0 1
-device=PS2501-1
-T 1160 500 5 10 0 1 0 0 1
-device=photo-transistor
-}
-C 1200 2700 1 0 0 photo-transistor-1.sym
-{
-T 1000 3200 5 6 0 1 0 0 1
-device=PS2501-1
-T 1160 2700 5 10 0 1 0 0 1
-device=photo-transistor
-}
-C 1200 2000 1 180 1 photo-transistor-1.sym
-{
-T 1000 1500 5 6 0 1 0 2 1
-device=PS2501-1
-T 1160 2000 5 10 0 1 0 2 1
-device=photo-transistor
-}
-C 1200 4200 1 180 1 photo-transistor-1.sym
-{
-T 1000 3700 5 6 0 1 0 2 1
-device=PS2501-1
-T 1160 4200 5 10 0 1 0 2 1
-device=photo-transistor
-}
-P 2000 4200 1400 4200 1 0 0
-{
-T 2000 4200 5 10 0 0 0 0 1
-pintype=unknown
-T 1345 4195 5 10 1 1 0 6 1
-pinlabel=E
-T 1795 4245 5 10 1 1 0 0 1
-pinnumber=16
-T 2000 4200 5 10 0 0 0 0 1
-pinseq=0
-}
-P 2000 3800 1400 3800 1 0 0
-{
-T 2000 3800 5 10 0 0 0 0 1
-pintype=unknown
-T 1345 3795 5 10 1 1 0 6 1
-pinlabel=C
-T 1795 3845 5 10 1 1 0 0 1
-pinnumber=15
-T 2000 3800 5 10 0 0 0 0 1
-pinseq=0
-}
-P 2000 3100 1400 3100 1 0 0
-{
-T 2000 3100 5 10 0 0 0 0 1
-pintype=unknown
-T 1345 3095 5 10 1 1 0 6 1
-pinlabel=C
-T 1795 3145 5 10 1 1 0 0 1
-pinnumber=14
-T 2000 3100 5 10 0 0 0 0 1
-pinseq=0
-}
-P 2000 2700 1400 2700 1 0 0
-{
-T 2000 2700 5 10 0 0 0 0 1
-pintype=unknown
-T 1345 2695 5 10 1 1 0 6 1
-pinlabel=E
-T 1795 2745 5 10 1 1 0 0 1
-pinnumber=13
-T 2000 2700 5 10 0 0 0 0 1
-pinseq=0
-}
-P 2000 2000 1400 2000 1 0 0
-{
-T 2000 2000 5 10 0 0 0 0 1
-pintype=unknown
-T 1345 1995 5 10 1 1 0 6 1
-pinlabel=E
-T 1795 2045 5 10 1 1 0 0 1
-pinnumber=12
-T 2000 2000 5 10 0 0 0 0 1
-pinseq=0
-}
-P 2000 1600 1400 1600 1 0 0
-{
-T 2000 1600 5 10 0 0 0 0 1
-pintype=unknown
-T 1345 1595 5 10 1 1 0 6 1
-pinlabel=C
-T 1795 1645 5 10 1 1 0 0 1
-pinnumber=11
-T 2000 1600 5 10 0 0 0 0 1
-pinseq=0
-}
-P 2000 900 1400 900 1 0 0
-{
-T 2000 900 5 10 0 0 0 0 1
-pintype=unknown
-T 1345 895 5 10 1 1 0 6 1
-pinlabel=C
-T 1795 945 5 10 1 1 0 0 1
-pinnumber=10
-T 2000 900 5 10 0 0 0 0 1
-pinseq=0
-}
-P 2000 500 1400 500 1 0 0
-{
-T 2000 500 5 10 0 0 0 0 1
-pintype=unknown
-T 1345 495 5 10 1 1 0 6 1
-pinlabel=E
-T 1795 545 5 10 1 1 0 0 1
-pinnumber=9
-T 2000 500 5 10 0 0 0 0 1
-pinseq=0
-}