Compare commits

..

18 Commits
master ... dev

Author SHA1 Message Date
Chris Giacofei
bc73bb81c3 Change logo image. 2023-02-09 15:39:27 -05:00
Chris Giacofei
6e3ed5b4d5 Remove library files from main folder. 2023-02-09 15:23:20 -05:00
Chris Giacofei
b23f40ddfa Made copper pours +3V on top and GND on bottom. 2023-02-06 16:20:15 -05:00
Chris Giacofei
e7cf69590b Moving custom footprints to a lower folder. 2023-02-06 15:05:28 -05:00
Chris Giacofei
7040ab1ca1 Add custom footprint for WEMOS D1 Mini.
The stock FP seems to have the pins rotated with respect to the board.
2023-02-06 14:54:17 -05:00
Chris Giacofei
4bff3f0170 Make pads for mains input bigger. 2023-02-06 14:19:19 -05:00
Chris Giacofei
8623b6fde6 Relay footprint had NC/NO pins reversed.
(I think).

made custom footprint with pins 3 and 4 swapped. Updated PCB with the new footprint.
2023-02-06 14:00:08 -05:00
Chris Giacofei
1c0d5f4e53 Fermenter power in/out was no longer on correct net rules. 2023-02-06 13:59:07 -05:00
2c83c6434e I swear I delete stuff, but it keeps coming back.
Not keeping repo in a synced folder anymore, so hopefully this
stops happening.
2023-02-05 06:35:25 -05:00
Chris Giacofei
c2b7123334 Hide panels from model.
With new 3mm wall thickness these can be lasercut instead of printed.
2023-02-03 09:09:01 -05:00
Chris Giacofei
6e0d1f4eea Wrong name for file. 2023-02-03 09:05:15 -05:00
Chris Giacofei
0b2950dbf4 Adjust presets for enclosure.
- Increase length to give some more internal space. It's crowded in
   there.
 - Increase wall thickness. First printing seems a bit flimsy.
2023-02-03 09:03:16 -05:00
Chris Giacofei
b4237ffbae Zippy for managing container type files in repo. 2023-02-03 08:58:33 -05:00
Chris Giacofei
cfdf09a93e Add handling of special files to repo attributes. 2023-02-02 16:22:47 -05:00
Chris Giacofei
ea6ddb3612 Add labels for cables to repo. 2023-02-02 16:10:08 -05:00
Chris Giacofei
a6989579f2 Footpring parity between schematic and PCB.
Changing footprint in the PCB does not update the schematic.
2023-02-02 15:49:59 -05:00
Chris Giacofei
7ef9015e6e The file fp-info-cache can be ignored. 2023-02-02 15:49:27 -05:00
Chris Giacofei
6108440a2f Ignore backup files. 2023-02-02 15:35:29 -05:00
25 changed files with 19408 additions and 106379 deletions

6
.gitattributes vendored
View File

@ -1 +1,7 @@
* text eol=lf
*.FCStd filter=zippey
*.FCStd diff=zip
*.3mf filter=zippey
*.3mf diff=zip
*.xlsx filter=zippey
*.xlsx diff=zip

View File

@ -45,7 +45,7 @@
"FilletRadius": "2",
"FrontPanelType": "Discrete",
"Height": "75",
"Length": "200",
"Length": "225",
"MountDia": "8",
"MountHeight": "10",
"MountHoleDia": "2.5",
@ -60,13 +60,13 @@
"PrintLayout": "0",
"Resolution": "50",
"ShowBCase": "1",
"ShowBPanel": "1",
"ShowFPanel": "1",
"ShowBPanel": "0",
"ShowFPanel": "0",
"ShowPCB": "0",
"ShowTCase": "0",
"VentType": "VentHoles",
"VentWidth": "1.5",
"WallThickness": "2",
"VentWidth": "3",
"WallThickness": "3",
"Width": "130",
"examplePanels": "0"
}

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,343 +0,0 @@
#!/usr/bin/env python3
#
# Original espota.py by Ivan Grokhotkov:
# https://gist.github.com/igrr/d35ab8446922179dc58c
#
# Modified since 2015-09-18 from Pascal Gollor (https://github.com/pgollor)
# Modified since 2015-11-09 from Hristo Gochkov (https://github.com/me-no-dev)
# Modified since 2016-01-03 from Matthew O'Gorman (https://githumb.com/mogorman)
#
# This script will push an OTA update to the ESP
# use it like: python3 espota.py -i <ESP_IP_address> -I <Host_IP_address> -p <ESP_port> -P <Host_port> [-a password] -f <sketch.bin>
# Or to upload SPIFFS image:
# python3 espota.py -i <ESP_IP_address> -I <Host_IP_address> -p <ESP_port> -P <HOST_port> [-a password] -s -f <spiffs.bin>
#
# Changes
# 2015-09-18:
# - Add option parser.
# - Add logging.
# - Send command to controller to differ between flashing and transmitting SPIFFS image.
#
# Changes
# 2015-11-09:
# - Added digest authentication
# - Enhanced error tracking and reporting
#
# Changes
# 2016-01-03:
# - Added more options to parser.
#
from __future__ import print_function
import socket
import sys
import os
import optparse
import logging
import hashlib
import random
# Commands
FLASH = 0
SPIFFS = 100
AUTH = 200
PROGRESS = False
# update_progress() : Displays or updates a console progress bar
## Accepts a float between 0 and 1. Any int will be converted to a float.
## A value under 0 represents a 'halt'.
## A value at 1 or bigger represents 100%
def update_progress(progress):
if (PROGRESS):
barLength = 60 # Modify this to change the length of the progress bar
status = ""
if isinstance(progress, int):
progress = float(progress)
if not isinstance(progress, float):
progress = 0
status = "error: progress var must be float\r\n"
if progress < 0:
progress = 0
status = "Halt...\r\n"
if progress >= 1:
progress = 1
status = "Done...\r\n"
block = int(round(barLength*progress))
text = "\rUploading: [{0}] {1}% {2}".format( "="*block + " "*(barLength-block), int(progress*100), status)
sys.stderr.write(text)
sys.stderr.flush()
else:
sys.stderr.write('.')
sys.stderr.flush()
def serve(remoteAddr, localAddr, remotePort, localPort, password, filename, command = FLASH):
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = (localAddr, localPort)
logging.info('Starting on %s:%s', str(server_address[0]), str(server_address[1]))
try:
sock.bind(server_address)
sock.listen(1)
except Exception:
logging.error("Listen Failed")
return 1
# Check whether Signed Update is used.
if ( os.path.isfile(filename + '.signed') ):
filename = filename + '.signed'
file_check_msg = 'Detected Signed Update. %s will be uploaded instead.' % (filename)
sys.stderr.write(file_check_msg + '\n')
sys.stderr.flush()
logging.info(file_check_msg)
content_size = os.path.getsize(filename)
f = open(filename,'rb')
file_md5 = hashlib.md5(f.read()).hexdigest()
f.close()
logging.info('Upload size: %d', content_size)
message = '%d %d %d %s\n' % (command, localPort, content_size, file_md5)
# Wait for a connection
logging.info('Sending invitation to: %s', remoteAddr)
sock2 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
remote_address = (remoteAddr, int(remotePort))
sock2.sendto(message.encode(), remote_address)
sock2.settimeout(10)
try:
data = sock2.recv(128).decode()
except Exception:
logging.error('No Answer')
sock2.close()
return 1
if (data != "OK"):
if(data.startswith('AUTH')):
nonce = data.split()[1]
cnonce_text = '%s%u%s%s' % (filename, content_size, file_md5, remoteAddr)
cnonce = hashlib.md5(cnonce_text.encode()).hexdigest()
passmd5 = hashlib.md5(password.encode()).hexdigest()
result_text = '%s:%s:%s' % (passmd5 ,nonce, cnonce)
result = hashlib.md5(result_text.encode()).hexdigest()
sys.stderr.write('Authenticating...')
sys.stderr.flush()
message = '%d %s %s\n' % (AUTH, cnonce, result)
sock2.sendto(message.encode(), remote_address)
sock2.settimeout(10)
try:
data = sock2.recv(32).decode()
except Exception:
sys.stderr.write('FAIL\n')
logging.error('No Answer to our Authentication')
sock2.close()
return 1
if (data != "OK"):
sys.stderr.write('FAIL\n')
logging.error('%s', data)
sock2.close()
sys.exit(1)
return 1
sys.stderr.write('OK\n')
else:
logging.error('Bad Answer: %s', data)
sock2.close()
return 1
sock2.close()
logging.info('Waiting for device...')
try:
sock.settimeout(10)
connection, client_address = sock.accept()
sock.settimeout(None)
connection.settimeout(None)
except Exception:
logging.error('No response from device')
sock.close()
return 1
received_ok = False
try:
f = open(filename, "rb")
if (PROGRESS):
update_progress(0)
else:
sys.stderr.write('Uploading')
sys.stderr.flush()
offset = 0
while True:
chunk = f.read(1460)
if not chunk: break
offset += len(chunk)
update_progress(offset/float(content_size))
connection.settimeout(10)
try:
connection.sendall(chunk)
if connection.recv(32).decode().find('O') >= 0:
# connection will receive only digits or 'OK'
received_ok = True
except Exception:
sys.stderr.write('\n')
logging.error('Error Uploading')
connection.close()
f.close()
sock.close()
return 1
sys.stderr.write('\n')
logging.info('Waiting for result...')
# libraries/ArduinoOTA/ArduinoOTA.cpp L311 L320
# only sends digits or 'OK'. We must not not close
# the connection before receiving the 'O' of 'OK'
try:
connection.settimeout(60)
received_ok = False
received_error = False
while not (received_ok or received_error):
reply = connection.recv(64).decode()
# Look for either the "E" in ERROR or the "O" in OK response
# Check for "E" first, since both strings contain "O"
if reply.find('E') >= 0:
sys.stderr.write('\n')
logging.error('%s', reply)
received_error = True
elif reply.find('O') >= 0:
logging.info('Result: OK')
received_ok = True
connection.close()
f.close()
sock.close()
if received_ok:
return 0
return 1
except Exception:
logging.error('No Result!')
connection.close()
f.close()
sock.close()
return 1
finally:
connection.close()
f.close()
sock.close()
return 1
# end serve
def parser(unparsed_args):
parser = optparse.OptionParser(
usage = "%prog [options]",
description = "Transmit image over the air to the esp8266 module with OTA support."
)
# destination ip and port
group = optparse.OptionGroup(parser, "Destination")
group.add_option("-i", "--ip",
dest = "esp_ip",
action = "store",
help = "ESP8266 IP Address.",
default = False
)
group.add_option("-I", "--host_ip",
dest = "host_ip",
action = "store",
help = "Host IP Address.",
default = "0.0.0.0"
)
group.add_option("-p", "--port",
dest = "esp_port",
type = "int",
help = "ESP8266 ota Port. Default 8266",
default = 8266
)
group.add_option("-P", "--host_port",
dest = "host_port",
type = "int",
help = "Host server ota Port. Default random 10000-60000",
default = random.randint(10000,60000)
)
parser.add_option_group(group)
# auth
group = optparse.OptionGroup(parser, "Authentication")
group.add_option("-a", "--auth",
dest = "auth",
help = "Set authentication password.",
action = "store",
default = ""
)
parser.add_option_group(group)
# image
group = optparse.OptionGroup(parser, "Image")
group.add_option("-f", "--file",
dest = "image",
help = "Image file.",
metavar="FILE",
default = None
)
group.add_option("-s", "--spiffs",
dest = "spiffs",
action = "store_true",
help = "Use this option to transmit a SPIFFS image and do not flash the module.",
default = False
)
parser.add_option_group(group)
# output group
group = optparse.OptionGroup(parser, "Output")
group.add_option("-d", "--debug",
dest = "debug",
help = "Show debug output. And override loglevel with debug.",
action = "store_true",
default = False
)
group.add_option("-r", "--progress",
dest = "progress",
help = "Show progress output. Does not work for ArduinoIDE",
action = "store_true",
default = False
)
parser.add_option_group(group)
(options, args) = parser.parse_args(unparsed_args)
return options
# end parser
def main(args):
# get options
options = parser(args)
# adapt log level
loglevel = logging.WARNING
if (options.debug):
loglevel = logging.DEBUG
# end if
# logging
logging.basicConfig(level = loglevel, format = '%(asctime)-8s [%(levelname)s]: %(message)s', datefmt = '%H:%M:%S')
logging.debug("Options: %s", str(options))
# check options
global PROGRESS
PROGRESS = options.progress
if (not options.esp_ip or not options.image):
logging.critical("Not enough arguments.")
return 1
# end if
command = FLASH
if (options.spiffs):
command = SPIFFS
# end if
return serve(options.esp_ip, options.host_ip, options.esp_port, options.host_port, options.auth, options.image, command)
# end main
if __name__ == '__main__':
sys.exit(main(sys.argv))
# end if

View File

@ -0,0 +1,227 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="101.31726mm"
height="94.119034mm"
viewBox="0 0 101.31726 94.119037"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
sodipodi:docname="Cable Labels.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="2.3786088"
inkscape:cx="212.30898"
inkscape:cy="198.01491"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-67.707628,-29.487712)">
<g
id="g1161"
transform="translate(0,-3.6947269)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.282743;stroke-dasharray:0.282743, 0.848229;stroke-dashoffset:0;stroke-opacity:1"
id="rect234"
width="50.517258"
height="18.767258"
x="67.848999"
y="52.091068"
rx="0"
ry="0" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="69.972672"
y="56.094837"
id="text403"><tspan
sodipodi:role="line"
id="tspan525"
x="69.972672"
y="56.094837">A: 28 61 64 12 3C 7C 2F 27</tspan></text>
</g>
<g
id="g1156"
transform="translate(0,-7.3894558)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.282743;stroke-dasharray:0.282743, 0.848229;stroke-dashoffset:0;stroke-opacity:1"
id="rect234-9"
width="50.517258"
height="18.767258"
x="67.848999"
y="74.553055"
rx="0"
ry="0" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="69.972672"
y="78.556824"
id="text403-7"><tspan
sodipodi:role="line"
id="tspan527"
x="69.972672"
y="78.556824">B: 28 61 64 12 3F FD 80 C6</tspan></text>
</g>
<g
id="g1131"
transform="translate(-3.2093353)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.282743;stroke-dasharray:0.282743, 0.848229;stroke-dashoffset:0;stroke-opacity:1"
id="rect234-9-9"
width="50.517258"
height="18.767258"
x="121.57559"
y="29.629084"
rx="0"
ry="0" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="123.69926"
y="33.632851"
id="text403-7-1"><tspan
sodipodi:role="line"
id="tspan984"
x="123.69926"
y="33.632851">Glycol Tank Cooling</tspan></text>
</g>
<g
id="g1136"
transform="translate(-3.2093353,-3.6947269)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.282743;stroke-dasharray:0.282743, 0.848229;stroke-dashoffset:0;stroke-opacity:1"
id="rect234-9-9-6"
width="50.517258"
height="18.767258"
x="121.57559"
y="52.091068"
rx="0"
ry="0" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="123.69925"
y="56.094833"
id="text403-7-1-6"><tspan
sodipodi:role="line"
id="tspan1062"
x="123.69925"
y="56.094833">Fermenter A Cooling</tspan></text>
</g>
<g
id="g1141"
transform="translate(-3.2093353,-7.3894558)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.282743;stroke-dasharray:0.282743, 0.848229;stroke-dashoffset:0;stroke-opacity:1"
id="rect234-9-9-5"
width="50.517258"
height="18.767258"
x="121.57559"
y="74.553055"
rx="0"
ry="0" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="123.69926"
y="78.556816"
id="text403-7-1-0"><tspan
sodipodi:role="line"
id="tspan1060"
x="123.69926"
y="78.556816">Fermenter A Heating</tspan></text>
</g>
<g
id="g1146"
transform="translate(-3.2093353,-11.084188)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.282743;stroke-dasharray:0.282743, 0.848229;stroke-dashoffset:0;stroke-opacity:1"
id="rect234-9-9-67"
width="50.517258"
height="18.767258"
x="121.57559"
y="97.015045"
rx="0"
ry="0" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="123.69926"
y="101.01881"
id="text403-7-1-7"><tspan
sodipodi:role="line"
id="tspan1064"
x="123.69926"
y="101.01881">Fermenter B Cooling</tspan></text>
</g>
<g
id="g1151"
transform="translate(-3.2093353,-14.778928)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.282743;stroke-dasharray:0.282743, 0.848229;stroke-dashoffset:0;stroke-opacity:1"
id="rect234-9-9-67-3"
width="50.517258"
height="18.767258"
x="121.57559"
y="119.47704"
rx="0"
ry="0" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="123.69926"
y="123.48081"
id="text403-7-1-7-5"><tspan
sodipodi:role="line"
id="tspan1098"
x="123.69926"
y="123.48081">Fermenter B Heating</tspan></text>
</g>
<g
id="g1166">
<rect
style="fill:none;stroke:#000000;stroke-width:0.282743;stroke-dasharray:0.282743, 0.848229;stroke-dashoffset:0;stroke-opacity:1"
id="rect234-1"
width="50.517258"
height="18.767258"
x="67.848999"
y="29.629084"
rx="0"
ry="0" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="69.972664"
y="33.632851"
id="text403-6"><tspan
sodipodi:role="line"
id="tspan455-03"
x="69.972664"
y="33.632851">T: 28 EE D5 64 1A 16 02 EC</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@ -1,2 +1,5 @@
**/gerber_output
**/Glycol_Chiller-backups
*.kicad_pcb-bak
*.bak
fp-info-cache

View File

@ -539,10 +539,6 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 0e3be413-e38e-4844-905c-58b137e8e503)
)
(wire (pts (xy 146.05 113.03) (xy 146.05 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 0eb86c8c-a5a8-4f84-9752-e0db915b4910)
)
(wire (pts (xy 106.68 69.85) (xy 111.76 69.85))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 14c1615f-d0b0-4486-92c3-ff3eadee065b)
@ -559,17 +555,13 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 1f1e5ab7-254e-445c-996d-8b296d791a42)
)
(wire (pts (xy 153.67 113.03) (xy 153.67 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 2048a5d5-d7cc-4132-bde3-218ec6eef8a9)
)
(wire (pts (xy 194.31 90.17) (xy 190.5 90.17))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 21a8b38e-7a40-42a8-bd94-48184b87ae50)
)
(wire (pts (xy 167.64 113.03) (xy 167.64 121.92))
(wire (pts (xy 153.67 113.03) (xy 153.67 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 2265354b-0f57-4cf9-9862-119976f99e2a)
(uuid 25d96139-2915-4665-b459-c752b37a6a23)
)
(bus (pts (xy 148.59 110.49) (xy 151.13 110.49))
(stroke (width 0) (type default) (color 0 0 0 0))
@ -597,18 +589,22 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 36b28bdb-9dd4-4b67-a642-8a0a902b38ed)
)
(wire (pts (xy 170.18 113.03) (xy 170.18 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 3f72caa6-2602-46c2-ba7a-f1f3fb209a2f)
)
(wire (pts (xy 193.04 69.85) (xy 193.04 80.01))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 4166152f-ef98-417d-9218-a216e3de256e)
)
(wire (pts (xy 146.05 113.03) (xy 146.05 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 4ca5f981-83bc-4d96-a468-0a114bab6201)
)
(wire (pts (xy 128.27 80.01) (xy 127 80.01))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 4ce5d7af-0b5c-4346-a60e-8791a2c7bff0)
)
(wire (pts (xy 170.18 113.03) (xy 170.18 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 50618a45-3b0d-4a16-9ca4-0a89b32610f7)
)
(bus (pts (xy 143.51 110.49) (xy 88.9 110.49))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 50e0e88a-c029-4351-9d92-235137b6eafd)
@ -618,10 +614,18 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 5294ffe0-9ce0-42c7-bc07-89825cfefae0)
)
(wire (pts (xy 165.1 113.03) (xy 165.1 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 5bdd78ba-1e65-4185-a1ac-d7e2a5ccb55e)
)
(wire (pts (xy 198.12 69.85) (xy 193.04 69.85))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 5f06a8e7-1de1-4bb9-b014-46be7fc7607d)
)
(wire (pts (xy 148.59 113.03) (xy 148.59 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 5fe613fc-26bd-4fed-8363-9c41a6532dac)
)
(bus (pts (xy 88.9 107.95) (xy 91.44 107.95))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 64e1214c-5366-4f4b-a3fa-0f7fecd7873a)
@ -643,6 +647,10 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 740774ac-f4ba-4f8e-8104-69a4b55c0188)
)
(wire (pts (xy 151.13 113.03) (xy 151.13 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 74d95d0c-a5d8-4e22-a87e-02c010d60b89)
)
(bus (pts (xy 154.94 107.95) (xy 157.48 107.95))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 7cc59aa2-4464-4322-9b3a-8ffdbe995fad)
@ -660,10 +668,6 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 81b23461-62f5-49ba-9808-2d6563bce0a3)
)
(wire (pts (xy 151.13 113.03) (xy 151.13 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 8b8b7523-bba8-459e-8f4d-1ae89a94594d)
)
(wire (pts (xy 190.5 90.17) (xy 190.5 105.41))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid 93daae61-fdff-44db-baa1-7c3fd4aee4a5)
@ -742,7 +746,7 @@
)
(wire (pts (xy 172.72 113.03) (xy 172.72 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid c93aedb7-3b0a-498c-a33b-11b3c36dd8a8)
(uuid c774da4a-f89e-4060-b1b1-c389ececff35)
)
(wire (pts (xy 127 69.85) (xy 127 80.01))
(stroke (width 0) (type default) (color 0 0 0 0))
@ -756,6 +760,10 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid cc5c7f4d-4a69-4f46-90b8-e976be73ec8b)
)
(wire (pts (xy 167.64 113.03) (xy 167.64 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid cd9a2d6e-1537-44db-909c-91937bf77853)
)
(bus (pts (xy 124.46 107.95) (xy 154.94 107.95))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid ce134d61-2607-4554-8f11-742b85b5afa9)
@ -777,14 +785,6 @@
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid dd035e16-c4bd-4db2-a999-9e734786c649)
)
(wire (pts (xy 148.59 113.03) (xy 148.59 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid de4e08ba-85c3-44c2-bcfc-54a3209ea256)
)
(wire (pts (xy 165.1 113.03) (xy 165.1 121.92))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid e39bdf9a-2b3f-47e2-880a-971edf1a4723)
)
(bus (pts (xy 143.51 110.49) (xy 146.05 110.49))
(stroke (width 0) (type default) (color 0 0 0 0))
(uuid eb64a9f6-f387-4d51-8b2d-e6b173b65cf7)
@ -821,14 +821,6 @@
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 071bc78e-74d3-42f3-a549-a2d114656332)
)
(label "F1Cout" (at 148.59 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 141bab9f-f34a-4274-aa8e-2ccaeb07bfb9)
)
(label "F1Cin" (at 146.05 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 1c545ec2-5d3e-4766-933d-55fe6f0ed1c0)
)
(label "F2Cout" (at 160.02 101.6 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 1d33d6a4-9332-4af4-a55c-89e9b695b674)
@ -837,18 +829,30 @@
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 3cdb0765-1886-443d-9dec-394859543ca1)
)
(label "F2Hout" (at 172.72 113.03 270)
(label "F2Cout" (at 165.1 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 68a58047-c7b2-4c65-8031-e1ae8574e7c3)
(uuid 4c2be0c6-91bc-4d42-a9d6-c9e4d9c61d00)
)
(label "F2Hin" (at 172.72 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 52c005d3-f762-4b06-9b3f-14558bdecdf3)
)
(label "F2Cin" (at 157.48 97.79 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 7f857d19-dfe7-4725-b4ae-61e719d5fcdd)
)
(label "F2Cin" (at 167.64 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid 8dfba9fd-4cc4-4c62-afa6-7d4736c83ae8)
)
(label "F2Hout" (at 193.04 101.6 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid a46004a2-53e5-4092-9d64-6e3b59eed4a7)
)
(label "F1Cin" (at 148.59 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid a65e0eb9-497d-43fb-998f-231bfb88f9e5)
)
(label "F2Hin" (at 190.5 97.79 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid b1b5cf6a-6797-4d84-bc7f-0c510362ec4b)
@ -857,29 +861,25 @@
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid b7f58ff3-0413-4c74-81f8-330eb8299164)
)
(label "F2Cout" (at 167.64 113.03 270)
(label "F2Hout" (at 170.18 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid b829aac6-273c-4189-a940-aa5ff41fe347)
(uuid bc1efa31-95a9-468d-bdeb-5f26658abe61)
)
(label "F1Hin" (at 153.67 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid c3ac416d-ba79-4d24-9888-d7ee33e66411)
)
(label "F1Cout" (at 146.05 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid d13b52f8-1f73-4ec7-9acd-5f2453c4dbe4)
)
(label "F1Cout" (at 93.98 101.6 0)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid d4a93f78-e9ec-479a-b4e6-465b7dee8685)
)
(label "F2Cin" (at 165.1 113.03 270)
(label "F1Hout" (at 151.13 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid e5479d8b-a509-4512-92f5-462757899878)
)
(label "F1Hout" (at 153.67 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid f32eda90-2d29-4fba-a7c4-d7f4eef251f5)
)
(label "F2Hin" (at 170.18 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid f485e6c8-7b6f-4267-bc07-bd8a64fc11be)
)
(label "F1Hin" (at 151.13 113.03 270)
(effects (font (size 1.27 1.27)) (justify right bottom))
(uuid f5f4b71e-14d4-42ad-a127-689e346af1c8)
(uuid ef1eefe8-0f99-4868-a85d-1e631e3c2aa2)
)
(hierarchical_label "F2_H" (shape input) (at 212.09 80.01 0)
@ -923,7 +923,7 @@
(property "Value" "SANYOU_SRD_Form_C" (id 1) (at 99.06 74.93 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" (id 2) (at 101.6 96.52 0)
(property "Footprint" "Custom:Relay_SPDT_SANYOU_SRD_Series_Form_C" (id 2) (at 101.6 96.52 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Datasheet" "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" (id 3) (at 102.87 85.09 0)
@ -945,7 +945,7 @@
(property "Value" "SANYOU_SRD_Form_C" (id 1) (at 132.08 74.93 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" (id 2) (at 134.62 96.52 0)
(property "Footprint" "Custom:Relay_SPDT_SANYOU_SRD_Series_Form_C" (id 2) (at 134.62 96.52 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Datasheet" "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" (id 3) (at 135.89 85.09 0)
@ -967,7 +967,7 @@
(property "Value" "SANYOU_SRD_Form_C" (id 1) (at 198.12 74.93 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" (id 2) (at 200.66 96.52 0)
(property "Footprint" "Custom:Relay_SPDT_SANYOU_SRD_Series_Form_C" (id 2) (at 200.66 96.52 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Datasheet" "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" (id 3) (at 201.93 85.09 0)
@ -1032,7 +1032,7 @@
(uuid 80c42389-895f-47a3-8492-5068ac3f18a8)
(property "Reference" "JF1" (id 0) (at 149.86 130.81 90))
(property "Value" "Screw_Terminal_01x04" (id 1) (at 149.86 133.35 90))
(property "Footprint" "TerminalBlock:TerminalBlock_Altech_AK300-4_P5.00mm" (id 2) (at 148.59 127 0)
(property "Footprint" "TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-4-5.08_1x04_P5.08mm_Horizontal" (id 2) (at 148.59 127 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 148.59 127 0)
@ -1064,7 +1064,7 @@
(uuid 8b6730de-eaa7-45d4-b8f1-80c676c95d81)
(property "Reference" "JF2" (id 0) (at 168.91 130.81 90))
(property "Value" "Screw_Terminal_01x04" (id 1) (at 168.91 133.35 90))
(property "Footprint" "TerminalBlock:TerminalBlock_Altech_AK300-4_P5.00mm" (id 2) (at 167.64 127 0)
(property "Footprint" "TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-4-5.08_1x04_P5.08mm_Horizontal" (id 2) (at 167.64 127 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (id 3) (at 167.64 127 0)
@ -1116,7 +1116,7 @@
(property "Value" "SANYOU_SRD_Form_C" (id 1) (at 165.1 74.93 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" (id 2) (at 167.64 96.52 0)
(property "Footprint" "Custom:Relay_SPDT_SANYOU_SRD_Series_Form_C" (id 2) (at 167.64 96.52 0)
(effects (font (size 1.27 1.27)) (justify left) hide)
)
(property "Datasheet" "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" (id 3) (at 168.91 85.09 0)

View File

@ -1,91 +0,0 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# Connector:Screw_Terminal_01x02
#
DEF Connector:Screw_Terminal_01x02 J 0 40 Y N 1 F N
F0 "J" 0 100 50 H V C CNN
F1 "Connector:Screw_Terminal_01x02" 0 -200 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
TerminalBlock*:*
$ENDFPLIST
DRAW
C 0 -100 25 1 1 6 N
C 0 0 25 1 1 6 N
S -50 50 50 -150 1 1 10 f
P 2 1 1 6 -21 -87 13 -120 N
P 2 1 1 6 -21 13 13 -20 N
P 2 1 1 6 -14 -80 20 -113 N
P 2 1 1 6 -14 20 20 -13 N
X Pin_1 1 -200 0 150 R 50 50 1 1 P
X Pin_2 2 -200 -100 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Relay:SANYOU_SRD_Form_C
#
DEF Relay:SANYOU_SRD_Form_C K 0 40 Y Y 1 F N
F0 "K" 450 150 50 H V L CNN
F1 "Relay:SANYOU_SRD_Form_C" 450 50 50 H V L CNN
F2 "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" 450 -50 50 H I L CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Relay*SPDT*SANYOU*SRD*Series*Form*C*
$ENDFPLIST
DRAW
S -400 200 400 -200 0 1 10 f
S -325 75 -75 -75 0 1 10 N
P 2 0 0 0 100 150 100 200 N
P 2 0 0 0 300 150 300 200 N
P 4 0 0 0 300 150 300 100 275 125 300 150 N
P 2 0 1 10 -300 -75 -100 75 N
P 2 0 1 0 -200 -200 -200 -75 N
P 2 0 1 0 -200 200 -200 75 N
P 2 0 1 10 -75 0 -50 0 N
P 2 0 1 10 -25 0 0 0 N
P 2 0 1 10 25 0 50 0 N
P 2 0 1 10 25 0 50 0 N
P 2 0 1 10 75 0 100 0 N
P 2 0 1 10 125 0 150 0 N
P 2 0 1 20 200 -100 125 150 N
P 2 0 1 0 200 -100 200 -200 N
P 3 0 1 0 100 100 125 125 100 150 F
X ~ 1 200 -300 100 U 50 50 1 1 P
X ~ 2 -200 -300 100 U 50 50 1 1 P
X ~ 3 100 300 100 D 50 50 1 1 P
X ~ 4 300 300 100 D 50 50 1 1 P
X ~ 5 -200 300 100 D 50 50 1 1 P
ENDDRAW
ENDDEF
#
# wemos_mini:WeMos_mini
#
DEF wemos_mini:WeMos_mini U 0 40 Y Y 1 F N
F0 "U" 0 500 60 H V C CNN
F1 "wemos_mini:WeMos_mini" 0 -500 60 H V C CNN
F2 "" 550 -700 60 H V C CNN
F3 "" 550 -700 60 H V C CNN
DRAW
S -300 450 300 -550 0 1 0 N
X 5V 1 -500 350 200 R 50 50 1 1 W
X A0 10 500 -250 200 L 50 50 1 1 B
X D0 11 500 -150 200 L 50 50 1 1 B
X D5 12 500 -50 200 L 50 50 1 1 B
X D6 13 500 50 200 L 50 50 1 1 B
X D7 14 500 150 200 L 50 50 1 1 B
X D8 15 500 250 200 L 50 50 1 1 B
X 3.3V 16 500 350 200 L 50 50 1 1 w
X GND 2 -500 250 200 R 50 50 1 1 W
X D4 3 -500 150 200 R 50 50 1 1 B
X D3 4 -500 50 200 R 50 50 1 1 B
X D2 5 -500 -50 200 R 50 50 1 1 B
X D1 6 -500 -150 200 R 50 50 1 1 B
X Rx 7 -500 -250 200 R 50 50 1 1 B
X Tx 8 -500 -350 200 R 50 50 1 1 B
X Rst 9 500 -350 200 L 50 50 1 1 B
ENDDRAW
ENDDEF
#
#End Library

View File

@ -1,3 +0,0 @@
EESchema-DOCLIB Version 2.0
#
#End Doc Library

View File

@ -1,68 +0,0 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# SANYOU_SRD_Form_C-Relay
#
DEF SANYOU_SRD_Form_C-Relay K 0 40 Y Y 1 F N
F0 "K" 450 150 50 H V L CNN
F1 "SANYOU_SRD_Form_C-Relay" 450 50 50 H V L CNN
F2 "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" 450 -50 50 H I L CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Relay*SPDT*SANYOU*SRD*Series*Form*C*
$ENDFPLIST
DRAW
P 2 0 0 0 100 150 100 200 N
P 2 0 0 0 300 150 300 200 N
P 4 0 0 0 300 150 300 100 275 125 300 150 N
S -400 200 400 -200 0 1 10 f
S -325 75 -75 -75 0 1 10 N
P 2 0 1 10 -300 -75 -100 75 N
P 2 0 1 0 -200 -200 -200 -75 N
P 2 0 1 0 -200 200 -200 75 N
P 2 0 1 10 -75 0 -50 0 N
P 2 0 1 10 -25 0 0 0 N
P 2 0 1 10 25 0 50 0 N
P 2 0 1 10 25 0 50 0 N
P 2 0 1 10 75 0 100 0 N
P 2 0 1 10 125 0 150 0 N
P 2 0 1 20 200 -100 125 150 N
P 2 0 1 0 200 -100 200 -200 N
P 3 0 1 0 100 100 125 125 100 150 F
X ~ 1 200 -300 100 U 50 50 1 1 P
X ~ 2 -200 -300 100 U 50 50 1 1 P
X ~ 3 100 300 100 D 50 50 1 1 P
X ~ 4 300 300 100 D 50 50 1 1 P
X ~ 5 -200 300 100 D 50 50 1 1 P
ENDDRAW
ENDDEF
#
# WeMos_mini-wemos_mini
#
DEF WeMos_mini-wemos_mini U 0 40 Y Y 1 F N
F0 "U" 0 500 60 H V C CNN
F1 "WeMos_mini-wemos_mini" 0 -500 60 H V C CNN
F2 "" 550 -700 60 H V C CNN
F3 "" 550 -700 60 H V C CNN
DRAW
S -300 450 300 -550 0 1 0 N
X 5V 1 -500 350 200 R 50 50 1 1 W
X A0 10 500 -250 200 L 50 50 1 1 B
X D0 11 500 -150 200 L 50 50 1 1 B
X D5 12 500 -50 200 L 50 50 1 1 B
X D6 13 500 50 200 L 50 50 1 1 B
X D7 14 500 150 200 L 50 50 1 1 B
X D8 15 500 250 200 L 50 50 1 1 B
X 3.3V 16 500 350 200 L 50 50 1 1 w
X GND 2 -500 250 200 R 50 50 1 1 W
X D4 3 -500 150 200 R 50 50 1 1 B
X D3 4 -500 50 200 R 50 50 1 1 B
X D2 5 -500 -50 200 R 50 50 1 1 B
X D1 6 -500 -150 200 R 50 50 1 1 B
X Rx 7 -500 -250 200 R 50 50 1 1 B
X Tx 8 -500 -350 200 R 50 50 1 1 B
X Rst 9 500 -350 200 L 50 50 1 1 B
ENDDRAW
ENDDEF
#
#End Library

View File

@ -1,165 +0,0 @@
EESchema Schematic File Version 4
LIBS:Glycol_Chiller-cache
EELAYER 26 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 1 1
Title ""
Date ""
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L wemos_mini:WeMos_mini U1
U 1 1 63D7C335
P 5250 2750
F 0 "U1" H 5250 2750 60 0000 C CNN
F 1 "WeMos_mini" H 5250 3387 60 0001 C CNN
F 2 "Wemos D1 Mini:D1_mini_board" H 5250 2250 60 0000 C CNN
F 3 "http://www.wemos.cc/Products/d1_mini.html" H 5250 3281 60 0001 C CNN
1 5250 2750
1 0 0 -1
$EndComp
$Comp
L Relay:SANYOU_SRD_Form_C K3
U 1 1 63D7C745
P 7750 1850
F 0 "K3" H 8180 1896 50 0000 L CNN
F 1 "SANYOU_SRD_Form_C" H 8180 1805 50 0000 L CNN
F 2 "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" H 8200 1800 50 0001 L CNN
F 3 "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" H 7750 1850 50 0001 C CNN
1 7750 1850
1 0 0 -1
$EndComp
$Comp
L Relay:SANYOU_SRD_Form_C K4
U 1 1 63D7C85B
P 7750 2650
F 0 "K4" H 8180 2696 50 0000 L CNN
F 1 "SANYOU_SRD_Form_C" H 8180 2605 50 0000 L CNN
F 2 "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" H 8200 2600 50 0001 L CNN
F 3 "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" H 7750 2650 50 0001 C CNN
1 7750 2650
1 0 0 -1
$EndComp
$Comp
L Relay:SANYOU_SRD_Form_C K5
U 1 1 63D7C8F1
P 7750 3450
F 0 "K5" H 8180 3496 50 0000 L CNN
F 1 "SANYOU_SRD_Form_C" H 8180 3405 50 0000 L CNN
F 2 "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" H 8200 3400 50 0001 L CNN
F 3 "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" H 7750 3450 50 0001 C CNN
1 7750 3450
1 0 0 -1
$EndComp
$Comp
L Relay:SANYOU_SRD_Form_C K6
U 1 1 63D7C91B
P 7750 4250
F 0 "K6" H 8180 4296 50 0000 L CNN
F 1 "SANYOU_SRD_Form_C" H 8180 4205 50 0000 L CNN
F 2 "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" H 8200 4200 50 0001 L CNN
F 3 "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" H 7750 4250 50 0001 C CNN
1 7750 4250
1 0 0 -1
$EndComp
$Comp
L Relay:SANYOU_SRD_Form_C K2
U 1 1 63D7CA49
P 2000 7250
F 0 "K2" V 1433 7250 50 0000 C CNN
F 1 "SANYOU_SRD_Form_C" V 1524 7250 50 0000 C CNN
F 2 "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" H 2450 7200 50 0001 L CNN
F 3 "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" H 2000 7250 50 0001 C CNN
1 2000 7250
0 1 1 0
$EndComp
$Comp
L Relay:SANYOU_SRD_Form_C K1
U 1 1 63D7CA77
P 2000 6300
F 0 "K1" V 1433 6300 50 0000 C CNN
F 1 "SANYOU_SRD_Form_C" V 1524 6300 50 0000 C CNN
F 2 "Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C" H 2450 6250 50 0001 L CNN
F 3 "http://www.sanyourelay.ca/public/products/pdf/SRD.pdf" H 2000 6300 50 0001 C CNN
1 2000 6300
0 1 1 0
$EndComp
Text GLabel 4500 2500 0 50 Input ~ 0
Gnd
Text GLabel 2650 6100 2 50 Input ~ 0
Compressor_Signal
Text GLabel 2650 7050 2 50 Input ~ 0
Compressor_Signal
Wire Wire Line
2300 7050 2650 7050
Wire Wire Line
2300 6100 2650 6100
Text GLabel 1150 6100 0 50 Input ~ 0
Gnd
Text GLabel 1150 7050 0 50 Input ~ 0
Gnd
Wire Wire Line
1150 6100 1700 6100
Wire Wire Line
1150 7050 1700 7050
Text GLabel 1200 6500 0 50 Input ~ 0
120VAC
Text GLabel 1200 7450 0 50 Input ~ 0
120VAC
Wire Wire Line
1200 7450 1700 7450
Wire Wire Line
1200 6500 1700 6500
Text GLabel 4150 6650 3 50 Input ~ 0
Compressor_Power
Text GLabel 4500 2700 0 50 Input ~ 0
Compressor_Signal
Wire Wire Line
4500 2700 4750 2700
Text GLabel 4500 2400 0 50 Input ~ 0
5VDC
Wire Wire Line
4500 2400 4750 2400
Wire Wire Line
4750 2500 4500 2500
Text GLabel 4500 2800 0 50 Input ~ 0
OWC_BUS
Wire Wire Line
4750 2800 4500 2800
$Comp
L Connector:Screw_Terminal_01x02 J1
U 1 1 63D7F975
P 4600 6500
F 0 "J1" H 4680 6492 50 0000 L CNN
F 1 "Screw_Terminal_01x02" H 4680 6401 50 0000 L CNN
F 2 "" H 4600 6500 50 0001 C CNN
F 3 "~" H 4600 6500 50 0001 C CNN
1 4600 6500
1 0 0 -1
$EndComp
Wire Wire Line
3700 7550 3700 6600
Wire Wire Line
2300 7550 3700 7550
Wire Wire Line
2300 6600 3700 6600
Connection ~ 3700 6600
Wire Wire Line
4150 6650 4150 6600
Wire Wire Line
3700 6600 4150 6600
Connection ~ 4150 6600
Wire Wire Line
4150 6600 4400 6600
Text GLabel 4150 6500 0 50 Input ~ 0
120VAC
Wire Wire Line
4150 6500 4400 6500
$EndSCHEMATC

File diff suppressed because it is too large Load Diff

View File

@ -1,814 +0,0 @@
(kicad_pcb (version 20171130) (host pcbnew "(5.0.0)")
(general
(thickness 1.6)
(drawings 0)
(tracks 21)
(zones 0)
(modules 8)
(nets 41)
)
(page A4)
(layers
(0 F.Cu signal)
(31 B.Cu signal)
(32 B.Adhes user)
(33 F.Adhes user)
(34 B.Paste user)
(35 F.Paste user)
(36 B.SilkS user)
(37 F.SilkS user)
(38 B.Mask user)
(39 F.Mask user)
(40 Dwgs.User user)
(41 Cmts.User user)
(42 Eco1.User user)
(43 Eco2.User user)
(44 Edge.Cuts user)
(45 Margin user)
(46 B.CrtYd user)
(47 F.CrtYd user)
(48 B.Fab user)
(49 F.Fab user)
)
(setup
(last_trace_width 1)
(trace_clearance 0.2)
(zone_clearance 0.508)
(zone_45_only no)
(trace_min 0.2)
(segment_width 0.2)
(edge_width 0.15)
(via_size 0.8)
(via_drill 0.4)
(via_min_size 0.4)
(via_min_drill 0.3)
(uvia_size 0.3)
(uvia_drill 0.1)
(uvias_allowed no)
(uvia_min_size 0.2)
(uvia_min_drill 0.1)
(pcb_text_width 0.3)
(pcb_text_size 1.5 1.5)
(mod_edge_width 0.15)
(mod_text_size 1 1)
(mod_text_width 0.15)
(pad_size 1.524 1.524)
(pad_drill 0.762)
(pad_to_mask_clearance 0.2)
(aux_axis_origin 0 0)
(visible_elements 7FFFFFFF)
(pcbplotparams
(layerselection 0x010fc_ffffffff)
(usegerberextensions false)
(usegerberattributes false)
(usegerberadvancedattributes false)
(creategerberjobfile false)
(excludeedgelayer true)
(linewidth 0.100000)
(plotframeref false)
(viasonmask false)
(mode 1)
(useauxorigin false)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15.000000)
(psnegative false)
(psa4output false)
(plotreference true)
(plotvalue true)
(plotinvisibletext false)
(padsonsilk false)
(subtractmaskfromsilk false)
(outputformat 1)
(mirror false)
(drillshape 1)
(scaleselection 1)
(outputdirectory ""))
)
(net 0 "")
(net 1 Gnd)
(net 2 "Net-(K1-Pad3)")
(net 3 Compressor_Power)
(net 4 Compressor_Signal)
(net 5 120VAC)
(net 6 "Net-(K2-Pad3)")
(net 7 "Net-(K3-Pad2)")
(net 8 "Net-(K3-Pad3)")
(net 9 "Net-(K3-Pad4)")
(net 10 "Net-(K3-Pad5)")
(net 11 "Net-(K3-Pad1)")
(net 12 "Net-(K4-Pad1)")
(net 13 "Net-(K4-Pad5)")
(net 14 "Net-(K4-Pad4)")
(net 15 "Net-(K4-Pad3)")
(net 16 "Net-(K4-Pad2)")
(net 17 "Net-(K5-Pad2)")
(net 18 "Net-(K5-Pad3)")
(net 19 "Net-(K5-Pad4)")
(net 20 "Net-(K5-Pad5)")
(net 21 "Net-(K5-Pad1)")
(net 22 "Net-(K6-Pad1)")
(net 23 "Net-(K6-Pad5)")
(net 24 "Net-(K6-Pad4)")
(net 25 "Net-(K6-Pad3)")
(net 26 "Net-(K6-Pad2)")
(net 27 "Net-(U1-Pad9)")
(net 28 "Net-(U1-Pad10)")
(net 29 "Net-(U1-Pad11)")
(net 30 "Net-(U1-Pad12)")
(net 31 "Net-(U1-Pad13)")
(net 32 "Net-(U1-Pad14)")
(net 33 "Net-(U1-Pad15)")
(net 34 "Net-(U1-Pad16)")
(net 35 5VDC)
(net 36 "Net-(U1-Pad3)")
(net 37 OWC_BUS)
(net 38 "Net-(U1-Pad6)")
(net 39 "Net-(U1-Pad7)")
(net 40 "Net-(U1-Pad8)")
(net_class Default "This is the default net class."
(clearance 0.2)
(trace_width 1)
(via_dia 0.8)
(via_drill 0.4)
(uvia_dia 0.3)
(uvia_drill 0.1)
(add_net 5VDC)
(add_net Compressor_Signal)
(add_net Gnd)
(add_net "Net-(K1-Pad3)")
(add_net "Net-(K2-Pad3)")
(add_net "Net-(K3-Pad1)")
(add_net "Net-(K3-Pad2)")
(add_net "Net-(K3-Pad3)")
(add_net "Net-(K3-Pad4)")
(add_net "Net-(K3-Pad5)")
(add_net "Net-(K4-Pad1)")
(add_net "Net-(K4-Pad2)")
(add_net "Net-(K4-Pad3)")
(add_net "Net-(K4-Pad4)")
(add_net "Net-(K4-Pad5)")
(add_net "Net-(K5-Pad1)")
(add_net "Net-(K5-Pad2)")
(add_net "Net-(K5-Pad3)")
(add_net "Net-(K5-Pad4)")
(add_net "Net-(K5-Pad5)")
(add_net "Net-(K6-Pad1)")
(add_net "Net-(K6-Pad2)")
(add_net "Net-(K6-Pad3)")
(add_net "Net-(K6-Pad4)")
(add_net "Net-(K6-Pad5)")
(add_net "Net-(U1-Pad10)")
(add_net "Net-(U1-Pad11)")
(add_net "Net-(U1-Pad12)")
(add_net "Net-(U1-Pad13)")
(add_net "Net-(U1-Pad14)")
(add_net "Net-(U1-Pad15)")
(add_net "Net-(U1-Pad16)")
(add_net "Net-(U1-Pad3)")
(add_net "Net-(U1-Pad6)")
(add_net "Net-(U1-Pad7)")
(add_net "Net-(U1-Pad8)")
(add_net "Net-(U1-Pad9)")
(add_net OWC_BUS)
)
(net_class Power ""
(clearance 1.5)
(trace_width 3.75)
(via_dia 2.5)
(via_drill 1)
(uvia_dia 0.3)
(uvia_drill 0.1)
(add_net 120VAC)
(add_net Compressor_Power)
)
(module TerminalBlock:TerminalBlock_Altech_AK300-2_P5.00mm (layer F.Cu) (tedit 59FF0306) (tstamp 63F14904)
(at 43.18 86.36 180)
(descr "Altech AK300 terminal block, pitch 5.0mm, 45 degree angled, see http://www.mouser.com/ds/2/16/PCBMETRC-24178.pdf")
(tags "Altech AK300 terminal block pitch 5.0mm")
(path /63D7F975)
(fp_text reference J1 (at -1.92 -6.99 180) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Screw_Terminal_01x02 (at 2.78 7.75 180) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user %R (at 2.5 -2 180) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -2.65 -6.3) (end -2.65 6.3) (layer F.SilkS) (width 0.12))
(fp_line (start -2.65 6.3) (end 7.7 6.3) (layer F.SilkS) (width 0.12))
(fp_line (start 7.7 6.3) (end 7.7 5.35) (layer F.SilkS) (width 0.12))
(fp_line (start 7.7 5.35) (end 8.2 5.6) (layer F.SilkS) (width 0.12))
(fp_line (start 8.2 5.6) (end 8.2 3.7) (layer F.SilkS) (width 0.12))
(fp_line (start 8.2 3.7) (end 8.2 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 8.2 3.65) (end 7.7 3.9) (layer F.SilkS) (width 0.12))
(fp_line (start 7.7 3.9) (end 7.7 -1.5) (layer F.SilkS) (width 0.12))
(fp_line (start 7.7 -1.5) (end 8.2 -1.2) (layer F.SilkS) (width 0.12))
(fp_line (start 8.2 -1.2) (end 8.2 -6.3) (layer F.SilkS) (width 0.12))
(fp_line (start 8.2 -6.3) (end -2.65 -6.3) (layer F.SilkS) (width 0.12))
(fp_line (start -1.26 2.54) (end 1.28 2.54) (layer F.Fab) (width 0.1))
(fp_line (start 1.28 2.54) (end 1.28 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start -1.26 -0.25) (end 1.28 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start -1.26 2.54) (end -1.26 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start 3.74 2.54) (end 6.28 2.54) (layer F.Fab) (width 0.1))
(fp_line (start 6.28 2.54) (end 6.28 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start 3.74 -0.25) (end 6.28 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start 3.74 2.54) (end 3.74 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start 7.61 -6.22) (end 7.61 -3.17) (layer F.Fab) (width 0.1))
(fp_line (start 7.61 -6.22) (end -2.58 -6.22) (layer F.Fab) (width 0.1))
(fp_line (start 7.61 -6.22) (end 8.11 -6.22) (layer F.Fab) (width 0.1))
(fp_line (start 8.11 -6.22) (end 8.11 -1.4) (layer F.Fab) (width 0.1))
(fp_line (start 8.11 -1.4) (end 7.61 -1.65) (layer F.Fab) (width 0.1))
(fp_line (start 8.11 5.46) (end 7.61 5.21) (layer F.Fab) (width 0.1))
(fp_line (start 7.61 5.21) (end 7.61 6.22) (layer F.Fab) (width 0.1))
(fp_line (start 8.11 3.81) (end 7.61 4.06) (layer F.Fab) (width 0.1))
(fp_line (start 7.61 4.06) (end 7.61 5.21) (layer F.Fab) (width 0.1))
(fp_line (start 8.11 3.81) (end 8.11 5.46) (layer F.Fab) (width 0.1))
(fp_line (start 2.98 6.22) (end 2.98 4.32) (layer F.Fab) (width 0.1))
(fp_line (start 7.05 -0.25) (end 7.05 4.32) (layer F.Fab) (width 0.1))
(fp_line (start 2.98 6.22) (end 7.05 6.22) (layer F.Fab) (width 0.1))
(fp_line (start 7.05 6.22) (end 7.61 6.22) (layer F.Fab) (width 0.1))
(fp_line (start 2.04 6.22) (end 2.04 4.32) (layer F.Fab) (width 0.1))
(fp_line (start 2.04 6.22) (end 2.98 6.22) (layer F.Fab) (width 0.1))
(fp_line (start -2.02 -0.25) (end -2.02 4.32) (layer F.Fab) (width 0.1))
(fp_line (start -2.58 6.22) (end -2.02 6.22) (layer F.Fab) (width 0.1))
(fp_line (start -2.02 6.22) (end 2.04 6.22) (layer F.Fab) (width 0.1))
(fp_line (start 2.98 4.32) (end 7.05 4.32) (layer F.Fab) (width 0.1))
(fp_line (start 2.98 4.32) (end 2.98 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start 7.05 4.32) (end 7.05 6.22) (layer F.Fab) (width 0.1))
(fp_line (start 2.04 4.32) (end -2.02 4.32) (layer F.Fab) (width 0.1))
(fp_line (start 2.04 4.32) (end 2.04 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start -2.02 4.32) (end -2.02 6.22) (layer F.Fab) (width 0.1))
(fp_line (start 6.67 3.68) (end 6.67 0.51) (layer F.Fab) (width 0.1))
(fp_line (start 6.67 3.68) (end 3.36 3.68) (layer F.Fab) (width 0.1))
(fp_line (start 3.36 3.68) (end 3.36 0.51) (layer F.Fab) (width 0.1))
(fp_line (start 1.66 3.68) (end 1.66 0.51) (layer F.Fab) (width 0.1))
(fp_line (start 1.66 3.68) (end -1.64 3.68) (layer F.Fab) (width 0.1))
(fp_line (start -1.64 3.68) (end -1.64 0.51) (layer F.Fab) (width 0.1))
(fp_line (start -1.64 0.51) (end -1.26 0.51) (layer F.Fab) (width 0.1))
(fp_line (start 1.66 0.51) (end 1.28 0.51) (layer F.Fab) (width 0.1))
(fp_line (start 3.36 0.51) (end 3.74 0.51) (layer F.Fab) (width 0.1))
(fp_line (start 6.67 0.51) (end 6.28 0.51) (layer F.Fab) (width 0.1))
(fp_line (start -2.58 6.22) (end -2.58 -0.64) (layer F.Fab) (width 0.1))
(fp_line (start -2.58 -0.64) (end -2.58 -3.17) (layer F.Fab) (width 0.1))
(fp_line (start 7.61 -1.65) (end 7.61 -0.64) (layer F.Fab) (width 0.1))
(fp_line (start 7.61 -0.64) (end 7.61 4.06) (layer F.Fab) (width 0.1))
(fp_line (start -2.58 -3.17) (end 7.61 -3.17) (layer F.Fab) (width 0.1))
(fp_line (start -2.58 -3.17) (end -2.58 -6.22) (layer F.Fab) (width 0.1))
(fp_line (start 7.61 -3.17) (end 7.61 -1.65) (layer F.Fab) (width 0.1))
(fp_line (start 2.98 -3.43) (end 2.98 -5.97) (layer F.Fab) (width 0.1))
(fp_line (start 2.98 -5.97) (end 7.05 -5.97) (layer F.Fab) (width 0.1))
(fp_line (start 7.05 -5.97) (end 7.05 -3.43) (layer F.Fab) (width 0.1))
(fp_line (start 7.05 -3.43) (end 2.98 -3.43) (layer F.Fab) (width 0.1))
(fp_line (start 2.04 -3.43) (end 2.04 -5.97) (layer F.Fab) (width 0.1))
(fp_line (start 2.04 -3.43) (end -2.02 -3.43) (layer F.Fab) (width 0.1))
(fp_line (start -2.02 -3.43) (end -2.02 -5.97) (layer F.Fab) (width 0.1))
(fp_line (start 2.04 -5.97) (end -2.02 -5.97) (layer F.Fab) (width 0.1))
(fp_line (start 3.39 -4.45) (end 6.44 -5.08) (layer F.Fab) (width 0.1))
(fp_line (start 3.52 -4.32) (end 6.56 -4.95) (layer F.Fab) (width 0.1))
(fp_line (start -1.62 -4.45) (end 1.44 -5.08) (layer F.Fab) (width 0.1))
(fp_line (start -1.49 -4.32) (end 1.56 -4.95) (layer F.Fab) (width 0.1))
(fp_line (start -2.02 -0.25) (end -1.64 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start 2.04 -0.25) (end 1.66 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start 1.66 -0.25) (end -1.64 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start -2.58 -0.64) (end -1.64 -0.64) (layer F.Fab) (width 0.1))
(fp_line (start -1.64 -0.64) (end 1.66 -0.64) (layer F.Fab) (width 0.1))
(fp_line (start 1.66 -0.64) (end 3.36 -0.64) (layer F.Fab) (width 0.1))
(fp_line (start 7.61 -0.64) (end 6.67 -0.64) (layer F.Fab) (width 0.1))
(fp_line (start 6.67 -0.64) (end 3.36 -0.64) (layer F.Fab) (width 0.1))
(fp_line (start 7.05 -0.25) (end 6.67 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start 2.98 -0.25) (end 3.36 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start 3.36 -0.25) (end 6.67 -0.25) (layer F.Fab) (width 0.1))
(fp_line (start -2.83 -6.47) (end 8.36 -6.47) (layer F.CrtYd) (width 0.05))
(fp_line (start -2.83 -6.47) (end -2.83 6.47) (layer F.CrtYd) (width 0.05))
(fp_line (start 8.36 6.47) (end 8.36 -6.47) (layer F.CrtYd) (width 0.05))
(fp_line (start 8.36 6.47) (end -2.83 6.47) (layer F.CrtYd) (width 0.05))
(fp_arc (start 6.03 -4.59) (end 6.54 -5.05) (angle 90.5) (layer F.Fab) (width 0.1))
(fp_arc (start 5.07 -6.07) (end 6.53 -4.12) (angle 75.5) (layer F.Fab) (width 0.1))
(fp_arc (start 4.99 -3.71) (end 3.39 -5) (angle 100) (layer F.Fab) (width 0.1))
(fp_arc (start 3.87 -4.65) (end 3.58 -4.13) (angle 104.2) (layer F.Fab) (width 0.1))
(fp_arc (start 1.03 -4.59) (end 1.53 -5.05) (angle 90.5) (layer F.Fab) (width 0.1))
(fp_arc (start 0.06 -6.07) (end 1.53 -4.12) (angle 75.5) (layer F.Fab) (width 0.1))
(fp_arc (start -0.01 -3.71) (end -1.62 -5) (angle 100) (layer F.Fab) (width 0.1))
(fp_arc (start -1.13 -4.65) (end -1.42 -4.13) (angle 104.2) (layer F.Fab) (width 0.1))
(pad 1 thru_hole rect (at 0 0 180) (size 1.98 3.96) (drill 1.32) (layers *.Cu *.Mask)
(net 5 120VAC))
(pad 2 thru_hole oval (at 5 0 180) (size 1.98 3.96) (drill 1.32) (layers *.Cu *.Mask)
(net 3 Compressor_Power))
(model ${KISYS3DMOD}/TerminalBlock.3dshapes/TerminalBlock_Altech_AK300-2_P5.00mm.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module "Wemos D1 Mini:D1_mini_board" (layer F.Cu) (tedit 5766F65E) (tstamp 63E45819)
(at 102.87 104.14)
(path /63D7C335)
(fp_text reference U1 (at 1.27 18.81) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value WeMos_mini (at 1.27 -19.05) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 11.431517 13.476932) (end 10.814156 13.476932) (layer F.SilkS) (width 0.1))
(fp_line (start 11.431517 11.483738) (end 11.431517 13.476932) (layer F.SilkS) (width 0.1))
(fp_line (start 10.778878 11.483738) (end 11.431517 11.483738) (layer F.SilkS) (width 0.1))
(fp_line (start 10.796517 15.487765) (end 10.7436 9.402349) (layer F.SilkS) (width 0.1))
(fp_line (start 9.226656 15.487765) (end 10.796517 15.487765) (layer F.SilkS) (width 0.1))
(fp_line (start 8.697489 14.993876) (end 9.226656 15.487765) (layer F.SilkS) (width 0.1))
(fp_line (start 7.40985 14.993876) (end 8.697489 14.993876) (layer F.SilkS) (width 0.1))
(fp_line (start 7.40985 9.931515) (end 7.40985 14.993876) (layer F.SilkS) (width 0.1))
(fp_line (start 8.662211 9.931515) (end 7.40985 9.931515) (layer F.SilkS) (width 0.1))
(fp_line (start 9.191378 9.402349) (end 8.662211 9.931515) (layer F.SilkS) (width 0.1))
(fp_line (start 10.7436 9.402349) (end 9.191378 9.402349) (layer F.SilkS) (width 0.1))
(fp_line (start -3.17965 15.865188) (end -3.17965 10.051451) (layer F.SilkS) (width 0.1))
(fp_line (start 3.959931 15.865188) (end -3.17965 15.865188) (layer F.SilkS) (width 0.1))
(fp_line (start 3.959931 10.051451) (end 3.959931 15.865188) (layer F.SilkS) (width 0.1))
(fp_line (start -3.17965 10.051451) (end 3.959931 10.051451) (layer F.SilkS) (width 0.1))
(fp_line (start 10.83248 9.424181) (end 10.802686 16.232524) (layer F.SilkS) (width 0.1))
(fp_line (start 12.776026 8.463285) (end 10.83248 9.424181) (layer F.SilkS) (width 0.1))
(fp_line (start 12.751078 -14.091807) (end 12.776026 8.463285) (layer F.SilkS) (width 0.1))
(fp_line (start 12.635482 -14.984575) (end 12.751078 -14.091807) (layer F.SilkS) (width 0.1))
(fp_line (start 12.407122 -15.739613) (end 12.635482 -14.984575) (layer F.SilkS) (width 0.1))
(fp_line (start 12.079595 -16.37146) (end 12.407122 -15.739613) (layer F.SilkS) (width 0.1))
(fp_line (start 11.666503 -16.894658) (end 12.079595 -16.37146) (layer F.SilkS) (width 0.1))
(fp_line (start 11.181445 -17.323743) (end 11.666503 -16.894658) (layer F.SilkS) (width 0.1))
(fp_line (start 10.638018 -17.673258) (end 11.181445 -17.323743) (layer F.SilkS) (width 0.1))
(fp_line (start 10.049824 -17.957741) (end 10.638018 -17.673258) (layer F.SilkS) (width 0.1))
(fp_line (start 9.43046 -18.191734) (end 10.049824 -17.957741) (layer F.SilkS) (width 0.1))
(fp_line (start -9.607453 -18.162976) (end 9.43046 -18.191734) (layer F.SilkS) (width 0.1))
(fp_line (start -10.20525 -17.97731) (end -9.607453 -18.162976) (layer F.SilkS) (width 0.1))
(fp_line (start -10.74944 -17.730377) (end -10.20525 -17.97731) (layer F.SilkS) (width 0.1))
(fp_line (start -11.240512 -17.422741) (end -10.74944 -17.730377) (layer F.SilkS) (width 0.1))
(fp_line (start -11.678953 -17.054952) (end -11.240512 -17.422741) (layer F.SilkS) (width 0.1))
(fp_line (start -12.065253 -16.627577) (end -11.678953 -17.054952) (layer F.SilkS) (width 0.1))
(fp_line (start -12.399901 -16.141167) (end -12.065253 -16.627577) (layer F.SilkS) (width 0.1))
(fp_line (start -12.683384 -15.596286) (end -12.399901 -16.141167) (layer F.SilkS) (width 0.1))
(fp_line (start -12.916195 -14.993493) (end -12.683384 -15.596286) (layer F.SilkS) (width 0.1))
(fp_line (start -12.930193 16.176658) (end -12.916195 -14.993493) (layer F.SilkS) (width 0.1))
(fp_line (start -3.849397 16.202736) (end -12.930193 16.176658) (layer F.SilkS) (width 0.1))
(fp_line (start -3.851373 15.000483) (end -3.849397 16.202736) (layer F.SilkS) (width 0.1))
(fp_line (start 4.979849 14.993795) (end -3.851373 15.000483) (layer F.SilkS) (width 0.1))
(fp_line (start 5.00618 16.277228) (end 4.979849 14.993795) (layer F.SilkS) (width 0.1))
(fp_line (start 10.817472 16.277228) (end 5.00618 16.277228) (layer F.SilkS) (width 0.1))
(fp_line (start -8.89 -17.78) (end -8.89 5.08) (layer B.SilkS) (width 0.15))
(fp_line (start 8.89 -17.78) (end -8.89 -17.78) (layer B.SilkS) (width 0.15))
(fp_line (start 8.89 5.08) (end 8.89 -17.78) (layer B.SilkS) (width 0.15))
(fp_line (start -8.89 5.08) (end 8.89 5.08) (layer B.SilkS) (width 0.15))
(fp_line (start 6.35 3.81) (end -6.35 3.81) (layer B.SilkS) (width 0.15))
(fp_line (start 6.35 -10.16) (end 6.35 3.81) (layer B.SilkS) (width 0.15))
(fp_line (start -6.35 -10.16) (end 6.35 -10.16) (layer B.SilkS) (width 0.15))
(fp_line (start -6.35 3.81) (end -6.35 -10.16) (layer B.SilkS) (width 0.15))
(fp_text user WeMos (at 0 -15.24) (layer F.SilkS)
(effects (font (size 3 3) (thickness 0.15)))
)
(pad 9 thru_hole circle (at 11.43 -10.16) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 27 "Net-(U1-Pad9)"))
(pad 10 thru_hole circle (at 11.43 -7.62) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 28 "Net-(U1-Pad10)"))
(pad 11 thru_hole circle (at 11.43 -5.08) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 29 "Net-(U1-Pad11)"))
(pad 12 thru_hole circle (at 11.43 -2.54) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 30 "Net-(U1-Pad12)"))
(pad 13 thru_hole circle (at 11.43 0) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 31 "Net-(U1-Pad13)"))
(pad 14 thru_hole circle (at 11.43 2.54) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 32 "Net-(U1-Pad14)"))
(pad 15 thru_hole circle (at 11.43 5.08) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 33 "Net-(U1-Pad15)"))
(pad 16 thru_hole circle (at 11.43 7.62) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 34 "Net-(U1-Pad16)"))
(pad 1 thru_hole circle (at -11.43 7.62) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 35 5VDC))
(pad 2 thru_hole circle (at -11.43 5.08) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 1 Gnd))
(pad 3 thru_hole circle (at -11.43 2.54) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 36 "Net-(U1-Pad3)"))
(pad 4 thru_hole circle (at -11.43 0) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 4 Compressor_Signal))
(pad 5 thru_hole circle (at -11.43 -2.54) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 37 OWC_BUS))
(pad 6 thru_hole circle (at -11.43 -5.08) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 38 "Net-(U1-Pad6)"))
(pad 7 thru_hole circle (at -11.43 -7.62) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 39 "Net-(U1-Pad7)"))
(pad 8 thru_hole circle (at -11.43 -10.16) (size 1.8 1.8) (drill 1.016) (layers *.Cu *.Mask F.SilkS)
(net 40 "Net-(U1-Pad8)"))
)
(module Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C (layer F.Cu) (tedit 58FA3148) (tstamp 63E45189)
(at 201.93 88.5)
(descr "relay Sanyou SRD series Form C http://www.sanyourelay.ca/public/products/pdf/SRD.pdf")
(tags "relay Sanyu SRD form C")
(path /63D7C91B)
(fp_text reference K6 (at 8.1 9.2) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value SANYOU_SRD_Form_C (at 8 -9.6) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 8.05 1.85) (end 4.05 1.85) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 -1.75) (end 8.05 1.85) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 -1.75) (end 8.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 1.85) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 6.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 9.45 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 3.65) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 10.95 0.05) (end 15.55 -2.45) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 10.95 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 3.55 -5.95) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 1.85 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 3.55 6.05) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 14.15 -4.2) (end 14.15 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 14.15 4.2) (end 14.15 1.75) (layer F.SilkS) (width 0.12))
(fp_line (start -1.55 7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.55 -7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.55 -7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_text user %R (at 7.1 0.025) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.3 7.7) (end -1.3 -7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 7.7) (end -1.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 -7.7) (end 18.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start -1.3 -7.7) (end 18.3 -7.7) (layer F.Fab) (width 0.12))
(fp_text user 1 (at 0 -2.3) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 18.4 7.8) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start 18.4 -7.8) (end 18.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end 18.4 -7.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end -1.4 -1.2) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 1.2) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(pad 1 thru_hole circle (at 0 0 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 22 "Net-(K6-Pad1)"))
(pad 5 thru_hole circle (at 1.95 -5.95 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 23 "Net-(K6-Pad5)"))
(pad 4 thru_hole circle (at 14.2 -6 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 24 "Net-(K6-Pad4)"))
(pad 3 thru_hole circle (at 14.15 6.05 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 25 "Net-(K6-Pad3)"))
(pad 2 thru_hole circle (at 1.95 6.05 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 26 "Net-(K6-Pad2)"))
(model ${KISYS3DMOD}/Relay_THT.3dshapes/Relay_SPDT_SANYOU_SRD_Series_Form_C.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C (layer F.Cu) (tedit 58FA3148) (tstamp 63E45160)
(at 179.66 88.5)
(descr "relay Sanyou SRD series Form C http://www.sanyourelay.ca/public/products/pdf/SRD.pdf")
(tags "relay Sanyu SRD form C")
(path /63D7C8F1)
(fp_text reference K5 (at 8.1 9.2) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value SANYOU_SRD_Form_C (at 8 -9.6) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.4 1.2) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end -1.4 -1.2) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end 18.4 -7.8) (layer F.SilkS) (width 0.12))
(fp_line (start 18.4 -7.8) (end 18.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start 18.4 7.8) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(fp_text user 1 (at 0 -2.3) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.3 -7.7) (end 18.3 -7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 -7.7) (end 18.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 7.7) (end -1.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start -1.3 7.7) (end -1.3 -7.7) (layer F.Fab) (width 0.12))
(fp_text user %R (at 7.1 0.025) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 18.55 -7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.55 -7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.15 4.2) (end 14.15 1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 14.15 -4.2) (end 14.15 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 3.55 6.05) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 1.85 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 3.55 -5.95) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 10.95 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 10.95 0.05) (end 15.55 -2.45) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 3.65) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 9.45 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 6.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 1.85) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 -1.75) (end 8.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 -1.75) (end 8.05 1.85) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 1.85) (end 4.05 1.85) (layer F.SilkS) (width 0.12))
(pad 2 thru_hole circle (at 1.95 6.05 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 17 "Net-(K5-Pad2)"))
(pad 3 thru_hole circle (at 14.15 6.05 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 18 "Net-(K5-Pad3)"))
(pad 4 thru_hole circle (at 14.2 -6 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 19 "Net-(K5-Pad4)"))
(pad 5 thru_hole circle (at 1.95 -5.95 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 20 "Net-(K5-Pad5)"))
(pad 1 thru_hole circle (at 0 0 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 21 "Net-(K5-Pad1)"))
(model ${KISYS3DMOD}/Relay_THT.3dshapes/Relay_SPDT_SANYOU_SRD_Series_Form_C.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C (layer F.Cu) (tedit 58FA3148) (tstamp 63E45137)
(at 157.25 88.55)
(descr "relay Sanyou SRD series Form C http://www.sanyourelay.ca/public/products/pdf/SRD.pdf")
(tags "relay Sanyu SRD form C")
(path /63D7C85B)
(fp_text reference K4 (at 8.1 9.2) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value SANYOU_SRD_Form_C (at 8 -9.6) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 8.05 1.85) (end 4.05 1.85) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 -1.75) (end 8.05 1.85) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 -1.75) (end 8.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 1.85) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 6.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 9.45 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 3.65) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 10.95 0.05) (end 15.55 -2.45) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 10.95 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 3.55 -5.95) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 1.85 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 3.55 6.05) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 14.15 -4.2) (end 14.15 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 14.15 4.2) (end 14.15 1.75) (layer F.SilkS) (width 0.12))
(fp_line (start -1.55 7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.55 -7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.55 -7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_text user %R (at 7.1 0.025) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.3 7.7) (end -1.3 -7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 7.7) (end -1.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 -7.7) (end 18.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start -1.3 -7.7) (end 18.3 -7.7) (layer F.Fab) (width 0.12))
(fp_text user 1 (at 0 -2.3) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 18.4 7.8) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start 18.4 -7.8) (end 18.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end 18.4 -7.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end -1.4 -1.2) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 1.2) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(pad 1 thru_hole circle (at 0 0 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 12 "Net-(K4-Pad1)"))
(pad 5 thru_hole circle (at 1.95 -5.95 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 13 "Net-(K4-Pad5)"))
(pad 4 thru_hole circle (at 14.2 -6 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 14 "Net-(K4-Pad4)"))
(pad 3 thru_hole circle (at 14.15 6.05 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 15 "Net-(K4-Pad3)"))
(pad 2 thru_hole circle (at 1.95 6.05 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 16 "Net-(K4-Pad2)"))
(model ${KISYS3DMOD}/Relay_THT.3dshapes/Relay_SPDT_SANYOU_SRD_Series_Form_C.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C (layer F.Cu) (tedit 58FA3148) (tstamp 63E4510E)
(at 134.62 88.55)
(descr "relay Sanyou SRD series Form C http://www.sanyourelay.ca/public/products/pdf/SRD.pdf")
(tags "relay Sanyu SRD form C")
(path /63D7C745)
(fp_text reference K3 (at 8.1 9.2) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value SANYOU_SRD_Form_C (at 8 -9.6) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.4 1.2) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end -1.4 -1.2) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end 18.4 -7.8) (layer F.SilkS) (width 0.12))
(fp_line (start 18.4 -7.8) (end 18.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start 18.4 7.8) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(fp_text user 1 (at 0 -2.3) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.3 -7.7) (end 18.3 -7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 -7.7) (end 18.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 7.7) (end -1.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start -1.3 7.7) (end -1.3 -7.7) (layer F.Fab) (width 0.12))
(fp_text user %R (at 7.1 0.025) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 18.55 -7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.55 -7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.15 4.2) (end 14.15 1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 14.15 -4.2) (end 14.15 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 3.55 6.05) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 1.85 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 3.55 -5.95) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 10.95 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 10.95 0.05) (end 15.55 -2.45) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 3.65) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 9.45 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 6.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 1.85) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 -1.75) (end 8.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 -1.75) (end 8.05 1.85) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 1.85) (end 4.05 1.85) (layer F.SilkS) (width 0.12))
(pad 2 thru_hole circle (at 1.95 6.05 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 7 "Net-(K3-Pad2)"))
(pad 3 thru_hole circle (at 14.15 6.05 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 8 "Net-(K3-Pad3)"))
(pad 4 thru_hole circle (at 14.2 -6 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 9 "Net-(K3-Pad4)"))
(pad 5 thru_hole circle (at 1.95 -5.95 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 10 "Net-(K3-Pad5)"))
(pad 1 thru_hole circle (at 0 0 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 11 "Net-(K3-Pad1)"))
(model ${KISYS3DMOD}/Relay_THT.3dshapes/Relay_SPDT_SANYOU_SRD_Series_Form_C.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C (layer F.Cu) (tedit 58FA3148) (tstamp 63E450E5)
(at 43.48 142.42 90)
(descr "relay Sanyou SRD series Form C http://www.sanyourelay.ca/public/products/pdf/SRD.pdf")
(tags "relay Sanyu SRD form C")
(path /63D7CA49)
(fp_text reference K2 (at 8.1 9.2 90) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value SANYOU_SRD_Form_C (at 8 -9.6 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 8.05 1.85) (end 4.05 1.85) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 -1.75) (end 8.05 1.85) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 -1.75) (end 8.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 1.85) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 6.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 9.45 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 3.65) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 10.95 0.05) (end 15.55 -2.45) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 10.95 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 3.55 -5.95) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 1.85 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 3.55 6.05) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 14.15 -4.2) (end 14.15 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 14.15 4.2) (end 14.15 1.75) (layer F.SilkS) (width 0.12))
(fp_line (start -1.55 7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.55 -7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.55 -7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_text user %R (at 7.1 0.025 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.3 7.7) (end -1.3 -7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 7.7) (end -1.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 -7.7) (end 18.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start -1.3 -7.7) (end 18.3 -7.7) (layer F.Fab) (width 0.12))
(fp_text user 1 (at 0 -2.3 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 18.4 7.8) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start 18.4 -7.8) (end 18.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end 18.4 -7.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end -1.4 -1.2) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 1.2) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(pad 1 thru_hole circle (at 0 0 180) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 5 120VAC))
(pad 5 thru_hole circle (at 1.95 -5.95 180) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 4 Compressor_Signal))
(pad 4 thru_hole circle (at 14.2 -6 180) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 3 Compressor_Power))
(pad 3 thru_hole circle (at 14.15 6.05 180) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 6 "Net-(K2-Pad3)"))
(pad 2 thru_hole circle (at 1.95 6.05 180) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 1 Gnd))
(model ${KISYS3DMOD}/Relay_THT.3dshapes/Relay_SPDT_SANYOU_SRD_Series_Form_C.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C (layer F.Cu) (tedit 58FA3148) (tstamp 63E450BC)
(at 43.485001 118.11 90)
(descr "relay Sanyou SRD series Form C http://www.sanyourelay.ca/public/products/pdf/SRD.pdf")
(tags "relay Sanyu SRD form C")
(path /63D7CA77)
(fp_text reference K1 (at 8.1 9.2 90) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value SANYOU_SRD_Form_C (at 8 -9.6 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.4 1.2) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end -1.4 -1.2) (layer F.SilkS) (width 0.12))
(fp_line (start -1.4 -7.8) (end 18.4 -7.8) (layer F.SilkS) (width 0.12))
(fp_line (start 18.4 -7.8) (end 18.4 7.8) (layer F.SilkS) (width 0.12))
(fp_line (start 18.4 7.8) (end -1.4 7.8) (layer F.SilkS) (width 0.12))
(fp_text user 1 (at 0 -2.3 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.3 -7.7) (end 18.3 -7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 -7.7) (end 18.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start 18.3 7.7) (end -1.3 7.7) (layer F.Fab) (width 0.12))
(fp_line (start -1.3 7.7) (end -1.3 -7.7) (layer F.Fab) (width 0.12))
(fp_text user %R (at 7.1 0.025 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 18.55 -7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 7.95) (end -1.55 -7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 18.55 -7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.55 7.95) (end 18.55 7.95) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.15 4.2) (end 14.15 1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 14.15 -4.2) (end 14.15 -1.7) (layer F.SilkS) (width 0.12))
(fp_line (start 3.55 6.05) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 1.85 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 3.55 -5.95) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 10.95 0.05) (layer F.SilkS) (width 0.12))
(fp_line (start 10.95 0.05) (end 15.55 -2.45) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 3.65) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 9.45 0.05) (end 9.45 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 2.65 0.05) (end 2.65 3.65) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 -5.95) (end 6.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 6.05 1.85) (end 6.05 6.05) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 1.85) (end 4.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 4.05 -1.75) (end 8.05 -1.75) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 -1.75) (end 8.05 1.85) (layer F.SilkS) (width 0.12))
(fp_line (start 8.05 1.85) (end 4.05 1.85) (layer F.SilkS) (width 0.12))
(pad 2 thru_hole circle (at 1.95 6.05 180) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 1 Gnd))
(pad 3 thru_hole circle (at 14.15 6.05 180) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 2 "Net-(K1-Pad3)"))
(pad 4 thru_hole circle (at 14.2 -6 180) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 3 Compressor_Power))
(pad 5 thru_hole circle (at 1.95 -5.95 180) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask)
(net 4 Compressor_Signal))
(pad 1 thru_hole circle (at 0 0 180) (size 3 3) (drill 1.3) (layers *.Cu *.Mask)
(net 5 120VAC))
(model ${KISYS3DMOD}/Relay_THT.3dshapes/Relay_SPDT_SANYOU_SRD_Series_Form_C.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(segment (start 56.475001 109.22) (end 49.535001 116.16) (width 1) (layer F.Cu) (net 1))
(segment (start 91.44 109.22) (end 56.475001 109.22) (width 1) (layer F.Cu) (net 1))
(segment (start 38.18 103.215001) (end 37.485001 103.91) (width 3.75) (layer F.Cu) (net 3))
(segment (start 38.18 86.36) (end 38.18 103.215001) (width 3.75) (layer F.Cu) (net 3))
(segment (start 35.980001 126.720001) (end 37.48 128.22) (width 3.75) (layer F.Cu) (net 3))
(segment (start 32.91 123.65) (end 35.980001 126.720001) (width 3.75) (layer F.Cu) (net 3))
(segment (start 32.91 108.485001) (end 32.91 123.65) (width 3.75) (layer F.Cu) (net 3))
(segment (start 37.485001 103.91) (end 32.91 108.485001) (width 3.75) (layer F.Cu) (net 3))
(segment (start 36.280001 139.220001) (end 37.53 140.47) (width 1) (layer B.Cu) (net 4))
(segment (start 33.979999 136.919999) (end 36.280001 139.220001) (width 1) (layer B.Cu) (net 4))
(segment (start 37.535001 117.927766) (end 33.979999 121.482768) (width 1) (layer B.Cu) (net 4))
(segment (start 33.979999 121.482768) (end 33.979999 136.919999) (width 1) (layer B.Cu) (net 4))
(segment (start 37.535001 116.16) (end 37.535001 117.927766) (width 1) (layer B.Cu) (net 4))
(segment (start 37.535001 116.16) (end 44.475001 109.22) (width 1) (layer B.Cu) (net 4))
(segment (start 44.475001 109.22) (end 81.28 109.22) (width 1) (layer B.Cu) (net 4))
(segment (start 86.36 104.14) (end 91.44 104.14) (width 1) (layer B.Cu) (net 4))
(segment (start 81.28 109.22) (end 86.36 104.14) (width 1) (layer B.Cu) (net 4))
(segment (start 43.18 117.804999) (end 43.485001 118.11) (width 3.75) (layer F.Cu) (net 5))
(segment (start 43.18 86.36) (end 43.18 117.804999) (width 3.75) (layer F.Cu) (net 5))
(segment (start 43.485001 142.414999) (end 43.48 142.42) (width 3.75) (layer F.Cu) (net 5))
(segment (start 43.485001 118.11) (end 43.485001 142.414999) (width 3.75) (layer F.Cu) (net 5))
)

View File

@ -1,8 +1,8 @@
{
"board": {
"active_layer": 37,
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"auto_track_width": false,
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
@ -10,7 +10,7 @@
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.33000001311302185
"zones": 0.5299999713897705
},
"ratsnest_display_mode": 0,
"selection_filter": {

View File

@ -379,6 +379,14 @@
"microvia_drill": 0.1,
"name": "Power",
"nets": [
"/Fermenter Control Circuit/F1Cin",
"/Fermenter Control Circuit/F1Cout",
"/Fermenter Control Circuit/F1Hin",
"/Fermenter Control Circuit/F1Hout",
"/Fermenter Control Circuit/F2Cin",
"/Fermenter Control Circuit/F2Cout",
"/Fermenter Control Circuit/F2Hin",
"/Fermenter Control Circuit/F2Hout",
"/LINE",
"/NUETRAL"
],

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,4 @@
(fp_lib_table
(lib (name "Power")(type "KiCad")(uri "${KIPRJMOD}/custom library/Power.pretty")(options "")(descr ""))
(lib (name "Power")(type "KiCad")(uri "${KIPRJMOD}/../library/Power.pretty")(options "")(descr ""))
(lib (name "Custom")(type "KiCad")(uri "${KIPRJMOD}/../library/Custom.pretty")(options "")(descr ""))
)

View File

@ -1,3 +1,2 @@
(sym_lib_table
(lib (name "Glycol_Chiller-rescue")(type "Legacy")(uri "${KIPRJMOD}/Glycol_Chiller-rescue.lib")(options "")(descr ""))
)

View File

@ -0,0 +1,65 @@
(footprint "Relay_SPDT_SANYOU_SRD_Series_Form_C" (version 20211014) (generator pcbnew)
(layer "F.Cu")
(tedit 58FA3148)
(descr "relay Sanyou SRD series Form C http://www.sanyourelay.ca/public/products/pdf/SRD.pdf")
(tags "relay Sanyu SRD form C")
(property "Sheetfile" "FermControl.kicad_sch")
(property "Sheetname" "Fermenter Control Circuit")
(attr through_hole)
(fp_text reference "F1HEAT1" (at 8.1 9.2) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 6f2dd76f-42dd-40ae-8acc-6344735d899f)
)
(fp_text value "SANYOU_SRD_Form_C" (at 8 -9.6) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp f1c582f3-e001-414b-bef1-a04e68cd9d09)
)
(fp_text user "1" (at 0 -2.3) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 8d148d65-b1ff-4ba6-b9a9-6f3b387012a8)
)
(fp_text user "${REFERENCE}" (at 7.1 0.025) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp fe2f9bf9-94c6-44b2-b305-fa4afe43f150)
)
(fp_line (start 4.05 1.85) (end 4.05 -1.75) (layer "F.SilkS") (width 0.12) (tstamp 0a1d6e4e-6d03-460f-b634-50335b6a223d))
(fp_line (start 2.65 0.05) (end 2.65 3.65) (layer "F.SilkS") (width 0.12) (tstamp 0a9c7253-be01-4aae-9ed1-87e76c6a417a))
(fp_line (start 4.05 -1.75) (end 8.05 -1.75) (layer "F.SilkS") (width 0.12) (tstamp 0b8eb720-2010-4a1a-88ae-970fc2480469))
(fp_line (start 14.15 4.2) (end 14.15 1.75) (layer "F.SilkS") (width 0.12) (tstamp 0c9c7f8b-9d6a-410f-9e85-51cc8013c365))
(fp_line (start 6.05 -5.95) (end 6.05 -1.75) (layer "F.SilkS") (width 0.12) (tstamp 1659be3e-b4da-4c48-bb14-fec1129a00ac))
(fp_line (start 18.4 7.8) (end -1.4 7.8) (layer "F.SilkS") (width 0.12) (tstamp 2239404d-1e7e-4989-9967-a48d1b8445e1))
(fp_line (start 9.45 0.05) (end 9.45 3.65) (layer "F.SilkS") (width 0.12) (tstamp 2a83f9dc-d729-4955-a75d-1cd37baa9f96))
(fp_line (start 10.95 0.05) (end 15.55 -2.45) (layer "F.SilkS") (width 0.12) (tstamp 36607625-2245-4992-ae94-9f36032aea89))
(fp_line (start 8.05 1.85) (end 4.05 -1.75) (layer "F.SilkS") (width 0.12) (tstamp 4cca5c11-5925-468f-b6ff-c96059a4fb0d))
(fp_line (start 8.05 1.85) (end 4.05 1.85) (layer "F.SilkS") (width 0.12) (tstamp 53740a1f-544b-4c23-a8db-aa0921970e40))
(fp_line (start -1.4 -7.8) (end 18.4 -7.8) (layer "F.SilkS") (width 0.12) (tstamp 6022796c-61be-48e3-904b-b17ef5389987))
(fp_line (start 9.45 0.05) (end 10.95 0.05) (layer "F.SilkS") (width 0.12) (tstamp 64a0d133-58bd-4406-a12b-a7da2da69c26))
(fp_line (start 6.05 -5.95) (end 3.55 -5.95) (layer "F.SilkS") (width 0.12) (tstamp 653b1b60-377f-4e72-82be-cfed922cb915))
(fp_line (start 2.65 0.05) (end 1.85 0.05) (layer "F.SilkS") (width 0.12) (tstamp 656d0238-aa6b-4903-96eb-1cb014100c31))
(fp_line (start 9.45 3.65) (end 2.65 3.65) (layer "F.SilkS") (width 0.12) (tstamp 78e5767b-fc89-4d86-875c-de10a456839a))
(fp_line (start 14.15 -4.2) (end 14.15 -1.7) (layer "F.SilkS") (width 0.12) (tstamp a5466557-f24c-4c41-b521-f1fcd5a30b04))
(fp_line (start 8.05 -1.75) (end 8.05 1.85) (layer "F.SilkS") (width 0.12) (tstamp a90ae1ef-56b2-4395-a3ae-03f69b0ed2ae))
(fp_line (start 18.4 -7.8) (end 18.4 7.8) (layer "F.SilkS") (width 0.12) (tstamp b50f5160-1e5c-49be-a7b3-24ea9918ec3b))
(fp_line (start 3.55 6.05) (end 6.05 6.05) (layer "F.SilkS") (width 0.12) (tstamp c6546ebd-dacf-4ad4-99a9-de7f95425c33))
(fp_line (start -1.4 -7.8) (end -1.4 -1.2) (layer "F.SilkS") (width 0.12) (tstamp cacce0ca-9474-415f-812a-ecd3696948e9))
(fp_line (start 6.05 1.85) (end 6.05 6.05) (layer "F.SilkS") (width 0.12) (tstamp f0008531-397d-4200-86c3-86a41d7db734))
(fp_line (start -1.4 1.2) (end -1.4 7.8) (layer "F.SilkS") (width 0.12) (tstamp fd49879f-ff32-4f67-bb23-1b116ab7085c))
(fp_line (start -1.55 7.95) (end -1.55 -7.95) (layer "F.CrtYd") (width 0.05) (tstamp 354e8889-d13d-46f3-9db3-db4d70353240))
(fp_line (start 18.55 -7.95) (end -1.55 -7.95) (layer "F.CrtYd") (width 0.05) (tstamp 5d20be74-3e75-44f5-96ed-d66647f27109))
(fp_line (start -1.55 7.95) (end 18.55 7.95) (layer "F.CrtYd") (width 0.05) (tstamp 678d149d-926f-4ace-9928-8e10692f767c))
(fp_line (start 18.55 -7.95) (end 18.55 7.95) (layer "F.CrtYd") (width 0.05) (tstamp 6df893fe-0dec-4d71-b6ac-15b5ac945c2a))
(fp_line (start 18.3 -7.7) (end 18.3 7.7) (layer "F.Fab") (width 0.12) (tstamp 19aa84c6-e72a-4106-8a49-6e3ff5104763))
(fp_line (start -1.3 -7.7) (end 18.3 -7.7) (layer "F.Fab") (width 0.12) (tstamp aedb3d78-6a92-449e-a122-61d9475c3ce7))
(fp_line (start -1.3 7.7) (end -1.3 -7.7) (layer "F.Fab") (width 0.12) (tstamp c1229249-3b12-4f1f-b673-33130409f166))
(fp_line (start 18.3 7.7) (end -1.3 7.7) (layer "F.Fab") (width 0.12) (tstamp f75eb938-5264-4839-b1fd-35dcfb7731a3))
(pad "1" thru_hole circle (at 0 0 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask) (tstamp 32dfb891-874b-4487-88d3-bcaf1ee2ca2a))
(pad "2" thru_hole circle (at 1.95 6.05 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask) (tstamp 5baa518a-a594-442f-adcc-70678aa8891d))
(pad "3" thru_hole circle (at 14.2 -6 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask) (tstamp 9d9ec5c9-1d66-4479-ac23-d34bf30c3b6e))
(pad "4" thru_hole circle (at 14.15 6.05 90) (size 3 3) (drill 1.3) (layers *.Cu *.Mask) (tstamp 0e86c39f-800f-4ad6-bace-b06cbe8aafa9))
(pad "5" thru_hole circle (at 1.95 -5.95 90) (size 2.5 2.5) (drill 1) (layers *.Cu *.Mask) (tstamp 9565a00e-cb2c-49b0-af29-49297308466e))
(model "${KICAD6_3DMODEL_DIR}/Relay_THT.3dshapes/Relay_SPDT_SANYOU_SRD_Series_Form_C.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,124 @@
(footprint "WEMOS_D1_mini_light" (version 20211014) (generator pcbnew)
(layer "F.Cu")
(tedit 61F58A7F)
(descr "16-pin module, column spacing 22.86 mm (900 mils), https://wiki.wemos.cc/products:d1:d1_mini, https://c1.staticflickr.com/1/734/31400410271_f278b087db_z.jpg")
(tags "ESP8266 WiFi microcontroller")
(property "Sheetfile" "Glycol_Chiller.kicad_sch")
(property "Sheetname" "")
(attr through_hole)
(fp_text reference "U1" (at 24.514 25.39 180) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 62a0745a-1536-49d0-8b98-badee328fb64)
)
(fp_text value "WeMos_D1_mini" (at 10.2 -0.004 180) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 634a89cd-e27c-461b-8656-bc87ead30142)
)
(fp_text user "GND" (at 18.542 16.51 unlocked) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp b7cba40d-a060-41b0-a964-e44d0e8deb87)
)
(fp_text user "5V" (at 19.05 18.796 unlocked) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp c3837039-2402-45ae-b7a3-31b191d7169b)
)
(fp_text user "3.3V" (at -4.56 18.69 unlocked) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp df87a1cf-0505-4fb3-b467-e79e662efcfa)
)
(fp_text user "KEEP OUT" (at 10.43 -5.85 180) (layer "Cmts.User")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 0256418c-d713-46ee-a860-ad68670ce066)
)
(fp_text user "No copper" (at 10.43 -3.31 180) (layer "Cmts.User")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 963e776b-9757-4670-bff8-a2f8bbfc796a)
)
(fp_text user "${REFERENCE}" (at 10.43 9.276 180) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 277328bc-f34a-4fac-9c4e-941aa3a52b71)
)
(fp_line (start -2.56 19.812) (end -2.56 -5.71) (layer "F.SilkS") (width 0.12) (tstamp 346629cb-855e-4a1b-9ea6-f97ab7bca03d))
(fp_line (start 23.344 26.62) (end 23.3 -5.71) (layer "F.SilkS") (width 0.12) (tstamp 89083a89-6d68-48b3-9b11-1368b9e75115))
(fp_line (start 23.3 -0.924) (end 20.76 -0.924) (layer "F.SilkS") (width 0.12) (tstamp 9622eb83-c043-462f-b886-2199e9845c82))
(fp_line (start 0.13 19.812) (end 0.13 26.694) (layer "F.SilkS") (width 0.12) (tstamp a1e76f5e-2cb8-4d30-9af7-43ed5b1f368e))
(fp_line (start 23.344 26.62) (end 0.024 26.62) (layer "F.SilkS") (width 0.12) (tstamp aa20c41f-23c3-4ffd-a658-d516c4229785))
(fp_line (start -2.56 19.812) (end 0.13 19.812) (layer "F.SilkS") (width 0.12) (tstamp ab98f5f9-1476-4d29-98d6-a816f795c8a8))
(fp_line (start -0.44 -7.84) (end 21.17 -7.84) (layer "F.SilkS") (width 0.12) (tstamp f784f7f9-f10b-499f-ad33-cbd130eb688d))
(fp_arc (start 21.17 -7.84) (mid 22.676137 -7.216137) (end 23.3 -5.71) (layer "F.SilkS") (width 0.12) (tstamp 2ff69057-2c5c-4a94-8d3d-d81c89198a40))
(fp_arc (start -2.56 -5.71) (mid -1.936137 -7.216137) (end -0.43 -7.84) (layer "F.SilkS") (width 0.12) (tstamp 64f1e0a2-78c6-4527-907c-136e5aa700e8))
(fp_line (start 11.15 -0.9) (end 4.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 04b6a788-7d2f-4909-9d18-feafe47c6d08))
(fp_line (start 15.15 -0.9) (end 8.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 11a61f39-27ac-4c5d-83d1-8aae2129c787))
(fp_line (start 7.15 -0.9) (end 0.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 1337cdc3-e7f1-48c5-a30b-e16ede05ac64))
(fp_line (start 9.15 -0.9) (end 2.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 146ea996-3bdb-4552-99e9-c86bd25ad17c))
(fp_line (start 23.15 -7.7) (end 23.15 -0.9) (layer "Dwgs.User") (width 0.1) (tstamp 2b37e30a-ba93-406d-9f4f-735bdd577d33))
(fp_line (start 17.15 -0.9) (end 10.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 392be919-fab9-495b-bbdb-3c28a9a5e063))
(fp_line (start 3.15 -0.9) (end -2.45 -6.5) (layer "Dwgs.User") (width 0.1) (tstamp 3930464d-3d85-4f74-a10a-16da789e049c))
(fp_line (start 23.15 -6.9) (end 22.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 3ad0fb22-bd08-445d-be4b-1101a71a9e81))
(fp_line (start 19.15 -0.9) (end 12.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 499f62e7-9cae-4e42-8c3d-ebdc68324249))
(fp_line (start -2.45 17.3) (end -2.45 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 50ccb3b0-10e8-474e-87ab-ba9bdc7f90c5))
(fp_line (start 23.15 -2.9) (end 18.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 66bd6369-6271-4c55-96bb-0b35a0fc0bef))
(fp_line (start 21.15 -0.9) (end 14.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp 8a9d30d1-b7bd-46a0-be74-eb7e733d95a5))
(fp_line (start -0.85 -0.9) (end -2.45 -2.5) (layer "Dwgs.User") (width 0.1) (tstamp aa202164-2892-4e79-9d4f-153472cc96d8))
(fp_line (start -2.45 -7.7) (end 23.15 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp b9003d1d-3a75-4911-ba85-19a2301a4586))
(fp_line (start 5.15 -0.9) (end -1.65 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp b929ac7a-6cba-4970-9d35-b0e95e69ef19))
(fp_line (start 23.1 -4.95) (end 20.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp ba7154e0-01bb-4481-92b1-d9786fe7016b))
(fp_line (start -2.45 -0.824) (end 23.15 -0.824) (layer "Dwgs.User") (width 0.1) (tstamp df7db65d-aba1-47ee-9cf8-7bcba2f1c6b9))
(fp_line (start 1.15 -0.9) (end -2.45 -4.5) (layer "Dwgs.User") (width 0.1) (tstamp f090d57e-0ea1-47a1-93e9-f6be22a2338e))
(fp_line (start 23.15 -0.9) (end 16.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp f136af20-4833-4d66-86ff-d7d4e20cb775))
(fp_line (start 13.15 -0.9) (end 6.35 -7.7) (layer "Dwgs.User") (width 0.1) (tstamp f49c7ff2-4807-4200-9a00-615e89c8caf2))
(fp_line (start 23.42 -7.96) (end -2.68 -7.96) (layer "F.CrtYd") (width 0.05) (tstamp 612ec3ea-45eb-419c-b634-1865c334d410))
(fp_line (start -2.68 26.74) (end 23.42 26.74) (layer "F.CrtYd") (width 0.05) (tstamp 97afc9b4-c04b-46fd-b48e-d19aa14778bb))
(fp_line (start 23.42 26.74) (end 23.42 -7.96) (layer "F.CrtYd") (width 0.05) (tstamp ca074a15-69bf-46ce-aee9-d529d96b4716))
(fp_line (start -2.68 -7.96) (end -2.68 26.74) (layer "F.CrtYd") (width 0.05) (tstamp eab0595d-91fb-45d2-b38a-da7fc45f04e2))
(fp_line (start 23.17 -0.794) (end 20.63 -0.794) (layer "F.Fab") (width 0.1) (tstamp 5389eecf-89f7-4761-98a9-d3388d6a3098))
(fp_line (start -2.37 1.516) (end -1.37 0.516) (layer "F.Fab") (width 0.1) (tstamp 94d153db-b99d-4b28-91a6-4cb45b1b2fc1))
(fp_line (start 23.17 -5.71) (end 23.214 26.49) (layer "F.Fab") (width 0.1) (tstamp a01bdc22-de05-48bf-813f-e294aab4ea2b))
(fp_line (start -1.37 0.516) (end -2.37 -0.484) (layer "F.Fab") (width 0.1) (tstamp a3d08f8b-0bf0-4bca-b460-199c692d0fd9))
(fp_line (start 0 19.664) (end 0 26.564) (layer "F.Fab") (width 0.1) (tstamp af8a3cdb-c809-4c1f-b661-7dac2d6b7915))
(fp_line (start -0.43 -7.71) (end 21.17 -7.71) (layer "F.Fab") (width 0.1) (tstamp f53643bc-8020-4f96-89fc-42fcccddfd3a))
(fp_line (start 23.214 26.49) (end 0.154 26.49) (layer "F.Fab") (width 0.1) (tstamp f8cf9ecc-705d-4ede-9586-554ef25be245))
(fp_arc (start 21.17 -7.71) (mid 22.584214 -7.124214) (end 23.17 -5.71) (layer "F.Fab") (width 0.1) (tstamp bb0bc86e-9dc9-482b-9bb0-fca03be7bb95))
(fp_arc (start -2.43 -5.69) (mid -1.858356 -7.110071) (end -0.45 -7.71) (layer "F.Fab") (width 0.1) (tstamp c5afadb1-783b-4460-97f3-fe394af730be))
(pad "1" thru_hole rect (at -1 1.016) (size 2 2) (drill 1) (layers *.Cu *.Mask) (tstamp b9dab4e0-29f3-439c-8a82-36c305085000))
(pad "2" thru_hole oval (at -1 3.556) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp c17a68a6-4778-45e6-a915-83b003563669))
(pad "3" thru_hole oval (at -1 6.096) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp 60c7b4c0-d360-4756-9bca-caf5b35ab7be))
(pad "4" thru_hole oval (at -1 8.636) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp 064e2f14-4e7f-4153-bc86-8ce8ec26f0e2))
(pad "5" thru_hole oval (at -1 11.176) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp b13dba99-10a9-4128-ad73-1b77a21d5a0d))
(pad "6" thru_hole oval (at -1 13.716) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp e947b624-1abb-445c-b034-2286ee7776ed))
(pad "7" thru_hole oval (at -1 16.256) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp f7f6ece1-aad9-46e7-847e-93ea12c29b5a))
(pad "8" thru_hole oval (at -1 18.796) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp 4b1a4cd6-2ff2-453d-a23b-9f887cc2b04f))
(pad "9" thru_hole oval (at 21.86 18.796) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp edc614b7-e61e-4a47-b1a0-74fdbacea2a3))
(pad "10" thru_hole oval (at 21.86 16.256) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp 32d20c6a-77cd-42c6-bd2e-e0407bbe4eef))
(pad "11" thru_hole oval (at 21.86 13.716) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp 73eff4e4-fcfd-4c48-8f8a-ef52fb4e16d3))
(pad "12" thru_hole oval (at 21.86 11.176) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp 4b4a0670-57b8-4c15-9903-a6397328b37a))
(pad "13" thru_hole oval (at 21.86 8.636) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp 82992643-f67f-4327-973d-f2d968bc1279))
(pad "14" thru_hole oval (at 21.86 6.096) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp c2289fa4-6fcb-412e-9242-d004387e6772))
(pad "15" thru_hole oval (at 21.86 3.556) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp 3e36d62c-acee-4cac-90c0-55d5d633c441))
(pad "16" thru_hole oval (at 21.86 1.016) (size 2 1.6) (drill 1) (layers *.Cu *.Mask) (tstamp 605b5d58-00ea-42ee-aaed-5f58b13b74f4))
(model "${KICAD6_3DMODEL_DIR}/Module.3dshapes/WEMOS_D1_mini_light.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 9.5))
(scale (xyz 1 1 1))
(rotate (xyz 0 -180 0))
)
(model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
(offset (xyz 22.86 0 9.5))
(scale (xyz 1 1 1))
(rotate (xyz 0 -180 0))
)
(model "${KICAD6_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x08_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
(model "${KICAD6_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x08_P2.54mm_Vertical.wrl"
(offset (xyz 22.86 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -28,8 +28,8 @@
(fp_line (start 19.202 0) (end 19.202 -3.047) (layer "F.SilkS") (width 0.12) (tstamp e5071404-3930-4559-bc06-4d131dde631c))
(fp_line (start 0.635 -3.047) (end 0.635 -18.155) (layer "F.SilkS") (width 0.12) (tstamp e608f201-92bb-49a2-a16f-f8b87b00c3ca))
(fp_line (start 5.9 -3.047) (end 5.9 0) (layer "F.SilkS") (width 0.12) (tstamp fbe6ae91-7106-4046-bd23-b4a8eb9c3051))
(pad "1" thru_hole circle (at 22.5 -1.6) (size 2 2) (drill 1) (layers *.Cu *.Mask) (tstamp fa50a924-4a0b-4094-bfe6-a751f6b55f33))
(pad "2" thru_hole circle (at 17.5 -1.6) (size 2 2) (drill 1) (layers *.Cu *.Mask) (tstamp aafdeac8-f89d-4d16-bfdf-a35ccffffdee))
(pad "3" thru_hole circle (at 4.9 -1.6) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp f27001b3-3c53-4019-836c-0b530d091ae3))
(pad "4" thru_hole circle (at 2.4 -1.6) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask) (tstamp 343c39d3-5cb0-4af3-8988-ff7c7db131de))
(pad "1" thru_hole rect (at 22.5 -1.6) (size 3 3) (drill 1.3) (layers *.Cu *.Mask) (tstamp fa50a924-4a0b-4094-bfe6-a751f6b55f33))
(pad "2" thru_hole rect (at 17.5 -1.6) (size 3 3) (drill 1.3) (layers *.Cu *.Mask) (tstamp aafdeac8-f89d-4d16-bfdf-a35ccffffdee))
(pad "3" thru_hole circle (at 4.9 -1.6) (size 1.75 1.75) (drill 0.762) (layers *.Cu *.Mask) (tstamp f27001b3-3c53-4019-836c-0b530d091ae3))
(pad "4" thru_hole circle (at 2.4 -1.6) (size 1.75 1.75) (drill 0.762) (layers *.Cu *.Mask) (tstamp 343c39d3-5cb0-4af3-8988-ff7c7db131de))
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

198
util/zippey.py Normal file
View File

@ -0,0 +1,198 @@
#!/usr/bin/env python
# Copyright (c) 2014, Sippey Fun Lab
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * Neither the name of the Sippey Fun Lab nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# Zippey: A Git filter for friendly handling of ZIP-based files
#
# There are many types of ZIP-based files, such as Microsoft Office .docx,
# .xlsx, .pptx files, OpenOffice .odt files and jar files, that contains
# plaintext content but not really tractable by git due to compression smears
# parts that have been modified and parts that remain the same across commit.
# This prevent Git from versioning these files and treat them as a new binary
# blob every time the file is saved.
#
# Zippey is a Git filter that un-zip zip-based file into a simple text format
# during git add/commit ("clean" process) and recover the original zip-based
# file after git checkout ("smudge" process). Since diff is taken on the
# "cleaned" file after file is added, it is likely real changes to file can be
# reflected by original git diff command.
#
# The text format is defined as a series of records. Each records represent a
# file in the original zip-based file, which is composed of two parts,
# a header that contains meta file and a body that contains data. The header
# is a few data fields segmented by pipe character like this:
#
# length|raw_length|type|filename
#
# where length is an ascii coded integer of the following data section, raw_length
# is the orginal length of data (if transformation is taken), type can be A for
# text data or B for binary data, and filename is the original file name
# including path if the zip-based file contains directories. Immediately after
# the header, there is a carriage return ('\n'), follows "length" byte of
# data, and then another CR and then the next recor, i,e,
#
# [header1]\n[data1]\n[header2]\n[data2] ...
#
# There are two types of data section. If the file contains only text data,
# its content is copied to data section without any change, otherwise, data
# is base64 coded to ensure the entire file is text format.
#
#
# Author: Sippey (sippey@gmail.com)
# Date: Apr.18, 2014
#
# Modified by Kristian Hoey Horsberg <khh1990 ' at ' gmail.com>
# to make python 3 compatible
# Date May 20th 2014
#
import zipfile
import sys
import io
import base64
import string
import tempfile
import os.path
DEBUG_ZIPPEY = False
NAME = 'Zippey'
ENCODING = 'UTF-8'
def debug(msg):
'''Print debug message'''
if DEBUG_ZIPPEY:
sys.stderr.write('{0}: debug: {1}\n'.format(NAME, msg))
def error(msg):
'''Print error message'''
sys.stderr.write('{0}: error: {1}\n'.format(NAME, msg))
def init():
'''Initialize writing; set binary mode for windows'''
debug("Running on {}".format(sys.platform))
if sys.platform.startswith('win'):
import msvcrt
debug("Enable Windows binary workaround")
msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
def encode(input, output):
'''Encode into special VCS friendly format from input to output'''
debug("ENCODE was called")
tfp = tempfile.TemporaryFile(mode='w+b')
tfp.write(input.read())
zfp = zipfile.ZipFile(tfp, "r")
for name in zfp.namelist():
data = zfp.read(name)
text_extentions = ['.txt', '.html', '.xml']
extention = os.path.splitext(name)[1][1:].strip().lower()
try:
# Check if text data
data.decode(ENCODING)
try:
strdata = map(chr, data)
except TypeError:
strdata = data
if extention not in text_extentions and not all(c in string.printable for c in strdata):
raise UnicodeDecodeError(ENCODING, "".encode(ENCODING), 0, 1, "Artificial exception")
# Encode
debug("Appending text file '{}'".format(name))
output.write("{}|{}|A|{}\n".format(len(data), len(data), name).encode(ENCODING))
output.write(data)
output.write("\n".encode(ENCODING)) # Separation from next meta line
except UnicodeDecodeError:
# Binary data
debug("Appending binary file '{}'".format(name))
raw_len = len(data)
data = base64.b64encode(data)
output.write("{}|{}|B|{}\n".format(len(data), raw_len, name).encode(ENCODING))
output.write(data)
output.write("\n".encode(ENCODING)) # Separation from next meta line
zfp.close()
tfp.close()
def decode(input, output):
'''Decode from special VCS friendly format from input to output'''
debug("DECODE was called")
tfp = tempfile.TemporaryFile(mode='w+b')
zfp = zipfile.ZipFile(tfp, "w", zipfile.ZIP_DEFLATED)
while True:
meta = input.readline().decode(ENCODING)
if not meta:
break
(data_len, raw_len, mode, name) = [t(s) for (t, s) in zip((int, int, str, str), meta.split('|'))]
if mode == 'A':
debug("Appending text file '{}'".format(name))
zfp.writestr(name.rstrip(), input.read(data_len))
input.read(1) # Skip last '\n'
elif mode == 'B':
debug("Appending binary file '{}'".format(name.rstrip()))
zfp.writestr(name.rstrip(), base64.b64decode(input.read(data_len)))
input.read(1) # Skip last '\n'
else:
# Should never reach here
zfp.close()
tfp.close()
error('Illegal mode "{}"'.format(mode))
sys.exit(1)
# Flush all writes
zfp.close()
# Write output
tfp.seek(0)
output.write(tfp.read())
tfp.close()
def main():
'''Main program'''
init()
input = io.open(sys.stdin.fileno(), 'rb')
output = io.open(sys.stdout.fileno(), 'wb')
if len(sys.argv) < 2 or sys.argv[1] == '-' or sys.argv[1] == '--help':
sys.stdout.write("{}\nTo encode: 'python zippey.py e'\nTo decode: 'python zippey.py d'\nAll files read from stdin and printed to stdout\n".format(NAME))
elif sys.argv[1] == 'e':
encode(input, output)
elif sys.argv[1] == 'd':
decode(input, output)
else:
error("Illegal argument '{}'. Try --help for more information".format(sys.argv[1]))
sys.exit(1)
if __name__ == '__main__':
main()