29 Commits
Author SHA1 Message Date
wiebel 51ad293c94 First current messurement attempts 2019-10-22 12:19:31 +02:00
wiebel b26c97e136 last before adding current sensors 2019-09-02 15:53:17 +02:00
mwaiblinger 6a76239f40 much better can bus writing 2019-04-03 00:55:09 +02:00
mwaiblinger 584c263eaa more tools 2019-03-28 12:47:54 +01:00
root 42db319ae9 added some tools 2019-03-24 22:46:48 +00:00
mwaiblinger 81cebe6472 more feedback in and out 2019-03-21 00:53:41 +01:00
mwaiblinger 732b91caef new switch in WZ 2019-03-17 17:50:28 +01:00
wiebel 35263d8595 ena I²C text 2018-12-03 09:43:27 +01:00
wiebel 15de286b3f corrected output port labels 2018-11-22 17:22:15 +01:00
wiebel 4b22b19ab6 images moved to webroot 2018-11-22 17:19:24 +01:00
wiebel 77b927d1fc cleanup after order 2018-11-22 17:18:24 +01:00
wiebel 56e2b608de more clearance in Layer 2 2018-11-22 16:59:17 +01:00
wiebel b80e76ee01 Licenced by CC 2018-11-22 16:20:15 +01:00
wiebel 758d6a8720 images from oshpark 2018-11-17 02:59:51 +01:00
wiebel 25430212eb late changes 2018-11-17 02:57:13 +01:00
wiebel 2cc669cda0 images 2018-11-17 02:54:23 +01:00
wiebel 21f15bf4c3 looks good 2018-11-17 01:53:14 +01:00
wiebel 7cfac59443 almost routed 2018-11-16 21:58:49 +01:00
wiebel 65c2cd0793 Rearranging 2018-11-16 00:15:22 +01:00
wiebel 2f2f68ed48 kicad 101 2018-11-13 02:14:52 +01:00
wiebel 150a4d8a4b rev2 started on kicad 2018-11-12 01:53:32 +01:00
wiebel f63b37a9de More talking to CAN (state change, new TWids) 2018-10-30 17:49:04 +01:00
wiebel 9ad4af66ea new images 2018-08-20 14:50:20 +02:00
wiebel 4e86169b09 More to READ 2018-03-07 01:45:10 +01:00
wiebel 4f1b7dc3d3 Add 'README.md'
Started a README
2018-03-07 01:42:20 +01:00
wiebel 296e788ce8 push test 2018-03-01 01:23:36 +01:00
wiebel 72e2e9a36b Refinements 2018-03-01 01:20:48 +01:00
wiebel e1371357e7 Merge branch 'led' 2018-01-19 09:43:38 +01:00
wiebel cc0b3afbaa Revert "latest addition (rolladen, Terasse)"
This reverts commit 26ac6558e4.
2017-10-05 22:13:27 +02:00
72 changed files with 158954 additions and 69 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

+33
View File
@@ -0,0 +1,33 @@
update=Date
version=1
last_client=kicad
[pcbnew]
version=1
LastNetListRead=CANNode.net
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[general]
version=1
[eeschema]
version=1
LibDir=/home/wiebel/kicad/kicadlibrary
[eeschema/libraries]
LibName1=CANNode
LibName2=open-project
Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

+40
View File
@@ -0,0 +1,40 @@
Generated by EAGLE CAM Processor 7.6.0
Photoplotter Info File: /home/wiebel/Workspace/CANNode/Hardware/OW-sat/OW-sat_bottom.gpi
Date : 2/12/18 9:40 PM
Plotfile : /home/wiebel/Workspace/CANNode/Hardware/OW-sat/OW-sat_bottom
Apertures : generated:
Device : Gerber RS-274-X photoplotter, coordinate format 2.5 inch
Parameter settings:
Emulate Apertures : no
Tolerance Draw + : 0.00 %
Tolerance Draw - : 0.00 %
Tolerance Flash + : 0.00 %
Tolerance Flash - : 0.00 %
Rotate : no
Mirror : no
Optimize : yes
Auto fit : yes
OffsetX : 0inch
OffsetY : 0inch
Plotfile Info:
Coordinate Format : 2.5
Coordinate Units : Inch
Data Mode : Absolute
Zero Suppression : None
End Of Block : *
Apertures used:
Code Shape Size used
D10 draw 0.0480inch 6
D11 rectangle 0.0512inch x 0.0591inch 4
D12 draw 0.0160inch 6
D13 square 0.0376inch 1
+43
View File
@@ -0,0 +1,43 @@
G75*
%MOIN*%
%OFA0B0*%
%FSLAX25Y25*%
%IPPOS*%
%LPD*%
%AMOC8*
5,1,8,0,0,1.08239X$1,22.5*
%
%ADD10C,0.04800*%
%ADD11R,0.05118X0.05906*%
%ADD12C,0.01600*%
%ADD13R,0.03762X0.03762*%
D10*
X0008600Y0011000D02*
X0013400Y0011000D01*
X0013400Y0021000D02*
X0008600Y0021000D01*
X0008600Y0031000D02*
X0013400Y0031000D01*
X0038600Y0031000D02*
X0043400Y0031000D01*
X0043400Y0021000D02*
X0038600Y0021000D01*
X0038600Y0011000D02*
X0043400Y0011000D01*
D11*
X0029740Y0021000D03*
X0022260Y0021000D03*
X0022260Y0031000D03*
X0029740Y0031000D03*
D12*
X0041000Y0031000D01*
X0041000Y0021000D02*
X0029740Y0021000D01*
X0029740Y0014740D01*
X0026000Y0011000D01*
X0022260Y0021000D02*
X0022260Y0031000D01*
X0011000Y0031000D01*
D13*
X0026000Y0011000D03*
M02*
Binary file not shown.
Binary file not shown.
+57
View File
@@ -0,0 +1,57 @@
G75*
%MOIN*%
%OFA0B0*%
%FSLAX25Y25*%
%IPPOS*%
%LPD*%
%AMOC8*
5,1,8,0,0,1.08239X$1,22.5*
%
%ADD10C,0.04800*%
%ADD11R,0.04800X0.01600*%
%ADD12C,0.01600*%
%ADD13R,0.03762X0.03762*%
D10*
X0008600Y0011000D02*
X0013400Y0011000D01*
X0013400Y0021000D02*
X0008600Y0021000D01*
X0008600Y0031000D02*
X0013400Y0031000D01*
X0038600Y0031000D02*
X0043400Y0031000D01*
X0043400Y0021000D02*
X0038600Y0021000D01*
X0038600Y0011000D02*
X0043400Y0011000D01*
D11*
X0032300Y0016000D03*
X0032300Y0021000D03*
X0032300Y0026000D03*
X0019700Y0026000D03*
X0019700Y0021000D03*
X0019700Y0016000D03*
D12*
X0024700Y0011000D01*
X0026000Y0011000D01*
X0021000Y0006000D02*
X0031000Y0006000D01*
X0036000Y0011000D01*
X0041000Y0011000D01*
X0037300Y0011000D01*
X0032300Y0016000D01*
X0032300Y0021000D02*
X0011000Y0021000D01*
X0019700Y0026000D02*
X0014700Y0031000D01*
X0011000Y0031000D01*
X0032300Y0026000D02*
X0037300Y0031000D01*
X0041000Y0031000D01*
X0016000Y0011000D02*
X0021000Y0006000D01*
X0016000Y0011000D02*
X0011000Y0011000D01*
D13*
X0026000Y0011000D03*
M02*
+3
View File
@@ -0,0 +1,3 @@
Designator,Manufacturer Part Number,Quantity
"R1,R2",RHA0J471MCN1GS,2
"IC1",DS2406P+,1
1 Designator Manufacturer Part Number Quantity
2 R1,R2 RHA0J471MCN1GS 2
3 IC1 DS2406P+ 1
+412
View File
@@ -0,0 +1,412 @@
[Eagle]
Version="07 04 00"
Platform="Linux"
Serial="62191E841E-LSR-WLM-1EL"
Globals="Globals"
Desktop="Desktop"
[Globals]
AutoSaveProject=1
UsedLibrary="/opt/eagle-7.4.0/lbr/19inch.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/40xx.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/41xx.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/45xx.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/74ac-logic.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/74ttl-din.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/74xx-eu.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/74xx-little-de.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/74xx-little-us.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/74xx-us.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/751xx.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/IQD-Frequency-Products.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/Wurth_Elektronik_Electromechanic_Terminal_Blocks_Connectors_rev15d.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/adafruit.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/advanced-test-technologies.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/agilent-technologies.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/allegro.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/altera-cyclone-II.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/altera-cyclone-III.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/altera-stratix-iv.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/altera.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/am29-memory.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/amd-mach.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/amd.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/amis.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/analog-devices.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/aplus.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/ase.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/atmel.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/austriamicrosystems.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/avago.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/axis.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/battery.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/belton-engineering.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/burr-brown.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/busbar.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/buzzer.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/c-trimm.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/california-micro-devices.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/capacitor-wima.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/chipcard-siemens.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/cirrus-logic.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-3m.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-4ucon.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-amp-champ.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-amp-micromatch.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-amp-mt.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-amp-mt6.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-amp-quick.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-amp-te.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-amp.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-amphenol.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-avx.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-berg.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-bosch.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-chipcard-iso7816.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-coax.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-commcon.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-conrad.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-cpci.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-cui.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-cypressindustries.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-deutsch.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-dil.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-ebyelectro.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-elco.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-erni.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-faston.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-fci.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-friwo.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-garry.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-harting-h.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-harting-ml.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-harting-v.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-harting.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-hirose.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-hirschmann.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-jack.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-jae.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-jst.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-kycon.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-kyocera-elco.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-lemo.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-leotronics.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-lsta.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-lstb.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-lumberg.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-ml.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-molex.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-neutrik_ag.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-omron.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-panasonic.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-panduit.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-pc.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-pc104.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-phoenix-254.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-phoenix-3.81.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-phoenix-350.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-phoenix-500.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-phoenix-508.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-phoenix-762.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-phoenix-me_max.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-phoenix-mkds_5.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-phoenix-smkdsp.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-ptr500.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-pulse.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-rib.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-samtec.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-shallin.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-shiua-chyuan.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-stewart.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-stocko.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-subd.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-sullinselectronics.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-thomas-betts.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-tyco.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-tycoelectronics.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-vg.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-wago-500.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-wago-508.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-wago.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-wago255.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-weidmueller-sl35.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-wenzhou-yihua.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-xmultiple.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/con-yamaichi.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/crystal.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/csr.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/cypress.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/davicom.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/dc-dc-converter.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/dimensions.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/diode.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/discrete.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/display-hp.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/display-kingbright.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/display-lcd.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/docu-dummy.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/dom-key.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/eagle-ltspice.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/ecl.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/em-microelectronic.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/etx-board.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/exar.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/fairchild-semic.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/farnell.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/fiber-optic-hp.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/fiber-optic-siemens.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/fifo.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/flexipanel.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/fox-electronics.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/frames.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/freescale.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/ftdichip.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/fujitsu.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/fuse.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/gennum.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/halo-electronics.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/heatsink.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/holes.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/holtek.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/ic-package.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/inductor-coilcraft.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/inductor-neosid.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/inductor-nkl.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/inductors.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/infineon-tricore.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/infineon.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/intersil-techwell.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/intersil.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/ir.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/isd.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/johanson-technology.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/jump-0r-smd.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/jumper.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/lantronix.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/lattice.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/lc-filter.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/led-7-segment.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/led-citizen-electronics.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/led-lumiled.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/led.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/lem.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/linear-technology.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/linear.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/linx.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/logo.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/lprs.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/lsi-computer-systems.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/lumiled.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/marks.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/maxim.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/maxstream.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/melexis.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/memory-hitachi.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/memory-idt.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/memory-micron.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/memory-motorola-dram.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/memory-nec.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/memory-samsung.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/memory-sram.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/memory.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/mems.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micrel.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-cyrod.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-fujitsu.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-harris.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-hitachi.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-infineon.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-intel.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-mc68000.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-motorola.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-philips.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-renesas.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-samsung.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micro-siemens.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/microchip.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micron.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/micronas.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/microphon.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/microwave.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/midori-sensor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/minicircuits.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/mitsubishi-semiconductor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/motorola-sensor-driver.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/murata-filter.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/murata-sensor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/nanotec.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/national-instruments.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/national-semiconductor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/nec-lqfp100-pack.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/nec.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/nrj-semiconductor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/omnivision.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/on-semiconductor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/opto-honeywell-3000.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/opto-honeywell-4000.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/opto-honeywell.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/opto-micro-linear.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/opto-trans-siemens.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/opto-transmittter-hp.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/opto-vishay.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/optocoupler.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/pal.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/philips-semiconductors.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/photo-elements.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/piher.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/pinhead.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/plcc-socket.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/pld-intel.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/plxtech.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/pot-vitrohm.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/pot-xicor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/pot.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/ptc-ntc.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/quantum-research-group.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/rcl.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/recom-international.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/rectifier.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/ref-packages-longpad.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/ref-packages.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/relay.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/renesas.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/resistor-bourns.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/resistor-dil.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/resistor-net.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/resistor-power.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/resistor-ruf.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/resistor-shunt.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/resistor-sil.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/resistor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/rf-micro-devices.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/rf-solutions.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/rohm.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/roundsolutions.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/semicon-smd-ipc.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/sensor-comus-group.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/sensor-heraeus.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/sensor-infratec.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/sharp.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/silabs.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/sim-technology.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/sipex.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/smd-ipc.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/smd-special.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/solomon-systech.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/solpad.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/speaker.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/special-drill.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/special.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/st-microelectronics.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/stm32xx.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/supertex.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/supply1.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/supply2.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/switch-alps.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/switch-coto.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/switch-dil.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/switch-misc.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/switch-omron.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/switch-raychem.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/switch-reed.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/switch.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/telcom.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/telecontrolli.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/telefunken.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/testpad.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/texas-sn55-sn75.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/texas.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/toshiba.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/traco-electronic.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/trafo-bei.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/trafo-hammondmfg.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/trafo-siemens.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/trafo-xicon.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/trafo.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/transformer-pulse.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/transistor-fet.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/transistor-neu-to92.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/transistor-npn.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/transistor-pnp.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/transistor-power.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/transistor-small-signal.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/transistor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/triac.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/trimble.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/tripas.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/u-blox.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/uln-udn.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/v-reg-micrel.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/v-reg.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/varistor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/wafer-scale-psd.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/wirepad.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/xicor.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/xilinx-virtex-v5.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/xilinx-xc18v.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/xilinx-xc9.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/xilinx-xcv.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/zetex.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/zilog.lbr"
UsedLibrary="/home/wiebel/eagle/lbr/own.lbr"
UsedLibrary="/opt/eagle-7.4.0/lbr/1wire.lbr"
UsedLibrary="/home/wiebel/eagle/lbr/maxim_own.lbr"
UsedLibrary="/home/wiebel/eagle/lbr/ic-package_own.lbr"
[Win_1]
Type="Schematic Editor"
Loc="0 0 599 399"
State=2
Number=2
File="sat_001.sch"
View="-1.5052 33.8802 85.5707 90.4113"
WireWidths=" 0 0.3048 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0.4064 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.5 0.6 0.7 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 2 2.2 2.8 3.2 0.8"
ViaDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
ViaDrills=" 0.5 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 2 2.2 2.8 3.2 0.6"
HoleDrills=" 0.5 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 2 2.2 2.8 3.2 0.6"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
DimensionWidths=" 0 0.127 0.254 0.1 0.26 0.13"
DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=0
WireBendSet=31
WireCap=1
MiterStyle=0
PadShape=0
ViaShape=0
PolygonPour=0
PolygonRank=0
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
DimensionUnit=1
DimensionPrecision=2
DimensionShowUnit=0
PinDirection=3
PinFunction=0
PinLength=2
PinVisible=3
SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=91
Sheet="1"
[Win_2]
Type="Control Panel"
Loc="318 318 917 717"
State=2
Number=0
[Desktop]
Screen="1440 900"
Window="Win_1"
Window="Win_2"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+57
View File
@@ -0,0 +1,57 @@
G75*
%MOIN*%
%OFA0B0*%
%FSLAX25Y25*%
%IPPOS*%
%LPD*%
%AMOC8*
5,1,8,0,0,1.08239X$1,22.5*
%
%ADD10C,0.04800*%
%ADD11R,0.04800X0.01600*%
%ADD12C,0.01600*%
%ADD13R,0.03762X0.03762*%
D10*
X0008600Y0011000D02*
X0013400Y0011000D01*
X0013400Y0021000D02*
X0008600Y0021000D01*
X0008600Y0031000D02*
X0013400Y0031000D01*
X0038600Y0031000D02*
X0043400Y0031000D01*
X0043400Y0021000D02*
X0038600Y0021000D01*
X0038600Y0011000D02*
X0043400Y0011000D01*
D11*
X0032300Y0016000D03*
X0032300Y0021000D03*
X0032300Y0026000D03*
X0019700Y0026000D03*
X0019700Y0021000D03*
X0019700Y0016000D03*
D12*
X0024700Y0011000D01*
X0026000Y0011000D01*
X0021000Y0006000D02*
X0031000Y0006000D01*
X0036000Y0011000D01*
X0041000Y0011000D01*
X0037300Y0011000D01*
X0032300Y0016000D01*
X0032300Y0021000D02*
X0011000Y0021000D01*
X0019700Y0026000D02*
X0014700Y0031000D01*
X0011000Y0031000D01*
X0032300Y0026000D02*
X0037300Y0031000D01*
X0041000Y0031000D01*
X0016000Y0011000D02*
X0021000Y0006000D01*
X0016000Y0011000D02*
X0011000Y0011000D01*
D13*
X0026000Y0011000D03*
M02*
+39
View File
@@ -0,0 +1,39 @@
Generated by EAGLE CAM Processor 7.6.0
Photoplotter Info File: /home/wiebel/Workspace/CANNode/Hardware/OW-sat/sat_001.gpi
Date : 2/12/18 9:49 PM
Plotfile : /home/wiebel/Workspace/CANNode/Hardware/OW-sat/sat_001.sts
Apertures : generated:
Device : Gerber RS-274-X photoplotter, coordinate format 2.5 inch
Parameter settings:
Emulate Apertures : no
Tolerance Draw + : 0.00 %
Tolerance Draw - : 0.00 %
Tolerance Flash + : 0.00 %
Tolerance Flash - : 0.00 %
Rotate : no
Mirror : no
Optimize : yes
Auto fit : yes
OffsetX : 0inch
OffsetY : 0inch
Plotfile Info:
Coordinate Format : 2.5
Coordinate Units : Inch
Data Mode : Absolute
Zero Suppression : None
End Of Block : *
Apertures used:
Code Shape Size used
D10 draw 0.0560inch 6
D11 rectangle 0.0592inch x 0.0671inch 4
D12 square 0.0456inch 1
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+43
View File
@@ -0,0 +1,43 @@
G75*
%MOIN*%
%OFA0B0*%
%FSLAX25Y25*%
%IPPOS*%
%LPD*%
%AMOC8*
5,1,8,0,0,1.08239X$1,22.5*
%
%ADD10C,0.04800*%
%ADD11R,0.05118X0.05906*%
%ADD12C,0.01600*%
%ADD13R,0.03762X0.03762*%
D10*
X0008600Y0011000D02*
X0013400Y0011000D01*
X0013400Y0021000D02*
X0008600Y0021000D01*
X0008600Y0031000D02*
X0013400Y0031000D01*
X0038600Y0031000D02*
X0043400Y0031000D01*
X0043400Y0021000D02*
X0038600Y0021000D01*
X0038600Y0011000D02*
X0043400Y0011000D01*
D11*
X0029740Y0021000D03*
X0022260Y0021000D03*
X0022260Y0031000D03*
X0029740Y0031000D03*
D12*
X0041000Y0031000D01*
X0041000Y0021000D02*
X0029740Y0021000D01*
X0029740Y0014740D01*
X0026000Y0011000D01*
X0022260Y0021000D02*
X0022260Y0031000D01*
X0011000Y0031000D01*
D13*
X0026000Y0011000D03*
M02*
+35
View File
@@ -0,0 +1,35 @@
G75*
%MOIN*%
%OFA0B0*%
%FSLAX25Y25*%
%IPPOS*%
%LPD*%
%AMOC8*
5,1,8,0,0,1.08239X$1,22.5*
%
%ADD10C,0.05600*%
%ADD11R,0.05600X0.02400*%
%ADD12R,0.04562X0.04562*%
D10*
X0008600Y0011000D02*
X0013400Y0011000D01*
X0013400Y0021000D02*
X0008600Y0021000D01*
X0008600Y0031000D02*
X0013400Y0031000D01*
X0038600Y0031000D02*
X0043400Y0031000D01*
X0043400Y0021000D02*
X0038600Y0021000D01*
X0038600Y0011000D02*
X0043400Y0011000D01*
D11*
X0032300Y0016000D03*
X0032300Y0021000D03*
X0032300Y0026000D03*
X0019700Y0026000D03*
X0019700Y0021000D03*
X0019700Y0016000D03*
D12*
X0026000Y0011000D03*
M02*
+33
View File
@@ -0,0 +1,33 @@
G75*
%MOIN*%
%OFA0B0*%
%FSLAX25Y25*%
%IPPOS*%
%LPD*%
%AMOC8*
5,1,8,0,0,1.08239X$1,22.5*
%
%ADD10C,0.05600*%
%ADD11R,0.05918X0.06706*%
%ADD12R,0.04562X0.04562*%
D10*
X0008600Y0011000D02*
X0013400Y0011000D01*
X0013400Y0021000D02*
X0008600Y0021000D01*
X0008600Y0031000D02*
X0013400Y0031000D01*
X0038600Y0031000D02*
X0043400Y0031000D01*
X0043400Y0021000D02*
X0038600Y0021000D01*
X0038600Y0011000D02*
X0043400Y0011000D01*
D11*
X0029740Y0021000D03*
X0022260Y0021000D03*
X0022260Y0031000D03*
X0029740Y0031000D03*
D12*
X0026000Y0011000D03*
M02*
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
EAGLE AutoRouter Statistics:
Job : /home/wiebel/eagle/1-wire sat/sat_001.brd
Start at : 10:00:28 (11/22/15)
End at : 10:00:30 (11/22/15)
Elapsed time : 00:00:00
Signals : 5 RoutingGrid: 50 mil Layers: 2
Connections : 10 predefined: 0 ( 0 Vias )
Router memory : 24992
Passname : Busses Route Optimize1 Optimize2 Optimize3 Optimize4
Time per pass : 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00
Number of Ripups : 0 0 0 0 0 0
max. Level : 0 4 0 0 0 0
max. Total : 0 3 0 0 0 0
Routed : 1 9 9 9 9 9
Vias : 0 2 0 0 0 0
Resolution : 10.0 % 90.0 % 90.0 % 90.0 % 90.0 % 90.0 %
Final :
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
EAGLE AutoRouter Statistics:
Job : /home/wiebel/eagle/1-wire sat/sat_001.brd
Start at : 10:00:28 (11/22/15)
End at : 10:00:30 (11/22/15)
Elapsed time : 00:00:00
Signals : 5 RoutingGrid: 50 mil Layers: 2
Connections : 10 predefined: 0 ( 0 Vias )
Router memory : 24992
Passname : Busses Route Optimize1 Optimize2 Optimize3 Optimize4
Time per pass : 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00
Number of Ripups : 0 0 0 0 0 0
max. Level : 0 4 0 0 0 0
max. Total : 0 3 0 0 0 0
Routed : 1 9 9 9 9 9
Vias : 0 2 0 0 0 0
Resolution : 10.0 % 90.0 % 90.0 % 90.0 % 90.0 % 90.0 %
Final :
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
EAGLE AutoRouter Statistics:
Job : /home/wiebel/eagle/1-wire sat/sat_001.brd
Start at : 10:00:28 (11/22/15)
End at : 10:00:30 (11/22/15)
Elapsed time : 00:00:00
Signals : 5 RoutingGrid: 50 mil Layers: 2
Connections : 10 predefined: 0 ( 0 Vias )
Router memory : 24992
Passname : Route Optimize1 Optimize2 Optimize3 Optimize4
Time per pass : 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00
Number of Ripups : 0 0 0 0 0
max. Level : 4 0 0 0 0
max. Total : 3 0 0 0 0
Routed : 9 9 9 9 9
Vias : 1 0 0 0 0
Resolution : 90.0 % 90.0 % 90.0 % 90.0 % 90.0 %
Final :
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
EAGLE AutoRouter Statistics:
Job : /home/wiebel/eagle/1-wire sat/sat_001.brd
Start at : 10:00:28 (11/22/15)
End at : 10:00:30 (11/22/15)
Elapsed time : 00:00:00
Signals : 5 RoutingGrid: 50 mil Layers: 2
Connections : 10 predefined: 0 ( 0 Vias )
Router memory : 24992
Passname : Route Optimize1 Optimize2 Optimize3 Optimize4
Time per pass : 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00
Number of Ripups : 0 0 0 0 0
max. Level : 4 0 0 0 0
max. Total : 3 0 0 0 0
Routed : 9 9 9 9 9
Vias : 2 0 0 0 0
Resolution : 90.0 % 90.0 % 90.0 % 90.0 % 90.0 %
Final :
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
EAGLE AutoRouter Statistics:
Job : /home/wiebel/eagle/1-wire sat/sat_001.brd
Start at : 10:00:28 (11/22/15)
End at : 10:00:30 (11/22/15)
Elapsed time : 00:00:00
Signals : 5 RoutingGrid: 50 mil Layers: 2
Connections : 10 predefined: 0 ( 0 Vias )
Router memory : 24992
Passname : Busses Route Optimize1 Optimize2 Optimize3 Optimize4
Time per pass : 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00
Number of Ripups : 0 0 0 0 0 0
max. Level : 0 4 0 0 0 0
max. Total : 0 3 0 0 0 0
Routed : 1 9 9 9 9 9
Vias : 0 1 0 0 0 0
Resolution : 10.0 % 90.0 % 90.0 % 90.0 % 90.0 % 90.0 %
Final :
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
EAGLE AutoRouter Statistics:
Job : /home/wiebel/eagle/1-wire sat/sat_001.brd
Start at : 10:00:28 (11/22/15)
End at : 10:00:30 (11/22/15)
Elapsed time : 00:00:00
Signals : 5 RoutingGrid: 50 mil Layers: 2
Connections : 10 predefined: 0 ( 0 Vias )
Router memory : 24992
Passname : Route Optimize1 Optimize2 Optimize3 Optimize4
Time per pass : 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00
Number of Ripups : 2 0 0 0 0
max. Level : 5 0 0 0 0
max. Total : 4 0 0 0 0
Routed : 9 9 9 9 9
Vias : 3 0 0 0 0
Resolution : 90.0 % 90.0 % 90.0 % 90.0 % 90.0 %
Final :
Binary file not shown.
+25
View File
@@ -0,0 +1,25 @@
EAGLE AutoRouter Statistics:
Job : /home/wiebel/eagle/1-wire sat/sat_001.brd
Start at : 10:00:28 (11/22/15)
End at : 10:00:30 (11/22/15)
Elapsed time : 00:00:00
Signals : 5 RoutingGrid: 50 mil Layers: 2
Connections : 10 predefined: 0 ( 0 Vias )
Router memory : 24992
Passname : Busses Route Optimize1 Optimize2 Optimize3 Optimize4
Time per pass : 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00
Number of Ripups : 0 2 0 0 0 0
max. Level : 0 3 0 0 0 0
max. Total : 0 3 0 0 0 0
Routed : 1 9 9 9 9 9
Vias : 0 1 0 0 0 0
Resolution : 10.0 % 90.0 % 90.0 % 90.0 % 90.0 % 90.0 %
Final :
+251
View File
@@ -0,0 +1,251 @@
PATH path7627 FOUND
0) 52.24,10.62
52.24,13.12
52.24,22.12
52.24,23.99
53.88,23.09
60.07,19.72
61.44,18.98
60.28,17.93
54.09,12.31
52.24,10.63
PATH path4279 FOUND
1) 40.31,17.29
41.83,18.92
42.19,18.60
48.85,12.51
48.85,18.56
48.85,24.62
ERROR
48.45,24.77
47.77,25.25
46.79,26.02
48.21,27.55
ERROR
48.41,27.37
48.86,27.07
49.60,26.77
50.22,26.77
51.33,27.26
52.44,28.37
52.44,28.70
52.30,29.30
51.94,30.10
53.36,31.63
ERROR
54.01,31.02
55.16,29.65
56.31,27.32
56.31,27.21
56.31,26.99
56.29,26.65
63.88,22.48
71.47,18.31
79.06,14.14
86.65,9.97
94.24,5.80
87.58,11.89
80.92,17.98
74.26,24.07
67.60,30.16
61.31,35.91
62.83,37.54
67.83,32.97
74.78,26.62
81.73,20.26
88.68,13.90
95.63,7.54
102.58,1.18
ERROR
102.92,0.87
103.38,0.08
103.68,-1.14
103.51,-1.57
102.92,-2.29
101.87,-3.00
101.68,-3.00
101.31,-2.95
100.78,-2.81
93.12,1.40
85.46,5.61
77.80,9.82
70.14,14.03
62.48,18.24
54.82,22.45
ERROR
54.45,22.08
53.64,21.43
52.33,20.61
52.33,13.31
52.33,6.02
ERROR
52.33,5.58
52.08,4.74
51.42,3.72
51.02,3.54
50.14,3.44
48.94,3.64
41.99,9.99
40.05,11.77
PATH path4259 FOUND
2) 47.81,31.45
46.17,32.35
39.82,35.82
38.45,36.56
39.61,37.61
45.96,43.39
47.82,45.08
47.82,42.57
47.82,33.32
47.82,31.45
PATH path4275 FOUND
3) 40.31,17.29
35.30,21.87
28.35,28.22
21.40,34.57
14.45,40.92
7.50,47.27
0.55,53.63
ERROR
0.13,54.01
-0.36,55.02
-0.52,56.49
-0.19,56.95
0.76,57.54
2.20,57.86
9.86,53.65
17.52,49.44
25.18,45.23
32.84,41.02
40.50,36.81
48.16,32.60
ERROR
48.53,32.94
49.34,33.53
50.64,34.26
50.64,41.60
50.64,48.94
ERROR
50.64,49.38
50.90,50.23
51.56,51.26
51.96,51.44
52.83,51.54
54.03,51.33
60.98,44.98
62.94,43.19
61.42,41.56
61.05,41.90
54.39,47.99
54.39,41.85
54.39,35.71
ERROR
54.75,35.56
55.35,35.09
56.24,34.36
54.82,32.83
ERROR
54.62,33.01
54.16,33.32
53.40,33.63
52.78,33.63
51.67,33.14
50.56,32.03
50.56,31.70
50.71,31.09
51.08,30.28
49.66,28.75
ERROR
49.00,29.36
47.84,30.74
46.68,33.07
46.68,33.24
46.69,33.58
46.73,34.09
39.16,38.25
31.59,42.41
24.02,46.57
16.45,50.73
8.88,54.89
15.54,48.80
22.20,42.72
28.86,36.63
35.52,30.54
41.82,24.78
40.30,23.15
PATH path4261 FOUND
4) 78.67,44.71
84.14,39.61
79.41,35.31
72.69,29.20
71.95,28.52
71.21,29.20
64.51,35.29
63.35,36.34
64.72,37.08
73.11,41.66
78.67,44.70
PATH path4263 FOUND
5) 78.67,44.71
81.50,46.26
89.89,50.85
98.28,55.43
ERROR
98.77,55.69
99.87,55.81
101.29,55.47
101.61,55.02
101.87,53.94
101.72,52.48
95.00,46.37
88.28,40.26
86.29,38.45
80.82,43.55
PATH path4265 FOUND
6) 1.11,0.00
ERROR
0.65,0.00
-0.22,0.28
-1.25,0.99
-1.41,1.42
-1.46,2.33
-1.17,3.55
5.55,9.66
12.27,15.77
18.99,21.88
25.71,27.99
26.45,28.67
27.19,27.99
33.88,21.90
35.03,20.85
33.67,20.11
25.28,15.53
16.89,10.95
8.50,6.37
0.11,1.78
ERROR
-0.05,1.69
-0.39,1.55
-0.92,1.41
PATH rect3015 FOUND
7) -0.11,29.27
99.44,29.27
99.44,84.39
-0.11,84.39
Object origin:
52.570000 43.695000
Eagle Command:
set wire_bend 2;
change layer tDocu;
set width 0;
poly (R 1.130000 30.075000) (R 1.130000 27.575000) (R 1.130000 18.575000) (R 1.130000 16.705000) (R 2.770000 17.605000) (R 8.960000 20.975000) (R 10.330000 21.715000) (R 9.170000 22.765000) (R 2.980000 28.385000) (R 1.130000 30.065000) (R 1.130000 30.075000);
poly (R -10.800000 23.405000) (R -9.280000 21.775000) (R -8.920000 22.095000) (R -2.260000 28.185000) (R -2.260000 22.135000) (R -2.260000 16.075000) (R -2.660000 15.925000) (R -3.340000 15.445000) (R -4.320000 14.675000) (R -2.900000 13.145000) (R -2.700000 13.325000) (R -2.250000 13.625000) (R -1.510000 13.925000) (R -0.890000 13.925000) (R 0.220000 13.435000) (R 1.330000 12.325000) (R 1.330000 11.995000) (R 1.190000 11.395000) (R 0.830000 10.595000) (R 2.250000 9.065000) (R 2.900000 9.675000) (R 4.050000 11.045000) (R 5.200000 13.375000) (R 5.200000 13.485000) (R 5.200000 13.705000) (R 5.180000 14.045000) (R 12.770000 18.215000) (R 20.360000 22.385000) (R 27.950000 26.555000) (R 35.540000 30.725000) (R 43.130000 34.895000) (R 36.470000 28.805000) (R 29.810000 22.715000) (R 23.150000 16.625000) (R 16.490000 10.535000) (R 10.200000 4.785000) (R 11.720000 3.155000) (R 16.720000 7.725000) (R 23.670000 14.075000) (R 30.620000 20.435000) (R 37.570000 26.795000) (R 44.520000 33.155000) (R 51.470000 39.515000) (R 51.810000 39.825000) (R 52.270000 40.615000) (R 52.570000 41.835000) (R 52.400000 42.265000) (R 51.810000 42.985000) (R 50.760000 43.695000) (R 50.570000 43.695000) (R 50.200000 43.645000) (R 49.670000 43.505000) (R 42.010000 39.295000) (R 34.350000 35.085000) (R 26.690000 30.875000) (R 19.030000 26.665000) (R 11.370000 22.455000) (R 3.710000 18.245000) (R 3.340000 18.615000) (R 2.530000 19.265000) (R 1.220000 20.085000) (R 1.220000 27.385000) (R 1.220000 34.675000) (R 1.220000 35.115000) (R 0.970000 35.955000) (R 0.310000 36.975000) (R -0.090000 37.155000) (R -0.970000 37.255000) (R -2.170000 37.055000) (R -9.120000 30.705000) (R -11.060000 28.925000) (R -10.800000 23.405000);
poly (R -3.300000 9.245000) (R -4.940000 8.345000) (R -11.290000 4.875000) (R -12.660000 4.135000) (R -11.500000 3.085000) (R -5.150000 -2.695000) (R -3.290000 -4.385000) (R -3.290000 -1.875000) (R -3.290000 7.375000) (R -3.290000 9.245000) (R -3.300000 9.245000);
poly (R -10.800000 23.405000) (R -15.810000 18.825000) (R -22.760000 12.475000) (R -29.710000 6.125000) (R -36.660000 -0.225000) (R -43.610000 -6.575000) (R -50.560000 -12.935000) (R -50.980000 -13.315000) (R -51.470000 -14.325000) (R -51.630000 -15.795000) (R -51.300000 -16.255000) (R -50.350000 -16.845000) (R -48.910000 -17.165000) (R -41.250000 -12.955000) (R -33.590000 -8.745000) (R -25.930000 -4.535000) (R -18.270000 -0.325000) (R -10.610000 3.885000) (R -2.950000 8.095000) (R -2.580000 7.755000) (R -1.770000 7.165000) (R -0.470000 6.435000) (R -0.470000 -0.905000) (R -0.470000 -8.245000) (R -0.470000 -8.685000) (R -0.210000 -9.535000) (R 0.450000 -10.565000) (R 0.850000 -10.745000) (R 1.720000 -10.845000) (R 2.920000 -10.635000) (R 9.870000 -4.285000) (R 11.830000 -2.495000) (R 10.310000 -0.865000) (R 9.940000 -1.205000) (R 3.280000 -7.295000) (R 3.280000 -1.155000) (R 3.280000 4.985000) (R 3.640000 5.135000) (R 4.240000 5.605000) (R 5.130000 6.335000) (R 3.710000 7.865000) (R 3.510000 7.685000) (R 3.050000 7.375000) (R 2.290000 7.065000) (R 1.670000 7.065000) (R 0.560000 7.555000) (R -0.550000 8.665000) (R -0.550000 8.995000) (R -0.400000 9.605000) (R -0.030000 10.415000) (R -1.450000 11.945000) (R -2.110000 11.335000) (R -3.270000 9.955000) (R -4.430000 7.625000) (R -4.430000 7.455000) (R -4.420000 7.115000) (R -4.380000 6.605000) (R -11.950000 2.445000) (R -19.520000 -1.715000) (R -27.090000 -5.875000) (R -34.660000 -10.035000) (R -42.230000 -14.195000) (R -35.570000 -8.105000) (R -28.910000 -2.025000) (R -22.250000 4.065000) (R -15.590000 10.155000) (R -9.290000 15.915000) (R -10.810000 17.545000) (R -10.800000 23.405000);
poly (R 27.560000 -4.015000) (R 33.030000 1.085000) (R 28.300000 5.385000) (R 21.580000 11.495000) (R 20.840000 12.175000) (R 20.100000 11.495000) (R 13.400000 5.405000) (R 12.240000 4.355000) (R 13.610000 3.615000) (R 22.000000 -0.965000) (R 27.560000 -4.005000) (R 27.560000 -4.015000);
poly (R 27.560000 -4.015000) (R 30.390000 -5.565000) (R 38.780000 -10.155000) (R 47.170000 -14.735000) (R 47.660000 -14.995000) (R 48.760000 -15.115000) (R 50.180000 -14.775000) (R 50.500000 -14.325000) (R 50.760000 -13.245000) (R 50.610000 -11.785000) (R 43.890000 -5.675000) (R 37.170000 0.435000) (R 35.180000 2.245000) (R 29.710000 -2.855000) (R 27.560000 -4.015000);
poly (R -50.000000 40.695000) (R -50.460000 40.695000) (R -51.330000 40.415000) (R -52.360000 39.705000) (R -52.520000 39.275000) (R -52.570000 38.365000) (R -52.280000 37.145000) (R -45.560000 31.035000) (R -38.840000 24.925000) (R -32.120000 18.815000) (R -25.400000 12.705000) (R -24.660000 12.025000) (R -23.920000 12.705000) (R -17.230000 18.795000) (R -16.080000 19.845000) (R -17.440000 20.585000) (R -25.830000 25.165000) (R -34.220000 29.745000) (R -42.610000 34.325000) (R -51.000000 38.915000) (R -51.160000 39.005000) (R -51.500000 39.145000) (R -52.030000 39.285000) (R -50.000000 40.695000);
poly (R -51.220000 11.425000) (R 48.330000 11.425000) (R 48.330000 -43.695000) (R -51.220000 -43.695000) (R -51.220000 11.425000);
+522
View File
@@ -0,0 +1,522 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# 000_my_lib:DSN-MINI-360
#
DEF 000_my_lib:DSN-MINI-360 MOD 0 40 N Y 1 F N
F0 "MOD" 350 -50 50 H V C CNN
F1 "000_my_lib:DSN-MINI-360" 200 350 50 H V C CNN
F2 "" 250 150 50 H I C CNN
F3 "" 250 150 50 H I C CNN
DRAW
S 0 300 400 0 0 0 0 f
X GND GND 200 -100 100 U 50 50 1 1 P
X IN IN -100 250 100 R 50 50 1 1 P
X OUT OUT 500 250 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# 000_my_lib:MAX3032
#
DEF 000_my_lib:MAX3032 U 0 20 Y Y 1 F N
F0 "U" -300 750 50 H V L CNN
F1 "000_my_lib:MAX3032" 100 750 50 H V L CNN
F2 "Package_SO:SOIC-16_3.9x9.9mm_P1.27mm" -100 -800 50 H I C CNN
F3 "" 50 -100 50 H I C CNN
$FPLIST
TSSOP*4.4x5mm*P0.65mm*
$ENDFPLIST
DRAW
C 0 -300 14 1 0 0 F
C 0 300 14 1 0 0 F
C 75 -500 20 1 0 0 N
C 75 -200 20 1 0 0 N
C 75 100 20 1 0 0 N
C 75 400 20 1 0 0 N
T 0 -35 450 40 0 1 0 D1 Normal 0 C C
T 0 -35 150 40 0 1 0 D2 Normal 0 C C
T 0 -35 -150 40 0 1 0 D3 Normal 0 C C
T 0 -35 -450 40 0 1 0 D4 Normal 0 C C
S -350 700 400 -700 1 0 10 f
P 2 1 0 0 150 -500 95 -500 N
P 2 1 0 0 150 -200 95 -200 N
P 2 1 0 0 150 100 95 100 N
P 2 1 0 0 150 400 95 400 N
P 3 1 0 0 75 -435 75 -400 150 -400 N
P 3 1 0 0 75 165 75 200 150 200 N
P 3 1 0 0 75 465 75 500 150 500 N
P 2 0 1 0 -100 -450 -200 -450 N
P 2 0 1 0 -100 -150 -200 -150 N
P 2 0 1 0 -100 150 -200 150 N
P 2 0 1 0 -100 450 -200 450 N
P 2 0 1 0 0 -300 -100 -300 N
P 2 0 1 0 0 -200 0 -400 N
P 2 0 1 0 0 300 -100 300 N
P 2 0 1 0 0 400 0 200 N
P 2 0 1 0 75 -480 75 -465 N
P 2 0 1 0 75 -180 75 -165 N
P 2 0 1 0 75 120 75 135 N
P 2 0 1 0 75 420 75 435 N
P 2 0 1 0 350 -400 350 -400 N
P 3 0 1 0 150 -100 75 -100 75 -135 N
P 4 1 1 10 -100 -350 -100 -550 100 -450 -100 -350 N
P 4 1 1 10 -100 -50 -100 -250 100 -150 -100 -50 N
P 4 1 1 10 -100 250 -100 50 100 150 -100 250 N
P 4 1 1 10 -100 550 -100 350 100 450 -100 550 N
X DI1 1 -450 450 100 R 50 50 1 1 I
X DO3+ 10 500 -100 100 L 50 50 1 1 O
X DO3- 11 500 -200 100 L 50 50 1 1 O
X EN34 12 -450 -300 100 R 50 50 1 1 I
X DO4- 13 500 -500 100 L 50 50 1 1 O
X DO4+ 14 500 -400 100 L 50 50 1 1 O
X DI4 15 -450 -450 100 R 50 50 1 1 I
X VCC 16 0 800 100 D 50 50 1 1 W
X DO1+ 2 500 500 100 L 50 50 1 1 O
X DO1- 3 500 400 100 L 50 50 1 1 O
X EN12 4 -450 300 100 R 50 50 1 1 I
X DO2- 5 500 100 100 L 50 50 1 1 O
X DO2+ 6 500 200 100 L 50 50 1 1 O
X DI2 7 -450 150 100 R 50 50 1 1 I
X GND 8 0 -800 100 U 50 50 1 1 W
X DI3 9 -450 -150 100 R 50 50 1 1 I
ENDDRAW
ENDDEF
#
# Connector_Generic:Conn_01x04
#
DEF Connector_Generic:Conn_01x04 J 0 40 Y N 1 F N
F0 "J" 0 200 50 H V C CNN
F1 "Connector_Generic:Conn_01x04" 0 -300 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_1x??_*
$ENDFPLIST
DRAW
S -50 -195 0 -205 1 1 6 N
S -50 -95 0 -105 1 1 6 N
S -50 5 0 -5 1 1 6 N
S -50 105 0 95 1 1 6 N
S -50 150 50 -250 1 1 10 f
X Pin_1 1 -200 100 150 R 50 50 1 1 P
X Pin_2 2 -200 0 150 R 50 50 1 1 P
X Pin_3 3 -200 -100 150 R 50 50 1 1 P
X Pin_4 4 -200 -200 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Connector_Generic:Conn_01x10
#
DEF Connector_Generic:Conn_01x10 J 0 40 Y N 1 F N
F0 "J" 0 500 50 H V C CNN
F1 "Connector_Generic:Conn_01x10" 0 -600 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_1x??_*
$ENDFPLIST
DRAW
S -50 -495 0 -505 1 1 6 N
S -50 -395 0 -405 1 1 6 N
S -50 -295 0 -305 1 1 6 N
S -50 -195 0 -205 1 1 6 N
S -50 -95 0 -105 1 1 6 N
S -50 5 0 -5 1 1 6 N
S -50 105 0 95 1 1 6 N
S -50 205 0 195 1 1 6 N
S -50 305 0 295 1 1 6 N
S -50 405 0 395 1 1 6 N
S -50 450 50 -550 1 1 10 f
X Pin_1 1 -200 400 150 R 50 50 1 1 P
X Pin_10 10 -200 -500 150 R 50 50 1 1 P
X Pin_2 2 -200 300 150 R 50 50 1 1 P
X Pin_3 3 -200 200 150 R 50 50 1 1 P
X Pin_4 4 -200 100 150 R 50 50 1 1 P
X Pin_5 5 -200 0 150 R 50 50 1 1 P
X Pin_6 6 -200 -100 150 R 50 50 1 1 P
X Pin_7 7 -200 -200 150 R 50 50 1 1 P
X Pin_8 8 -200 -300 150 R 50 50 1 1 P
X Pin_9 9 -200 -400 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Connector_Generic:Conn_02x03_Odd_Even
#
DEF Connector_Generic:Conn_02x03_Odd_Even J 0 40 Y N 1 F N
F0 "J" 50 200 50 H V C CNN
F1 "Connector_Generic:Conn_02x03_Odd_Even" 50 -200 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_2x??_*
$ENDFPLIST
DRAW
S -50 -95 0 -105 1 1 6 N
S -50 5 0 -5 1 1 6 N
S -50 105 0 95 1 1 6 N
S -50 150 150 -150 1 1 10 f
S 150 -95 100 -105 1 1 6 N
S 150 5 100 -5 1 1 6 N
S 150 105 100 95 1 1 6 N
X Pin_1 1 -200 100 150 R 50 50 1 1 P
X Pin_2 2 300 100 150 L 50 50 1 1 P
X Pin_3 3 -200 0 150 R 50 50 1 1 P
X Pin_4 4 300 0 150 L 50 50 1 1 P
X Pin_5 5 -200 -100 150 R 50 50 1 1 P
X Pin_6 6 300 -100 150 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Connector_Generic:Conn_02x04_Odd_Even
#
DEF Connector_Generic:Conn_02x04_Odd_Even J 0 40 Y N 1 F N
F0 "J" 50 200 50 H V C CNN
F1 "Connector_Generic:Conn_02x04_Odd_Even" 50 -300 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Connector*:*_2x??_*
$ENDFPLIST
DRAW
S -50 -195 0 -205 1 1 6 N
S -50 -95 0 -105 1 1 6 N
S -50 5 0 -5 1 1 6 N
S -50 105 0 95 1 1 6 N
S -50 150 150 -250 1 1 10 f
S 150 -195 100 -205 1 1 6 N
S 150 -95 100 -105 1 1 6 N
S 150 5 100 -5 1 1 6 N
S 150 105 100 95 1 1 6 N
X Pin_1 1 -200 100 150 R 50 50 1 1 P
X Pin_2 2 300 100 150 L 50 50 1 1 P
X Pin_3 3 -200 0 150 R 50 50 1 1 P
X Pin_4 4 300 0 150 L 50 50 1 1 P
X Pin_5 5 -200 -100 150 R 50 50 1 1 P
X Pin_6 6 300 -100 150 L 50 50 1 1 P
X Pin_7 7 -200 -200 150 R 50 50 1 1 P
X Pin_8 8 300 -200 150 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Device:CP_Small
#
DEF Device:CP_Small C 0 10 N N 1 F N
F0 "C" 10 70 50 H V L CNN
F1 "Device:CP_Small" 10 -80 50 H V L CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
CP_*
$ENDFPLIST
DRAW
S -60 -12 60 -27 0 1 0 F
S -60 27 60 12 0 1 0 N
P 2 0 1 0 -50 60 -30 60 N
P 2 0 1 0 -40 50 -40 70 N
X ~ 1 0 100 73 D 50 50 1 1 P
X ~ 2 0 -100 73 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Device:C_Small
#
DEF Device:C_Small C 0 10 N N 1 F N
F0 "C" 10 70 50 H V L CNN
F1 "Device:C_Small" 10 -80 50 H V L CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
C_*
$ENDFPLIST
DRAW
P 2 0 1 13 -60 -20 60 -20 N
P 2 0 1 12 -60 20 60 20 N
X ~ 1 0 100 80 D 50 50 1 1 P
X ~ 2 0 -100 80 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Device:Jumper_NC_Small
#
DEF Device:Jumper_NC_Small JP 0 30 N N 1 F N
F0 "JP" 0 80 50 H V C CNN
F1 "Device:Jumper_NC_Small" 10 -60 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
A 0 -10 57 450 1350 0 1 0 N 40 30 -40 30
C -40 0 20 0 1 0 N
C 40 0 20 0 1 0 N
X 1 1 -100 0 40 R 50 50 0 1 P
X 2 2 100 0 40 L 50 50 0 1 P
ENDDRAW
ENDDEF
#
# Device:R_Small
#
DEF Device:R_Small R 0 10 N N 1 F N
F0 "R" 30 20 50 H V L CNN
F1 "Device:R_Small" 30 -40 50 H V L CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
R_*
$ENDFPLIST
DRAW
S -30 70 30 -70 0 1 8 N
X ~ 1 0 100 30 D 50 50 1 1 P
X ~ 2 0 -100 30 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Interface:PCA9306
#
DEF Interface:PCA9306 U 0 40 Y Y 1 F N
F0 "U" -300 450 50 H V L CNN
F1 "Interface:PCA9306" 200 450 50 H V L CNN
F2 "" -400 350 50 H I C CNN
F3 "" -300 450 50 H I C CNN
$FPLIST
SSOP*2.95x2.8mm*P0.65mm*
VSSOP*2.3x2mm*P0.5mm*
X2SON*1.4x1mm*P0.35mm*
$ENDFPLIST
DRAW
S -300 400 300 -400 0 1 10 f
X GND 1 0 -500 100 U 50 50 1 1 W
X VREF1 2 -100 500 100 D 50 50 1 1 W
X SCL1 3 -400 0 100 R 50 50 1 1 B
X SDA1 4 -400 -100 100 R 50 50 1 1 B
X SDA2 5 400 -100 100 L 50 50 1 1 B
X SCL2 6 400 0 100 L 50 50 1 1 B
X VREF2 7 100 500 100 D 50 50 1 1 W
X EN 8 400 100 100 L 50 50 1 1 I
ENDDRAW
ENDDEF
#
# Interface_CAN_LIN:SN65HVD230
#
DEF Interface_CAN_LIN:SN65HVD230 U 0 40 Y Y 1 F N
F0 "U" -100 400 50 H V R CNN
F1 "Interface_CAN_LIN:SN65HVD230" -100 300 50 H V R CNN
F2 "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm" 0 -500 50 H I C CNN
F3 "" -100 400 50 H I C CNN
ALIAS SN65HVD231
$FPLIST
SOIC*3.9x4.9mm*P1.27mm*
$ENDFPLIST
DRAW
S -300 200 300 -300 0 1 10 f
X D 1 -400 100 100 R 50 50 1 1 I
X GND 2 0 -400 100 U 50 50 1 1 W
X VCC 3 0 300 100 D 50 50 1 1 W
X R 4 -400 0 100 R 50 50 1 1 O
X Vref 5 -400 -100 100 R 50 50 1 1 O
X CANL 6 400 -100 100 L 50 50 1 1 B
X CANH 7 400 0 100 L 50 50 1 1 B
X Rs 8 -400 -200 100 R 50 50 1 1 I
ENDDRAW
ENDDEF
#
# Interface_UART:MAX3485
#
DEF Interface_UART:MAX3485 U 0 20 Y Y 1 F N
F0 "U" -240 450 50 H V C CNN
F1 "Interface_UART:MAX3485" 30 450 50 H V L CNN
F2 "" 0 -700 50 H I C CNN
F3 "" 0 50 50 H I C CNN
ALIAS MAX483E MAX485E MAX487E MAX1487E MAX3485 MAX3483 MAX3486
$FPLIST
DIP*W7.62mm*
SOIC*3.9x4.9mm*P1.27mm*
$ENDFPLIST
DRAW
C -12 -145 14 0 1 10 F
C -1 59 14 0 1 10 F
C 65 75 14 0 1 10 F
S -300 400 300 -500 0 1 10 f
S 50 125 50 125 0 1 0 N
P 2 0 1 10 -160 -200 -75 -200 N
P 2 0 1 10 -160 100 -50 100 N
P 2 0 1 10 -50 -126 -50 -136 N
P 2 0 1 10 -25 -200 210 -200 N
P 3 0 1 10 -160 -100 -50 -100 -50 -125 N
P 3 0 1 10 0 50 0 0 -160 0 N
P 3 0 1 10 50 125 150 125 150 -200 N
P 3 0 1 10 100 75 100 -150 0 -150 N
P 4 0 1 10 -75 -125 -75 -225 25 -175 -75 -125 N
P 4 0 1 10 -50 100 50 150 50 50 -50 100 N
P 4 0 1 10 75 75 175 75 175 100 210 100 N
X RO 1 -400 100 100 R 50 50 1 1 O
X ~RE 2 -400 0 100 R 50 50 1 1 I
X DE 3 -400 -100 100 R 50 50 1 1 I
X DI 4 -400 -200 100 R 50 50 1 1 I
X GND 5 0 -600 100 U 50 50 1 1 W
X A 6 400 -200 100 L 50 50 1 1 B
X B 7 400 100 100 L 50 50 1 1 B
X VCC 8 0 500 100 D 50 50 1 1 W
ENDDRAW
ENDDEF
#
# Jumper:Jumper_3_Bridged12
#
DEF Jumper:Jumper_3_Bridged12 JP 0 0 Y N 1 F N
F0 "JP" -100 -100 50 H V C CNN
F1 "Jumper:Jumper_3_Bridged12" 0 110 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
$FPLIST
Jumper*Bridged12*
$ENDFPLIST
DRAW
A -65 -50 89 1282 518 0 1 0 N -120 20 -10 20
C -130 0 20 0 0 0 N
C 0 0 20 0 0 0 N
C 130 0 20 0 0 0 N
P 2 0 1 0 0 -50 0 -20 N
X A 1 -250 0 100 R 50 50 1 1 P
X C 2 0 -150 100 U 50 50 1 1 I
X B 3 250 0 100 L 50 50 1 1 P
ENDDRAW
ENDDEF
#
# Regulator_Linear:LM1117-5.0
#
DEF Regulator_Linear:LM1117-5.0 U 0 10 Y Y 1 F N
F0 "U" -150 125 50 H V C CNN
F1 "Regulator_Linear:LM1117-5.0" 0 125 50 H V L CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
ALIAS LM1117-2.5 LM1117-3.3 LM1117-5.0 TLV1117-15 TLV1117-18 TLV1117-25 TLV1117-33 TLV1117-50
$FPLIST
SOT?223*
TO?263*
TO?252*
TO?220*
$ENDFPLIST
DRAW
S -200 -200 200 75 0 1 10 f
X GND 1 0 -300 100 U 50 50 1 1 W
X VO 2 300 0 100 L 50 50 1 1 w
X VI 3 -300 0 100 R 50 50 1 1 W
ENDDRAW
ENDDEF
#
# power:+12V
#
DEF power:+12V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "power:+12V" 0 140 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +12V 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# power:+3.3V
#
DEF power:+3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "power:+3.3V" 0 140 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
ALIAS +3.3V
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +3V3 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# power:+5V
#
DEF power:+5V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "power:+5V" 0 140 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +5V 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# power:GND
#
DEF power:GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "power:GND" 0 -150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# power:PWR_FLAG
#
DEF power:PWR_FLAG #FLG 0 0 N N 1 F P
F0 "#FLG" 0 75 50 H I C CNN
F1 "power:PWR_FLAG" 0 150 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 6 0 1 0 0 0 0 50 -40 75 0 100 40 75 0 50 N
X pwr 1 0 0 0 U 50 50 0 0 w
ENDDRAW
ENDDEF
#
# teensy:Teensy3.2
#
DEF teensy:Teensy3.2 U 0 40 Y Y 1 F N
F0 "U" -700 -850 60 H V C CNN
F1 "teensy:Teensy3.2" 550 -850 60 H V C CNN
F2 "" -200 -800 60 H V C CNN
F3 "" -200 -800 60 H V C CNN
DRAW
S -750 800 750 -800 0 1 0 N
X GND 1 -950 700 200 R 50 50 1 1 W
X 8_TX3_DIN 10 -950 -200 200 R 50 50 1 1 B
X 9_RX2_CS_PWM 11 -950 -300 200 R 50 50 1 1 B
X 10_TX2_CS_PWM 12 -950 -400 200 R 50 50 1 1 B
X 11_DOUT 13 -950 -500 200 R 50 50 1 1 B
X 12_DIN 14 -950 -600 200 R 50 50 1 1 B
X VBat 15 -350 -1000 200 U 50 50 1 1 W
X 3.3V 16 -250 -1000 200 U 50 50 1 1 P
X GND 17 -150 -1000 200 U 50 50 1 1 W
X Program 18 -50 -1000 200 U 50 50 1 1 I
X A14/DAC 19 50 -1000 200 U 50 50 1 1 B
X 0_RX1_Touch 2 -950 600 200 R 50 50 1 1 B
X 13_LED_SCK 20 950 -600 200 L 50 50 1 1 B
X 14_A0_SCK 21 950 -500 200 L 50 50 1 1 B
X 15_A1_CS_Touch 22 950 -400 200 L 50 50 1 1 B
X 16_A2_SCL0_Touch 23 950 -300 200 L 50 50 1 1 B
X 17_A3_SDA0_Touch 24 950 -200 200 L 50 50 1 1 B
X 18_A4_SDA0_Touch 25 950 -100 200 L 50 50 1 1 B
X 19_A5_SCL0_Touch 26 950 0 200 L 50 50 1 1 B
X 20_A6_CS_PWM 27 950 100 200 L 50 50 1 1 B
X 21_A7_RX1_CS_PWM 28 950 200 200 L 50 50 1 1 B
X 22_A8_Touch_PWM 29 950 300 200 L 50 50 1 1 B
X 1_TX1_Touch 3 -950 500 200 R 50 50 1 1 B
X 23_A9_Touch_PWM 30 950 400 200 L 50 50 1 1 B
X 3.3V_max100mA 31 950 500 200 L 50 50 1 1 w
X AGND 32 950 600 200 L 50 50 1 1 w
X Vin 33 950 700 200 L 50 50 1 1 W
X 2 4 -950 400 200 R 50 50 1 1 B
X 3_TX_PWM 5 -950 300 200 R 50 50 1 1 B
X 4_RX_PWM 6 -950 200 200 R 50 50 1 1 B
X 5_TX1_PWM 7 -950 100 200 R 50 50 1 1 B
X 6_PWM 8 -950 0 200 R 50 50 1 1 B
X 7_RX3_DOUT 9 -950 -100 200 R 50 50 1 1 B
ENDDRAW
ENDDEF
#
#End Library
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,42 @@
(module OWN_DC-DC (layer F.Cu) (tedit 0)
(fp_text reference Ref** (at 0 0) (layer F.SilkS)
(effects (font (size 1.27 1.27) (thickness 0.15)))
)
(fp_text value Val** (at 0 0) (layer F.SilkS)
(effects (font (size 1.27 1.27) (thickness 0.15)))
)
(fp_line (start -17.145 -10.795) (end -17.145 0.635) (layer F.SilkS) (width 0.127))
(fp_line (start -17.145 0.635) (end 0.635 0.635) (layer F.SilkS) (width 0.127))
(fp_line (start 0.635 0.635) (end 0.635 -10.795) (layer F.SilkS) (width 0.127))
(fp_line (start 0.635 -10.795) (end -17.145 -10.795) (layer F.SilkS) (width 0.127))
(fp_line (start -17.145 -10.795) (end -17.145 0.635) (layer B.SilkS) (width 0.127))
(fp_line (start -17.145 -10.795) (end 0.635 -10.795) (layer B.SilkS) (width 0.127))
(fp_line (start 0.635 0.635) (end 0.635 -10.795) (layer B.SilkS) (width 0.127))
(fp_line (start 0.635 0.635) (end -17.145 0.635) (layer B.SilkS) (width 0.127))
(fp_text user +IN (at -15.24 -8.89) (layer F.SilkS)
(effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify left bottom))
)
(fp_text user OUT+ (at -1.27 -8.89) (layer F.SilkS)
(effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify right bottom))
)
(fp_text user GND (at -8.255 0) (layer F.SilkS)
(effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify bottom))
)
(fp_text user +IN (at -15.24 -8.89) (layer B.SilkS)
(effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify right bottom mirror))
)
(fp_text user OUT+ (at -1.27 -8.89) (layer B.SilkS)
(effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify left bottom mirror))
)
(fp_text user GND (at -8.255 0) (layer B.SilkS)
(effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify bottom mirror))
)
(pad IN+ thru_hole rect (at -15.875 -9.525) (size 1.308 1.308) (drill 0.8) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad IN- thru_hole rect (at -15.875 -0.635) (size 1.308 1.308) (drill 0.8) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad OUT+ thru_hole rect (at -0.635 -9.525) (size 1.308 1.308) (drill 0.8) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad OUT- thru_hole rect (at -0.635 -0.635) (size 1.308 1.308) (drill 0.8) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
)
@@ -0,0 +1,82 @@
(module OWN_KF141V-P10 (layer F.Cu) (tedit 5BE59B30)
(fp_text reference >NAME (at -25.4 1.27 90) (layer F.SilkS)
(effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify left))
)
(fp_text value Val** (at 3.81 0) (layer F.SilkS)
(effects (font (size 1.27 1.27) (thickness 0.15)))
)
(fp_line (start -26.83 -8.08) (end -26.83 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -26.83 -8.08) (end -24.33 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -6.55 -8.08) (end -4.01 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -4.01 -8.08) (end -1.47 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -1.47 -8.08) (end 1.07 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start 1.07 2.42) (end -1.47 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -1.47 2.42) (end -4.01 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -4.01 2.42) (end -6.55 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -24.33 2.42) (end -26.83 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -24.33 -8.08) (end -24.33 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -6.55 -8.08) (end -6.55 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -4.01 -8.08) (end -4.01 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -1.47 -8.08) (end -1.47 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start 1.07 -8.08) (end 1.07 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -24.33 -8.08) (end -21.79 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -21.79 -8.08) (end -19.25 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -19.25 -8.08) (end -16.71 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -16.71 -8.08) (end -14.17 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -14.17 -8.08) (end -11.63 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -11.63 -8.08) (end -9.09 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -9.09 -8.08) (end -6.55 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -6.55 2.42) (end -9.09 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -9.09 2.42) (end -11.63 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -11.63 2.42) (end -14.17 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -14.17 2.42) (end -16.71 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -16.71 2.42) (end -19.25 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -19.25 2.42) (end -21.79 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -21.79 2.42) (end -24.33 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -21.79 -8.08) (end -21.79 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -19.25 -8.08) (end -19.25 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -16.71 -8.08) (end -16.71 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -14.17 -8.08) (end -14.17 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -11.63 -8.08) (end -11.63 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -9.09 -8.08) (end -9.09 2.42) (layer F.SilkS) (width 0.127))
(pad P$101 thru_hole circle (at -22.86 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$102 thru_hole circle (at -20.32 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$103 thru_hole circle (at -17.78 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$104 thru_hole circle (at -15.24 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$105 thru_hole circle (at -12.7 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$106 thru_hole circle (at -10.16 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$107 thru_hole circle (at -7.62 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$108 thru_hole circle (at -5.08 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$109 thru_hole circle (at -2.54 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$110 thru_hole circle (at 0 0 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$201 thru_hole circle (at -22.86 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$202 thru_hole circle (at -20.32 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$203 thru_hole circle (at -17.78 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$204 thru_hole circle (at -15.24 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$205 thru_hole circle (at -12.7 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$206 thru_hole circle (at -10.16 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$207 thru_hole circle (at -7.62 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$208 thru_hole circle (at -5.08 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$209 thru_hole circle (at -2.54 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$210 thru_hole circle (at 0 -5.08 90) (size 1.6764 1.6764) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
)
@@ -0,0 +1,40 @@
(module OWN_KF141V-P4 (layer F.Cu) (tedit 0)
(fp_text reference >NAME (at -10.16 1.27 90) (layer F.SilkS)
(effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify left))
)
(fp_text value Val** (at 0 0) (layer F.SilkS)
(effects (font (size 1.27 1.27) (thickness 0.15)))
)
(fp_line (start -11.59 -8.08) (end -11.59 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -11.59 -8.08) (end -9.09 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -9.09 -8.08) (end -6.55 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -6.55 -8.08) (end -4.01 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -4.01 -8.08) (end -1.47 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -1.47 2.42) (end -4.01 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -4.01 2.42) (end -6.55 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -6.55 2.42) (end -9.09 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -9.09 2.42) (end -11.59 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -9.09 -8.08) (end -9.09 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -6.55 -8.08) (end -6.55 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -4.01 -8.08) (end -4.01 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -1.47 -8.08) (end -1.47 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start 1.07 -8.08) (end 1.07 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -1.43 -8.08) (end 1.07 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -1.43 2.42) (end 1.07 2.42) (layer F.SilkS) (width 0.127))
(pad P$101 thru_hole oval (at -7.62 0 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$102 thru_hole oval (at -5.08 0 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$103 thru_hole oval (at -2.54 0 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$104 thru_hole oval (at 0 0 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$201 thru_hole oval (at -7.62 -5.08 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$202 thru_hole oval (at -5.08 -5.08 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$203 thru_hole oval (at -2.54 -5.08 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad P$204 thru_hole oval (at 0 -5.08 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
)
@@ -0,0 +1,40 @@
(module OWN_KF141V-P4_simple (layer F.Cu) (tedit 5BE8AF3A)
(fp_text reference >NAME (at -10.16 1.27 90) (layer F.SilkS)
(effects (font (size 1.2065 1.2065) (thickness 0.1016)) (justify left))
)
(fp_text value Val** (at 0 0) (layer F.SilkS)
(effects (font (size 1.27 1.27) (thickness 0.15)))
)
(fp_line (start -11.59 -8.08) (end -11.59 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -11.59 -8.08) (end -9.09 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -9.09 -8.08) (end -6.55 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -6.55 -8.08) (end -4.01 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -4.01 -8.08) (end -1.47 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -1.47 2.42) (end -4.01 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -4.01 2.42) (end -6.55 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -6.55 2.42) (end -9.09 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -9.09 2.42) (end -11.59 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -9.09 -8.08) (end -9.09 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -6.55 -8.08) (end -6.55 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -4.01 -8.08) (end -4.01 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -1.47 -8.08) (end -1.47 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start 1.07 -8.08) (end 1.07 2.42) (layer F.SilkS) (width 0.127))
(fp_line (start -1.43 -8.08) (end 1.07 -8.08) (layer F.SilkS) (width 0.127))
(fp_line (start -1.43 2.42) (end 1.07 2.42) (layer F.SilkS) (width 0.127))
(pad 1 thru_hole oval (at -7.62 0 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad 2 thru_hole oval (at -5.08 0 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad 3 thru_hole oval (at -2.54 0 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad 4 thru_hole oval (at 0 0 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad 1 thru_hole oval (at -7.62 -5.08 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad 2 thru_hole oval (at -5.08 -5.08 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad 3 thru_hole oval (at -2.54 -5.08 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
(pad 4 thru_hole oval (at 0 -5.08 90) (size 3.016 1.508) (drill 1) (layers *.Cu *.Mask)
(solder_mask_margin 0.1016))
)
+267
View File
@@ -0,0 +1,267 @@
update=Tue Sep 3 03:50:31 2019
version=1
last_client=kicad
[general]
version=1
RootSch=
BoardNm=
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=
[eeschema/libraries]
[schematic_editor]
version=1
PageLayoutDescrFile=
PlotDirectoryName=images/
SubpartIdSeparator=0
SubpartFirstId=65
NetFmtName=Pcbnew
SpiceAjustPassiveValues=0
LabSize=50
ERC_TestSimilarLabels=1
[pcbnew]
version=1
PageLayoutDescrFile=
LastNetListRead=CANNode.net
CopperLayerCount=4
BoardThickness=1.6
AllowMicroVias=0
AllowBlindVias=0
RequireCourtyardDefinitions=0
ProhibitOverlappingCourtyards=1
MinTrackWidth=0.1524
MinViaDiameter=0.6858
MinViaDrill=0.3302
MinMicroViaDiameter=0.2
MinMicroViaDrill=0.09999999999999999
MinHoleToHole=0.25
TrackWidth1=0.3
TrackWidth2=0.175
TrackWidth3=0.2
TrackWidth4=0.25
TrackWidth5=0.3
TrackWidth6=0.4
TrackWidth7=0.6
TrackWidth8=0.8
TrackWidth9=1.6
ViaDiameter1=0.6858
ViaDrill1=0.3302
dPairWidth1=0.2
dPairGap1=0.175
dPairViaGap1=0.25
SilkLineWidth=0.15
SilkTextSizeV=1
SilkTextSizeH=1
SilkTextSizeThickness=0.15
SilkTextItalic=0
SilkTextUpright=1
CopperLineWidth=0.2
CopperTextSizeV=1.5
CopperTextSizeH=1.5
CopperTextThickness=0.3
CopperTextItalic=0
CopperTextUpright=1
EdgeCutLineWidth=0.2
CourtyardLineWidth=0.05
OthersLineWidth=0.15
OthersTextSizeV=1
OthersTextSizeH=1
OthersTextSizeThickness=0.15
OthersTextItalic=0
OthersTextUpright=1
SolderMaskClearance=0.2
SolderMaskMinWidth=0.25
SolderPasteClearance=0
SolderPasteRatio=0
[pcbnew/Layer.F.Cu]
Name=F.Cu
Type=0
Enabled=1
[pcbnew/Layer.In1.Cu]
Name=In1.Cu
Type=0
Enabled=1
[pcbnew/Layer.In2.Cu]
Name=In2.Cu
Type=0
Enabled=1
[pcbnew/Layer.In3.Cu]
Name=In3.Cu
Type=0
Enabled=0
[pcbnew/Layer.In4.Cu]
Name=In4.Cu
Type=0
Enabled=0
[pcbnew/Layer.In5.Cu]
Name=In5.Cu
Type=0
Enabled=0
[pcbnew/Layer.In6.Cu]
Name=In6.Cu
Type=0
Enabled=0
[pcbnew/Layer.In7.Cu]
Name=In7.Cu
Type=0
Enabled=0
[pcbnew/Layer.In8.Cu]
Name=In8.Cu
Type=0
Enabled=0
[pcbnew/Layer.In9.Cu]
Name=In9.Cu
Type=0
Enabled=0
[pcbnew/Layer.In10.Cu]
Name=In10.Cu
Type=0
Enabled=0
[pcbnew/Layer.In11.Cu]
Name=In11.Cu
Type=0
Enabled=0
[pcbnew/Layer.In12.Cu]
Name=In12.Cu
Type=0
Enabled=0
[pcbnew/Layer.In13.Cu]
Name=In13.Cu
Type=0
Enabled=0
[pcbnew/Layer.In14.Cu]
Name=In14.Cu
Type=0
Enabled=0
[pcbnew/Layer.In15.Cu]
Name=In15.Cu
Type=0
Enabled=0
[pcbnew/Layer.In16.Cu]
Name=In16.Cu
Type=0
Enabled=0
[pcbnew/Layer.In17.Cu]
Name=In17.Cu
Type=0
Enabled=0
[pcbnew/Layer.In18.Cu]
Name=In18.Cu
Type=0
Enabled=0
[pcbnew/Layer.In19.Cu]
Name=In19.Cu
Type=0
Enabled=0
[pcbnew/Layer.In20.Cu]
Name=In20.Cu
Type=0
Enabled=0
[pcbnew/Layer.In21.Cu]
Name=In21.Cu
Type=0
Enabled=0
[pcbnew/Layer.In22.Cu]
Name=In22.Cu
Type=0
Enabled=0
[pcbnew/Layer.In23.Cu]
Name=In23.Cu
Type=0
Enabled=0
[pcbnew/Layer.In24.Cu]
Name=In24.Cu
Type=0
Enabled=0
[pcbnew/Layer.In25.Cu]
Name=In25.Cu
Type=0
Enabled=0
[pcbnew/Layer.In26.Cu]
Name=In26.Cu
Type=0
Enabled=0
[pcbnew/Layer.In27.Cu]
Name=In27.Cu
Type=0
Enabled=0
[pcbnew/Layer.In28.Cu]
Name=In28.Cu
Type=0
Enabled=0
[pcbnew/Layer.In29.Cu]
Name=In29.Cu
Type=0
Enabled=0
[pcbnew/Layer.In30.Cu]
Name=In30.Cu
Type=0
Enabled=0
[pcbnew/Layer.B.Cu]
Name=B.Cu
Type=0
Enabled=1
[pcbnew/Layer.B.Adhes]
Enabled=1
[pcbnew/Layer.F.Adhes]
Enabled=1
[pcbnew/Layer.B.Paste]
Enabled=1
[pcbnew/Layer.F.Paste]
Enabled=1
[pcbnew/Layer.B.SilkS]
Enabled=1
[pcbnew/Layer.F.SilkS]
Enabled=1
[pcbnew/Layer.B.Mask]
Enabled=1
[pcbnew/Layer.F.Mask]
Enabled=1
[pcbnew/Layer.Dwgs.User]
Enabled=1
[pcbnew/Layer.Cmts.User]
Enabled=1
[pcbnew/Layer.Eco1.User]
Enabled=1
[pcbnew/Layer.Eco2.User]
Enabled=1
[pcbnew/Layer.Edge.Cuts]
Enabled=1
[pcbnew/Layer.Margin]
Enabled=1
[pcbnew/Layer.B.CrtYd]
Enabled=1
[pcbnew/Layer.F.CrtYd]
Enabled=1
[pcbnew/Layer.B.Fab]
Enabled=1
[pcbnew/Layer.F.Fab]
Enabled=1
[pcbnew/Layer.Rescue]
Enabled=0
[pcbnew/Netclasses]
[pcbnew/Netclasses/Default]
Name=Default
Clearance=0.175
TrackWidth=0.3
ViaDiameter=0.6858
ViaDrill=0.3302
uViaDiameter=0.3
uViaDrill=0.1
dPairWidth=0.2
dPairGap=0.175
dPairViaGap=0.25
[pcbnew/Netclasses/1]
Name=Power
Clearance=0.2
TrackWidth=0.5
ViaDiameter=1.25
ViaDrill=0.5
uViaDiameter=0.65
uViaDrill=0.2
dPairWidth=0.2
dPairGap=0.25
dPairViaGap=0.25
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+44
View File
@@ -0,0 +1,44 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# MAX481E
#
DEF MAX481E U 0 20 Y Y 1 F N
F0 "U" -240 450 50 H V C CNN
F1 "MAX481E" 30 450 50 H V L CNN
F2 "" 0 -700 50 H I C CNN
F3 "" 0 50 50 H I C CNN
ALIAS MAX483E MAX485E MAX487E MAX1487E MAX3485 MAX3483 MAX3486
$FPLIST
DIP*W7.62mm*
SOIC*3.9x4.9mm*P1.27mm*
$ENDFPLIST
DRAW
C -12 -145 14 0 1 10 F
C -1 59 14 0 1 10 F
C 65 75 14 0 1 10 F
S -300 400 300 -500 0 1 10 f
S 50 125 50 125 0 1 0 N
P 2 0 1 10 -160 -200 -75 -200 N
P 2 0 1 10 -160 100 -50 100 N
P 2 0 1 10 -50 -126 -50 -136 N
P 2 0 1 10 -25 -200 210 -200 N
P 3 0 1 10 -160 -100 -50 -100 -50 -125 N
P 3 0 1 10 0 50 0 0 -160 0 N
P 3 0 1 10 50 125 150 125 150 -200 N
P 3 0 1 10 100 75 100 -150 0 -150 N
P 4 0 1 10 -75 -125 -75 -225 25 -175 -75 -125 N
P 4 0 1 10 -50 100 50 150 50 50 -50 100 N
P 4 0 1 10 75 75 175 75 175 100 210 100 N
X RO 1 -400 100 100 R 50 50 1 1 O
X ~RE 2 -400 0 100 R 50 50 1 1 I
X DE 3 -400 -100 100 R 50 50 1 1 I
X DI 4 -400 -200 100 R 50 50 1 1 I
X GND 5 0 -600 100 U 50 50 1 1 W
X A 6 400 -200 100 L 50 50 1 1 B
X B 7 400 100 100 L 50 50 1 1 B
X VCC 8 0 500 100 D 50 50 1 1 W
ENDDRAW
ENDDEF
#
#End Library
+29
View File
@@ -0,0 +1,29 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# PCA9306
#
DEF PCA9306 U 0 40 Y Y 1 F N
F0 "U" -300 450 50 H V L CNN
F1 "PCA9306" 200 450 50 H V L CNN
F2 "" -400 350 50 H I C CNN
F3 "" -300 450 50 H I C CNN
$FPLIST
SSOP*2.95x2.8mm*P0.65mm*
VSSOP*2.3x2mm*P0.5mm*
X2SON*1.4x1mm*P0.35mm*
$ENDFPLIST
DRAW
S -300 400 300 -400 0 1 10 f
X GND 1 0 -500 100 U 50 50 1 1 W
X VREF1 2 -100 500 100 D 50 50 1 1 W
X SCL1 3 -400 -100 100 R 50 50 1 1 B
X SDA1 4 -400 0 100 R 50 50 1 1 B
X SDA2 5 400 0 100 L 50 50 1 1 B
X SCL2 6 400 -100 100 L 50 50 1 1 B
X VREF2 7 100 500 100 D 50 50 1 1 W
X EN 8 400 100 100 L 50 50 1 1 I
ENDDRAW
ENDDEF
#
#End Library
+1
View File
@@ -0,0 +1 @@
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
+3
View File
@@ -0,0 +1,3 @@
Homegrown CAN/OW based home automation.
https://wiebel.org/CANNode/
+92 -27
View File
@@ -1,11 +1,12 @@
#include <Arduino.h> // #include <Arduino.h>
// ------------------------------------------------------------- // -------------------------------------------------------------
// CANNode for Teensy 3.1/3.2 // CANNode for Teensy 3.1/3.2
// // GPLv2
// by wiebel // by wiebel (c) 2015-2018
// // github_push_test_01
#include <vector>
#include <Metro.h> #include <Metro.h>
#include <FlexCAN.h> #include <FlexCAN.h>
#include <OneWire.h> #include <OneWire.h>
@@ -13,7 +14,9 @@
// For Node definition: // For Node definition:
#include "Node_2_def.h" #include "Node_1_def.h" // Dachstuhl
//#include "Node_2_def.h" // Werkstatt
//#include "Node_3_def.h" // Keller
// Metro ticks in ms // Metro ticks in ms
#define METRO_CAN_tick 1 #define METRO_CAN_tick 1
@@ -63,13 +66,15 @@ FlexCAN CANbus(CAN_speed);
// FLEXCAN0_MCR &= ~FLEXCAN_MCR_SRX_DIS; // FLEXCAN0_MCR &= ~FLEXCAN_MCR_SRX_DIS;
// OneWire // OneWire
uint8_t addr[8]; uint8_t addr[8];
uint8_t data[8];
uint8_t buffer[DS2406_BUF_LEN]; uint8_t buffer[DS2406_BUF_LEN];
uint8_t readout,trig_event,event_idx,tmp; uint8_t readout,recheck,trig_event,event_idx,tmp;
OneWire OW_1(OW_pin); OneWire OW_1(OW_pin);
telegram_comp_t mesg_comp; telegram_comp_t mesg_comp;
static CAN_message_t txmsg,rxmsg; static CAN_message_t global_txmsg,rxmsg;
CAN_message_t txmsg;
static uint8_t hex[17] = "0123456789abcdef"; static uint8_t hex[17] = "0123456789abcdef";
int txCount,rxCount; int txCount,rxCount;
@@ -121,10 +126,39 @@ uint8_t toggle_Pin(uint8_t pin){
return digitalRead(pin); return digitalRead(pin);
} }
uint32_t forgeid(event_t event){ uint32_t event2id(event_t event){
return (event.prio<<26)+(event.dst<<16)+(NODE_ID<<8)+event.cmd; return (event.prio<<26)+(event.dst<<16)+(NODE_ID<<8)+event.cmd;
} }
uint32_t forgeid(uint8_t prio, uint8_t dst, uint8_t cmd, uint8_t type=0){
// CMD:
// Type: 0: SINGLE, 1: FIRST, 2: CONT, 3: LAST
return (prio<<26)+(type<<24)+(dst<<16)+(NODE_ID<<8)+cmd;
}
int CAN_send(uint8_t prio, uint8_t dst, uint8_t cmd, uint8_t* data, uint8_t data_size, uint8_t type=0){
txmsg.ext = 1;
txmsg.timeout = 100;
txmsg.id = forgeid(prio, dst, cmd, type);
txmsg.len = data_size;
for (uint8_t i = 0; i < txmsg.len; i++) { txmsg.buf[i] = data[i]; }
return CANbus.write(txmsg);
// txmsg.buf[0]++;
// txmsg.len = 0;
}
int CAN_send(uint8_t prio, uint8_t dst, uint8_t cmd, uint8_t data, uint8_t type=0){
txmsg.ext = 1;
txmsg.timeout = 100;
txmsg.id = forgeid(prio, dst, cmd, type);
txmsg.len = 1;
txmsg.buf[0] = data;
return CANbus.write(txmsg);
// txmsg.buf[0]++;
// txmsg.len = 0;
}
telegram_comp_t parse_CAN(CAN_message_t mesg){ telegram_comp_t parse_CAN(CAN_message_t mesg){
telegram_comp_t tmp; telegram_comp_t tmp;
tmp.prio=mesg.id>>26; tmp.prio=mesg.id>>26;
@@ -142,21 +176,25 @@ void send_event (uint8_t trig_event){
for (uint8_t e_idx = 0; tx_events[e_idx].tag != 0; e_idx++) for (uint8_t e_idx = 0; tx_events[e_idx].tag != 0; e_idx++)
if ( tx_events[e_idx].tag == trig_event ) { if ( tx_events[e_idx].tag == trig_event ) {
txmsg.id = forgeid(tx_events[e_idx]); txmsg.ext = 1;
txmsg.timeout = 100;
txmsg.id = event2id(tx_events[e_idx]);
txmsg.len = 1; txmsg.len = 1;
// txmsg.timeout = 100;
txmsg.buf[0]= tx_events[e_idx].data; txmsg.buf[0]= tx_events[e_idx].data;
CANbus.write(txmsg); CANbus.write(txmsg);
Serial.print(F("Sending to CAN ID: ")); Serial.print(F("Sending to CAN ID: "));
Serial.print(txmsg.id); Serial.print(txmsg.id);
Serial.print(F("DATA: ")); Serial.print(F("DATA: "));
Serial.println(txmsg.buf[0]); Serial.println(txmsg.buf[0]);
txmsg.len = 0; // txmsg.buf[0]++;
// txmsg.len = 0;
} }
} }
void take_action (action_type type, uint8_t tag ){
void take_action (cmd_type type, uint8_t tag ){
for (uint8_t i = 0; action_map[i].tag != 0 ; i++) { for (uint8_t i = 0; action_map[i].tag != 0 ; i++) {
if ( action_map[i].tag == tag ) { if ( action_map[i].tag == tag ) {
bool old_state = digitalRead(outputs[action_map[i].outputs_idx].address);
switch ( type ) { switch ( type ) {
case OFF: case OFF:
digitalWrite(outputs[action_map[i].outputs_idx].address,LOW ^ outputs[action_map[i].outputs_idx].invert); digitalWrite(outputs[action_map[i].outputs_idx].address,LOW ^ outputs[action_map[i].outputs_idx].invert);
@@ -179,6 +217,17 @@ for (uint8_t i = 0; action_map[i].tag != 0 ; i++) {
Serial.println(F("TBD")); Serial.println(F("TBD"));
break; break;
} }
bool new_state = digitalRead(outputs[action_map[i].outputs_idx].address);
if ( old_state == new_state) {
data[0]=action_map[i].outputs_idx;
data[1]=new_state ^ outputs[action_map[i].outputs_idx].invert;
CAN_send(NOTIFY, 0x0, STATE_OUT, data, 2);
}
else {
data[0]=action_map[i].outputs_idx;
data[1]=new_state ^ outputs[action_map[i].outputs_idx].invert;
CAN_send(NOTIFY, 0x0, NEWSTATE_OUT, data, 2);
}
} }
} }
} }
@@ -196,8 +245,6 @@ void setup(void)
pinMode(CAN_RS_PIN,OUTPUT); pinMode(CAN_RS_PIN,OUTPUT);
digitalWrite(CAN_RS_PIN,0); digitalWrite(CAN_RS_PIN,0);
CANbus.begin(); CANbus.begin();
txmsg.ext = 1;
txmsg.timeout = 100;
// outputs // outputs
for (size_t i = 0; outputs[i].type != NOP; i++) { for (size_t i = 0; outputs[i].type != NOP; i++) {
@@ -252,9 +299,11 @@ void loop(void)
} }
} }
if (new_owd) { if (new_owd) {
// send new ID to all
Serial.print("Found a device: "); Serial.print("Found a device: ");
print_OW_Device(addr); print_OW_Device(addr);
Serial.println(); Serial.println();
CAN_send(NOTIFY, 0x0, NEW_TWID, addr, sizeof(addr));
} }
} }
@@ -280,19 +329,29 @@ void loop(void)
} }
// if ((switches_state[s_idx] != readout) && (readout != 255 )) { // if ((switches_state[s_idx] != readout) && (readout != 255 )) {
if (switches_state[s_idx] != readout) { if (switches_state[s_idx] != readout) {
delay(1);
recheck = read_DS2406(switches[s_idx].addr);
if (readout == recheck) {
tmp = readout ^ switches_state[s_idx]; tmp = readout ^ switches_state[s_idx];
switches_state[s_idx] = readout; switches_state[s_idx] = readout;
action[0] = tmp & 0x08; action[0] = tmp & 0x08;
action[1] = tmp & 0x04; action[1] = tmp & 0x04;
} }
}
if (action[0]) { if (action[0]) {
Serial.print("pioA of switch "); Serial.print("pioA of switch ");
Serial.print(switches[s_idx].nick); Serial.print(switches[s_idx].nick);
if (readout & 0x08) { if (readout & 0x08) {
Serial.println(F(" is now OFF")); Serial.println(F(" is now OFF"));
data[0]=switches[s_idx].nick;
data[1]=0;
CAN_send(NOTIFY, 0x0, STATE_IN, data, 2);
send_event(switches[s_idx].event_tag[0]); send_event(switches[s_idx].event_tag[0]);
} else { } else {
Serial.println(F(" is now ON")); Serial.println(F(" is now ON"));
data[0]=switches[s_idx].nick;
data[1]=1;
CAN_send(NOTIFY, 0x0, STATE_IN, data, 2);
send_event(switches[s_idx].event_tag[1]); send_event(switches[s_idx].event_tag[1]);
} }
action[0] = 0; action[0] = 0;
@@ -302,9 +361,15 @@ void loop(void)
Serial.print(switches[s_idx].nick); Serial.print(switches[s_idx].nick);
if (readout & 0x04) { if (readout & 0x04) {
Serial.println(F(" is now OFF")); Serial.println(F(" is now OFF"));
data[0]=switches[s_idx].nick;
data[1]=2;
CAN_send(NOTIFY, 0x0, STATE_IN, data, 2);
send_event(switches[s_idx].event_tag[2]); send_event(switches[s_idx].event_tag[2]);
} else { } else {
Serial.println(F(" is now ON")); Serial.println(F(" is now ON"));
data[0]=switches[s_idx].nick;
data[1]=3;
CAN_send(NOTIFY, 0x0, STATE_IN, data, 2);
send_event(switches[s_idx].event_tag[3]); send_event(switches[s_idx].event_tag[3]);
} }
action[1] = 0; action[1] = 0;
@@ -353,18 +418,18 @@ void loop(void)
} }
rxCount = 0; rxCount = 0;
} }
txTimer = 100;//milliseconds // txTimer = 10;//milliseconds
if (txmsg.len != 0){ // if (txmsg.len != 0){
Serial.print("PUT="); // Serial.print("PUT=");
Serial.print(txmsg.id,HEX); // Serial.print(txmsg.id,HEX);
for (uint8_t i=0; i<txmsg.len; i++){ // for (uint8_t i=0; i<txmsg.len; i++){
Serial.print(":"); // Serial.print(":");
Serial.print(txmsg.buf[i],HEX); // Serial.print(txmsg.buf[i],HEX);
} // }
Serial.print("\n"); // Serial.print("\n");
CANbus.write(txmsg); // CANbus.write(txmsg);
txmsg.buf[0]++; // txmsg.buf[0]++;
txmsg.len = 0; // txmsg.len = 0;
} // }
} }
+2 -2
View File
@@ -4,8 +4,8 @@
enum out_type { GPIO, PWM, OW, I2C, SPI, WS2811, DMX, NOP }; enum out_type { GPIO, PWM, OW, I2C, SPI, WS2811, DMX, NOP };
enum event_type { LOCAL, SEND}; enum event_type { LOCAL, SEND};
enum action_type { OFF, ON, VALUE, TOGGLE }; enum cmd_type { OFF, ON, VALUE, TOGGLE, STATE_OUT, STATE_IN, NEWSTATE_OUT, NEWSTATE_IN, BIN_DUMP, NEW_TWID };
enum telegram_type { ALERT, EVENT, NOTIFY, INFO }; enum telegram_prio { ALERT, EVENT, NOTIFY, INFO };
typedef struct CAN_telegram_t { typedef struct CAN_telegram_t {
uint32_t id; uint32_t id;
+3 -1
View File
@@ -1,4 +1,6 @@
// Configuration #include "CANNode.h"
// Node 01 - Dachstuhl
#define NODE_ID 0x01 #define NODE_ID 0x01
// Misc // Misc
+5 -2
View File
@@ -1,5 +1,6 @@
#include "CANNode.h" #include "CANNode.h"
// Configuration
// Node 02 - Werkstatt
#define NODE_ID 0x02 #define NODE_ID 0x02
// Misc // Misc
@@ -30,7 +31,9 @@ static OW_switch_t switches[N_SWITCHES] PROGMEM={
// nick, addr[8], event_tag[pioA_FALL, pioA_RISE, pioB_FALL, pioB_RISE] // nick, addr[8], event_tag[pioA_FALL, pioA_RISE, pioB_FALL, pioB_RISE]
{ 255, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, { 0, 0, 0, 0 } }, { 255, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, { 0, 0, 0, 0 } },
{ 21, { 0x12, 0x86, 0xB4, 0x54, 0x0, 0x0, 0x0, 0x5F }, { 23, 23, 37, 37 } }, // Flur { 21, { 0x12, 0x86, 0xB4, 0x54, 0x0, 0x0, 0x0, 0x5F }, { 23, 23, 37, 37 } }, // Flur
{ 22, { 0x12, 0x5E, 0xFF, 0x55, 0x0, 0x0, 0x0, 0x2C }, { 21, 21, 22, 22 } }, // WZ { 22, { 0x12, 0xCE, 0x6E, 0xCA, 0x0, 0x0, 0x0, 0x9C }, { 22, 22, 21, 21 } }, // WZ
// { 22, { 0x12, 0xC7, 0x2F, 0xCF, 0x0, 0x0, 0x0, 0xAF }, { 22, 22, 21, 21 } }, // WZ
// { 22, { 0x12, 0x5E, 0xFF, 0x55, 0x0, 0x0, 0x0, 0x2C }, { 21, 21, 22, 22 } }, // WZ
{ 0, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, { 0, 0, 0, 0 } } { 0, { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, { 0, 0, 0, 0 } }
}; };
static uint8_t switches_state[N_SWITCHES]; static uint8_t switches_state[N_SWITCHES];
+12 -28
View File
@@ -1,5 +1,6 @@
#include "CANNode.h" #include "CANNode.h"
// Configuration
// Node 03 - Keller
#define NODE_ID 0x03 #define NODE_ID 0x03
// Misc // Misc
@@ -18,8 +19,8 @@
#define RELAY4 22 #define RELAY4 22
#define RELAY5 17 #define RELAY5 17
#define RELAY6 16 #define RELAY6 16
#define RELAY7 9 #define RELAY7 19
#define RELAY8 10 #define RELAY8 18
// OneWire // OneWire
#define OW_pin 14 #define OW_pin 14
@@ -34,8 +35,8 @@ static OW_switch_t switches[N_SWITCHES] PROGMEM={
//{ 21, { 0x12, 0x86, 0xB4, 0x54, 0x0, 0x0, 0x0, 0x5F }, { 3, 3, 4, 4 } }, //{ 21, { 0x12, 0x86, 0xB4, 0x54, 0x0, 0x0, 0x0, 0x5F }, { 3, 3, 4, 4 } },
{ 22, { 0x12, 0x84, 0xAD, 0x4F, 0x0, 0x0, 0x0, 0x12 }, { 1, 1, 2, 2 } }, // EZ -> Küche { 22, { 0x12, 0x84, 0xAD, 0x4F, 0x0, 0x0, 0x0, 0x12 }, { 1, 1, 2, 2 } }, // EZ -> Küche
// { 31, { 0x12, 0x88, 0xDD, 0x53, 0x0, 0x0, 0x0, 0x28 }, { 210, 211, 220, 221 } }, // Roldenschalter (A - UP, B - DOWN) // { 31, { 0x12, 0x88, 0xDD, 0x53, 0x0, 0x0, 0x0, 0x28 }, { 210, 211, 220, 221 } }, // Roldenschalter (A - UP, B - DOWN)
{ 23, { 0x12, 0x68, 0x31, 0x67, 0x0, 0x0, 0x0, 0xBC }, { 2, 2, 3, 3 } }, // Terrasse { 31, { 0x12, 0x8F, 0xE2, 0x86 ,0x0, 0x0, 0x0, 0xC6}, { 220, 221, 210, 211 } } // Roldenschalter (A - UP, B - DOWN)
{ 24, { 0x12, 0x88, 0xDD, 0x53, 0x0, 0x0, 0x0, 0x28 }, { 50, 51, 40, 41 } }, // Rolladen
}; };
static uint8_t switches_state[N_SWITCHES]; static uint8_t switches_state[N_SWITCHES];
static outputs_t outputs[N_OUTPUTS] PROGMEM={ static outputs_t outputs[N_OUTPUTS] PROGMEM={
@@ -61,21 +62,17 @@ static event_t tx_events[N_EVENTS] PROGMEM={
{ 1, 0x03, 0x03, TOGGLE, 0x01}, { 1, 0x03, 0x03, TOGGLE, 0x01},
{ 2, 0x03, 0x03, TOGGLE, 0x02}, { 2, 0x03, 0x03, TOGGLE, 0x02},
{ 3, 0x03, 0x03, TOGGLE, 0x03}, { 3, 0x03, 0x03, TOGGLE, 0x03},
{ 40, 0x03, 0x03, OFF, 0x04}, { 4, 0x03, 0x03, TOGGLE, 0x04},
{ 41, 0x03, 0x03, OFF, 0x05}, { 5, 0x03, 0x03, TOGGLE, 0x05},
{ 41, 0x03, 0x03, ON, 0x04},
{ 50, 0x03, 0x03, OFF, 0x05},
{ 51, 0x03, 0x03, OFF, 0x04},
{ 51, 0x03, 0x03, ON, 0x05},
{ 6, 0x03, 0x03, TOGGLE, 0x06}, { 6, 0x03, 0x03, TOGGLE, 0x06},
{ 7, 0x03, 0x03, TOGGLE, 0x07}, { 7, 0x03, 0x03, TOGGLE, 0x07},
{ 8, 0x03, 0x03, TOGGLE, 0x08}, { 8, 0x03, 0x03, TOGGLE, 0x08},
{ 11, 0x03, 0x01, ON, 0x01}, { 11, 0x03, 0x01, ON, 0x01},
{ 12, 0x03, 0x01, ON, 0x02}, { 12, 0x03, 0x01, ON, 0x02},
{ 210, 0x03, 0xff, OFF, 0x06}, { 210, 0x03, 0x03, OFF, 0x04},
{ 211, 0x03, 0xff, ON, 0x06}, { 211, 0x03, 0x03, ON, 0x04},
{ 220, 0x03, 0xff, OFF, 0x07}, { 220, 0x03, 0x03, OFF, 0x05},
{ 221, 0x03, 0xff, ON, 0x07}, { 221, 0x03, 0x03, ON, 0x05},
{ 255, 0x03, 0xff, OFF, 0x09}, { 255, 0x03, 0xff, OFF, 0x09},
{ 254, 0x03, 0xff, ON, 0x09}, { 254, 0x03, 0xff, ON, 0x09},
{ 10, 0x03, 0xff, TOGGLE, 0x01}, { 10, 0x03, 0xff, TOGGLE, 0x01},
@@ -104,19 +101,6 @@ static action_t action_map[N_ACTIONS] PROGMEM={
{7, 6}, {7, 6},
{8, 7}, {8, 7},
{9, 0},{9, 1},{9, 2},{9, 3},{9, 4},{9, 5},{9, 6},{9, 7}, {9, 0},{9, 1},{9, 2},{9, 3},{9, 4},{9, 5},{9, 6},{9, 7},
{101, 1},
{102, 2},
{103, 3},
{104, 4},
{105, 5},
{106, 6},
{107, 7},
{108, 8},
{109, 9},
{110, 10},
{111, 11},
{112, 12},
{113, 13},
{210, 210}, {210, 210},
{211, 211}, {211, 211},
{220, 220}, {220, 220},
+85
View File
@@ -0,0 +1,85 @@
#!/usr/bin/env python3
from __future__ import absolute_import, print_function
import sys
import argparse
import socket
from datetime import datetime
import can
from can import Bus, BusState, Logger
import paho.mqtt.client as mqtt
def decon(msg_id):
msg_prio=msg_id>>26
msg_type=(msg_id>>24) & 0x03
msg_dst=(msg_id>>16) & 0xFF
msg_src=(msg_id>>8) & 0xFF
msg_cmd=msg_id & 0xFF
print("prio: ", hex(msg_prio),"type: ", hex(msg_type)," dst: ", hex(msg_dst)," src: ", hex(msg_src)," cmd: ",hex(msg_cmd))
return [msg_prio, msg_type, msg_dst, msg_src, msg_cmd]
def on_connect(mcp_mqtt, userdata, flags, rc):
print("Connected with result code "+str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
mcp_mqtt.subscribe("can/raw")
mcp_mqtt.subscribe("ctest/#")
def on_message(mcp_mqtt, userdata, msg):
local_bus=userdata
topic=msg.topic
print("data Received topic: ", topic)
m_decode=str(msg.payload.decode("utf-8","ignore"))
print("data Received",m_decode)
msg_id=int(m_decode.split('#')[0],16)
msg_data=int(m_decode.split('#')[1],16)
print(msg_data)
m = can.Message(arbitration_id=msg_id,
data=[msg_data],
extended_id=True)
try:
local_bus.send(m)
except BaseException as e:
logging.error("Error sending can message {%s}: %s" % (m, e))
print("data sent to CAN",m)
def main():
verbosity = 2
logging_level_name = ['critical', 'error', 'warning', 'info', 'debug', 'subdebug'][min(5, verbosity)]
can.set_logging_level(logging_level_name)
can_filters = []
config = {"can_filters": can_filters, "single_handle": True}
config["interface"] = "socketcan"
config["bitrate"] = 125000
bus = Bus("can1", **config)
print('Connected to {}: {}'.format(bus.__class__.__name__, bus.channel_info))
print('Can Logger (Started on {})\n'.format(datetime.now()))
mcp_mqtt = mqtt.Client()
mcp_mqtt.on_connect = on_connect
mcp_mqtt.on_message = on_message
mcp_mqtt.user_data_set(bus)
mcp_mqtt.connect("mcp", 1883, 60)
try:
while True:
mcp_mqtt.loop_start()
msg = bus.recv(1)
if msg is not None:
de=decon(msg.arbitration_id)
m= { "prio": hex(de[0]), "type": hex(de[1]), "dst": hex(de[2]), "src": hex(de[3]), "cmd": hex(de[4]), "data": "".join("%02x" % b for b in msg.data) }
print(m)
mcp_mqtt.publish("can/rx", str(m))
except KeyboardInterrupt:
pass
finally:
bus.shutdown()
if __name__ == "__main__":
main()
+63
View File
@@ -0,0 +1,63 @@
#!/usr/bin/env python3
# coding: utf-8
from __future__ import absolute_import, print_function
import sys
import argparse
import socket
from datetime import datetime
import can
from can import Bus, BusState, Logger
def decon(msg_id):
msg_prio=msg_id>>26
msg_type=(msg_id>>24) & 0x03
msg_dst=(msg_id>>16) & 0xFF
msg_src=(msg_id>>8) & 0xFF
msg_cmd=msg_id & 0xFF
print("prio: ", hex(msg_prio),"type: ", hex(msg_type)," dst: ", hex(msg_dst)," src: ", hex(msg_src)," cmd: ",hex(msg_cmd))
return [msg_prio, msg_type, msg_dst, msg_src, msg_cmd]
def main():
verbosity = 2
logging_level_name = ['critical', 'error', 'warning', 'info', 'debug', 'subdebug'][min(5, verbosity)]
can.set_logging_level(logging_level_name)
can_filters = []
config = {"can_filters": can_filters, "single_handle": True}
config["interface"] = "socketcan"
config["bitrate"] = 125000
bus = Bus("can1", **config)
print('Connected to {}: {}'.format(bus.__class__.__name__, bus.channel_info))
print('Can Logger (Started on {})\n'.format(datetime.now()))
try:
while True:
msg = bus.recv(1)
if msg is not None:
de=decon(msg.arbitration_id)
m= { "prio": hex(de[0]), "type": hex(de[1]), "dst": hex(de[2]), "src": hex(de[3]), "cmd": hex(de[4]), "target": hex(msg.data[0]) }
if de[2] is 3 and msg.data[0] is 3 and de[1] is 0 and de[3] is 3 and de[4] is 3 :
print(m)
m = can.Message(arbitration_id=0x0C030900,
data=[3],
extended_id=True)
try:
bus.send(m)
except BaseException as e:
logging.error("Error sending can message {%s}: %s" % (m, e))
except KeyboardInterrupt:
pass
finally:
bus.shutdown()
if __name__ == "__main__":
main()
+41
View File
@@ -0,0 +1,41 @@
#! /usr/bin/env python
import sys
msg_id=int(str(sys.argv[1]),0) & 0x1FFFFFFF
msg_prio=msg_id>>26
msg_type=(msg_id>>24) & 0x03
msg_dst=(msg_id>>16) & 0xFF
msg_src=(msg_id>>8) & 0xFF
msg_cmd=msg_id & 0xFF
#print('id: {0:b}'.format(msg_id))
print('id: {0:#010x} {0:#031b}'.format(msg_id ,msg_id))
#print("id:", hex(msg_id), format(40,str(bin(msg_id))))
print('prio: {0:#03x} {0:#04b}'.format(msg_prio))
print('type: {0:#03x} {0:#04b}'.format(msg_type))
print('dst: {0:#04x} {0:#010b}'.format(msg_dst))
print('src: {0:#04x} {0:#010b}'.format(msg_src))
print('cmd: {0:#04x} {0:#010b}'.format(msg_cmd))
nmsg_prio=msg_id>>26
nmsg_type=(msg_id>>24) & 0x03
nmsg_src=(msg_id>>18) & 0x3F
nmsg_dst=(msg_id>>12) & 0x3F
nmsg_targ=(msg_id>>6) & 0x3F
nmsg_cmd=msg_id & 0x1F
print('New schema')
#print('id: {0:b}'.format(msg_id))
print('id: {0:#010x} {0:#031b}'.format(msg_id))
#print("id:", hex(msg_id), format(40,str(bin(msg_id))))
print('prio: {0:#04x} {0:#04b}'.format(nmsg_prio))
print('type: {0:#04x} {0:#04b}'.format(nmsg_type))
print('src: {0:#04x} {0:#08b}'.format(nmsg_src))
print('dst: {0:#04x} {0:#08b}'.format(nmsg_dst))
print('target: {0:#04x} {0:#08b}'.format(nmsg_targ))
print('cmd: {0:#04x} {0:#07b}'.format(nmsg_cmd))
+175
View File
@@ -0,0 +1,175 @@
#!/usr/bin/env python3
from __future__ import absolute_import, print_function
import sys
import argparse
import socket
from datetime import datetime
import can
from can import Bus, BusState, Logger
import paho.mqtt.client as mqtt
sub_topic = "light"
aliases = {
'Esszimmer': 'EZ',
'Esszimmer oben': 'EZ',
'Küche': 'K',
'Wohnzimmer1': 'WZ1',
'Wohnzimmer2': 'WZ2',
'Wohnzimmer Nord': 'WZ1',
'Wohnzimmer Süd': 'WZ2',
'Wohnzimmer Tür': 'WZ1',
'Wohnzimmer TV': 'WZ2',
'Wohnzimmer Fernseher': 'WZ2',
'Bad Decke': 'B1',
'Bad Spiegel': 'B2',
'Bjarne': 'K1',
'Inka': 'K2',
'Schlafzimmer': 'SCH',
'Flur EG': 'FE',
'Flur unten': 'FE',
'Flur OG': 'FO',
'Flur oben': 'FO',
'Treppe EG': 'TRE',
'Treppe unten': 'TRE',
'Treppe OG': 'TRO',
'Treppe oben': 'TRO'
}
light_map = {
'EZ': [ 0x03, 0x01 ],
'K': [ 0x03, 0x02 ],
'WZ1': [ 0x02, 0x01 ],
'WZ2': [ 0x02, 0x02 ],
'TER': [ 0x03, 0x03 ],
'FE': [ 0x03, 0x07 ],
'TRE': [ 0x02, 0x03 ],
'FO': [ 0x01, 0x03 ],
'TRO': [ 0x01, 0x07 ],
'KI1': [ 0x01, 0x06 ],
'KI2': [ 0x01, 0x04 ],
'SCH': [ 0x01, 0x08 ],
'B1': [ 0x01, 0x01 ],
'B2': [ 0x01, 0x02 ],
'ROL_EZ_DOWN': [0x03,0x05],
'ROL_EZ_UP': [0x03,0x04],
'EG1': [ 0x02, 0x09 ],
'EG2': [ 0x03, 0x09 ],
'OG': [ 0x01, 0x09 ],
'ALL': [ 0xFF, 0x09 ],
}
cmd_map = {
'off': 0,
'on': 1,
'value': 2,
'toggle': 3
}
def decon(msg_id):
msg_prio=msg_id>>26
msg_type=(msg_id>>24) & 0x03
msg_dst=(msg_id>>16) & 0xFF
msg_src=(msg_id>>8) & 0xFF
msg_cmd=msg_id & 0xFF
# print("msg_id: ", hex(msg_id), "prio: ", hex(msg_prio),"type: ", hex(msg_type)," dst: ", hex(msg_dst)," src: ", hex(msg_src)," cmd: ",hex(msg_cmd))
return [msg_prio, msg_type, msg_dst, msg_src, msg_cmd]
def con(msg_dst,msg_cmd,msg_prio=3,msg_type=0,msg_src=11, ):
msg_id=(msg_prio<<26) + \
((msg_type&0x03)<<24) +\
((msg_dst&0xFF)<<16) +\
((msg_src&0xFF)<<8) +\
(msg_cmd&0xFF)
print("Constructed ID: "+hex(msg_id))
return msg_id
def on_connect(mcp_mqtt, userdata, flags, rc):
print("Connected with result code "+str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
mcp_mqtt.subscribe(sub_topic+"/+")
print("Subscribed to:"+sub_topic+"/+")
def on_message(mcp_mqtt, userdata, msg):
local_bus=userdata
print("data Received topic: ", msg.topic)
m_decode=str(msg.payload.decode("utf-8","ignore"))
print("data Received",m_decode)
msg_cmd=2
try:
value=int(m_decode)
except ValueError:
msg_cmd=cmd_map[m_decode]
sub=msg.topic[len(sub_topic)+1:]
light=aliases.get(sub,None)
if light is None:
light=sub
print("substring: "+light)
addr = light_map[light]
msg_id=con(msg_dst=addr[0],msg_cmd=msg_cmd)
msg_data=[addr[1]]
print(msg_data)
if msg_cmd == 2:
msg_data.append(value)
print(msg_data)
m = can.Message(arbitration_id=msg_id,
data=msg_data,
extended_id=True)
print("going to sent to CAN",m)
try:
local_bus.send(m)
except BaseException as e:
logging.error("Error sending can message {%s}: %s" % (m, e))
print("data sent to CAN",m)
def main():
verbosity = 2
logging_level_name = ['critical', 'error', 'warning', 'info', 'debug', 'subdebug'][min(5, verbosity)]
can.set_logging_level(logging_level_name)
can_filters = []
config = {"can_filters": can_filters, "single_handle": True}
config["interface"] = "socketcan"
config["bitrate"] = 125000
bus = Bus("can1", **config)
print('Connected to {}: {}'.format(bus.__class__.__name__, bus.channel_info))
print('Can Logger (Started on {})\n'.format(datetime.now()))
mcp_mqtt = mqtt.Client()
mcp_mqtt.on_connect = on_connect
mcp_mqtt.on_message = on_message
mcp_mqtt.user_data_set(bus)
mcp_mqtt.connect("mcp", 1883, 60)
try:
while True:
mcp_mqtt.loop_start()
msg = bus.recv(1)
if msg is not None:
de=decon(msg.arbitration_id)
m= { "prio": hex(de[0]), "type": hex(de[1]), "dst": hex(de[2]), "src": hex(de[3]), "cmd": hex(de[4]), "action": hex(msg.data[0]) }
if de[2]==0 and de[4] == 6:
print("received state: ", hex(de[3]), hex(msg.data[0]), hex(msg.data[1]))
for key in light_map:
address=light_map[key]
if address[0] == de[3] and address[1] == msg.data[0]+1:
print("light/"+key+" changed to "+str(msg.data[1]))
mcp_mqtt.publish("light/"+key+"/state", msg.data[1] , retain=1)
except KeyboardInterrupt:
pass
finally:
bus.shutdown()
if __name__ == "__main__":
main()
+55
View File
@@ -0,0 +1,55 @@
#! /usr/bin/env python
import sys
import json
#stuff = json.loads(sys.argv[1])
#data = json.load(sys.stdin)
#print(json.dumps(sys.stdin, sort_keys=True, indent=4))
###print str(sys.argv[1])
#print(stuff['foo'])
#print(json.dumps(data, indent=4))
#msg_id=int(str(sys.argv[1]),0)
#msg_prio=msg_id>>26
#msg_type=(msg_id>>24) & 0x03
#msg_dst=(msg_id>>16) & 0xFF
#msg_src=(msg_id>>8) & 0xFF
#msg_cmd=msg_id & 0xFF
#print "id:", hex(msg_id), bin(msg_id)
#print "prio:", hex(msg_prio), bin(msg_prio)
#print "type:", hex(msg_type), bin(msg_type)
#print "dst:", hex(msg_dst), bin(msg_dst)
#print "src:", hex(msg_src), bin(msg_src)
#print "cmd:", hex(msg_cmd), bin(msg_cmd)
import sys
import simplejson as json
def main(args):
try:
inputFile = open(args[1])
input = json.load(inputFile)
inputFile.close()
except IndexError:
usage()
return False
if len(args) < 3:
print json.dumps(input, sort_keys = False, indent = 10)
else:
outputFile = open(args[2], "w")
json.dump(input, outputFile, sort_keys = False, indent = 4)
outputFile.close()
return True
def usage():
print __doc__
if __name__ == "__main__":
sys.exit(not main(sys.argv))
+130
View File
@@ -0,0 +1,130 @@
#!/usr/bin/env python3
from __future__ import absolute_import, print_function
import sys
import argparse
import socket
from datetime import datetime
import can
from can import Bus, BusState, Logger
import paho.mqtt.client as mqtt
sub_topic = "roll"
aliases = {
'Esszimmer': 'EZ',
'Wohnzimmer1': 'WZ1',
'Wohnzimmer2': 'WZ2',
'Wohnzimmer3': 'WZ3',
'Wohnzimmer4': 'WZ4',
}
coil_map = {
'EZ': [ 0x03, 0x04 , 0x03, 0x05 ],
'WZ1': [ 0x00, 0x01 , 0x00, 0x01 ],
'WZ2': [ 0x00, 0x01 , 0x00, 0x01 ],
'WZ3': [ 0x00, 0x01 , 0x00, 0x01 ],
'WZ4': [ 0x00, 0x01 , 0x00, 0x01 ],
}
cmd_map = {
'off': 0,
'on': 1,
'value': 2,
'toggle': 3
}
def decon(msg_id):
msg_prio=msg_id>>26
msg_type=(msg_id>>24) & 0x03
msg_dst=(msg_id>>16) & 0xFF
msg_src=(msg_id>>8) & 0xFF
msg_cmd=msg_id & 0xFF
print("msg_id: ", hex(msg_id), "prio: ", hex(msg_prio),"type: ", hex(msg_type)," dst: ", hex(msg_dst)," src: ", hex(msg_src)," cmd: ",hex(msg_cmd))
return [msg_prio, msg_type, msg_dst, msg_src, msg_cmd]
def con(msg_dst,msg_cmd,msg_prio=3,msg_type=0,msg_src=11, ):
msg_id=(msg_prio<<26) + \
((msg_type&0x03)<<24) +\
((msg_dst&0xFF)<<16) +\
((msg_src&0xFF)<<8) +\
(msg_cmd&0xFF)
print("Constructed ID: "+hex(msg_id))
return msg_id
def on_connect(mcp_mqtt, userdata, flags, rc):
print("Connected with result code "+str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
mcp_mqtt.subscribe(sub_topic+"/+")
print("Subscribed to:"+sub_topic+"/+")
def on_message(mcp_mqtt, userdata, msg):
local_bus=userdata
print("data Received topic: ", msg.topic)
m_decode=str(msg.payload.decode("utf-8","ignore"))
print("data Received",m_decode)
msg_cmd=2
try:
value=int(m_decode)
except ValueError:
msg_cmd=cmd_map[m_decode]
sub=msg.topic[len(sub_topic)+1:]
roll=aliases.get(sub,None)
if roll is None:
roll=sub
print("substring: "+roll)
addr = light_map[light]
msg_id=con(msg_dst=addr[0],msg_cmd=msg_cmd)
msg_data=[addr[1]]
print(msg_data)
if msg_cmd == 2:
msg_data.append(value)
print(msg_data)
m = can.Message(arbitration_id=msg_id,
data=msg_data,
extended_id=True)
print("going to sent to CAN",m)
try:
local_bus.send(m)
except BaseException as e:
logging.error("Error sending can message {%s}: %s" % (m, e))
print("data sent to CAN",m)
def main():
verbosity = 2
logging_level_name = ['critical', 'error', 'warning', 'info', 'debug', 'subdebug'][min(5, verbosity)]
can.set_logging_level(logging_level_name)
can_filters = []
config = {"can_filters": can_filters, "single_handle": True}
config["interface"] = "socketcan"
config["bitrate"] = 125000
bus = Bus("can1", **config)
print('Connected to {}: {}'.format(bus.__class__.__name__, bus.channel_info))
print('Can Logger (Started on {})\n'.format(datetime.now()))
mcp_mqtt = mqtt.Client()
mcp_mqtt.on_connect = on_connect
mcp_mqtt.on_message = on_message
mcp_mqtt.user_data_set(bus)
mcp_mqtt.connect("mcp", 1883, 60)
try:
while True:
mcp_mqtt.loop_start()
except KeyboardInterrupt:
pass
finally:
bus.shutdown()
if __name__ == "__main__":
main()
+141
View File
@@ -0,0 +1,141 @@
#!/usr/bin/env python3
# coding: utf-8
from __future__ import absolute_import, print_function
import sys
import argparse
import socket
from datetime import datetime
import can
from can import Bus, BusState, Logger
import paho.mqtt.client as mqtt
topic = "sunevents"
event_map = {
'sunrise': "up",
'night': "down",
}
coil_map = {
'ROL_EZ_DOWN': [0x03,0x05],
'ROL_EZ_UP': [0x03,0x04]
}
group_map = {
'up': ['ROL_EZ_UP'],
'down': ['ROL_EZ_DOWN']
}
cmd_map = {
'off': 0,
'on': 1,
'value': 2,
'toggle': 3
}
def decon(msg_id):
msg_prio=msg_id>>26
msg_type=(msg_id>>24) & 0x03
msg_dst=(msg_id>>16) & 0xFF
msg_src=(msg_id>>8) & 0xFF
msg_cmd=msg_id & 0xFF
# print("msg_id: ", hex(msg_id), "prio: ", hex(msg_prio),"type: ", hex(msg_type)," dst: ", hex(msg_dst)," src: ", hex(msg_src)," cmd: ",hex(msg_cmd))
return [msg_prio, msg_type, msg_dst, msg_src, msg_cmd]
def con(msg_dst,msg_cmd,msg_prio=3,msg_type=0,msg_src=11, ):
msg_id=(msg_prio<<26) + \
((msg_type&0x03)<<24) +\
((msg_dst&0xFF)<<16) +\
((msg_src&0xFF)<<8) +\
(msg_cmd&0xFF)
print("Constructed ID: "+hex(msg_id))
return msg_id
def on_connect(mcp_mqtt, userdata, flags, rc):
print("Connected with result code "+str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
mcp_mqtt.subscribe(topic)
print("Subscribed to:",topic)
def on_message(mcp_mqtt, userdata, msg):
local_bus=userdata
print("data Received topic: ", msg.topic)
m_decode=str(msg.payload.decode("utf-8","ignore"))
print("data Received",m_decode)
data=m_decode
event=event_map[data]
if event is not None:
# event=sub
for key, value in coil_map.items():
msg_id=con(msg_dst=value[0],msg_cmd=0)
msg_data=[value[1]]
print("turning off: ",key,value[0],value[1])
m = can.Message(arbitration_id=msg_id,
data=msg_data,
extended_id=True)
print("going to sent to CAN",m)
try:
local_bus.send(m)
except BaseException as e:
logging.error("Error sending can message {%s}: %s" % (m, e))
print("data sent to CAN",m)
print("Group: ",event)
for coil in group_map[event]:
print("turning on", coil)
addr = coil_map[coil]
msg_id=con(msg_dst=addr[0],msg_cmd=1)
msg_data=[addr[1]]
print(msg_data)
m = can.Message(arbitration_id=msg_id,
data=msg_data,
extended_id=True)
print("going to sent to CAN",m)
try:
local_bus.send(m)
except BaseException as e:
logging.error("Error sending can message {%s}: %s" % (m, e))
print("data sent to CAN",m)
def main():
verbosity = 2
logging_level_name = ['critical', 'error', 'warning', 'info', 'debug', 'subdebug'][min(5, verbosity)]
can.set_logging_level(logging_level_name)
can_filters = []
config = {"can_filters": can_filters, "single_handle": True}
config["interface"] = "socketcan"
config["bitrate"] = 125000
bus = Bus("can1", **config)
print('Connected to {}: {}'.format(bus.__class__.__name__, bus.channel_info))
print('Can Logger (Started on {})\n'.format(datetime.now()))
mcp_mqtt = mqtt.Client()
mcp_mqtt.on_connect = on_connect
mcp_mqtt.on_message = on_message
mcp_mqtt.user_data_set(bus)
mcp_mqtt.connect("mcp", 1883, 60)
try:
while True:
mcp_mqtt.loop_start()
msg = bus.recv(1)
if msg is not None:
de=decon(msg.arbitration_id)
m= { "prio": hex(de[0]), "type": hex(de[1]), "dst": hex(de[2]), "src": hex(de[3]), "cmd": hex(de[4]), "action": hex(msg.data[0]) }
# print(m)
# mcp_mqtt.publish("can/rx", str(m))
except KeyboardInterrupt:
pass
finally:
bus.shutdown()
if __name__ == "__main__":
main()