├── .gitignore
├── .gitmodules
├── LICENSE
├── Makefile
├── README.md
├── docs
├── entropy-kle.jpg
├── entropy.jpeg
├── photos
│ ├── entropy-battery-close.JPG
│ ├── entropy-battery-cover.JPG
│ ├── entropy-bottom.JPG
│ ├── entropy-front.JPG
│ ├── entropy-iso.JPG
│ ├── entropy-pcb.JPG
│ ├── entropy-side.JPG
│ └── entropy-top.JPG
└── release-process.md
├── firmware
├── entropy.json
└── entropy
│ ├── config.h
│ ├── entropy.c
│ ├── entropy.h
│ ├── info.json
│ ├── keymaps
│ ├── default
│ │ ├── config.h
│ │ └── keymap.c
│ ├── josh
│ │ ├── config.h
│ │ ├── keymap.c
│ │ └── rules.mk
│ ├── template
│ │ ├── config.h
│ │ └── keymap.c
│ └── via
│ │ ├── config.h
│ │ ├── keymap.c
│ │ └── rules.mk
│ ├── readme.md
│ └── rules.mk
├── graphics
├── back_silk_v0.kicad_mod
├── design.svg
├── entropy_py.png
├── pcb_export.png
├── random_gen.py
└── random_gen.pyc
├── hardware
├── 0.1
│ ├── .gitignore
│ ├── bom
│ │ └── assembly.html
│ ├── fp-lib-table
│ ├── keyboard-cache.lib
│ ├── keyboard.kicad_pcb
│ ├── keyboard.pro
│ ├── keyboard.sch
│ └── sym-lib-table
├── 0.2
│ ├── .gitignore
│ ├── fp-lib-table
│ ├── keyboard-cache.lib
│ ├── keyboard-rescue.dcm
│ ├── keyboard-rescue.lib
│ ├── keyboard.kicad_pcb
│ ├── keyboard.kicad_prl
│ ├── keyboard.kicad_pro
│ ├── keyboard.pro
│ ├── keyboard.sch
│ └── sym-lib-table
├── 0.3-w
│ ├── .gitignore
│ ├── fp-lib-table
│ ├── keyboard-cache.lib
│ ├── keyboard.kicad_pcb
│ ├── keyboard.kicad_prl
│ ├── keyboard.kicad_pro
│ ├── keyboard.kicad_sch
│ ├── outputs
│ │ └── assembly.html
│ └── sym-lib-table
├── 0.4-w
│ ├── fp-lib-table
│ ├── gerbers
│ │ ├── drill_report.txt
│ │ └── keyboard.gbp
│ ├── keyboard-bottom-pos.csv
│ ├── keyboard-cache.lib
│ ├── keyboard.csv
│ ├── keyboard.kicad_pcb
│ ├── keyboard.kicad_prl
│ ├── keyboard.kicad_pro
│ ├── keyboard.kicad_sch
│ ├── keyboard.pdf
│ ├── keyboard.pro
│ ├── keyboard.xml
│ └── sym-lib-table
└── 0.5-w
│ ├── fp-lib-table
│ ├── keyboard-cache.lib
│ ├── keyboard.kicad_pcb
│ ├── keyboard.kicad_prl
│ ├── keyboard.kicad_pro
│ ├── keyboard.kicad_sch
│ ├── keyboard.pdf
│ └── sym-lib-table
├── mechanicals
├── entropy-case-0.1
│ ├── assembly.f3d
│ ├── back_diffuser.stl
│ ├── encoder_spacer.stl
│ ├── front_diffuser.stl
│ ├── incline_spacer.stl
│ ├── left_diffuser.stl
│ ├── right_diffuser.stl
│ └── status_diffuser.stl
├── entropy-case-0.3
│ ├── base-1.dxf
│ ├── base-2.dxf
│ ├── base-3.dxf
│ ├── base-4.dxf
│ ├── base.dxf
│ ├── plate+1.dxf
│ ├── plate+2.dxf
│ ├── plate-1.dxf
│ ├── plate-2.dxf
│ ├── plate-3.dxf
│ └── plate.dxf
└── entropy-plate-0.4
│ ├── plate.dxf
│ └── plate
│ ├── gerbers
│ ├── drill_report.txt
│ └── plate.gbp
│ ├── plate.kicad_pcb
│ ├── plate.kicad_prl
│ ├── plate.kicad_pro
│ └── plate.kicad_sch
└── scripts
├── josh_bom.py
├── kicadutil.jar
├── panel.py
└── plot_gerbers.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # For PCBs designed using KiCad: http://www.kicad-pcb.org/
2 | # Format documentation: http://kicad-pcb.org/help/file-formats/
3 |
4 | # Temporary files
5 | *.000
6 | *.bak
7 | *.bck
8 | *.kicad_pcb-bak
9 | *.sch-bak
10 | *~
11 | _autosave-*
12 | *.tmp
13 | *-save.pro
14 | *-save.kicad_pcb
15 | fp-info-cache
16 |
17 | # Netlist files (exported from Eeschema)
18 | *.net
19 |
20 | # Autorouter files (exported from Pcbnew)
21 | *.dsn
22 | *.ses
23 |
24 | # Gerbers
25 | *.drl
26 | *.grb
27 | *.gbl
28 | *.gbo
29 | *.gpb
30 | *.gbs
31 | *.gml
32 | *.gtl
33 | *.gto
34 | *.gtp
35 | *.gts
36 | *.gbr
37 |
38 | # 3D Models
39 | *.step
40 |
41 | *.zip
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "josh-kicad-lib"]
2 | path = josh-kicad-lib
3 | url = git@github.com:joshajohnson/josh-kicad-lib.git
4 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | VERSION?=0.1
2 | NAME?=
3 | DESIGNER?=Josh Johnson
4 |
5 | prod-files:
6 | make gerb
7 | make pnp
8 | make bom
9 |
10 | new:
11 | git submodule update --init --recursive --progress
12 | cd josh-kicad-lib && git checkout master && git pull
13 | cd josh-kicad-lib && bash setup.sh "$(VERSION)" "$(NAME)" "$(DESIGNER)"
14 |
15 | gerb:
16 | python3 scripts/plot_gerbers.py hardware/$(VERSION)/*.kicad_pcb
17 |
18 | bom:
19 | cd hardware/$(VERSION) && python3 ../../scripts/josh_bom.py *.xml bom/BOM.csv
20 |
21 | pnp:
22 | cd hardware/$(VERSION) && python3 "$(HOME)/.kicad_plugins/InteractiveHtmlBom/InteractiveHtmlBom/generate_interactive_bom.py" *.kicad_pcb
23 |
24 | panel:
25 | python3 scripts/panel.py hardware/$(VERSION)/panel/*.kicad_pcb
26 |
27 | panel-gerb:
28 | python3 scripts/plot_gerbers.py hardware/$(VERSION)/panel/output.*
29 |
30 | init:
31 | rm -rf .git
32 | git init
33 | git submodule add git@github.com:joshajohnson/josh-kicad-lib.git
34 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Entropy
2 |
3 | ## A 96% Southpaw keyboard, with split space and encoder support.
4 |
5 | Entropy started as a STM32 powered keyboard running QMK and enclosed in a FR4 and PLA case, but at the time of writing runs on a nRF52 and ZMK, tucked inside a stacked acrylic case.
6 |
7 | ZMK enables wireless functionality, and you'll get upwards of 6 months battery life thanks to the 200uA sleep current.
8 |
9 | It also supports up to 4 rotary incoders in 5 different positions, along with a myriad of layout options.
10 |
11 | ## Photos
12 | 
13 | 
14 | 
15 |
16 | ## Layout
17 | Supports Encoders in (0,0)...(0,3) and (0,19)
18 |
19 | ZMK versions only allow 4 encoders to be populated (hiting interrupt limit with 5 encoders)
20 | 
21 |
22 | ## Revision History
23 |
24 | R0.1:
25 | - Original STM32 design, no bugs that can't be worked around.
26 | - Tested and working.
27 |
28 | R0.2:
29 | - Removed overengineering, modified to suit JLCSMT.
30 | - Fixed plate 2U tight fit.
31 | - **Has known issues with powering the LEDs, do not use**
32 |
33 | ### Image of R0.1 and R0.2 Design
34 | 
35 |
36 | R0.3:
37 |
38 | - Moved to nRF52840 and ZMK due to supply issues with the STM32F303 used in R0.1 and R0.2.
39 | - Case design changed to plate mount in stacked acrylic case.
40 | - Design moved to KiCad V6.
41 |
42 | R0.4:
43 | - Battery life and design improvements over R0.3.
44 | - Few issues requiring rework but suitable for use.
45 |
46 | R0.5:
47 | - Resolved issues found in R0.4, however untested.
48 | - **Use at your own risk.**
--------------------------------------------------------------------------------
/docs/entropy-kle.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/entropy-kle.jpg
--------------------------------------------------------------------------------
/docs/entropy.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/entropy.jpeg
--------------------------------------------------------------------------------
/docs/photos/entropy-battery-close.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/photos/entropy-battery-close.JPG
--------------------------------------------------------------------------------
/docs/photos/entropy-battery-cover.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/photos/entropy-battery-cover.JPG
--------------------------------------------------------------------------------
/docs/photos/entropy-bottom.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/photos/entropy-bottom.JPG
--------------------------------------------------------------------------------
/docs/photos/entropy-front.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/photos/entropy-front.JPG
--------------------------------------------------------------------------------
/docs/photos/entropy-iso.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/photos/entropy-iso.JPG
--------------------------------------------------------------------------------
/docs/photos/entropy-pcb.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/photos/entropy-pcb.JPG
--------------------------------------------------------------------------------
/docs/photos/entropy-side.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/photos/entropy-side.JPG
--------------------------------------------------------------------------------
/docs/photos/entropy-top.JPG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/docs/photos/entropy-top.JPG
--------------------------------------------------------------------------------
/docs/release-process.md:
--------------------------------------------------------------------------------
1 | # Board Release Process
2 |
3 | * [ ] Ensure [Schematic Review](#schematic-review) is complete
4 | * [ ] Ensure [Layout Review](#layout-review) is complete
5 | * [ ] Component MPN / Supplier PN information added for all components
6 | * [ ] PDF Schematic is exported from EESchema
7 | * [ ] Rerun DRC and zone fills before exporting CAM files to ensure proper results
8 | * [ ] Inspect layout in 3D viewer one last time
9 | * [ ] Export gerber/drill, BOM, and PnP files by calling `make`
10 | * [ ] Visually verify final CAM files to ensure no obvious misalignments, issues with paste and mask size / location
11 |
12 | ## Schematic Review
13 | ### General
14 |
15 | * [ ] CAD ERC 100% clean. If some errors are invalid due to toolchain quirks, each exception must be inspected and signed
16 | off as invalid
17 | * [ ] Verify pin numbers of all schematic symbols against datasheet or external interface specification document (if not yet board proven)
18 | * [ ] Schematic symbol matches chosen component package
19 |
20 | #### Passive components
21 | * [ ] Power/voltage/tolerance ratings specified as required
22 | * [ ] Ceramic capacitors appropriately de-rated for C/V curve
23 | * [ ] Polarized components specified in schematic if using electrolytic caps etc
24 |
25 | ### Power supply
26 |
27 | * [ ] Fusing and/or reverse voltage protection at system power inlet
28 |
29 | #### Regulators
30 |
31 | * [ ] Verify estimated power usage per rail against regulator rating
32 | * [ ] Linear regulators are stable with selected output cap ESR
33 | * [ ] Confirm power rail sequencing against device datasheets
34 |
35 | #### Decoupling
36 | * [ ] Decoupling present for all ICs
37 | * [ ] Decoupling meets/exceeds vendor recommendations if specified
38 | * [ ] Bulk decoupling present at PSU
39 |
40 | #### General
41 | * [ ] All power inputs fed by correct voltage
42 | * [ ] Check high-power discrete semiconductors and passives to confirm they can handle expected load
43 | * [ ] Analog rails filtered/isolated from digital circuitry as needed
44 |
45 | ### Signals
46 |
47 | #### Digital
48 |
49 | * [ ] Signals are correct logic level for input pin
50 | * [ ] Pullups on all open-drain outputs
51 | * [ ] Termination on all high-speed signals
52 | * [ ] TX/RX paired correctly for UART, SPI, MGT, etc
53 | * [ ] Differential pair polarity / pairing correct
54 | * [ ] Active high/low enable signal polarity correct
55 |
56 | #### Clocks
57 |
58 | * [ ] Correct load caps provided for discrete crystals
59 | * [ ] Crystals only used if IC has an integrated crystal driver
60 |
61 | #### Strap/init pins
62 | * [ ] Pullup/pulldowns on all signals that need defined state at boot
63 | * [ ] Strap pins connected to correct rail for desired state
64 | * [ ] JTAG/ICSP connector provided for all programmable devices
65 | * [ ] Reference resistors correct value and reference rail
66 |
67 | #### External interface protection
68 |
69 | * [ ] Power outputs (USB etc) current limited
70 | * [ ] ESD protection on data lines going off board
71 |
72 | #### Debugging / reworkability
73 |
74 | * [ ] Use 0-ohm resistors vs direct hard-wiring for strap pins when possible
75 | * [ ] Provide multiple ground clips/points for scope probes
76 | * [ ] Dedicated ground in close proximity to analog test points
77 | * [ ] Test points on all power rails
78 | * [ ] Test points on interesting signals which may need probing for bringup/debug
79 |
80 | ### Thermal
81 |
82 | * [ ] Power estimates for all large / high power ICs
83 | * [ ] Thermal calculations for all large / high power ICs
84 | * [ ] Specify heatsinks as needed
85 |
86 |
87 | ## Layout Review
88 |
89 | ### General
90 |
91 | * [ ] [Schematic review](#schematic-review) complete and signed off, including pin swaps done during layout
92 | * [ ] Layout DRC 100% clean
93 |
94 | ### Decoupling
95 |
96 | * [ ] Decoupling caps as close to power pins as possible
97 | * [ ] Low inductance mounting used for decoupling (prefer ViP if available, otherwise "[]8" shaped side vias
98 |
99 | ### DFM / yield enhancement
100 |
101 | * [ ] All design rules within manufacturer's capability
102 | * [ ] Minimize use of vias/traces that push fab limits
103 | * [ ] Layer number markers specified to ensure correct assembly
104 | * [ ] Fiducials present (on both sides of board) if targeting automated assembly
105 | * [ ] Fiducial pattern asymmetric to detect rotated or flipped boards
106 | * [ ] Soldermask/copper clearance on fiducials respected
107 | * [ ] Panelization completed if required
108 | * [ ] Teardrops added to PTH components / vias
109 |
110 | ### Footprints
111 |
112 | * [ ] Confirm components are available in the selected package
113 | * [ ] Verify schematic symbol matches the selected package
114 | * [ ] Confirm pinout diagram is from top vs bottom of package
115 | * [ ] PCB printed 1:1 on paper and checked against physical parts OR
116 | * [ ] 3D models obtained (if available) and checked against footprints
117 | * [ ] Soldermask apertures on all SMT lands and PTH pads
118 |
119 | ### Differential pairs
120 | * [ ] Routed differentially
121 | * [ ] Skew matched if required
122 | * [ ] Correct clearance to non-coupled nets
123 |
124 | ### High-speed signals
125 |
126 | * [ ] Sufficient clearance to potential aggressors
127 | * [ ] Length matched if required
128 | * [ ] Minimize crossing reference plane splits/slots or changing layers, use caps/stitching vias if unavoidable
129 | * [ ] Double-check pad width on connectors and add plane cutouts if needed to minimize impedance discontinuities
130 |
131 | ### Power
132 | * [ ] Minimal slots in planes from via antipads
133 | * [ ] Sufficient width for planes/traces for required current
134 |
135 | ### Mechanical
136 | * [ ] Confirm all connectors to other systems comply with the appropriate mechanical standard (connector orientation, key position, etc)
137 | * [ ] LEDs, buttons, and other UI elements on outward-facing side of board
138 | * [ ] Keep-outs around PCB perimeter, card guides, panelization mouse-bites, etc respected
139 | * [ ] Stress-sensitive components (MLCC) sufficiently clear from V-score or mouse bite locations, and oriented to reduce bending stress
140 | * [ ] Clearance around large ICs for heatsinks/fans if required
141 | * [ ] Clearance around pluggable connectors for mating cable/connector
142 | * [ ] Clearance around mounting holes for screws
143 | * [ ] Plane keepouts and clearance provided for shielded connectors, magnetics, etc
144 | * [ ] Confirm PCB dimensions and mounting hole size/placement against enclosure or card rack design
145 | * [ ] Verify mounting hole connection/isolation
146 | * [ ] Components not physically overlapping/colliding
147 | * [ ] STEP file exported and mechanical fit confirmed with mechanical CAD model
148 |
149 | ### Thermal
150 |
151 | * [ ] Thermal reliefs used for plane connections (unless via is used for heatsinking)
152 | * [ ] Solid connections used to planes if heatsinking
153 | * [ ] Ensure thermal balance on SMT chip components to minimize risk of tombstoning
154 |
155 | ### Solder paste
156 |
157 | * [ ] No uncapped vias in pads (except low-power QFNs where some voiding is acceptable)
158 | * [ ] QFN paste prints segmented
159 | * [ ] Small pads 100% size, larger pads reduced to avoid excessive solder volume
160 |
161 | ### Solder mask
162 |
163 | * [ ] Adequate clearance around pads
164 | * [ ] NOTE: Default in KiCad is far too large, decrease to between 0 and 50um
165 |
166 | ### Silkscreen
167 |
168 | * [ ] Text size within fab limits
169 | * [ ] Text not overlapping drills or component pads
170 | * [ ] Text removed entirely in, or moved outside of, high component/via density areas
171 | * [ ] Designer details / OSHW logo / project name / graphical assets on board
172 | * [ ] Traceability markings (rev, date, name, etc) provided
173 | * [ ] PCB Fab marking location denoted (if required)
174 | * [ ] Silkscreen box provided for writing/sticking serial number
175 | * [ ] Text mirrored properly on bottom layer
176 |
177 | Huge thanks to [Andrew Zonenberg](https://github.com/azonenberg/pcb-checklist) whose PCB checklist was modified for use in this document.
--------------------------------------------------------------------------------
/firmware/entropy.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "entropy",
3 | "vendorId": "0x6A6A",
4 | "productId": "0x1010",
5 | "lighting": "qmk_rgblight",
6 | "matrix": {
7 | "rows": 6,
8 | "cols": 20
9 | },
10 | "layouts": {
11 | "labels": [
12 | "Split Plus",
13 | "Split Enter",
14 | "Split Zero",
15 | "Split Space",
16 | "1U Mods",
17 | "Split Backspace"
18 | ],
19 | "keymap": [
20 | [
21 | {
22 | "x": 1.5,
23 | "c": "#aaaaaa"
24 | },
25 | "0,0",
26 | "0,1",
27 | "0,2",
28 | "0,3",
29 | {
30 | "c": "#777777"
31 | },
32 | "0,4",
33 | {
34 | "c": "#cccccc"
35 | },
36 | "0,5",
37 | "0,6",
38 | "0,7",
39 | "0,8",
40 | {
41 | "c": "#aaaaaa"
42 | },
43 | "0,9",
44 | "0,10",
45 | "0,11",
46 | "0,12",
47 | {
48 | "c": "#cccccc"
49 | },
50 | "0,13",
51 | "0,14",
52 | "0,15",
53 | "0,16",
54 | "0,17",
55 | "0,18",
56 | {
57 | "c": "#aaaaaa"
58 | },
59 | "0,19"
60 | ],
61 | [
62 | {
63 | "x": 1.5,
64 | "c": "#cccccc"
65 | },
66 | "1,0",
67 | "1,1",
68 | "1,2",
69 | "1,3",
70 | "1,4",
71 | "1,5",
72 | "1,6",
73 | "1,7",
74 | "1,8",
75 | "1,9",
76 | "1,10",
77 | "1,11",
78 | "1,12",
79 | "1,13",
80 | "1,14",
81 | "1,15",
82 | "1,16",
83 | {
84 | "c": "#aaaaaa",
85 | "w": 2
86 | },
87 | "1,18\n\n\n5,0",
88 | "1,19",
89 | {
90 | "x": 0.25
91 | },
92 | "1,17\n\n\n5,1",
93 | "1,18\n\n\n5,1"
94 | ],
95 | [
96 | {
97 | "x": 0.25,
98 | "c": "#cccccc"
99 | },
100 | "2,0\n\n\n0,1",
101 | {
102 | "x": 0.25,
103 | "c": "#aaaaaa",
104 | "h": 2
105 | },
106 | "3,0\n\n\n0,0",
107 | {
108 | "c": "#cccccc"
109 | },
110 | "2,1",
111 | "2,2",
112 | "2,3",
113 | {
114 | "c": "#aaaaaa",
115 | "w": 1.5
116 | },
117 | "2,4",
118 | {
119 | "c": "#cccccc"
120 | },
121 | "2,6",
122 | "2,7",
123 | "2,8",
124 | "2,9",
125 | "2,10",
126 | "2,11",
127 | "2,12",
128 | "2,13",
129 | "2,14",
130 | "2,15",
131 | "2,16",
132 | "2,17",
133 | {
134 | "w": 1.5
135 | },
136 | "2,18",
137 | {
138 | "c": "#aaaaaa"
139 | },
140 | "2,19"
141 | ],
142 | [
143 | {
144 | "x": 0.25,
145 | "c": "#cccccc"
146 | },
147 | "3,0\n\n\n0,1",
148 | {
149 | "x": 1.25
150 | },
151 | "3,1",
152 | "3,2",
153 | "3,3",
154 | {
155 | "c": "#aaaaaa",
156 | "w": 1.75
157 | },
158 | "3,4",
159 | {
160 | "c": "#cccccc"
161 | },
162 | "3,6",
163 | "3,7",
164 | "3,8",
165 | "3,9",
166 | "3,10",
167 | "3,11",
168 | "3,12",
169 | "3,13",
170 | "3,14",
171 | "3,15",
172 | "3,16",
173 | {
174 | "c": "#777777",
175 | "w": 2.25
176 | },
177 | "3,17",
178 | {
179 | "c": "#aaaaaa"
180 | },
181 | "3,19"
182 | ],
183 | [
184 | {
185 | "x": 0.25,
186 | "c": "#cccccc"
187 | },
188 | "4,0\n\n\n1,1",
189 | {
190 | "x": 0.25,
191 | "c": "#aaaaaa",
192 | "h": 2
193 | },
194 | "5,0\n\n\n1,0",
195 | {
196 | "c": "#cccccc"
197 | },
198 | "4,1",
199 | "4,2",
200 | "4,3",
201 | {
202 | "c": "#aaaaaa",
203 | "w": 2.25
204 | },
205 | "4,5",
206 | {
207 | "c": "#cccccc"
208 | },
209 | "4,6",
210 | "4,7",
211 | "4,8",
212 | "4,9",
213 | "4,10",
214 | "4,11",
215 | "4,12",
216 | "4,13",
217 | "4,14",
218 | "4,15",
219 | {
220 | "c": "#aaaaaa",
221 | "w": 1.75
222 | },
223 | "4,17",
224 | "4,18",
225 | "4,19"
226 | ],
227 | [
228 | {
229 | "x": 0.25,
230 | "c": "#cccccc"
231 | },
232 | "5,0\n\n\n1,1",
233 | {
234 | "x": 1.25
235 | },
236 | "5,1",
237 | {
238 | "c": "#aaaaaa",
239 | "w": 2
240 | },
241 | "5,3\n\n\n2,0",
242 | {
243 | "w": 1.25
244 | },
245 | "5,4",
246 | {
247 | "w": 1.25
248 | },
249 | "5,5",
250 | {
251 | "w": 1.25
252 | },
253 | "5,7",
254 | {
255 | "w": 6.25
256 | },
257 | "5,10\n\n\n3,0",
258 | {
259 | "w": 1.5
260 | },
261 | "5,14\n\n\n4,0",
262 | {
263 | "w": 1.5
264 | },
265 | "5,15\n\n\n4,0",
266 | "5,17",
267 | "5,18",
268 | "5,19"
269 | ],
270 | [
271 | {
272 | "x": 3.5,
273 | "c": "#cccccc"
274 | },
275 | "5,2\n\n\n2,1",
276 | "5,3\n\n\n2,1",
277 | {
278 | "x": 3.75,
279 | "c": "#aaaaaa",
280 | "w": 2.75
281 | },
282 | "5,9\n\n\n3,1",
283 | {
284 | "w": 1.25
285 | },
286 | "5,10\n\n\n3,1",
287 | {
288 | "w": 2.25
289 | },
290 | "5,12\n\n\n3,1",
291 | "5,14\n\n\n4,1",
292 | "5,15\n\n\n4,1",
293 | "5,16\n\n\n4,1"
294 | ]
295 | ]
296 | }
297 | }
298 |
--------------------------------------------------------------------------------
/firmware/entropy/config.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2020 joshajohnson
3 |
4 | This program is free software: you can redistribute it and/or modify
5 | it under the terms of the GNU General Public License as published by
6 | the Free Software Foundation, either version 2 of the License, or
7 | (at your option) any later version.
8 |
9 | This program is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU General Public License for more details.
13 |
14 | You should have received a copy of the GNU General Public License
15 | along with this program. If not, see .
16 | */
17 |
18 | #pragma once
19 |
20 | #include "config_common.h"
21 |
22 | /* USB Device descriptor parameter */
23 | #define VENDOR_ID 0x6A6A // JJ
24 | #define PRODUCT_ID 0x1010 // Entropy?
25 | #define DEVICE_VER 0x0001
26 | #define MANUFACTURER joshajohnson
27 | #define PRODUCT entropy
28 | #define DESCRIPTION entropy keyboard
29 |
30 | /* key matrix */
31 | #define MATRIX_ROWS 6
32 | #define MATRIX_COLS 20
33 |
34 | #define MATRIX_ROW_PINS { C10, C11, C12, B1, B0, C5 }
35 | #define MATRIX_COL_PINS { B12, B11, B10, B2, B9, B8, C3, C2, C1, C0, C13, C14, C15, A3, A6, A7, C4, B3, B4, B5 }
36 | #define UNUSED_PINS
37 |
38 | #define DIODE_DIRECTION COL2ROW
39 |
40 | /* Rotary Encoder Things */
41 | // #define ENCODER_DIRECTION_FLIP
42 | #define ENCODERS_PAD_A { B13, C7, C9, A10, B6 }
43 | #define ENCODERS_PAD_B { B14, C8, A8, A9, B7 }
44 |
45 | /* Lighting things */
46 | #define RGBLIGHT_LAYERS
47 | #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
48 |
49 | #define RGB_DI_PIN B15
50 | #ifdef RGB_DI_PIN
51 | #define RGBLED_NUM 20
52 | #define RGBLIGHT_HUE_STEP 8
53 | #define RGBLIGHT_SAT_STEP 8
54 | #define RGBLIGHT_VAL_STEP 8
55 | #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
56 | #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
57 | /*== all animations enable ==*/
58 | #define RGBLIGHT_ANIMATIONS
59 | /*== or choose animations ==*/
60 | // #define RGBLIGHT_EFFECT_BREATHING
61 | #define RGBLIGHT_EFFECT_RAINBOW_MOOD
62 | #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
63 | // #define RGBLIGHT_EFFECT_SNAKE
64 | // #define RGBLIGHT_EFFECT_KNIGHT
65 | // #define RGBLIGHT_EFFECT_CHRISTMAS
66 | // #define RGBLIGHT_EFFECT_STATIC_GRADIENT
67 | // #define RGBLIGHT_EFFECT_RGB_TEST
68 | // #define RGBLIGHT_EFFECT_ALTERNATING
69 | /*== customize breathing effect ==*/
70 | /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
71 | #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
72 | /*==== use exp() and sin() ====*/
73 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
74 | #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
75 | #endif
76 |
77 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
78 | #define DEBOUNCE 5
79 |
80 | /* Tap delay for tap vs hold */
81 | #define TAPPING_TERM 200
82 |
83 | /* Slow down key press speed to ensure computer picks it up */
84 | #define TAP_CODE_DELAY 20
85 |
86 | /* Audio Things */
87 | #define AUDIO_CLICKY
88 |
89 | /* Mouse Things */
90 | #define MOUSEKEY_INTERVAL 20
91 | #define MOUSEKEY_DELAY 300
92 | #define MOUSEKEY_TIME_TO_MAX 100
93 | #define MOUSEKEY_MAX_SPEED 3
94 |
95 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
96 | #define LOCKING_SUPPORT_ENABLE
97 | /* Locking resynchronize hack */
98 | #define LOCKING_RESYNC_ENABLE
99 |
100 | /* disable these deprecated features by default */
101 | #ifndef LINK_TIME_OPTIMIZATION_ENABLE
102 | #define NO_ACTION_MACRO
103 | #define NO_ACTION_FUNCTION
104 | #endif
105 |
106 | // Status LED positions
107 | #define LED0 16
108 | #define LED1 17
109 | #define LED2 18
110 | #define LED3 19
111 |
--------------------------------------------------------------------------------
/firmware/entropy/entropy.c:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 joshajohnson
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 |
17 | #include "entropy.h"
18 |
19 | // Optional override functions below.
20 | // You can leave any or all of these undefined.
21 | // These are only required if you want to perform custom actions.
22 |
23 | /*
24 | void matrix_init_kb(void) {
25 | // put your keyboard start-up code here
26 | // runs once when the firmware starts up
27 |
28 | matrix_init_user();
29 | }
30 |
31 | void matrix_scan_kb(void) {
32 | // put your looping keyboard code here
33 | // runs every cycle (a lot)
34 |
35 | matrix_scan_user();
36 | }
37 |
38 | bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
39 | // put your per-action keyboard code here
40 | // runs for every action, just before processing by the firmware
41 |
42 | return process_record_user(keycode, record);
43 | }
44 |
45 | bool led_update_kb(led_t led_state) {
46 | // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
47 |
48 | return led_update_user(led_state);
49 | }
50 | */
51 |
--------------------------------------------------------------------------------
/firmware/entropy/entropy.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 joshajohnson
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 |
17 | #pragma once
18 |
19 | #include "quantum.h"
20 |
21 | #define ___ KC_NO
22 |
23 | /* This is a shortcut to help you visually see your layout.
24 | *
25 | * The first section contains all of the arguments representing the physical
26 | * layout of the board and position of the keys.
27 | *
28 | * The second converts the arguments into a two-dimensional array which
29 | * represents the switch matrix.
30 | */
31 |
32 | // 2U keys on numpad, plus 1.5U on RHS of split space bar
33 | #define LAYOUT_2U_SS( \
34 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019, \
35 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K118, K119, \
36 | K21, K22, K23, K24, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, \
37 | K30, K31, K32, K33, K34, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K316, K317, K319, \
38 | K41, K42, K43, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K415, K417, K418, K419, \
39 | K50, K51, K53, K54, K55, K57, K59, K510, K512, K514, K516, K517, K518, K519 \
40 | ) \
41 | { \
42 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
43 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, ___, K118, K119 }, \
44 | { ___, K21, K22, K23, K24, ___, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \
45 | { K30, K31, K32, K33, K34, ___, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K316, K317, ___, K319 }, \
46 | { ___, K41, K42, K43, ___, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K415, ___, K417, K418, K419 }, \
47 | { K50, K51, ___, K53, K54, K55, ___, K57, ___, K59, K510, ___, K512, ___, K514, ___, K516, K517, K518, K519 } \
48 | }
49 |
50 | // 2U keys on numpad, plus 1.5U on RHS of single space bar
51 | #define LAYOUT_2U( \
52 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019, \
53 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K118, K119, \
54 | K21, K22, K23, K24, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, \
55 | K30, K31, K32, K33, K34, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K316, K317, K319, \
56 | K41, K42, K43, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K415, K417, K418, K419, \
57 | K50, K51, K53, K54, K55, K57, K510, K514, K516, K517, K518, K519 \
58 | ) \
59 | { \
60 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
61 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, ___, K118, K119 }, \
62 | { ___, K21, K22, K23, K24, ___, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \
63 | { K30, K31, K32, K33, K34, ___, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K316, K317, ___, K319 }, \
64 | { ___, K41, K42, K43, ___, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K415, ___, K417, K418, K419 }, \
65 | { K50, K51, ___, K53, K54, K55, ___, K57, ___, ___, K510, ___, ___, ___, K514, ___, K516, K517, K518, K519 } \
66 | }
67 |
68 | // 1U keys wherever possible, single space bar, single backspace
69 | #define LAYOUT_1U( \
70 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019, \
71 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K118, K119, \
72 | K20, K21, K22, K23, K24, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, \
73 | K30, K31, K32, K33, K34, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K316, K317, K319, \
74 | K40, K41, K42, K43, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K415, K417, K418, K419, \
75 | K50, K51, K52, K53, K54, K55, K57, K510, K514, K515, K516, K517, K518, K519 \
76 | ) \
77 | { \
78 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
79 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, ___, K118, K119 }, \
80 | { K20, K21, K22, K23, K24, ___, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \
81 | { K30, K31, K32, K33, K34, ___, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K316, K317, ___, K319 }, \
82 | { K40, K41, K42, K43, ___, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K415, ___, K417, K418, K419 }, \
83 | { K50, K51, K52, K53, K54, K55, ___, K57, ___, ___, K510, ___, ___, ___, K514, K515, K516, K517, K518, K519 } \
84 | }
85 |
86 | // 1U keys wherever possible, split space, split backspace
87 | #define LAYOUT_1U_SS( \
88 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019, \
89 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K170, K171, K178, K119, \
90 | K20, K21, K22, K23, K24, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, \
91 | K30, K31, K32, K33, K34, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K316, K317, K319, \
92 | K40, K41, K42, K43, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K415, K417, K418, K419, \
93 | K50, K51, K52, K53, K54, K55, K57, K59, K510, K512, K514, K515, K516, K517, K518, K519 \
94 | ) \
95 | { \
96 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
97 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K170, K171, K178, K119 }, \
98 | { K20, K21, K22, K23, K24, ___, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \
99 | { K30, K31, K32, K33, K34, ___, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K316, K317, ___, K319 }, \
100 | { K40, K41, K42, K43, ___, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K415, ___, K417, K418, K419 }, \
101 | { K50, K51, K52, K53, K54, K55, ___, K57, ___, K59, K510, ___, K512, ___, K514, K515, K516, K517, K518, K519 } \
102 | }
103 |
--------------------------------------------------------------------------------
/firmware/entropy/info.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/firmware/entropy/info.json
--------------------------------------------------------------------------------
/firmware/entropy/keymaps/default/config.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 joshajohnson
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 |
17 | #pragma once
18 |
19 | // place overrides here
20 |
--------------------------------------------------------------------------------
/firmware/entropy/keymaps/default/keymap.c:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 joshajohnson
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 | #include QMK_KEYBOARD_H
17 |
18 | #define ___ KC_NO
19 |
20 | // Defines names for use in layer keycodes and the keymap
21 | enum layer_names {
22 | _BASE,
23 | _FN
24 | };
25 |
26 | // LED control
27 | uint8_t status_en = 1;
28 |
29 | // Custom Keycodes
30 | enum custom_codes{
31 | STAT_EN = SAFE_RANGE,
32 | UNDER_EN
33 | };
34 |
35 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36 | [_BASE] = LAYOUT_2U(
37 | _______, _______, _______, _______, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_HOME, \
38 | KC_PMNS, KC_PAST, KC_PSLS, KC_NLCK, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP, \
39 | KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, \
40 | KC_PPLS, KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END, \
41 | KC_P1, KC_P2, KC_P3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_FN), \
42 | KC_PENT, KC_PDOT, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
43 | ),
44 |
45 | [_FN] = LAYOUT_2U(
46 | _______, _______, RGB_TOG, STAT_EN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
47 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
48 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
49 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
50 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
51 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
52 | )
53 |
54 | };
55 |
56 | /*
57 | Per Key Actions
58 | */
59 | bool process_record_user(uint16_t keycode, keyrecord_t *record) {
60 | switch (keycode) {
61 |
62 | case RESET:
63 | if (record->event.pressed) {
64 | rgblight_setrgb(255, 0, 0); // RED underglow when in reset
65 | rgblight_setrgb_range(0, 0, 0, LED0, LED3+1); // Disable Status LEDs when going into reset
66 | } else {
67 | }
68 | break;
69 |
70 | case STAT_EN:
71 | if (record->event.pressed) {
72 | status_en ^=1; // Toggle status enable LEDs
73 | } else {
74 | }
75 | break;
76 |
77 | case RGB_TOG:
78 | if (record->event.pressed) {
79 | rgblight_setrgb_range(0, 0, 0, LED0, LED3+1); // Disable Status LEDs when disabling RGB
80 | return true;
81 | } else {
82 | }
83 | break;
84 | }
85 | return true;
86 | }
87 |
88 |
89 | /*
90 | Encoder control
91 |
92 | Default:
93 | Enc 0: Disabled
94 | Enc 1: Disabled
95 | Enc 2: Volume up / down / mute
96 | Enc 3: Media next / prev / play-pause
97 |
98 | When on _FN
99 | Enc 0: Hue
100 | Enc 1: Saturation
101 | Enc 2: Brightness
102 | Enc 3: LED Mode / enable
103 | */
104 | void encoder_update_user(uint8_t index, bool clockwise) {
105 | if (IS_LAYER_ON(_FN)){
106 | if (index == 0) {
107 | if (clockwise) {
108 | rgblight_increase_hue_noeeprom();
109 | } else {
110 | rgblight_decrease_hue_noeeprom();
111 | }
112 | } else if (index == 1) {
113 | if (clockwise) {
114 | rgblight_increase_sat_noeeprom();
115 | } else {
116 | rgblight_decrease_sat_noeeprom();
117 | }
118 | } else if (index == 2) {
119 | if (clockwise) {
120 | rgblight_increase_val_noeeprom();
121 | } else {
122 | rgblight_decrease_val_noeeprom();
123 | }
124 | } else if (index == 3) {
125 | if (clockwise) {
126 | rgblight_step();
127 | } else {
128 | rgblight_step_reverse();
129 | }
130 | } else if (index == 4) {
131 | // if (clockwise) {
132 | // tap_code(KC_MNXT);
133 | // } else {
134 | // tap_code(KC_MPRV);
135 | // }
136 | }
137 | } else {
138 | if (index == 0) {
139 | // if (clockwise) {
140 | // tap_code(KC_WH_D);
141 | // } else {
142 | // tap_code(KC_WH_U);
143 | // }
144 | } else if (index == 1) {
145 | if (clockwise) {
146 | // Normal scroll is too slow, so 2x?
147 | tap_code(KC_WH_D);
148 | tap_code(KC_WH_D);
149 | } else {
150 | tap_code(KC_WH_U);
151 | tap_code(KC_WH_U);
152 | }
153 | } else if (index == 2) {
154 | if (clockwise) {
155 | tap_code(KC_VOLU);
156 | } else {
157 | tap_code(KC_VOLD);
158 | }
159 | } else if (index == 3) {
160 | if (clockwise) {
161 | tap_code(KC_MNXT);
162 | } else {
163 | tap_code(KC_MPRV);
164 | }
165 | } else if (index == 4) {
166 | // if (clockwise) {
167 | // tap_code(KC_MNXT);
168 | // } else {
169 | // tap_code(KC_MPRV);
170 | // }
171 | }
172 | }
173 | }
174 |
175 | /*
176 | LED CONTROL
177 |
178 | LEDs shows caps / num / scroll lock
179 | OFF: Default
180 | RED: CAPS LOCK
181 | GREEN: NUM LOCK
182 | BLUE: SCROLL LOCK
183 | */
184 |
185 | void matrix_init_user(void) {
186 | rgblight_set_effect_range(0, 16); // Only use the first 16 LEDs for underglow
187 | }
188 |
189 | // Caps / Num / Scroll lock indicator
190 | bool led_update_kb(led_t led_state) {
191 | // Force caps to on by default
192 | // Numlock LED will flash for a short time on first boot, disregard it please!
193 | static bool once = 1;
194 | if (once && !led_state.num_lock){
195 | register_code(KC_NUMLOCK);
196 | unregister_code(KC_NUMLOCK);
197 | led_state.num_lock = true;
198 | }
199 | once = 0;
200 |
201 | if (status_en){
202 |
203 | uint8_t caps = led_state.caps_lock ? 255 : 0;
204 | uint8_t num = led_state.num_lock ? 0 : 128; // Inverted as Numlock should be on by default
205 | uint8_t scroll = led_state.scroll_lock ? 128 : 0;
206 |
207 | // Set Last LED
208 | rgblight_setrgb_range(caps, num, scroll, LED0, LED3+1);
209 | } else {
210 | rgblight_setrgb_range(0, 0, 0, LED0, LED3+1);
211 | }
212 | return true;
213 | }
214 |
--------------------------------------------------------------------------------
/firmware/entropy/keymaps/josh/config.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 joshajohnson
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 |
17 | #pragma once
18 |
19 | // place overrides here
20 |
--------------------------------------------------------------------------------
/firmware/entropy/keymaps/josh/rules.mk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/firmware/entropy/keymaps/josh/rules.mk
--------------------------------------------------------------------------------
/firmware/entropy/keymaps/template/config.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 joshajohnson
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 |
17 | #pragma once
18 |
19 | // place overrides here
20 |
--------------------------------------------------------------------------------
/firmware/entropy/keymaps/template/keymap.c:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 joshajohnson
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 | #include QMK_KEYBOARD_H
17 |
18 | #define ___ KC_NO
19 |
20 | // // Defines names for use in layer keycodes and the keymap
21 | // enum layer_names {
22 | // _BASE,
23 | // _FN
24 | // };
25 |
26 | // // Defines the keycodes used by our macros in process_record_user
27 | // enum custom_keycodes {
28 | // QMKBEST = SAFE_RANGE,
29 | // QMKURL
30 | // };
31 |
32 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 | /*
34 | LAYOUT_ALL_SS(
35 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
36 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
37 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
38 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
39 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
41 | )
42 | */
43 |
44 | /*
45 | LAYOUT_ALL(
46 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
47 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
48 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
49 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
50 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
51 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
52 | )
53 | */
54 |
55 | /*
56 | LAYOUT_2U(
57 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
58 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
59 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
60 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
61 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
62 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
63 | )
64 | */
65 |
66 | /*
67 | LAYOUT_2U_SS(
68 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
69 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
70 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
71 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
72 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
73 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
74 | )
75 | */
76 |
77 | };
78 |
79 | // bool process_record_user(uint16_t keycode, keyrecord_t *record) {
80 | // switch (keycode) {
81 | // case QMKBEST:
82 | // if (record->event.pressed) {
83 | // // when keycode QMKBEST is pressed
84 | // SEND_STRING("QMK is the best thing ever!");
85 | // } else {
86 | // // when keycode QMKBEST is released
87 | // }
88 | // break;
89 | // case QMKURL:
90 | // if (record->event.pressed) {
91 | // // when keycode QMKURL is pressed
92 | // SEND_STRING("https://qmk.fm/\n");
93 | // } else {
94 | // // when keycode QMKURL is released
95 | // }
96 | // break;
97 | // }
98 | // return true;
99 | // }
100 |
101 | /*
102 | void matrix_init_user(void) {
103 |
104 | }
105 |
106 | void matrix_scan_user(void) {
107 |
108 | }
109 |
110 | bool led_update_user(led_t led_state) {
111 | return true;
112 | }
113 | */
114 |
--------------------------------------------------------------------------------
/firmware/entropy/keymaps/via/config.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 joshajohnson
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 |
17 | #pragma once
18 |
19 | // place overrides here
20 |
21 | // more keys = more room for VIA
22 | #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
23 |
--------------------------------------------------------------------------------
/firmware/entropy/keymaps/via/rules.mk:
--------------------------------------------------------------------------------
1 | VIA_ENABLE = yes
2 | LTO = yes
3 |
--------------------------------------------------------------------------------
/firmware/entropy/readme.md:
--------------------------------------------------------------------------------
1 | # entropy
2 |
3 | 
4 |
5 | A short description of the keyboard/project
6 |
7 | * Keyboard Maintainer: [joshajohnson](https://github.com/joshajohnson)
8 | * Hardware Supported: Entropy v0.1 PCB
9 | * Hardware Availability: Contact Josh
10 |
11 | Make example for this keyboard (after setting up your build environment):
12 |
13 | qmk compile -kb entropy -km default
14 |
15 | See the [build environment setup](https://docs.qmk.fm/#/newbs_getting_started) and the [make instructions](https://docs.qmk.fm/#/newbs_building_firmware) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
16 |
--------------------------------------------------------------------------------
/firmware/entropy/rules.mk:
--------------------------------------------------------------------------------
1 | # MCU name
2 | MCU = STM32F303
3 |
4 | # Build Options
5 | # change yes to no to disable
6 | #
7 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
8 | MOUSEKEY_ENABLE = yes # Mouse keys
9 | EXTRAKEY_ENABLE = yes # Audio control and System control
10 | CONSOLE_ENABLE = no # Console for debug
11 | COMMAND_ENABLE = no # Commands for debug and configuration
12 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
13 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
14 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
15 | NKRO_ENABLE = no # USB Nkey Rollover
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
18 | MIDI_ENABLE = no # MIDI support
19 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
20 | AUDIO_ENABLE = yes # Audio output
21 | FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
22 | HD44780_ENABLE = no # Enable support for HD44780 based LCDs
23 | ENCODER_ENABLE = yes # Rotary Encoder support
24 |
--------------------------------------------------------------------------------
/graphics/entropy_py.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/graphics/entropy_py.png
--------------------------------------------------------------------------------
/graphics/pcb_export.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/graphics/pcb_export.png
--------------------------------------------------------------------------------
/graphics/random_gen.py:
--------------------------------------------------------------------------------
1 | import random
2 | from matplotlib import pyplot as plt
3 | from matplotlib import colors
4 |
5 | # 2mm per voxel
6 | rows = 12 * 5
7 | cols = 39 * 5
8 |
9 | array = [[0 for x in range(cols)] for y in range(rows)]
10 |
11 | for row in range(rows):
12 | for col in range(cols):
13 | array[row][col] = random.randint(0,1)
14 |
15 | for i in range(rows):
16 | print(array[i])
17 |
18 | cmap = colors.ListedColormap(['Black','White'])
19 | plt.figure(figsize=(cols,rows))
20 | plt.axis("off")
21 | plt.pcolor(array[::-1],cmap=cmap,edgecolors='', linewidths=1)
22 | plt.savefig('entropy_py.png')
23 | plt.show()
--------------------------------------------------------------------------------
/graphics/random_gen.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/graphics/random_gen.pyc
--------------------------------------------------------------------------------
/hardware/0.1/.gitignore:
--------------------------------------------------------------------------------
1 | # For PCBs designed using KiCad: http://www.kicad-pcb.org/
2 | # Format documentation: http://kicad-pcb.org/help/file-formats/
3 |
4 | # Temporary files
5 | *.000
6 | *.bak
7 | *.bck
8 | *.kicad_pcb-bak
9 | *.sch-bak
10 | *~
11 | _autosave-*
12 | *.tmp
13 | *-save.pro
14 | *-save.kicad_pcb
15 | fp-info-cache
16 |
17 | # Netlist files (exported from Eeschema)
18 | *.net
19 |
20 | # Autorouter files (exported from Pcbnew)
21 | *.dsn
22 | *.ses
23 |
24 | # Exported BOM files
25 | *.xml
26 | *.csv
27 |
28 | # Gerbers
29 | *.zip
30 | gerbers/*
31 |
--------------------------------------------------------------------------------
/hardware/0.1/fp-lib-table:
--------------------------------------------------------------------------------
1 | (fp_lib_table
2 | (lib (name josh-buttons-switches)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-buttons-switches.pretty)(options "")(descr ""))
3 | (lib (name josh-connectors)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-connectors.pretty)(options "")(descr ""))
4 | (lib (name josh-dfn-qfn)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-dfn-qfn.pretty)(options "")(descr ""))
5 | (lib (name josh-led)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-led.pretty)(options "")(descr ""))
6 | (lib (name josh-logos)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-logos.pretty)(options "")(descr ""))
7 | (lib (name josh-mechanical)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-mechanical.pretty)(options "")(descr ""))
8 | (lib (name josh-oscillators)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-oscillators.pretty)(options "")(descr ""))
9 | (lib (name josh-passives-smt)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-passives-smt.pretty)(options "")(descr ""))
10 | (lib (name josh-rf)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-rf.pretty)(options "")(descr ""))
11 | (lib (name josh-soic-sot-etc)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-soic-sot-etc.pretty)(options "")(descr ""))
12 | (lib (name josh-test-point)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-test-point.pretty)(options "")(descr ""))
13 | (lib (name josh-display)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-display.pretty)(options "")(descr ""))
14 | (lib (name josh-keyboard)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.pretty)(options "")(descr ""))
15 | (lib (name graphics)(type KiCad)(uri ${KIPRJMOD}/../../graphics)(options "")(descr ""))
16 | )
17 |
--------------------------------------------------------------------------------
/hardware/0.1/keyboard.pro:
--------------------------------------------------------------------------------
1 | update=Mon 08 Jun 2020 16:44:06
2 | version=1
3 | last_client=kicad
4 | [general]
5 | version=1
6 | RootSch=
7 | BoardNm=
8 | [cvpcb]
9 | version=1
10 | NetIExt=net
11 | [eeschema]
12 | version=1
13 | LibDir=
14 | [eeschema/libraries]
15 | [schematic_editor]
16 | version=1
17 | PageLayoutDescrFile=
18 | PlotDirectoryName=
19 | SubpartIdSeparator=0
20 | SubpartFirstId=65
21 | NetFmtName=Pcbnew
22 | SpiceAjustPassiveValues=0
23 | LabSize=50
24 | ERC_TestSimilarLabels=1
25 | [pcbnew]
26 | version=1
27 | PageLayoutDescrFile=
28 | LastNetListRead=
29 | CopperLayerCount=2
30 | BoardThickness=1.6
31 | AllowMicroVias=0
32 | AllowBlindVias=0
33 | RequireCourtyardDefinitions=0
34 | ProhibitOverlappingCourtyards=1
35 | MinTrackWidth=0.2
36 | MinViaDiameter=0.4
37 | MinViaDrill=0.3
38 | MinMicroViaDiameter=0.2
39 | MinMicroViaDrill=0.09999999999999999
40 | MinHoleToHole=0.25
41 | TrackWidth1=0.25
42 | TrackWidth2=0.25
43 | TrackWidth3=0.3
44 | TrackWidth4=0.4
45 | TrackWidth5=0.5
46 | ViaDiameter1=0.6
47 | ViaDrill1=0.3
48 | ViaDiameter2=0.8
49 | ViaDrill2=0.4
50 | dPairWidth1=0.2
51 | dPairGap1=0.25
52 | dPairViaGap1=0.25
53 | SilkLineWidth=0.15
54 | SilkTextSizeV=1
55 | SilkTextSizeH=1
56 | SilkTextSizeThickness=0.15
57 | SilkTextItalic=0
58 | SilkTextUpright=1
59 | CopperLineWidth=0.2
60 | CopperTextSizeV=1.5
61 | CopperTextSizeH=1.5
62 | CopperTextThickness=0.3
63 | CopperTextItalic=0
64 | CopperTextUpright=1
65 | EdgeCutLineWidth=0.09999999999999999
66 | CourtyardLineWidth=0.05
67 | OthersLineWidth=0.15
68 | OthersTextSizeV=1
69 | OthersTextSizeH=1
70 | OthersTextSizeThickness=0.15
71 | OthersTextItalic=0
72 | OthersTextUpright=1
73 | SolderMaskClearance=0
74 | SolderMaskMinWidth=0
75 | SolderPasteClearance=0
76 | SolderPasteRatio=-0
77 | [pcbnew/Layer.F.Cu]
78 | Name=F.Cu
79 | Type=0
80 | Enabled=1
81 | [pcbnew/Layer.In1.Cu]
82 | Name=In1.Cu
83 | Type=0
84 | Enabled=0
85 | [pcbnew/Layer.In2.Cu]
86 | Name=In2.Cu
87 | Type=0
88 | Enabled=0
89 | [pcbnew/Layer.In3.Cu]
90 | Name=In3.Cu
91 | Type=0
92 | Enabled=0
93 | [pcbnew/Layer.In4.Cu]
94 | Name=In4.Cu
95 | Type=0
96 | Enabled=0
97 | [pcbnew/Layer.In5.Cu]
98 | Name=In5.Cu
99 | Type=0
100 | Enabled=0
101 | [pcbnew/Layer.In6.Cu]
102 | Name=In6.Cu
103 | Type=0
104 | Enabled=0
105 | [pcbnew/Layer.In7.Cu]
106 | Name=In7.Cu
107 | Type=0
108 | Enabled=0
109 | [pcbnew/Layer.In8.Cu]
110 | Name=In8.Cu
111 | Type=0
112 | Enabled=0
113 | [pcbnew/Layer.In9.Cu]
114 | Name=In9.Cu
115 | Type=0
116 | Enabled=0
117 | [pcbnew/Layer.In10.Cu]
118 | Name=In10.Cu
119 | Type=0
120 | Enabled=0
121 | [pcbnew/Layer.In11.Cu]
122 | Name=In11.Cu
123 | Type=0
124 | Enabled=0
125 | [pcbnew/Layer.In12.Cu]
126 | Name=In12.Cu
127 | Type=0
128 | Enabled=0
129 | [pcbnew/Layer.In13.Cu]
130 | Name=In13.Cu
131 | Type=0
132 | Enabled=0
133 | [pcbnew/Layer.In14.Cu]
134 | Name=In14.Cu
135 | Type=0
136 | Enabled=0
137 | [pcbnew/Layer.In15.Cu]
138 | Name=In15.Cu
139 | Type=0
140 | Enabled=0
141 | [pcbnew/Layer.In16.Cu]
142 | Name=In16.Cu
143 | Type=0
144 | Enabled=0
145 | [pcbnew/Layer.In17.Cu]
146 | Name=In17.Cu
147 | Type=0
148 | Enabled=0
149 | [pcbnew/Layer.In18.Cu]
150 | Name=In18.Cu
151 | Type=0
152 | Enabled=0
153 | [pcbnew/Layer.In19.Cu]
154 | Name=In19.Cu
155 | Type=0
156 | Enabled=0
157 | [pcbnew/Layer.In20.Cu]
158 | Name=In20.Cu
159 | Type=0
160 | Enabled=0
161 | [pcbnew/Layer.In21.Cu]
162 | Name=In21.Cu
163 | Type=0
164 | Enabled=0
165 | [pcbnew/Layer.In22.Cu]
166 | Name=In22.Cu
167 | Type=0
168 | Enabled=0
169 | [pcbnew/Layer.In23.Cu]
170 | Name=In23.Cu
171 | Type=0
172 | Enabled=0
173 | [pcbnew/Layer.In24.Cu]
174 | Name=In24.Cu
175 | Type=0
176 | Enabled=0
177 | [pcbnew/Layer.In25.Cu]
178 | Name=In25.Cu
179 | Type=0
180 | Enabled=0
181 | [pcbnew/Layer.In26.Cu]
182 | Name=In26.Cu
183 | Type=0
184 | Enabled=0
185 | [pcbnew/Layer.In27.Cu]
186 | Name=In27.Cu
187 | Type=0
188 | Enabled=0
189 | [pcbnew/Layer.In28.Cu]
190 | Name=In28.Cu
191 | Type=0
192 | Enabled=0
193 | [pcbnew/Layer.In29.Cu]
194 | Name=In29.Cu
195 | Type=0
196 | Enabled=0
197 | [pcbnew/Layer.In30.Cu]
198 | Name=In30.Cu
199 | Type=0
200 | Enabled=0
201 | [pcbnew/Layer.B.Cu]
202 | Name=B.Cu
203 | Type=0
204 | Enabled=1
205 | [pcbnew/Layer.B.Adhes]
206 | Enabled=1
207 | [pcbnew/Layer.F.Adhes]
208 | Enabled=1
209 | [pcbnew/Layer.B.Paste]
210 | Enabled=1
211 | [pcbnew/Layer.F.Paste]
212 | Enabled=1
213 | [pcbnew/Layer.B.SilkS]
214 | Enabled=1
215 | [pcbnew/Layer.F.SilkS]
216 | Enabled=1
217 | [pcbnew/Layer.B.Mask]
218 | Enabled=1
219 | [pcbnew/Layer.F.Mask]
220 | Enabled=1
221 | [pcbnew/Layer.Dwgs.User]
222 | Enabled=1
223 | [pcbnew/Layer.Cmts.User]
224 | Enabled=1
225 | [pcbnew/Layer.Eco1.User]
226 | Enabled=1
227 | [pcbnew/Layer.Eco2.User]
228 | Enabled=1
229 | [pcbnew/Layer.Edge.Cuts]
230 | Enabled=1
231 | [pcbnew/Layer.Margin]
232 | Enabled=1
233 | [pcbnew/Layer.B.CrtYd]
234 | Enabled=1
235 | [pcbnew/Layer.F.CrtYd]
236 | Enabled=1
237 | [pcbnew/Layer.B.Fab]
238 | Enabled=1
239 | [pcbnew/Layer.F.Fab]
240 | Enabled=1
241 | [pcbnew/Layer.Rescue]
242 | Enabled=0
243 | [pcbnew/Netclasses]
244 | [pcbnew/Netclasses/Default]
245 | Name=Default
246 | Clearance=0.2
247 | TrackWidth=0.25
248 | ViaDiameter=0.6
249 | ViaDrill=0.3
250 | uViaDiameter=0.3
251 | uViaDrill=0.1
252 | dPairWidth=0.2
253 | dPairGap=0.25
254 | dPairViaGap=0.25
255 |
--------------------------------------------------------------------------------
/hardware/0.1/sym-lib-table:
--------------------------------------------------------------------------------
1 | (sym_lib_table
2 | (lib (name josh-ic)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-ic.lib)(options "")(descr ""))
3 | (lib (name josh-led)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-led.lib)(options "")(descr ""))
4 | (lib (name josh-logic)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-logic.lib)(options "")(descr ""))
5 | (lib (name josh-mechnanical)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-mechnanical.lib)(options "")(descr ""))
6 | (lib (name josh-memory)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-memory.lib)(options "")(descr ""))
7 | (lib (name josh-oscillator)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-oscillator.lib)(options "")(descr ""))
8 | (lib (name josh-passive)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-passive.lib)(options "")(descr ""))
9 | (lib (name josh-power)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-power.lib)(options "")(descr ""))
10 | (lib (name josh-rf)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-rf.lib)(options "")(descr ""))
11 | (lib (name josh-connector)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-connector.lib)(options "")(descr ""))
12 | (lib (name josh-display)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-display.lib)(options "")(descr ""))
13 | (lib (name josh-keyboard)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.lib)(options "")(descr ""))
14 | )
15 |
--------------------------------------------------------------------------------
/hardware/0.2/.gitignore:
--------------------------------------------------------------------------------
1 | # For PCBs designed using KiCad: http://www.kicad-pcb.org/
2 | # Format documentation: http://kicad-pcb.org/help/file-formats/
3 |
4 | # Temporary files
5 | *.000
6 | *.bak
7 | *.bck
8 | *.kicad_pcb-bak
9 | *.sch-bak
10 | *~
11 | _autosave-*
12 | *.tmp
13 | *-save.pro
14 | *-save.kicad_pcb
15 | fp-info-cache
16 |
17 | # Netlist files (exported from Eeschema)
18 | *.net
19 |
20 | # Autorouter files (exported from Pcbnew)
21 | *.dsn
22 | *.ses
23 |
24 | # Exported BOM files
25 | *.xml
26 | *.csv
27 |
28 | # Gerbers
29 | *.zip
30 | gerbers/*
31 |
--------------------------------------------------------------------------------
/hardware/0.2/fp-lib-table:
--------------------------------------------------------------------------------
1 | (fp_lib_table
2 | (lib (name josh-buttons-switches)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-buttons-switches.pretty)(options "")(descr ""))
3 | (lib (name josh-connectors)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-connectors.pretty)(options "")(descr ""))
4 | (lib (name josh-dfn-qfn)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-dfn-qfn.pretty)(options "")(descr ""))
5 | (lib (name josh-led)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-led.pretty)(options "")(descr ""))
6 | (lib (name josh-logos)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-logos.pretty)(options "")(descr ""))
7 | (lib (name josh-mechanical)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-mechanical.pretty)(options "")(descr ""))
8 | (lib (name josh-oscillators)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-oscillators.pretty)(options "")(descr ""))
9 | (lib (name josh-passives-smt)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-passives-smt.pretty)(options "")(descr ""))
10 | (lib (name josh-rf)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-rf.pretty)(options "")(descr ""))
11 | (lib (name josh-soic-sot-etc)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-soic-sot-etc.pretty)(options "")(descr ""))
12 | (lib (name josh-test-point)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-test-point.pretty)(options "")(descr ""))
13 | (lib (name josh-display)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-display.pretty)(options "")(descr ""))
14 | (lib (name josh-keyboard)(type KiCad)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.pretty)(options "")(descr ""))
15 | (lib (name graphics)(type KiCad)(uri ${KIPRJMOD}/../../graphics)(options "")(descr ""))
16 | )
17 |
--------------------------------------------------------------------------------
/hardware/0.2/keyboard-rescue.dcm:
--------------------------------------------------------------------------------
1 | EESchema-DOCLIB Version 2.0
2 | #
3 | #End Doc Library
4 |
--------------------------------------------------------------------------------
/hardware/0.2/keyboard-rescue.lib:
--------------------------------------------------------------------------------
1 | EESchema-LIBRARY Version 2.4
2 | #encoding utf-8
3 | #
4 | # MX-NoLED-josh-keyboard
5 | #
6 | DEF MX-NoLED-josh-keyboard MX 0 40 Y Y 1 F N
7 | F0 "MX" -25 150 60 H V C CNN
8 | F1 "MX-NoLED-josh-keyboard" -25 50 20 H V C CNN
9 | F2 "" -625 -25 60 H I C CNN
10 | F3 "" -625 -25 60 H I C CNN
11 | DRAW
12 | T 0 125 0 30 0 0 0 COL Normal 0 C C
13 | T 900 0 -75 30 0 0 0 ROW Normal 0 R C
14 | S -100 100 50 -50 0 0 0 N
15 | P 2 0 0 5 -50 -50 -50 50 N
16 | P 3 0 0 5 50 50 0 50 -50 75 N
17 | X COL 1 150 50 100 L 0 0 1 1 P
18 | X ROW 2 -50 -150 100 U 0 0 1 1 P
19 | ENDDRAW
20 | ENDDEF
21 | #
22 | # SK6812-MINI-E-josh-led
23 | #
24 | DEF SK6812-MINI-E-josh-led D 0 10 Y Y 1 F N
25 | F0 "D" 200 225 50 H V R BNN
26 | F1 "SK6812-MINI-E-josh-led" 50 -225 50 H V L TNN
27 | F2 "josh-led:SK8612-MINI-E" 50 -300 50 H I L TNN
28 | F3 "" 100 -375 50 H I L TNN
29 | $FPLIST
30 | LED*WS2812*PLCC*5.0x5.0mm*P3.2mm*
31 | $ENDFPLIST
32 | DRAW
33 | T 0 90 -165 30 0 0 0 RGB Normal 0 C C
34 | S 200 200 -200 -200 0 1 10 f
35 | P 2 0 1 0 50 -140 70 -140 N
36 | P 2 0 1 0 50 -100 70 -100 N
37 | P 2 0 1 0 185 -140 105 -140 N
38 | P 3 0 1 0 90 -100 50 -140 50 -120 N
39 | P 3 0 1 0 90 -60 50 -100 50 -80 N
40 | P 3 0 1 0 145 -40 145 -140 145 -160 N
41 | P 4 0 1 0 185 -60 105 -60 145 -140 185 -60 N
42 | X VDD 1 0 300 100 D 50 50 1 1 W
43 | X DOUT 2 300 0 100 L 50 50 1 1 O
44 | X GND 3 0 -300 100 U 50 50 1 1 W
45 | X DIN 4 -300 0 100 R 50 50 1 1 I
46 | ENDDRAW
47 | ENDDEF
48 | #
49 | # USBLC6-2SC6-josh-ic
50 | #
51 | DEF USBLC6-2SC6-josh-ic U 0 0 Y Y 1 F N
52 | F0 "U" -300 350 50 H V C CNN
53 | F1 "USBLC6-2SC6-josh-ic" 300 300 50 H V C CNN
54 | F2 "Package_TO_SOT_SMD:SOT-23-6" -750 400 50 H I C CNN
55 | F3 "" 200 350 50 H I C CNN
56 | $FPLIST
57 | SOT?23*
58 | $ENDFPLIST
59 | DRAW
60 | S -200 -250 200 250 0 1 10 f
61 | P 2 0 1 0 -200 -100 200 -100 N
62 | P 2 0 1 0 200 100 -200 100 N
63 | P 2 1 1 0 0 190 0 300 N
64 | P 3 1 1 0 -130 -190 -50 -190 -50 -190 N
65 | P 3 1 1 0 -130 -130 -130 -100 -130 -100 N
66 | P 3 1 1 0 -130 10 -130 70 -130 40 N
67 | P 3 1 1 0 -130 10 -50 10 -50 10 N
68 | P 3 1 1 0 -130 70 -130 100 -130 100 N
69 | P 3 1 1 0 -70 -130 -50 -130 -30 -130 N
70 | P 3 1 1 0 -70 -40 -50 -40 -30 -40 N
71 | P 3 1 1 0 -70 70 -50 70 -30 70 N
72 | P 3 1 1 0 -70 160 -50 160 -30 160 N
73 | P 3 1 1 0 -50 -190 -50 -130 -50 -160 N
74 | P 3 1 1 0 -50 -190 130 -190 130 -190 N
75 | P 3 1 1 0 -50 -40 -50 -20 -50 -20 N
76 | P 3 1 1 0 -50 -20 130 -20 130 -20 N
77 | P 3 1 1 0 -50 10 -50 70 -50 40 N
78 | P 3 1 1 0 -50 10 130 10 130 10 N
79 | P 3 1 1 0 0 -250 0 -190 0 -190 N
80 | P 3 1 1 0 110 -130 130 -130 150 -130 N
81 | P 3 1 1 0 110 -40 130 -40 150 -40 N
82 | P 3 1 1 0 110 70 130 70 150 70 N
83 | P 3 1 1 0 110 160 130 160 150 160 N
84 | P 3 1 1 0 130 -40 130 -20 130 -20 N
85 | P 4 1 1 0 -130 -190 -130 -130 -130 -160 -130 -160 N
86 | P 4 1 1 0 130 -190 130 -130 130 -160 130 -160 N
87 | P 4 1 1 0 130 10 130 70 130 40 130 40 N
88 | P 5 1 1 0 -130 -130 -150 -160 -110 -160 -130 -130 -130 -130 N
89 | P 5 1 1 0 -130 70 -150 40 -110 40 -130 70 -130 70 N
90 | P 5 1 1 0 -110 -120 -110 -130 -150 -130 -150 -140 -150 -140 N
91 | P 5 1 1 0 -110 80 -110 70 -150 70 -150 60 -150 60 N
92 | P 5 1 1 0 -50 -130 -70 -160 -30 -160 -50 -130 -50 -130 N
93 | P 5 1 1 0 -50 -130 -50 -40 -50 -70 -50 -70 -50 -70 N
94 | P 5 1 1 0 -50 -40 -70 -70 -30 -70 -50 -40 -50 -40 N
95 | P 5 1 1 0 -50 70 -70 40 -30 40 -50 70 -50 70 N
96 | P 5 1 1 0 -50 70 -50 160 -50 130 -50 130 -50 130 N
97 | P 5 1 1 0 -50 160 -70 130 -30 130 -50 160 -50 160 N
98 | P 5 1 1 0 -50 160 -50 190 130 190 130 160 130 160 N
99 | P 5 1 1 0 130 -130 110 -160 150 -160 130 -130 130 -130 N
100 | P 5 1 1 0 130 -130 130 -40 130 -70 130 -70 130 -70 N
101 | P 5 1 1 0 130 -40 110 -70 150 -70 130 -40 130 -40 N
102 | P 5 1 1 0 130 70 110 40 150 40 130 70 130 70 N
103 | P 5 1 1 0 130 70 130 160 130 130 130 130 130 130 N
104 | P 5 1 1 0 130 160 110 130 150 130 130 160 130 160 N
105 | X IO1 1 -400 100 200 R 50 50 1 1 P
106 | X GND 2 0 -450 200 U 50 50 1 1 P
107 | X IO2 3 -400 -100 200 R 50 50 1 1 P
108 | X IO2 4 400 -100 200 L 50 50 1 1 P
109 | X VBUS 5 0 500 200 D 50 50 1 1 P
110 | X IO1 6 400 100 200 L 50 50 1 1 P
111 | ENDDRAW
112 | ENDDEF
113 | #
114 | #End Library
115 |
--------------------------------------------------------------------------------
/hardware/0.2/keyboard.kicad_prl:
--------------------------------------------------------------------------------
1 | {
2 | "board": {
3 | "active_layer": 0,
4 | "active_layer_preset": "",
5 | "auto_track_width": true,
6 | "hidden_nets": [],
7 | "high_contrast_mode": 0,
8 | "net_color_mode": 1,
9 | "opacity": {
10 | "pads": 1.0,
11 | "tracks": 1.0,
12 | "vias": 1.0,
13 | "zones": 0.6
14 | },
15 | "ratsnest_display_mode": 0,
16 | "selection_filter": {
17 | "dimensions": true,
18 | "footprints": true,
19 | "graphics": true,
20 | "keepouts": true,
21 | "lockedItems": true,
22 | "otherItems": true,
23 | "pads": true,
24 | "text": true,
25 | "tracks": true,
26 | "vias": true,
27 | "zones": true
28 | },
29 | "visible_items": [
30 | 0,
31 | 1,
32 | 2,
33 | 3,
34 | 4,
35 | 5,
36 | 8,
37 | 9,
38 | 10,
39 | 11,
40 | 12,
41 | 13,
42 | 14,
43 | 15,
44 | 16,
45 | 17,
46 | 18,
47 | 19,
48 | 20,
49 | 21,
50 | 22,
51 | 23,
52 | 24,
53 | 25,
54 | 26,
55 | 27,
56 | 28,
57 | 29,
58 | 30,
59 | 32,
60 | 33,
61 | 34,
62 | 35,
63 | 36
64 | ],
65 | "visible_layers": "000ffdf_80000001",
66 | "zone_display_mode": 1
67 | },
68 | "meta": {
69 | "filename": "keyboard.kicad_prl",
70 | "version": 3
71 | },
72 | "project": {
73 | "files": []
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/hardware/0.2/keyboard.kicad_pro:
--------------------------------------------------------------------------------
1 | {
2 | "board": {
3 | "design_settings": {
4 | "defaults": {
5 | "board_outline_line_width": 0.09999999999999999,
6 | "copper_line_width": 0.19999999999999998,
7 | "copper_text_italic": false,
8 | "copper_text_size_h": 1.5,
9 | "copper_text_size_v": 1.5,
10 | "copper_text_thickness": 0.3,
11 | "copper_text_upright": false,
12 | "courtyard_line_width": 0.049999999999999996,
13 | "dimension_precision": 4,
14 | "dimension_units": 3,
15 | "dimensions": {
16 | "arrow_length": 1270000,
17 | "extension_offset": 500000,
18 | "keep_text_aligned": true,
19 | "suppress_zeroes": false,
20 | "text_position": 0,
21 | "units_format": 1
22 | },
23 | "fab_line_width": 0.09999999999999999,
24 | "fab_text_italic": false,
25 | "fab_text_size_h": 1.0,
26 | "fab_text_size_v": 1.0,
27 | "fab_text_thickness": 0.15,
28 | "fab_text_upright": false,
29 | "other_line_width": 0.09999999999999999,
30 | "other_text_italic": false,
31 | "other_text_size_h": 1.0,
32 | "other_text_size_v": 1.0,
33 | "other_text_thickness": 0.15,
34 | "other_text_upright": false,
35 | "pads": {
36 | "drill": 0.6,
37 | "height": 1.5,
38 | "width": 1.5
39 | },
40 | "silk_line_width": 0.15,
41 | "silk_text_italic": false,
42 | "silk_text_size_h": 1.0,
43 | "silk_text_size_v": 1.0,
44 | "silk_text_thickness": 0.15,
45 | "silk_text_upright": false,
46 | "zones": {
47 | "45_degree_only": false,
48 | "min_clearance": 0.254
49 | }
50 | },
51 | "diff_pair_dimensions": [],
52 | "drc_exclusions": [],
53 | "meta": {
54 | "filename": "board_design_settings.json",
55 | "version": 2
56 | },
57 | "rule_severities": {
58 | "annular_width": "error",
59 | "clearance": "error",
60 | "copper_edge_clearance": "error",
61 | "courtyards_overlap": "error",
62 | "diff_pair_gap_out_of_range": "error",
63 | "diff_pair_uncoupled_length_too_long": "error",
64 | "drill_out_of_range": "error",
65 | "duplicate_footprints": "warning",
66 | "extra_footprint": "warning",
67 | "footprint_type_mismatch": "error",
68 | "hole_clearance": "error",
69 | "hole_near_hole": "error",
70 | "invalid_outline": "error",
71 | "item_on_disabled_layer": "error",
72 | "items_not_allowed": "error",
73 | "length_out_of_range": "error",
74 | "malformed_courtyard": "error",
75 | "microvia_drill_out_of_range": "error",
76 | "missing_courtyard": "ignore",
77 | "missing_footprint": "warning",
78 | "net_conflict": "warning",
79 | "npth_inside_courtyard": "ignore",
80 | "padstack": "error",
81 | "pth_inside_courtyard": "ignore",
82 | "shorting_items": "error",
83 | "silk_over_copper": "warning",
84 | "silk_overlap": "warning",
85 | "skew_out_of_range": "error",
86 | "through_hole_pad_without_hole": "error",
87 | "too_many_vias": "error",
88 | "track_dangling": "warning",
89 | "track_width": "error",
90 | "tracks_crossing": "error",
91 | "unconnected_items": "error",
92 | "unresolved_variable": "error",
93 | "via_dangling": "warning",
94 | "zone_has_empty_net": "error",
95 | "zones_intersect": "error"
96 | },
97 | "rule_severitieslegacy_courtyards_overlap": true,
98 | "rule_severitieslegacy_no_courtyard_defined": false,
99 | "rules": {
100 | "allow_blind_buried_vias": false,
101 | "allow_microvias": false,
102 | "max_error": 0.005,
103 | "min_clearance": 0.0,
104 | "min_copper_edge_clearance": 0.09999999999999999,
105 | "min_hole_clearance": 0.0,
106 | "min_hole_to_hole": 0.25,
107 | "min_microvia_diameter": 0.19999999999999998,
108 | "min_microvia_drill": 0.09999999999999999,
109 | "min_silk_clearance": 0.0,
110 | "min_through_hole_diameter": 0.3,
111 | "min_track_width": 0.19999999999999998,
112 | "min_via_annular_width": 0.049999999999999996,
113 | "min_via_diameter": 0.39999999999999997,
114 | "use_height_for_length_calcs": true
115 | },
116 | "track_widths": [
117 | 0.0,
118 | 0.25,
119 | 0.3,
120 | 0.4,
121 | 0.5
122 | ],
123 | "via_dimensions": [
124 | {
125 | "diameter": 0.0,
126 | "drill": 0.0
127 | },
128 | {
129 | "diameter": 0.8,
130 | "drill": 0.4
131 | }
132 | ],
133 | "zones_allow_external_fillets": false,
134 | "zones_use_no_outline": true
135 | },
136 | "layer_presets": []
137 | },
138 | "boards": [],
139 | "cvpcb": {
140 | "equivalence_files": []
141 | },
142 | "libraries": {
143 | "pinned_footprint_libs": [],
144 | "pinned_symbol_libs": []
145 | },
146 | "meta": {
147 | "filename": "keyboard.kicad_pro",
148 | "version": 1
149 | },
150 | "net_settings": {
151 | "classes": [
152 | {
153 | "bus_width": 12.0,
154 | "clearance": 0.2,
155 | "diff_pair_gap": 0.25,
156 | "diff_pair_via_gap": 0.25,
157 | "diff_pair_width": 0.2,
158 | "line_style": 0,
159 | "microvia_diameter": 0.3,
160 | "microvia_drill": 0.1,
161 | "name": "Default",
162 | "pcb_color": "rgba(0, 0, 0, 0.000)",
163 | "schematic_color": "rgba(0, 0, 0, 0.000)",
164 | "track_width": 0.25,
165 | "via_diameter": 0.6,
166 | "via_drill": 0.3,
167 | "wire_width": 6.0
168 | }
169 | ],
170 | "meta": {
171 | "version": 2
172 | },
173 | "net_colors": null
174 | },
175 | "pcbnew": {
176 | "last_paths": {
177 | "gencad": "",
178 | "idf": "",
179 | "netlist": "",
180 | "specctra_dsn": "",
181 | "step": "",
182 | "vrml": ""
183 | },
184 | "page_layout_descr_file": ""
185 | },
186 | "schematic": {
187 | "drawing": {
188 | "default_text_size": 50,
189 | "label_size_ratio": 0.25,
190 | "text_offset_ratio": 0.08
191 | },
192 | "legacy_lib_dir": "",
193 | "legacy_lib_list": [],
194 | "net_format_name": "Pcbnew",
195 | "page_layout_descr_file": "",
196 | "plot_directory": "",
197 | "spice_adjust_passive_values": false,
198 | "subpart_first_id": 65,
199 | "subpart_id_separator": 0
200 | },
201 | "sheets": [],
202 | "text_variables": {}
203 | }
204 |
--------------------------------------------------------------------------------
/hardware/0.2/keyboard.pro:
--------------------------------------------------------------------------------
1 | update=Fri 25 Dec 2020 15:47:12
2 | version=1
3 | last_client=kicad
4 | [general]
5 | version=1
6 | RootSch=
7 | BoardNm=
8 | [cvpcb]
9 | version=1
10 | NetIExt=net
11 | [eeschema]
12 | version=1
13 | LibDir=
14 | [eeschema/libraries]
15 | [pcbnew]
16 | version=1
17 | PageLayoutDescrFile=
18 | LastNetListRead=
19 | CopperLayerCount=2
20 | BoardThickness=1.6
21 | AllowMicroVias=0
22 | AllowBlindVias=0
23 | RequireCourtyardDefinitions=0
24 | ProhibitOverlappingCourtyards=1
25 | MinTrackWidth=0.2
26 | MinViaDiameter=0.4
27 | MinViaDrill=0.3
28 | MinMicroViaDiameter=0.2
29 | MinMicroViaDrill=0.09999999999999999
30 | MinHoleToHole=0.25
31 | TrackWidth1=0.25
32 | TrackWidth2=0.25
33 | TrackWidth3=0.3
34 | TrackWidth4=0.4
35 | TrackWidth5=0.5
36 | ViaDiameter1=0.6
37 | ViaDrill1=0.3
38 | ViaDiameter2=0.8
39 | ViaDrill2=0.4
40 | dPairWidth1=0.2
41 | dPairGap1=0.25
42 | dPairViaGap1=0.25
43 | SilkLineWidth=0.15
44 | SilkTextSizeV=1
45 | SilkTextSizeH=1
46 | SilkTextSizeThickness=0.15
47 | SilkTextItalic=0
48 | SilkTextUpright=1
49 | CopperLineWidth=0.2
50 | CopperTextSizeV=1.5
51 | CopperTextSizeH=1.5
52 | CopperTextThickness=0.3
53 | CopperTextItalic=0
54 | CopperTextUpright=1
55 | EdgeCutLineWidth=0.09999999999999999
56 | CourtyardLineWidth=0.05
57 | OthersLineWidth=0.15
58 | OthersTextSizeV=1
59 | OthersTextSizeH=1
60 | OthersTextSizeThickness=0.15
61 | OthersTextItalic=0
62 | OthersTextUpright=1
63 | SolderMaskClearance=0
64 | SolderMaskMinWidth=0
65 | SolderPasteClearance=0
66 | SolderPasteRatio=-0
67 | [pcbnew/Layer.F.Cu]
68 | Name=F.Cu
69 | Type=0
70 | Enabled=1
71 | [pcbnew/Layer.In1.Cu]
72 | Name=In1.Cu
73 | Type=0
74 | Enabled=0
75 | [pcbnew/Layer.In2.Cu]
76 | Name=In2.Cu
77 | Type=0
78 | Enabled=0
79 | [pcbnew/Layer.In3.Cu]
80 | Name=In3.Cu
81 | Type=0
82 | Enabled=0
83 | [pcbnew/Layer.In4.Cu]
84 | Name=In4.Cu
85 | Type=0
86 | Enabled=0
87 | [pcbnew/Layer.In5.Cu]
88 | Name=In5.Cu
89 | Type=0
90 | Enabled=0
91 | [pcbnew/Layer.In6.Cu]
92 | Name=In6.Cu
93 | Type=0
94 | Enabled=0
95 | [pcbnew/Layer.In7.Cu]
96 | Name=In7.Cu
97 | Type=0
98 | Enabled=0
99 | [pcbnew/Layer.In8.Cu]
100 | Name=In8.Cu
101 | Type=0
102 | Enabled=0
103 | [pcbnew/Layer.In9.Cu]
104 | Name=In9.Cu
105 | Type=0
106 | Enabled=0
107 | [pcbnew/Layer.In10.Cu]
108 | Name=In10.Cu
109 | Type=0
110 | Enabled=0
111 | [pcbnew/Layer.In11.Cu]
112 | Name=In11.Cu
113 | Type=0
114 | Enabled=0
115 | [pcbnew/Layer.In12.Cu]
116 | Name=In12.Cu
117 | Type=0
118 | Enabled=0
119 | [pcbnew/Layer.In13.Cu]
120 | Name=In13.Cu
121 | Type=0
122 | Enabled=0
123 | [pcbnew/Layer.In14.Cu]
124 | Name=In14.Cu
125 | Type=0
126 | Enabled=0
127 | [pcbnew/Layer.In15.Cu]
128 | Name=In15.Cu
129 | Type=0
130 | Enabled=0
131 | [pcbnew/Layer.In16.Cu]
132 | Name=In16.Cu
133 | Type=0
134 | Enabled=0
135 | [pcbnew/Layer.In17.Cu]
136 | Name=In17.Cu
137 | Type=0
138 | Enabled=0
139 | [pcbnew/Layer.In18.Cu]
140 | Name=In18.Cu
141 | Type=0
142 | Enabled=0
143 | [pcbnew/Layer.In19.Cu]
144 | Name=In19.Cu
145 | Type=0
146 | Enabled=0
147 | [pcbnew/Layer.In20.Cu]
148 | Name=In20.Cu
149 | Type=0
150 | Enabled=0
151 | [pcbnew/Layer.In21.Cu]
152 | Name=In21.Cu
153 | Type=0
154 | Enabled=0
155 | [pcbnew/Layer.In22.Cu]
156 | Name=In22.Cu
157 | Type=0
158 | Enabled=0
159 | [pcbnew/Layer.In23.Cu]
160 | Name=In23.Cu
161 | Type=0
162 | Enabled=0
163 | [pcbnew/Layer.In24.Cu]
164 | Name=In24.Cu
165 | Type=0
166 | Enabled=0
167 | [pcbnew/Layer.In25.Cu]
168 | Name=In25.Cu
169 | Type=0
170 | Enabled=0
171 | [pcbnew/Layer.In26.Cu]
172 | Name=In26.Cu
173 | Type=0
174 | Enabled=0
175 | [pcbnew/Layer.In27.Cu]
176 | Name=In27.Cu
177 | Type=0
178 | Enabled=0
179 | [pcbnew/Layer.In28.Cu]
180 | Name=In28.Cu
181 | Type=0
182 | Enabled=0
183 | [pcbnew/Layer.In29.Cu]
184 | Name=In29.Cu
185 | Type=0
186 | Enabled=0
187 | [pcbnew/Layer.In30.Cu]
188 | Name=In30.Cu
189 | Type=0
190 | Enabled=0
191 | [pcbnew/Layer.B.Cu]
192 | Name=B.Cu
193 | Type=0
194 | Enabled=1
195 | [pcbnew/Layer.B.Adhes]
196 | Enabled=1
197 | [pcbnew/Layer.F.Adhes]
198 | Enabled=1
199 | [pcbnew/Layer.B.Paste]
200 | Enabled=1
201 | [pcbnew/Layer.F.Paste]
202 | Enabled=1
203 | [pcbnew/Layer.B.SilkS]
204 | Enabled=1
205 | [pcbnew/Layer.F.SilkS]
206 | Enabled=1
207 | [pcbnew/Layer.B.Mask]
208 | Enabled=1
209 | [pcbnew/Layer.F.Mask]
210 | Enabled=1
211 | [pcbnew/Layer.Dwgs.User]
212 | Enabled=1
213 | [pcbnew/Layer.Cmts.User]
214 | Enabled=1
215 | [pcbnew/Layer.Eco1.User]
216 | Enabled=1
217 | [pcbnew/Layer.Eco2.User]
218 | Enabled=1
219 | [pcbnew/Layer.Edge.Cuts]
220 | Enabled=1
221 | [pcbnew/Layer.Margin]
222 | Enabled=1
223 | [pcbnew/Layer.B.CrtYd]
224 | Enabled=1
225 | [pcbnew/Layer.F.CrtYd]
226 | Enabled=1
227 | [pcbnew/Layer.B.Fab]
228 | Enabled=1
229 | [pcbnew/Layer.F.Fab]
230 | Enabled=1
231 | [pcbnew/Layer.Rescue]
232 | Enabled=0
233 | [pcbnew/Netclasses]
234 | [pcbnew/Netclasses/Default]
235 | Name=Default
236 | Clearance=0.2
237 | TrackWidth=0.25
238 | ViaDiameter=0.6
239 | ViaDrill=0.3
240 | uViaDiameter=0.3
241 | uViaDrill=0.1
242 | dPairWidth=0.2
243 | dPairGap=0.25
244 | dPairViaGap=0.25
245 | [schematic_editor]
246 | version=1
247 | PageLayoutDescrFile=
248 | PlotDirectoryName=
249 | SubpartIdSeparator=0
250 | SubpartFirstId=65
251 | NetFmtName=Pcbnew
252 | SpiceAjustPassiveValues=0
253 | LabSize=50
254 | ERC_TestSimilarLabels=1
255 |
--------------------------------------------------------------------------------
/hardware/0.2/sym-lib-table:
--------------------------------------------------------------------------------
1 | (sym_lib_table
2 | (lib (name josh-ic)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-ic.lib)(options "")(descr ""))
3 | (lib (name josh-led)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-led.lib)(options "")(descr ""))
4 | (lib (name josh-logic)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-logic.lib)(options "")(descr ""))
5 | (lib (name josh-mechnanical)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-mechnanical.lib)(options "")(descr ""))
6 | (lib (name josh-memory)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-memory.lib)(options "")(descr ""))
7 | (lib (name josh-oscillator)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-oscillator.lib)(options "")(descr ""))
8 | (lib (name josh-passive)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-passive.lib)(options "")(descr ""))
9 | (lib (name josh-power)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-power.lib)(options "")(descr ""))
10 | (lib (name josh-rf)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-rf.lib)(options "")(descr ""))
11 | (lib (name josh-connector)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-connector.lib)(options "")(descr ""))
12 | (lib (name josh-display)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-display.lib)(options "")(descr ""))
13 | (lib (name josh-keyboard)(type Legacy)(uri ${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.lib)(options "")(descr ""))
14 | (lib (name keyboard-rescue)(type Legacy)(uri ${KIPRJMOD}/keyboard-rescue.lib)(options "")(descr ""))
15 | )
16 |
--------------------------------------------------------------------------------
/hardware/0.3-w/.gitignore:
--------------------------------------------------------------------------------
1 | # For PCBs designed using KiCad: http://www.kicad-pcb.org/
2 | # Format documentation: http://kicad-pcb.org/help/file-formats/
3 |
4 | # Temporary files
5 | *.000
6 | *.bak
7 | *.bck
8 | *.kicad_pcb-bak
9 | *.sch-bak
10 | *~
11 | _autosave-*
12 | *.tmp
13 | *-save.pro
14 | *-save.kicad_pcb
15 | fp-info-cache
16 |
17 | # Netlist files (exported from Eeschema)
18 | *.net
19 |
20 | # Autorouter files (exported from Pcbnew)
21 | *.dsn
22 | *.ses
23 |
24 | # Exported BOM files
25 | *.xml
26 | *.csv
27 |
28 | # Gerbers
29 | *.zip
30 | gerbers/*
31 |
--------------------------------------------------------------------------------
/hardware/0.3-w/fp-lib-table:
--------------------------------------------------------------------------------
1 | (fp_lib_table
2 | (lib (name "josh-buttons-switches")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-buttons-switches.pretty")(options "")(descr ""))
3 | (lib (name "josh-connectors")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-connectors.pretty")(options "")(descr ""))
4 | (lib (name "josh-dfn-qfn")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-dfn-qfn.pretty")(options "")(descr ""))
5 | (lib (name "josh-led")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-led.pretty")(options "")(descr ""))
6 | (lib (name "josh-logos")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-logos.pretty")(options "")(descr ""))
7 | (lib (name "josh-mechanical")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-mechanical.pretty")(options "")(descr ""))
8 | (lib (name "josh-oscillators")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-oscillators.pretty")(options "")(descr ""))
9 | (lib (name "josh-passives-smt")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-passives-smt.pretty")(options "")(descr ""))
10 | (lib (name "josh-rf")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-rf.pretty")(options "")(descr ""))
11 | (lib (name "josh-soic-sot-etc")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-soic-sot-etc.pretty")(options "")(descr ""))
12 | (lib (name "josh-test-point")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-test-point.pretty")(options "")(descr ""))
13 | (lib (name "josh-display")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-display.pretty")(options "")(descr ""))
14 | (lib (name "josh-bga")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-bga.pretty")(options "")(descr ""))
15 | (lib (name "josh-power")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-power.pretty")(options "")(descr ""))
16 | (lib (name "josh-module")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-module.pretty")(options "")(descr ""))
17 | (lib (name "josh-keyboard")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.pretty")(options "")(descr ""))
18 | )
19 |
--------------------------------------------------------------------------------
/hardware/0.3-w/keyboard.kicad_prl:
--------------------------------------------------------------------------------
1 | {
2 | "board": {
3 | "active_layer": 31,
4 | "active_layer_preset": "",
5 | "auto_track_width": true,
6 | "hidden_nets": [],
7 | "high_contrast_mode": 0,
8 | "net_color_mode": 1,
9 | "opacity": {
10 | "pads": 1.0,
11 | "tracks": 1.0,
12 | "vias": 1.0,
13 | "zones": 0.6
14 | },
15 | "ratsnest_display_mode": 0,
16 | "selection_filter": {
17 | "dimensions": true,
18 | "footprints": true,
19 | "graphics": true,
20 | "keepouts": true,
21 | "lockedItems": true,
22 | "otherItems": true,
23 | "pads": true,
24 | "text": true,
25 | "tracks": true,
26 | "vias": true,
27 | "zones": true
28 | },
29 | "visible_items": [
30 | 0,
31 | 1,
32 | 2,
33 | 3,
34 | 4,
35 | 5,
36 | 6,
37 | 8,
38 | 9,
39 | 10,
40 | 11,
41 | 12,
42 | 13,
43 | 14,
44 | 15,
45 | 16,
46 | 17,
47 | 18,
48 | 19,
49 | 20,
50 | 21,
51 | 22,
52 | 23,
53 | 24,
54 | 25,
55 | 26,
56 | 27,
57 | 28,
58 | 29,
59 | 30,
60 | 32,
61 | 33,
62 | 34,
63 | 35,
64 | 36
65 | ],
66 | "visible_layers": "000ffff_80000001",
67 | "zone_display_mode": 1
68 | },
69 | "meta": {
70 | "filename": "keyboard.kicad_prl",
71 | "version": 3
72 | },
73 | "project": {
74 | "files": []
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/hardware/0.3-w/sym-lib-table:
--------------------------------------------------------------------------------
1 | (sym_lib_table
2 | (lib (name "josh-led")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-led.kicad_sym")(options "")(descr ""))
3 | (lib (name "josh-logic")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-logic.kicad_sym")(options "")(descr ""))
4 | (lib (name "josh-mechnanical")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-mechnanical.kicad_sym")(options "")(descr ""))
5 | (lib (name "josh-memory")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-memory.kicad_sym")(options "")(descr ""))
6 | (lib (name "josh-oscillator")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-oscillator.kicad_sym")(options "")(descr ""))
7 | (lib (name "josh-passive")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-passive.kicad_sym")(options "")(descr ""))
8 | (lib (name "josh-power")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-power.kicad_sym")(options "")(descr ""))
9 | (lib (name "josh-rf")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-rf.kicad_sym")(options "")(descr ""))
10 | (lib (name "josh-display")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-display.kicad_sym")(options "")(descr ""))
11 | (lib (name "josh-keyboard")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.kicad_sym")(options "")(descr ""))
12 | (lib (name "josh-connector")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-connector.kicad_sym")(options "")(descr ""))
13 | (lib (name "josh-ic")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-ic.kicad_sym")(options "")(descr ""))
14 | (lib (name "josh-module")(type "KiCad")(uri "/mnt/530683E96DD773A1/Dropbox/Projects/entropy/josh-kicad-lib/josh-module.kicad_sym")(options "")(descr ""))
15 | )
16 |
--------------------------------------------------------------------------------
/hardware/0.4-w/fp-lib-table:
--------------------------------------------------------------------------------
1 | (fp_lib_table
2 | (lib (name "josh-buttons-switches")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-buttons-switches.pretty")(options "")(descr ""))
3 | (lib (name "josh-connectors")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-connectors.pretty")(options "")(descr ""))
4 | (lib (name "josh-dfn-qfn")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-dfn-qfn.pretty")(options "")(descr ""))
5 | (lib (name "josh-led")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-led.pretty")(options "")(descr ""))
6 | (lib (name "josh-logos")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-logos.pretty")(options "")(descr ""))
7 | (lib (name "josh-mechanical")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-mechanical.pretty")(options "")(descr ""))
8 | (lib (name "josh-oscillators")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-oscillators.pretty")(options "")(descr ""))
9 | (lib (name "josh-passives-smt")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-passives-smt.pretty")(options "")(descr ""))
10 | (lib (name "josh-rf")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-rf.pretty")(options "")(descr ""))
11 | (lib (name "josh-soic-sot-etc")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-soic-sot-etc.pretty")(options "")(descr ""))
12 | (lib (name "josh-test-point")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-test-point.pretty")(options "")(descr ""))
13 | (lib (name "josh-display")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-display.pretty")(options "")(descr ""))
14 | (lib (name "josh-bga")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-bga.pretty")(options "")(descr ""))
15 | (lib (name "josh-power")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-power.pretty")(options "")(descr ""))
16 | (lib (name "josh-module")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-module.pretty")(options "")(descr ""))
17 | (lib (name "josh-keyboard")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.pretty")(options "")(descr ""))
18 | )
19 |
--------------------------------------------------------------------------------
/hardware/0.4-w/gerbers/drill_report.txt:
--------------------------------------------------------------------------------
1 | Drill report for keyboard.kicad_pcb
2 | Created on Sun Aug 29 18:12:00 2021
3 |
4 | Copper Layer Stackup:
5 | =============================================================
6 | L1 : F.Cu front
7 | L2 : B.Cu back
8 |
9 |
10 | Drill file 'keyboard.drl' contains
11 | plated through holes:
12 | =============================================================
13 | T1 0.300mm 0.0118" (581 holes)
14 | T2 0.400mm 0.0157" (81 holes)
15 | T3 0.600mm 0.0236" (4 holes) (with 4 slots)
16 | T4 1.000mm 0.0394" (34 holes)
17 | T5 1.470mm 0.0579" (230 holes)
18 | T6 1.500mm 0.0591" (10 holes)
19 |
20 | Total plated holes count 940
21 |
22 |
23 | Not plated through holes are merged with plated holes
24 | unplated through holes:
25 | =============================================================
26 | T7 0.650mm 0.0256" (2 holes)
27 | T8 1.700mm 0.0669" (10 holes)
28 | T9 1.750mm 0.0689" (222 holes)
29 | T10 3.048mm 0.1200" (18 holes)
30 | T11 3.988mm 0.1570" (133 holes)
31 | T12 4.000mm 0.1575" (5 holes)
32 |
33 | Total unplated holes count 390
34 |
--------------------------------------------------------------------------------
/hardware/0.4-w/keyboard-bottom-pos.csv:
--------------------------------------------------------------------------------
1 | Designator,Val,Package,Mid X,Mid Y,Rotation,Side
2 | C1,100n,C_0603_1608Metric,-466.1,-107.3,90,bottom
3 | C2,100n,C_0603_1608Metric,-462.7875,-151.8,0,bottom
4 | C3,100n,C_0603_1608Metric,-457.8,-183.8,-90,bottom
5 | C4,100n,C_0603_1608Metric,-412.2,-107.3125,90,bottom
6 | C5,100n,C_0603_1608Metric,-400.6,-183.8,-90,bottom
7 | C6,100n,C_0603_1608Metric,-365.3,-200.9,90,bottom
8 | C7,100n,C_0603_1608Metric,-358.2,-107.3,90,bottom
9 | C8,100n,C_0603_1608Metric,-343.4,-183.8,-90,bottom
10 | C9,100n,C_0603_1608Metric,-326.8,-200.9,90,bottom
11 | C10,100n,C_0603_1608Metric,-304.3,-107.3,90,bottom
12 | C11,100n,C_0603_1608Metric,-290.8,-200.9,90,bottom
13 | C12,100n,C_0603_1608Metric,-286.3,-183.8125,-90,bottom
14 | C13,100n,C_0603_1608Metric,-251.3,-200.9,90,bottom
15 | C14,100n,C_0603_1608Metric,-250.3,-107.3125,90,bottom
16 | C15,100n,C_0603_1608Metric,-229.1,-183.8875,-90,bottom
17 | C16,100n,C_0603_1608Metric,-196.4,-107.3,90,bottom
18 | C17,100n,C_0603_1608Metric,-171.9,-183.8,-90,bottom
19 | C18,100n,C_0603_1608Metric,-142.4,-107.9,90,bottom
20 | C19,100n,C_0603_1608Metric,-131.3,-144.3,-90,bottom
21 | C20,100n,C_0603_1608Metric,-128.3,-142.1,0,bottom
22 | C21,1u,C_0603_1608Metric,-122.4,-115.4,-90,bottom
23 | C22,10u,C_0603_1608Metric,-119.7,-112.8,0,bottom
24 | C23,100n,C_0603_1608Metric,-118.3125,-143.3,180,bottom
25 | C24,10u,C_0603_1608Metric,-115.6,-89.685786,0,bottom
26 | C25,10u,C_0603_1608Metric,-115.5125,-106.00625,180,bottom
27 | C26,1u,C_0603_1608Metric,-115.525,-107.50625,180,bottom
28 | C27,100n,C_0603_1608Metric,-114.8,-183.8125,-90,bottom
29 | D5,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-462,-147.6,90,bottom
30 | D6,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-462,-183,0,bottom
31 | D7,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-461.9,-108.1,180,bottom
32 | D8,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-407.941665,-108.1,180,bottom
33 | D9,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-404.83333,-183,0,bottom
34 | D10,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-353.983332,-108.1,180,bottom
35 | D11,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-347.666664,-183,0,bottom
36 | D12,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-300.024999,-108.1,180,bottom
37 | D13,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-290.499998,-183,0,bottom
38 | D14,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-246.066666,-108.1,180,bottom
39 | D15,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-233.333332,-183,0,bottom
40 | D16,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-192.108333,-108.1,180,bottom
41 | D17,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-176.166666,-183,0,bottom
42 | D18,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-138.15,-108.1,180,bottom
43 | D19,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-119.1,-147.6,-90,bottom
44 | D20,WS2812C,LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm,-119,-183,0,bottom
45 | D21,B5817WL,D_SOD-123FL,-114.7,-110.9,180,bottom
46 | D22,BLU,LED_0603_1608Metric,-101.5,-101.5,180,bottom
47 | D23,GRN,LED_0603_1608Metric,-101.5,-103.15,180,bottom
48 | D24,ORG,LED_0603_1608Metric,-101.5,-104.8,180,bottom
49 | D_1,1N4148,D_SOD-123,-463.3375,-101,90,bottom
50 | D_2,1N4148,D_SOD-123,-463.2875,-120.1,90,bottom
51 | D_3,1N4148,D_SOD-123,-463.3375,-139.1,90,bottom
52 | D_4,1N4148,D_SOD-123,-463.3375,-158.5,90,bottom
53 | D_5,1N4148,D_SOD-123,-463.3375,-196.3,90,bottom
54 | D_6,1N4148,D_SOD-123,-463.2375,-177.5,90,bottom
55 | D_7,1N4148,D_SOD-123,-460.8875,-120.1,90,bottom
56 | D_8,1N4148,D_SOD-123,-460.8,-101,90,bottom
57 | D_9,1N4148,D_SOD-123,-460.8,-196.3,90,bottom
58 | D_10,1N4148,D_SOD-123,-460.7,-177.5,90,bottom
59 | D_11,1N4148,D_SOD-123,-456.3375,-139.1,90,bottom
60 | D_12,1N4148,D_SOD-123,-449.8375,-158.5,90,bottom
61 | D_13,1N4148,D_SOD-123,-441.75,-101,90,bottom
62 | D_14,1N4148,D_SOD-123,-441.75,-196.3,90,bottom
63 | D_15,1N4148,D_SOD-123,-435.2375,-177.5,90,bottom
64 | D_16,1N4148,D_SOD-123,-432.225,-139.1,90,bottom
65 | D_17,1N4148,D_SOD-123,-425,-120.1,90,bottom
66 | D_18,1N4148,D_SOD-123,-422.7,-101,90,bottom
67 | D_19,1N4148,D_SOD-123,-422.7,-196.3,90,bottom
68 | D_20,1N4148,D_SOD-123,-422.65,-120.1,90,bottom
69 | D_21,1N4148,D_SOD-123,-417.9375,-158.5,90,bottom
70 | D_22,1N4148,D_SOD-123,-413.175,-139.1,90,bottom
71 | D_23,1N4148,D_SOD-123,-408.3125,-177.5,90,bottom
72 | D_24,1N4148,D_SOD-123,-403.65,-101,90,bottom
73 | D_25,1N4148,D_SOD-123,-403.6,-120.1,90,bottom
74 | D_26,1N4148,D_SOD-123,-402.4,-196.3,90,bottom
75 | D_27,1N4148,D_SOD-123,-398.8875,-158.5,90,bottom
76 | D_28,1N4148,D_SOD-123,-394.125,-139.1,90,bottom
77 | D_29,1N4148,D_SOD-123,-389.2625,-177.5,90,bottom
78 | D_30,1N4148,D_SOD-123,-388.2,-196.3,90,bottom
79 | D_31,1N4148,D_SOD-123,-384.6,-101,90,bottom
80 | D_32,1N4148,D_SOD-123,-384.55,-120.1,90,bottom
81 | D_33,1N4148,D_SOD-123,-379.8375,-158.5,90,bottom
82 | D_34,1N4148,D_SOD-123,-375.075,-139.1,90,bottom
83 | D_35,1N4148,D_SOD-123,-370.2125,-177.5,90,bottom
84 | D_36,1N4148,D_SOD-123,-365.55,-101,90,bottom
85 | D_37,1N4148,D_SOD-123,-365.5,-120.1,90,bottom
86 | D_38,1N4148,D_SOD-123,-360.7875,-158.5,90,bottom
87 | D_39,1N4148,D_SOD-123,-356.025,-139.1,90,bottom
88 | D_40,1N4148,D_SOD-123,-354.0375,-196.3,90,bottom
89 | D_41,1N4148,D_SOD-123,-351.1625,-177.5,90,bottom
90 | D_42,1N4148,D_SOD-123,-346.5,-101,90,bottom
91 | D_43,1N4148,D_SOD-123,-346.45,-120.1,90,bottom
92 | D_44,1N4148,D_SOD-123,-341.7375,-158.5,90,bottom
93 | D_45,1N4148,D_SOD-123,-336.975,-139.1,90,bottom
94 | D_46,1N4148,D_SOD-123,-332.1125,-177.5,90,bottom
95 | D_47,1N4148,D_SOD-123,-327.45,-101,90,bottom
96 | D_48,1N4148,D_SOD-123,-327.4,-120.1,90,bottom
97 | D_49,1N4148,D_SOD-123,-322.6875,-158.5,90,bottom
98 | D_50,1N4148,D_SOD-123,-298.85,-196.75,90,bottom
99 | D_51,1N4148,D_SOD-123,-317.925,-139.1,90,bottom
100 | D_52,1N4148,D_SOD-123,-313.0625,-177.5,90,bottom
101 | D_53,1N4148,D_SOD-123,-308.4,-101,90,bottom
102 | D_54,1N4148,D_SOD-123,-308.35,-120.1,90,bottom
103 | D_55,1N4148,D_SOD-123,-303.6375,-158.5,90,bottom
104 | D_56,1N4148,D_SOD-123,-298.875,-139.1,90,bottom
105 | D_57,1N4148,D_SOD-123,-294.0125,-177.5,90,bottom
106 | D_58,1N4148,D_SOD-123,-289.35,-101,90,bottom
107 | D_59,1N4148,D_SOD-123,-289.3,-120.1,90,bottom
108 | D_60,1N4148,D_SOD-123,-284.5875,-158.5,90,bottom
109 | D_61,1N4148,D_SOD-123,-282.6375,-196.3,90,bottom
110 | D_62,1N4148,D_SOD-123,-279.825,-139.1,90,bottom
111 | D_63,1N4148,D_SOD-123,-274.9625,-177.5,90,bottom
112 | D_64,1N4148,D_SOD-123,-270.3,-101,90,bottom
113 | D_65,1N4148,D_SOD-123,-270.25,-120.1,90,bottom
114 | D_66,1N4148,D_SOD-123,-265.5375,-158.5,90,bottom
115 | D_67,1N4148,D_SOD-123,-260.775,-139.1,90,bottom
116 | D_68,1N4148,D_SOD-123,-255.9125,-177.5,90,bottom
117 | D_69,1N4148,D_SOD-123,-251.25,-101,90,bottom
118 | D_70,1N4148,D_SOD-123,-251.2,-120.1,90,bottom
119 | D_71,1N4148,D_SOD-123,-246.4875,-158.5,90,bottom
120 | D_72,1N4148,D_SOD-123,-246.4875,-196.3,90,bottom
121 | D_73,1N4148,D_SOD-123,-241.725,-139.1,90,bottom
122 | D_74,1N4148,D_SOD-123,-236.8625,-177.5,90,bottom
123 | D_75,1N4148,D_SOD-123,-232.2,-101,90,bottom
124 | D_76,1N4148,D_SOD-123,-232.15,-120.1,90,bottom
125 | D_77,1N4148,D_SOD-123,-227.4375,-158.5,90,bottom
126 | D_78,1N4148,D_SOD-123,-222.675,-139.1,90,bottom
127 | D_79,1N4148,D_SOD-123,-222.675,-196.3,90,bottom
128 | D_80,1N4148,D_SOD-123,-213.15,-101,90,bottom
129 | D_81,1N4148,D_SOD-123,-213.1,-120.1,90,bottom
130 | D_82,1N4148,D_SOD-123,-206.7375,-177.5,90,bottom
131 | D_83,1N4148,D_SOD-123,-201.3,-158.5,90,bottom
132 | D_84,1N4148,D_SOD-123,-199.8375,-139.1,90,bottom
133 | D_85,1N4148,D_SOD-123,-198.8625,-196.3,90,bottom
134 | D_86,1N4148,D_SOD-123,-194.1,-101,90,bottom
135 | D_87,1N4148,D_SOD-123,-194.05,-120.1,90,bottom
136 | D_88,1N4148,D_SOD-123,-175,-120.1,90,bottom
137 | D_89,1N4148,D_SOD-123,-175.05,-196.3,90,bottom
138 | D_90,1N4148,D_SOD-123,-174.95,-177.5,90,bottom
139 | D_91,1N4148,D_SOD-123,-158.3375,-139.1,90,bottom
140 | D_92,1N4148,D_SOD-123,-158.3375,-158.5,90,bottom
141 | D_93,1N4148,D_SOD-123,-158.2,-101,90,bottom
142 | D_94,1N4148,D_SOD-123,-156,-139.1,90,bottom
143 | D_95,1N4148,D_SOD-123,-156,-158.5,90,bottom
144 | D_96,1N4148,D_SOD-123,-155.95,-120.1,90,bottom
145 | D_97,1N4148,D_SOD-123,-155.9,-177.5,90,bottom
146 | D_98,1N4148,D_SOD-123,-151.3,-199.8,90,bottom
147 | D_99,1N4148,D_SOD-123,-140.5,-101,90,bottom
148 | D_100,1N4148,D_SOD-123,-139.3125,-139.1,90,bottom
149 | D_101,1N4148,D_SOD-123,-139.2,-158.5,90,bottom
150 | D_102,1N4148,D_SOD-123,-139,-177.5,90,bottom
151 | D_103,1N4148,D_SOD-123,-138.2,-101,90,bottom
152 | D_104,1N4148,D_SOD-123,-136.9,-120.1,90,bottom
153 | D_105,1N4148,D_SOD-123,-136.9,-139.1,90,bottom
154 | D_106,1N4148,D_SOD-123,-136.9,-158.5,90,bottom
155 | D_107,1N4148,D_SOD-123,-136.8375,-196.3,90,bottom
156 | D_108,1N4148,D_SOD-123,-136.6375,-177.5,90,bottom
157 | D_109,1N4148,D_SOD-123,-135.9,-101,90,bottom
158 | D_110,1N4148,D_SOD-123,-117.9,-120.1,90,bottom
159 | D_111,1N4148,D_SOD-123,-117.8,-190.2,90,bottom
160 | F1,500mA,Fuse_0805_2012Metric,-115.4,-91.385786,0,bottom
161 | J2,USB_C_Receptacle_USB2.0,USB_C_Receptacle_HRO_TYPE-C-31-M-12,-119,-83.676155,0,bottom
162 | J3,JST_PH2,JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_Horizontal,-106.7,-126.8,-90,bottom
163 | LOGO1,Josh-Details,josh-details,-179.2334,-231.389801,180,bottom
164 | LOGO2,Josh-Logo,josh-johnson-logo-17x3,-110.6666,-201.610199,180,bottom
165 | LOGO3,OSHW Logo,OSHW_Logo_3.6x3.6_F.Mask,-100.4,-203.3,180,bottom
166 | Q1,2N7002,SOT-23,-123.5,-140.9,90,bottom
167 | Q2,AO3401A,SOT-23,-118.4,-139.8,180,bottom
168 | Q3,AO3401A,SOT-23,-116.4,-113.8,-90,bottom
169 | R1,806K,R_0603_1608Metric,-123.6875,-110.3,0,bottom
170 | R2,2M,R_0603_1608Metric,-123.6875,-111.8,180,bottom
171 | R3,5K1,R_0603_1608Metric,-123.5,-143.4,180,bottom
172 | R4,5K1,R_0603_1608Metric,-122.8,-94.785786,90,bottom
173 | R5,5K1,R_0603_1608Metric,-121.4125,-109.6,90,bottom
174 | R6,5K1,R_0603_1608Metric,-120.9,-139.8,-90,bottom
175 | R7,5K1,R_0603_1608Metric,-121.3,-94.785786,-90,bottom
176 | R8,2K,R_0603_1608Metric,-119.9125,-105.8,-90,bottom
177 | R9,5K1,R_0603_1608Metric,-118.4125,-105.8,90,bottom
178 | R10,806K,R_0603_1608Metric,-115.5,-109,180,bottom
179 | R11,2K,R_0603_1608Metric,-101.5,-100,180,bottom
180 | SW1,RESET,SW_Push_KMR2,-101.6,-108.5,-90,bottom
181 | U1,nRF52840_holyiot_18010,nRF52840_holyiot_18010,-178.95,-148.1,0,bottom
182 | U2,SN74LVC1T45DBV,SOT-363_SC-70-6,-128.5,-144.5,180,bottom
183 | U3,XC6206P332MR,SOT-23,-119.9,-115.3,180,bottom
184 | U4,SRV05-4,SOT-23-6,-119,-91.335786,180,bottom
185 | U5,TP4057,SOT-23-6,-118.8125,-109.3,90,bottom
186 |
--------------------------------------------------------------------------------
/hardware/0.4-w/keyboard.csv:
--------------------------------------------------------------------------------
1 | Comment,Designator,Footprint,LCSC
2 | "100n","C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C23,C27","Capacitor_SMD:C_0603_1608Metric","C14663"
3 | "1u","C21,C26","Capacitor_SMD:C_0603_1608Metric","C15849"
4 | "10u","C22,C24,C25","Capacitor_SMD:C_0603_1608Metric","C19702"
5 | "SK6812-MINI-E","D1,D2,D3,D4","josh-led:SK8612-MINI-E",""
6 | "B5817WL","D21","josh-passives-smt:D_SOD-123FL","C122853"
7 | "BLU","D22","LED_SMD:LED_0603_1608Metric","C72041"
8 | "GRN","D23","LED_SMD:LED_0603_1608Metric","C72043"
9 | "ORG","D24","LED_SMD:LED_0603_1608Metric","C2286"
10 | "WS2812C","D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D20","josh-led:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm","C114587"
11 | "1N4148","D_1,D_2,D_3,D_4,D_5,D_6,D_7,D_8,D_9,D_10,D_11,D_12,D_13,D_14,D_15,D_16,D_17,D_18,D_19,D_20,D_21,D_22,D_23,D_24,D_25,D_26,D_27,D_28,D_29,D_30,D_31,D_32,D_33,D_34,D_35,D_36,D_37,D_38,D_39,D_40,D_41,D_42,D_43,D_44,D_45,D_46,D_47,D_48,D_49,D_50,D_51,D_52,D_53,D_54,D_55,D_56,D_57,D_58,D_59,D_60,D_61,D_62,D_63,D_64,D_65,D_66,D_67,D_68,D_69,D_70,D_71,D_72,D_73,D_74,D_75,D_76,D_77,D_78,D_79,D_80,D_81,D_82,D_83,D_84,D_85,D_86,D_87,D_88,D_89,D_90,D_91,D_92,D_93,D_94,D_95,D_96,D_97,D_98,D_99,D_100,D_101,D_102,D_103,D_104,D_105,D_106,D_107,D_108,D_109,D_110,D_111","Diode_SMD:D_SOD-123","C81598"
12 | "500mA","F1","josh-passives-smt:Fuse_0805_2012Metric","C66452"
13 | "SWD","J1","josh-connectors:5_PIN_THT_Staggered",""
14 | "USB_C_Receptacle_USB2.0","J2","josh-connectors:USB_C_Receptacle_HRO_TYPE-C-31-M-12"," C165948"
15 | "JST_PH2","J3","josh-connectors:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_Horizontal","C47647"
16 | "Spare IO","J4","josh-connectors:4_PIN_THT_Staggered",""
17 | "JMP","JP1,JP2","Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm",""
18 | "Encoder_MX","K_1,K_9,K_15,K_22,K_113","josh-keyboard:MX_KEYSWITCH_ENCODER",""
19 | "KEYSW","K_102","josh-keyboard:MXOnly-1.75U-NoLED",""
20 | "KEYSW","K_2,K_3,K_5,K_6,K_8,K_10,K_11,K_12,K_13,K_14,K_16,K_17,K_18,K_19,K_20,K_23,K_26,K_27,K_28,K_29,K_34,K_35,K_37,K_38,K_39,K_40,K_41,K_42,K_44,K_45,K_46,K_47,K_48,K_49,K_50,K_51,K_52,K_53,K_55,K_56,K_57,K_58,K_59,K_60,K_61,K_62,K_63,K_65,K_67,K_68,K_69,K_70,K_71,K_72,K_73,K_74,K_75,K_77,K_78,K_79,K_80,K_81,K_82,K_83,K_84,K_85,K_86,K_87,K_89,K_90,K_91,K_92,K_93,K_94,K_95,K_96,K_98,K_99,K_100,K_101,K_103,K_104,K_105,K_109,K_110,K_111,K_112,K_114,K_115,K_116,K_117,K_118,K_121","josh-keyboard:MXOnly-1U-NoLED",""
21 | "KEYSW","K_24,K_25","josh-keyboard:MXOnly-1U-NoLED-3PIN",""
22 | "KEYSW","K_30,K_36,K_43,K_66","josh-keyboard:MXOnly-1.25U-NoLED",""
23 | "KEYSW","K_31","josh-keyboard:MXOnly-1.5U-NoLED-3PIN",""
24 | "KEYSW","K_32","josh-keyboard:MXOnly-1.75U-NoLED-3PIN",""
25 | "KEYSW","K_33,K_76,K_106","josh-keyboard:MXOnly-2.25U-NoLED",""
26 | "KEYSW","K_4,K_7,K_21,K_107","josh-keyboard:MXOnly-2U-NoLED",""
27 | "KEYSW","K_54","josh-keyboard:MXOnly-2.75U-NoLED",""
28 | "KEYSW","K_64","josh-keyboard:MXOnly-6.25U-NoLED",""
29 | "KEYSW","K_88,K_97,K_108,K_120","josh-keyboard:MXOnly-1.5U-NoLED",""
30 | "Josh-Details","LOGO1","josh-logos:josh-details",""
31 | "Josh-Logo","LOGO2","josh-logos:josh-johnson-logo-17x3",""
32 | "OSHW Logo","LOGO3","josh-logos:OSHW_Logo_3.6x3.6_F.Mask",""
33 | "2N7002","Q1","Package_TO_SOT_SMD:SOT-23","C8545"
34 | "AO3401A","Q2,Q3","Package_TO_SOT_SMD:SOT-23","C15127"
35 | "806K","R1,R10","Resistor_SMD:R_0603_1608Metric","C23250"
36 | "2M","R2","Resistor_SMD:R_0603_1608Metric","C22976"
37 | "5K1","R3,R4,R5,R6,R7,R9","Resistor_SMD:R_0603_1608Metric","C23186"
38 | "2K","R8,R11","Resistor_SMD:R_0603_1608Metric",""
39 | "RESET","SW1","josh-buttons-switches:SW_Push_KMR2","C99271"
40 | "nRF52840_holyiot_18010","U1","josh-module:nRF52840_holyiot_18010",""
41 | "SN74LVC1T45DBV","U2","Package_TO_SOT_SMD:SOT-363_SC-70-6","C7843"
42 | "XC6206P332MR","U3","Package_TO_SOT_SMD:SOT-23","C5446"
43 | "SRV05-4","U4","Package_TO_SOT_SMD:SOT-23-6","C85364"
44 | "TP4057","U5","Package_TO_SOT_SMD:SOT-23-6","C12044"
--------------------------------------------------------------------------------
/hardware/0.4-w/keyboard.kicad_prl:
--------------------------------------------------------------------------------
1 | {
2 | "board": {
3 | "active_layer": 31,
4 | "active_layer_preset": "",
5 | "auto_track_width": true,
6 | "hidden_nets": [],
7 | "high_contrast_mode": 0,
8 | "net_color_mode": 1,
9 | "opacity": {
10 | "pads": 1.0,
11 | "tracks": 1.0,
12 | "vias": 1.0,
13 | "zones": 0.6
14 | },
15 | "ratsnest_display_mode": 0,
16 | "selection_filter": {
17 | "dimensions": true,
18 | "footprints": true,
19 | "graphics": true,
20 | "keepouts": true,
21 | "lockedItems": true,
22 | "otherItems": true,
23 | "pads": true,
24 | "text": true,
25 | "tracks": true,
26 | "vias": true,
27 | "zones": true
28 | },
29 | "visible_items": [
30 | 0,
31 | 1,
32 | 2,
33 | 3,
34 | 4,
35 | 5,
36 | 6,
37 | 8,
38 | 9,
39 | 10,
40 | 11,
41 | 12,
42 | 13,
43 | 14,
44 | 15,
45 | 16,
46 | 17,
47 | 18,
48 | 19,
49 | 20,
50 | 21,
51 | 22,
52 | 23,
53 | 24,
54 | 25,
55 | 26,
56 | 27,
57 | 28,
58 | 29,
59 | 30,
60 | 32,
61 | 33,
62 | 34,
63 | 35,
64 | 36
65 | ],
66 | "visible_layers": "000feff_80000001",
67 | "zone_display_mode": 1
68 | },
69 | "meta": {
70 | "filename": "keyboard.kicad_prl",
71 | "version": 3
72 | },
73 | "project": {
74 | "files": []
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/hardware/0.4-w/keyboard.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/hardware/0.4-w/keyboard.pdf
--------------------------------------------------------------------------------
/hardware/0.4-w/keyboard.pro:
--------------------------------------------------------------------------------
1 | update=22/05/2015 07:44:53
2 | version=1
3 | last_client=kicad
4 | [general]
5 | version=1
6 | RootSch=
7 | BoardNm=
8 | [pcbnew]
9 | version=1
10 | LastNetListRead=
11 | UseCmpFile=1
12 | PadDrill=0.600000000000
13 | PadDrillOvalY=0.600000000000
14 | PadSizeH=1.500000000000
15 | PadSizeV=1.500000000000
16 | PcbTextSizeV=1.500000000000
17 | PcbTextSizeH=1.500000000000
18 | PcbTextThickness=0.300000000000
19 | ModuleTextSizeV=1.000000000000
20 | ModuleTextSizeH=1.000000000000
21 | ModuleTextSizeThickness=0.150000000000
22 | SolderMaskClearance=0.000000000000
23 | SolderMaskMinWidth=0.000000000000
24 | DrawSegmentWidth=0.200000000000
25 | BoardOutlineThickness=0.100000000000
26 | ModuleOutlineThickness=0.150000000000
27 | [cvpcb]
28 | version=1
29 | NetIExt=net
30 | [eeschema]
31 | version=1
32 | LibDir=
33 | [eeschema/libraries]
34 |
--------------------------------------------------------------------------------
/hardware/0.4-w/sym-lib-table:
--------------------------------------------------------------------------------
1 | (sym_lib_table
2 | (lib (name "josh-led")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-led.kicad_sym")(options "")(descr ""))
3 | (lib (name "josh-logic")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-logic.kicad_sym")(options "")(descr ""))
4 | (lib (name "josh-mechnanical")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-mechnanical.kicad_sym")(options "")(descr ""))
5 | (lib (name "josh-memory")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-memory.kicad_sym")(options "")(descr ""))
6 | (lib (name "josh-oscillator")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-oscillator.kicad_sym")(options "")(descr ""))
7 | (lib (name "josh-passive")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-passive.kicad_sym")(options "")(descr ""))
8 | (lib (name "josh-power")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-power.kicad_sym")(options "")(descr ""))
9 | (lib (name "josh-rf")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-rf.kicad_sym")(options "")(descr ""))
10 | (lib (name "josh-display")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-display.kicad_sym")(options "")(descr ""))
11 | (lib (name "josh-keyboard")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.kicad_sym")(options "")(descr ""))
12 | (lib (name "josh-connector")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-connector.kicad_sym")(options "")(descr ""))
13 | (lib (name "josh-ic")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-ic.kicad_sym")(options "")(descr ""))
14 | (lib (name "josh-module")(type "KiCad")(uri "/mnt/530683E96DD773A1/Dropbox/Projects/entropy/josh-kicad-lib/josh-module.kicad_sym")(options "")(descr ""))
15 | )
16 |
--------------------------------------------------------------------------------
/hardware/0.5-w/fp-lib-table:
--------------------------------------------------------------------------------
1 | (fp_lib_table
2 | (lib (name "josh-buttons-switches")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-buttons-switches.pretty")(options "")(descr ""))
3 | (lib (name "josh-connectors")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-connectors.pretty")(options "")(descr ""))
4 | (lib (name "josh-dfn-qfn")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-dfn-qfn.pretty")(options "")(descr ""))
5 | (lib (name "josh-led")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-led.pretty")(options "")(descr ""))
6 | (lib (name "josh-logos")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-logos.pretty")(options "")(descr ""))
7 | (lib (name "josh-mechanical")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-mechanical.pretty")(options "")(descr ""))
8 | (lib (name "josh-oscillators")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-oscillators.pretty")(options "")(descr ""))
9 | (lib (name "josh-passives-smt")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-passives-smt.pretty")(options "")(descr ""))
10 | (lib (name "josh-rf")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-rf.pretty")(options "")(descr ""))
11 | (lib (name "josh-soic-sot-etc")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-soic-sot-etc.pretty")(options "")(descr ""))
12 | (lib (name "josh-test-point")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-test-point.pretty")(options "")(descr ""))
13 | (lib (name "josh-display")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-display.pretty")(options "")(descr ""))
14 | (lib (name "josh-bga")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-bga.pretty")(options "")(descr ""))
15 | (lib (name "josh-power")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-power.pretty")(options "")(descr ""))
16 | (lib (name "josh-module")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-module.pretty")(options "")(descr ""))
17 | (lib (name "josh-keyboard")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.pretty")(options "")(descr ""))
18 | )
19 |
--------------------------------------------------------------------------------
/hardware/0.5-w/keyboard.kicad_prl:
--------------------------------------------------------------------------------
1 | {
2 | "board": {
3 | "active_layer": 0,
4 | "active_layer_preset": "",
5 | "auto_track_width": true,
6 | "hidden_nets": [],
7 | "high_contrast_mode": 0,
8 | "net_color_mode": 1,
9 | "opacity": {
10 | "pads": 1.0,
11 | "tracks": 1.0,
12 | "vias": 1.0,
13 | "zones": 0.6
14 | },
15 | "ratsnest_display_mode": 0,
16 | "selection_filter": {
17 | "dimensions": true,
18 | "footprints": true,
19 | "graphics": true,
20 | "keepouts": true,
21 | "lockedItems": true,
22 | "otherItems": true,
23 | "pads": true,
24 | "text": true,
25 | "tracks": true,
26 | "vias": true,
27 | "zones": true
28 | },
29 | "visible_items": [
30 | 0,
31 | 1,
32 | 2,
33 | 3,
34 | 4,
35 | 5,
36 | 6,
37 | 8,
38 | 9,
39 | 10,
40 | 11,
41 | 12,
42 | 13,
43 | 14,
44 | 15,
45 | 16,
46 | 17,
47 | 18,
48 | 19,
49 | 20,
50 | 21,
51 | 22,
52 | 23,
53 | 24,
54 | 25,
55 | 26,
56 | 27,
57 | 28,
58 | 29,
59 | 30,
60 | 32,
61 | 33,
62 | 34,
63 | 35,
64 | 36
65 | ],
66 | "visible_layers": "000feff_80000001",
67 | "zone_display_mode": 1
68 | },
69 | "meta": {
70 | "filename": "keyboard.kicad_prl",
71 | "version": 3
72 | },
73 | "project": {
74 | "files": []
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/hardware/0.5-w/keyboard.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/hardware/0.5-w/keyboard.pdf
--------------------------------------------------------------------------------
/hardware/0.5-w/sym-lib-table:
--------------------------------------------------------------------------------
1 | (sym_lib_table
2 | (lib (name "josh-led")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-led.kicad_sym")(options "")(descr ""))
3 | (lib (name "josh-logic")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-logic.kicad_sym")(options "")(descr ""))
4 | (lib (name "josh-mechnanical")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-mechnanical.kicad_sym")(options "")(descr ""))
5 | (lib (name "josh-memory")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-memory.kicad_sym")(options "")(descr ""))
6 | (lib (name "josh-oscillator")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-oscillator.kicad_sym")(options "")(descr ""))
7 | (lib (name "josh-passive")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-passive.kicad_sym")(options "")(descr ""))
8 | (lib (name "josh-power")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-power.kicad_sym")(options "")(descr ""))
9 | (lib (name "josh-rf")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-rf.kicad_sym")(options "")(descr ""))
10 | (lib (name "josh-display")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-display.kicad_sym")(options "")(descr ""))
11 | (lib (name "josh-keyboard")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-keyboard.kicad_sym")(options "")(descr ""))
12 | (lib (name "josh-connector")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-connector.kicad_sym")(options "")(descr ""))
13 | (lib (name "josh-ic")(type "KiCad")(uri "${KIPRJMOD}/../../josh-kicad-lib/josh-ic.kicad_sym")(options "")(descr ""))
14 | (lib (name "josh-module")(type "KiCad")(uri "/mnt/530683E96DD773A1/Dropbox/Projects/entropy/josh-kicad-lib/josh-module.kicad_sym")(options "")(descr ""))
15 | )
16 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.1/assembly.f3d:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/mechanicals/entropy-case-0.1/assembly.f3d
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.1/back_diffuser.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/mechanicals/entropy-case-0.1/back_diffuser.stl
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.1/encoder_spacer.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/mechanicals/entropy-case-0.1/encoder_spacer.stl
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.1/front_diffuser.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/mechanicals/entropy-case-0.1/front_diffuser.stl
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.1/incline_spacer.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/mechanicals/entropy-case-0.1/incline_spacer.stl
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.1/left_diffuser.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/mechanicals/entropy-case-0.1/left_diffuser.stl
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.1/right_diffuser.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/mechanicals/entropy-case-0.1/right_diffuser.stl
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.1/status_diffuser.stl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/mechanicals/entropy-case-0.1/status_diffuser.stl
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/base-1.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | CIRCLE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbCircle
267 | 10
268 | -489.48097821353417
269 | 20
270 | 81.985785751164343
271 | 30
272 | 0
273 | 40
274 | 1.7499999999999716
275 | 210
276 | 0
277 | 220
278 | 0
279 | 230
280 | 1
281 | 0
282 | CIRCLE
283 | 5
284 | 101
285 | 100
286 | AcDbEntity
287 | 8
288 | 0
289 | 100
290 | AcDbCircle
291 | 10
292 | -224.21414791626921
293 | 20
294 | 81.985785751164215
295 | 30
296 | 0
297 | 40
298 | 1.7500000000000071
299 | 210
300 | 0
301 | 220
302 | 0
303 | 230
304 | 1
305 | 0
306 | CIRCLE
307 | 5
308 | 102
309 | 100
310 | AcDbEntity
311 | 8
312 | 0
313 | 100
314 | AcDbCircle
315 | 10
316 | -356.81431154686749
317 | 20
318 | 81.985785751164286
319 | 30
320 | 0
321 | 40
322 | 1.7499999999999716
323 | 210
324 | 0
325 | 220
326 | 0
327 | 230
328 | 1
329 | 0
330 | CIRCLE
331 | 5
332 | 103
333 | 100
334 | AcDbEntity
335 | 8
336 | 0
337 | 100
338 | AcDbCircle
339 | 10
340 | -91.547481249602569
341 | 20
342 | 81.985785751164144
343 | 30
344 | 0
345 | 40
346 | 1.7500000000000071
347 | 210
348 | 0
349 | 220
350 | 0
351 | 230
352 | 1
353 | 0
354 | LWPOLYLINE
355 | 5
356 | 104
357 | 100
358 | AcDbEntity
359 | 8
360 | 0
361 | 100
362 | AcDbPolyline
363 | 90
364 | 8
365 | 70
366 | 1
367 | 43
368 | 0.0
369 | 10
370 | -476.48097821353417
371 | 20
372 | 91.985785751164357
373 | 42
374 | -0.41421356237308293
375 | 10
376 | -479.48097821353417
377 | 20
378 | 94.985785751164343
379 | 10
380 | -479.48097821353417
381 | 20
382 | 133.98578575116429
383 | 42
384 | -0.41421356237310375
385 | 10
386 | -476.48097821353412
387 | 20
388 | 136.98578575116429
389 | 10
390 | -104.54748124960261
391 | 20
392 | 136.98578575116434
393 | 42
394 | -0.41421356237309503
395 | 10
396 | -101.54748124960257
397 | 20
398 | 133.98578575116429
399 | 10
400 | -101.54748124960257
401 | 20
402 | 94.985785751164144
403 | 42
404 | -0.41421356237309503
405 | 10
406 | -104.54748124960261
407 | 20
408 | 91.985785751164144
409 | 0
410 | LWPOLYLINE
411 | 5
412 | 105
413 | 100
414 | AcDbEntity
415 | 8
416 | 0
417 | 100
418 | AcDbPolyline
419 | 90
420 | 8
421 | 70
422 | 1
423 | 43
424 | 0.0
425 | 10
426 | -493.4809782135344
427 | 20
428 | 143.98578575116406
429 | 42
430 | -0.41421356237310375
431 | 10
432 | -490.48097821353429
433 | 20
434 | 146.98578575116412
435 | 10
436 | -90.547481249602058
437 | 20
438 | 146.98578575116412
439 | 42
440 | -0.41421356237309503
441 | 10
442 | -87.547481249602015
443 | 20
444 | 143.98578575116406
445 | 10
446 | -87.547481249602015
447 | 20
448 | 80.985785751164201
449 | 42
450 | -0.41421356237310719
451 | 10
452 | -90.547481249602058
453 | 20
454 | 77.985785751164116
455 | 10
456 | -490.4809782135344
457 | 20
458 | 77.985785751164485
459 | 42
460 | -0.41421356237308293
461 | 10
462 | -493.48097821353434
463 | 20
464 | 80.985785751164471
465 | 0
466 | ENDSEC
467 | 0
468 | SECTION
469 | 2
470 | OBJECTS
471 | 0
472 | DICTIONARY
473 | 5
474 | C
475 | 100
476 | AcDbDictionary
477 | 3
478 | ACAD_GROUP
479 | 350
480 | D
481 | 3
482 | ACAD_MLINESTYLE
483 | 350
484 | 17
485 | 0
486 | DICTIONARY
487 | 5
488 | D
489 | 100
490 | AcDbDictionary
491 | 0
492 | DICTIONARY
493 | 5
494 | 1A
495 | 330
496 | C
497 | 100
498 | AcDbDictionary
499 | 0
500 | DICTIONARY
501 | 5
502 | 17
503 | 100
504 | AcDbDictionary
505 | 0
506 | ENDSEC
507 | 0
508 | EOF
509 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/base-2.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | CIRCLE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbCircle
267 | 10
268 | -489.48097821353417
269 | 20
270 | 81.985785751164343
271 | 30
272 | 0
273 | 40
274 | 1.7499999999999716
275 | 210
276 | 0
277 | 220
278 | 0
279 | 230
280 | 1
281 | 0
282 | CIRCLE
283 | 5
284 | 101
285 | 100
286 | AcDbEntity
287 | 8
288 | 0
289 | 100
290 | AcDbCircle
291 | 10
292 | -224.21414791626921
293 | 20
294 | 81.985785751164215
295 | 30
296 | 0
297 | 40
298 | 1.7500000000000071
299 | 210
300 | 0
301 | 220
302 | 0
303 | 230
304 | 1
305 | 0
306 | CIRCLE
307 | 5
308 | 102
309 | 100
310 | AcDbEntity
311 | 8
312 | 0
313 | 100
314 | AcDbCircle
315 | 10
316 | -356.81431154686749
317 | 20
318 | 81.985785751164286
319 | 30
320 | 0
321 | 40
322 | 1.7499999999999716
323 | 210
324 | 0
325 | 220
326 | 0
327 | 230
328 | 1
329 | 0
330 | CIRCLE
331 | 5
332 | 103
333 | 100
334 | AcDbEntity
335 | 8
336 | 0
337 | 100
338 | AcDbCircle
339 | 10
340 | -91.547481249602569
341 | 20
342 | 81.985785751164144
343 | 30
344 | 0
345 | 40
346 | 1.7500000000000071
347 | 210
348 | 0
349 | 220
350 | 0
351 | 230
352 | 1
353 | 0
354 | LWPOLYLINE
355 | 5
356 | 104
357 | 100
358 | AcDbEntity
359 | 8
360 | 0
361 | 100
362 | AcDbPolyline
363 | 90
364 | 8
365 | 70
366 | 1
367 | 43
368 | 0.0
369 | 10
370 | -90.547481249602058
371 | 20
372 | 141.98578575116412
373 | 42
374 | -0.41421356237309503
375 | 10
376 | -87.547481249602015
377 | 20
378 | 138.98578575116406
379 | 10
380 | -87.547481249602015
381 | 20
382 | 80.985785751164201
383 | 42
384 | -0.41421356237310719
385 | 10
386 | -90.547481249602058
387 | 20
388 | 77.985785751164116
389 | 10
390 | -490.4809782135344
391 | 20
392 | 77.985785751164514
393 | 42
394 | -0.41421356237309331
395 | 10
396 | -493.48097821353434
397 | 20
398 | 80.985785751164471
399 | 10
400 | -493.48097821353434
401 | 20
402 | 138.98578575116414
403 | 42
404 | -0.41421356237308293
405 | 10
406 | -490.4809782135344
407 | 20
408 | 141.98578575116412
409 | 0
410 | ENDSEC
411 | 0
412 | SECTION
413 | 2
414 | OBJECTS
415 | 0
416 | DICTIONARY
417 | 5
418 | C
419 | 100
420 | AcDbDictionary
421 | 3
422 | ACAD_GROUP
423 | 350
424 | D
425 | 3
426 | ACAD_MLINESTYLE
427 | 350
428 | 17
429 | 0
430 | DICTIONARY
431 | 5
432 | D
433 | 100
434 | AcDbDictionary
435 | 0
436 | DICTIONARY
437 | 5
438 | 1A
439 | 330
440 | C
441 | 100
442 | AcDbDictionary
443 | 0
444 | DICTIONARY
445 | 5
446 | 17
447 | 100
448 | AcDbDictionary
449 | 0
450 | ENDSEC
451 | 0
452 | EOF
453 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/base-3.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | CIRCLE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbCircle
267 | 10
268 | -489.48097821353417
269 | 20
270 | 81.985785751164343
271 | 30
272 | 0
273 | 40
274 | 1.7499999999999716
275 | 210
276 | 0
277 | 220
278 | 0
279 | 230
280 | 1
281 | 0
282 | CIRCLE
283 | 5
284 | 101
285 | 100
286 | AcDbEntity
287 | 8
288 | 0
289 | 100
290 | AcDbCircle
291 | 10
292 | -224.21414791626921
293 | 20
294 | 81.985785751164215
295 | 30
296 | 0
297 | 40
298 | 1.7500000000000071
299 | 210
300 | 0
301 | 220
302 | 0
303 | 230
304 | 1
305 | 0
306 | CIRCLE
307 | 5
308 | 102
309 | 100
310 | AcDbEntity
311 | 8
312 | 0
313 | 100
314 | AcDbCircle
315 | 10
316 | -356.81431154686749
317 | 20
318 | 81.985785751164286
319 | 30
320 | 0
321 | 40
322 | 1.7499999999999716
323 | 210
324 | 0
325 | 220
326 | 0
327 | 230
328 | 1
329 | 0
330 | CIRCLE
331 | 5
332 | 103
333 | 100
334 | AcDbEntity
335 | 8
336 | 0
337 | 100
338 | AcDbCircle
339 | 10
340 | -91.547481249602569
341 | 20
342 | 81.985785751164144
343 | 30
344 | 0
345 | 40
346 | 1.7500000000000071
347 | 210
348 | 0
349 | 220
350 | 0
351 | 230
352 | 1
353 | 0
354 | LWPOLYLINE
355 | 5
356 | 104
357 | 100
358 | AcDbEntity
359 | 8
360 | 0
361 | 100
362 | AcDbPolyline
363 | 90
364 | 8
365 | 70
366 | 1
367 | 43
368 | 0.0
369 | 10
370 | -493.48097821353451
371 | 20
372 | 94.98578575116413
373 | 42
374 | -0.4142135623730846
375 | 10
376 | -490.48097821353451
377 | 20
378 | 97.985785751164101
379 | 10
380 | -90.547481249602058
381 | 20
382 | 97.985785751164101
383 | 42
384 | -0.41421356237309503
385 | 10
386 | -87.547481249602015
387 | 20
388 | 94.985785751164059
389 | 10
390 | -87.547481249602015
391 | 20
392 | 80.985785751164201
393 | 42
394 | -0.41421356237310719
395 | 10
396 | -90.547481249602058
397 | 20
398 | 77.985785751164116
399 | 10
400 | -490.4809782135344
401 | 20
402 | 77.985785751164372
403 | 42
404 | -0.41421356237309331
405 | 10
406 | -493.48097821353451
407 | 20
408 | 80.985785751164471
409 | 0
410 | ENDSEC
411 | 0
412 | SECTION
413 | 2
414 | OBJECTS
415 | 0
416 | DICTIONARY
417 | 5
418 | C
419 | 100
420 | AcDbDictionary
421 | 3
422 | ACAD_GROUP
423 | 350
424 | D
425 | 3
426 | ACAD_MLINESTYLE
427 | 350
428 | 17
429 | 0
430 | DICTIONARY
431 | 5
432 | D
433 | 100
434 | AcDbDictionary
435 | 0
436 | DICTIONARY
437 | 5
438 | 1A
439 | 330
440 | C
441 | 100
442 | AcDbDictionary
443 | 0
444 | DICTIONARY
445 | 5
446 | 17
447 | 100
448 | AcDbDictionary
449 | 0
450 | ENDSEC
451 | 0
452 | EOF
453 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/base-4.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | CIRCLE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbCircle
267 | 10
268 | -91.547481249602569
269 | 20
270 | 81.985785751164144
271 | 30
272 | 0
273 | 40
274 | 1.25
275 | 210
276 | 0
277 | 220
278 | -0
279 | 230
280 | 1
281 | 0
282 | CIRCLE
283 | 5
284 | 101
285 | 100
286 | AcDbEntity
287 | 8
288 | 0
289 | 100
290 | AcDbCircle
291 | 10
292 | -356.81431154686749
293 | 20
294 | 81.985785751164286
295 | 30
296 | 0
297 | 40
298 | 1.25
299 | 210
300 | 0
301 | 220
302 | -0
303 | 230
304 | 1
305 | 0
306 | CIRCLE
307 | 5
308 | 102
309 | 100
310 | AcDbEntity
311 | 8
312 | 0
313 | 100
314 | AcDbCircle
315 | 10
316 | -224.21414791626921
317 | 20
318 | 81.985785751164215
319 | 30
320 | 0
321 | 40
322 | 1.25
323 | 210
324 | 0
325 | 220
326 | -0
327 | 230
328 | 1
329 | 0
330 | CIRCLE
331 | 5
332 | 103
333 | 100
334 | AcDbEntity
335 | 8
336 | 0
337 | 100
338 | AcDbCircle
339 | 10
340 | -489.48097821353417
341 | 20
342 | 81.985785751164343
343 | 30
344 | 0
345 | 40
346 | 1.25
347 | 210
348 | 0
349 | 220
350 | -0
351 | 230
352 | 1
353 | 0
354 | LWPOLYLINE
355 | 5
356 | 104
357 | 100
358 | AcDbEntity
359 | 8
360 | 0
361 | 100
362 | AcDbPolyline
363 | 90
364 | 8
365 | 70
366 | 1
367 | 43
368 | 0.0
369 | 10
370 | -90.547481249602058
371 | 20
372 | 92.985785751164116
373 | 42
374 | -0.41421356237309503
375 | 10
376 | -87.547481249602015
377 | 20
378 | 89.985785751164116
379 | 10
380 | -87.547481249602015
381 | 20
382 | 80.985785751164201
383 | 42
384 | -0.41421356237310719
385 | 10
386 | -90.547481249602058
387 | 20
388 | 77.985785751164116
389 | 10
390 | -490.4809782135344
391 | 20
392 | 77.985785751164229
393 | 42
394 | -0.41421356237309331
395 | 10
396 | -493.48097821353463
397 | 20
398 | 80.985785751164471
399 | 10
400 | -493.48097821353463
401 | 20
402 | 89.985785751164116
403 | 42
404 | -0.41421356237308637
405 | 10
406 | -490.48097821353463
407 | 20
408 | 92.985785751164101
409 | 0
410 | ENDSEC
411 | 0
412 | SECTION
413 | 2
414 | OBJECTS
415 | 0
416 | DICTIONARY
417 | 5
418 | C
419 | 100
420 | AcDbDictionary
421 | 3
422 | ACAD_GROUP
423 | 350
424 | D
425 | 3
426 | ACAD_MLINESTYLE
427 | 350
428 | 17
429 | 0
430 | DICTIONARY
431 | 5
432 | D
433 | 100
434 | AcDbDictionary
435 | 0
436 | DICTIONARY
437 | 5
438 | 1A
439 | 330
440 | C
441 | 100
442 | AcDbDictionary
443 | 0
444 | DICTIONARY
445 | 5
446 | 17
447 | 100
448 | AcDbDictionary
449 | 0
450 | ENDSEC
451 | 0
452 | EOF
453 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/base.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | CIRCLE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbCircle
267 | 10
268 | -489.48097821353417
269 | 20
270 | 81.985785751164343
271 | 30
272 | 0
273 | 40
274 | 1.7499999999999716
275 | 210
276 | 0
277 | 220
278 | 0
279 | 230
280 | 1
281 | 0
282 | CIRCLE
283 | 5
284 | 101
285 | 100
286 | AcDbEntity
287 | 8
288 | 0
289 | 100
290 | AcDbCircle
291 | 10
292 | -224.21414791626921
293 | 20
294 | 81.985785751164215
295 | 30
296 | 0
297 | 40
298 | 1.7500000000000071
299 | 210
300 | 0
301 | 220
302 | 0
303 | 230
304 | 1
305 | 0
306 | CIRCLE
307 | 5
308 | 102
309 | 100
310 | AcDbEntity
311 | 8
312 | 0
313 | 100
314 | AcDbCircle
315 | 10
316 | -356.81431154686749
317 | 20
318 | 81.985785751164286
319 | 30
320 | 0
321 | 40
322 | 1.7499999999999716
323 | 210
324 | 0
325 | 220
326 | 0
327 | 230
328 | 1
329 | 0
330 | CIRCLE
331 | 5
332 | 103
333 | 100
334 | AcDbEntity
335 | 8
336 | 0
337 | 100
338 | AcDbCircle
339 | 10
340 | -91.547481249602569
341 | 20
342 | 81.985785751164144
343 | 30
344 | 0
345 | 40
346 | 1.7500000000000071
347 | 210
348 | 0
349 | 220
350 | 0
351 | 230
352 | 1
353 | 0
354 | CIRCLE
355 | 5
356 | 104
357 | 100
358 | AcDbEntity
359 | 8
360 | 0
361 | 100
362 | AcDbCircle
363 | 10
364 | -356.81431154686754
365 | 20
366 | 213.20254981041325
367 | 30
368 | 0
369 | 40
370 | 1.25
371 | 210
372 | 0
373 | 220
374 | 0
375 | 230
376 | 1
377 | 0
378 | CIRCLE
379 | 5
380 | 105
381 | 100
382 | AcDbEntity
383 | 8
384 | 0
385 | 100
386 | AcDbCircle
387 | 10
388 | -224.21414791626958
389 | 20
390 | 213.20254981041296
391 | 30
392 | 0
393 | 40
394 | 1.25
395 | 210
396 | 0
397 | 220
398 | 0
399 | 230
400 | 1
401 | 0
402 | CIRCLE
403 | 5
404 | 106
405 | 100
406 | AcDbEntity
407 | 8
408 | 0
409 | 100
410 | AcDbCircle
411 | 10
412 | -489.48097821353423
413 | 20
414 | 213.20254981041353
415 | 30
416 | 0
417 | 40
418 | 1.25
419 | 210
420 | 0
421 | 220
422 | 0
423 | 230
424 | 1
425 | 0
426 | CIRCLE
427 | 5
428 | 107
429 | 100
430 | AcDbEntity
431 | 8
432 | 0
433 | 100
434 | AcDbCircle
435 | 10
436 | -91.54748124960291
437 | 20
438 | 213.20254981041268
439 | 30
440 | 0
441 | 40
442 | 1.25
443 | 210
444 | 0
445 | 220
446 | 0
447 | 230
448 | 1
449 | 0
450 | LWPOLYLINE
451 | 5
452 | 108
453 | 100
454 | AcDbEntity
455 | 8
456 | 0
457 | 100
458 | AcDbPolyline
459 | 90
460 | 8
461 | 70
462 | 1
463 | 43
464 | 0.0
465 | 10
466 | -479.48097821353417
467 | 20
468 | 133.98578575116429
469 | 10
470 | -479.48097821353417
471 | 20
472 | 94.985785751164343
473 | 42
474 | 0.41421356237308293
475 | 10
476 | -476.48097821353417
477 | 20
478 | 91.985785751164343
479 | 10
480 | -104.54748124960261
481 | 20
482 | 91.985785751164144
483 | 42
484 | 0.41421356237309503
485 | 10
486 | -101.54748124960257
487 | 20
488 | 94.985785751164144
489 | 10
490 | -101.54748124960257
491 | 20
492 | 133.98578575116429
493 | 42
494 | 0.41421356237309503
495 | 10
496 | -104.54748124960261
497 | 20
498 | 136.98578575116434
499 | 10
500 | -476.48097821353412
501 | 20
502 | 136.98578575116434
503 | 42
504 | 0.41421356237310375
505 | 0
506 | LWPOLYLINE
507 | 5
508 | 109
509 | 100
510 | AcDbEntity
511 | 8
512 | 0
513 | 100
514 | AcDbPolyline
515 | 90
516 | 17
517 | 70
518 | 1
519 | 43
520 | 0.0
521 | 10
522 | -128.40000395402316
523 | 20
524 | 78.985785751164173
525 | 42
526 | -0.41421356237309503
527 | 10
528 | -129.40000395402313
529 | 20
530 | 77.985785751164173
531 | 10
532 | -490.4809782135344
533 | 20
534 | 77.985785751164443
535 | 42
536 | -0.4142135623730846
537 | 10
538 | -493.48097821353434
539 | 20
540 | 80.985785751164457
541 | 10
542 | -493.48097821353406
543 | 20
544 | 214.25950919054225
545 | 42
546 | -0.41421356237310542
547 | 10
548 | -490.48097821353406
549 | 20
550 | 217.25950919054227
551 | 10
552 | -90.547481249603109
553 | 20
554 | 217.25950919054227
555 | 42
556 | -0.41421356237309681
557 | 10
558 | -87.547481249603038
559 | 20
560 | 214.2595091905423
561 | 10
562 | -87.547481249602043
563 | 20
564 | 80.985785751164201
565 | 42
566 | -0.41421356237310719
567 | 10
568 | -90.547481249602058
569 | 20
570 | 77.985785751164144
571 | 10
572 | -108.60000421633603
573 | 20
574 | 77.985785751164173
575 | 42
576 | -0.41421356803152509
577 | 10
578 | -109.60000421633603
579 | 20
580 | 78.985785770483247
581 | 10
582 | -109.60000410147593
583 | 20
584 | 84.931207314485064
585 | 42
586 | 0.41466050823716122
587 | 10
588 | -112.6045812241303
589 | 20
590 | 87.931203880765011
591 | 10
592 | -125.40458107617357
593 | 20
594 | 87.911674801602331
595 | 42
596 | 0.41376673108635559
597 | 10
598 | -128.40000395351919
599 | 20
600 | 84.91167862408588
601 | 10
602 | -128.40000395402316
603 | 20
604 | 84.907108252815163
605 | 0
606 | ENDSEC
607 | 0
608 | SECTION
609 | 2
610 | OBJECTS
611 | 0
612 | DICTIONARY
613 | 5
614 | C
615 | 100
616 | AcDbDictionary
617 | 3
618 | ACAD_GROUP
619 | 350
620 | D
621 | 3
622 | ACAD_MLINESTYLE
623 | 350
624 | 17
625 | 0
626 | DICTIONARY
627 | 5
628 | D
629 | 100
630 | AcDbDictionary
631 | 0
632 | DICTIONARY
633 | 5
634 | 1A
635 | 330
636 | C
637 | 100
638 | AcDbDictionary
639 | 0
640 | DICTIONARY
641 | 5
642 | 17
643 | 100
644 | AcDbDictionary
645 | 0
646 | ENDSEC
647 | 0
648 | EOF
649 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/plate+1.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | CIRCLE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbCircle
267 | 10
268 | -356.81431154686754
269 | 20
270 | 213.20254981041325
271 | 30
272 | 0
273 | 40
274 | 1.7499999999999716
275 | 210
276 | 0
277 | 220
278 | 0
279 | 230
280 | 1
281 | 0
282 | CIRCLE
283 | 5
284 | 101
285 | 100
286 | AcDbEntity
287 | 8
288 | 0
289 | 100
290 | AcDbCircle
291 | 10
292 | -224.21414791626958
293 | 20
294 | 213.20254981041296
295 | 30
296 | 0
297 | 40
298 | 1.7500000000000071
299 | 210
300 | 0
301 | 220
302 | 0
303 | 230
304 | 1
305 | 0
306 | CIRCLE
307 | 5
308 | 102
309 | 100
310 | AcDbEntity
311 | 8
312 | 0
313 | 100
314 | AcDbCircle
315 | 10
316 | -489.48097821353423
317 | 20
318 | 213.20254981041353
319 | 30
320 | 0
321 | 40
322 | 1.7499999999999716
323 | 210
324 | 0
325 | 220
326 | 0
327 | 230
328 | 1
329 | 0
330 | CIRCLE
331 | 5
332 | 103
333 | 100
334 | AcDbEntity
335 | 8
336 | 0
337 | 100
338 | AcDbCircle
339 | 10
340 | -91.54748124960291
341 | 20
342 | 213.20254981041268
343 | 30
344 | 0
345 | 40
346 | 1.7499999999999893
347 | 210
348 | 0
349 | 220
350 | 0
351 | 230
352 | 1
353 | 0
354 | CIRCLE
355 | 5
356 | 104
357 | 100
358 | AcDbEntity
359 | 8
360 | 0
361 | 100
362 | AcDbCircle
363 | 10
364 | -489.48097821353417
365 | 20
366 | 81.985785751164343
367 | 30
368 | 0
369 | 40
370 | 1.7499999999999716
371 | 210
372 | 0
373 | 220
374 | 0
375 | 230
376 | 1
377 | 0
378 | CIRCLE
379 | 5
380 | 105
381 | 100
382 | AcDbEntity
383 | 8
384 | 0
385 | 100
386 | AcDbCircle
387 | 10
388 | -224.21414791626921
389 | 20
390 | 81.985785751164215
391 | 30
392 | 0
393 | 40
394 | 1.7500000000000071
395 | 210
396 | 0
397 | 220
398 | 0
399 | 230
400 | 1
401 | 0
402 | CIRCLE
403 | 5
404 | 106
405 | 100
406 | AcDbEntity
407 | 8
408 | 0
409 | 100
410 | AcDbCircle
411 | 10
412 | -356.81431154686749
413 | 20
414 | 81.985785751164286
415 | 30
416 | 0
417 | 40
418 | 1.7499999999999716
419 | 210
420 | 0
421 | 220
422 | 0
423 | 230
424 | 1
425 | 0
426 | CIRCLE
427 | 5
428 | 107
429 | 100
430 | AcDbEntity
431 | 8
432 | 0
433 | 100
434 | AcDbCircle
435 | 10
436 | -91.547481249602569
437 | 20
438 | 81.985785751164144
439 | 30
440 | 0
441 | 40
442 | 1.7500000000000071
443 | 210
444 | 0
445 | 220
446 | 0
447 | 230
448 | 1
449 | 0
450 | LWPOLYLINE
451 | 5
452 | 108
453 | 100
454 | AcDbEntity
455 | 8
456 | 0
457 | 100
458 | AcDbPolyline
459 | 90
460 | 8
461 | 70
462 | 1
463 | 43
464 | 0.0
465 | 10
466 | -98.514233933694527
467 | 20
468 | 90.011757903975237
469 | 10
470 | -98.514233933694527
471 | 20
472 | 205.26265006611396
473 | 42
474 | 0.41421356237310542
475 | 10
476 | -99.514233933694527
477 | 20
478 | 206.26265006611396
479 | 10
480 | -481.48971615350496
481 | 20
482 | 206.26265006611396
483 | 42
484 | 0.41421356237313667
485 | 10
486 | -482.48971615350501
487 | 20
488 | 205.26265006611396
489 | 10
490 | -482.48971615350507
491 | 20
492 | 90.011757903975237
493 | 42
494 | 0.41421356237312101
495 | 10
496 | -481.48971615350501
497 | 20
498 | 89.011757903975223
499 | 10
500 | -99.514233933694527
501 | 20
502 | 89.011757903975237
503 | 42
504 | 0.41421356237309503
505 | 0
506 | LWPOLYLINE
507 | 5
508 | 109
509 | 100
510 | AcDbEntity
511 | 8
512 | 0
513 | 100
514 | AcDbPolyline
515 | 90
516 | 8
517 | 70
518 | 1
519 | 43
520 | 0.0
521 | 10
522 | -90.547481249602129
523 | 20
524 | 77.985785751164158
525 | 10
526 | -490.4809782135344
527 | 20
528 | 77.985785751164443
529 | 42
530 | -0.4142135623730846
531 | 10
532 | -493.48097821353434
533 | 20
534 | 80.985785751164457
535 | 10
536 | -493.48097821353406
537 | 20
538 | 214.25950919054219
539 | 42
540 | -0.41421356237310897
541 | 10
542 | -490.48097821353406
543 | 20
544 | 217.25950919054227
545 | 10
546 | -90.547481249603095
547 | 20
548 | 217.2595091905423
549 | 42
550 | -0.41421356237309503
551 | 10
552 | -87.54748124960301
553 | 20
554 | 214.2595091905423
555 | 10
556 | -87.547481249602072
557 | 20
558 | 80.985785751164201
559 | 42
560 | -0.41421356237311413
561 | 0
562 | ENDSEC
563 | 0
564 | SECTION
565 | 2
566 | OBJECTS
567 | 0
568 | DICTIONARY
569 | 5
570 | C
571 | 100
572 | AcDbDictionary
573 | 3
574 | ACAD_GROUP
575 | 350
576 | D
577 | 3
578 | ACAD_MLINESTYLE
579 | 350
580 | 17
581 | 0
582 | DICTIONARY
583 | 5
584 | D
585 | 100
586 | AcDbDictionary
587 | 0
588 | DICTIONARY
589 | 5
590 | 1A
591 | 330
592 | C
593 | 100
594 | AcDbDictionary
595 | 0
596 | DICTIONARY
597 | 5
598 | 17
599 | 100
600 | AcDbDictionary
601 | 0
602 | ENDSEC
603 | 0
604 | EOF
605 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/plate+2.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | LWPOLYLINE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbPolyline
267 | 90
268 | 8
269 | 70
270 | 1
271 | 43
272 | 0.0
273 | 10
274 | -98.514233933694527
275 | 20
276 | 90.011757903975237
277 | 10
278 | -98.514233933694527
279 | 20
280 | 205.26265006611396
281 | 42
282 | 0.41421356237309503
283 | 10
284 | -99.514233933694527
285 | 20
286 | 206.26265006611396
287 | 10
288 | -481.48971615350496
289 | 20
290 | 206.26265006611396
291 | 42
292 | 0.41421356237309503
293 | 10
294 | -482.48971615350507
295 | 20
296 | 205.26265006611396
297 | 10
298 | -482.48971615350507
299 | 20
300 | 90.011757903975237
301 | 42
302 | 0.41421356237309503
303 | 10
304 | -481.48971615350501
305 | 20
306 | 89.011757903975194
307 | 10
308 | -99.514233933694527
309 | 20
310 | 89.011757903975237
311 | 42
312 | 0.41421356237309503
313 | 0
314 | LWPOLYLINE
315 | 5
316 | 101
317 | 100
318 | AcDbEntity
319 | 8
320 | 0
321 | 100
322 | AcDbPolyline
323 | 90
324 | 8
325 | 70
326 | 1
327 | 43
328 | 0.0
329 | 10
330 | -90.547481249602129
331 | 20
332 | 77.985785751164158
333 | 10
334 | -490.4809782135344
335 | 20
336 | 77.985785751164443
337 | 42
338 | -0.4142135623730846
339 | 10
340 | -493.48097821353434
341 | 20
342 | 80.985785751164457
343 | 10
344 | -493.48097821353406
345 | 20
346 | 214.25950919054219
347 | 42
348 | -0.41421356237310897
349 | 10
350 | -490.48097821353406
351 | 20
352 | 217.25950919054227
353 | 10
354 | -90.547481249603095
355 | 20
356 | 217.2595091905423
357 | 42
358 | -0.41421356237309503
359 | 10
360 | -87.54748124960301
361 | 20
362 | 214.2595091905423
363 | 10
364 | -87.547481249602072
365 | 20
366 | 80.985785751164201
367 | 42
368 | -0.41421356237311413
369 | 0
370 | CIRCLE
371 | 5
372 | 102
373 | 100
374 | AcDbEntity
375 | 8
376 | 0
377 | 100
378 | AcDbCircle
379 | 10
380 | -224.21414791626958
381 | 20
382 | 213.20254981041296
383 | 30
384 | 0
385 | 40
386 | 1.25
387 | 210
388 | 0
389 | 220
390 | 0
391 | 230
392 | 1
393 | 0
394 | CIRCLE
395 | 5
396 | 103
397 | 100
398 | AcDbEntity
399 | 8
400 | 0
401 | 100
402 | AcDbCircle
403 | 10
404 | -356.81431154686749
405 | 20
406 | 81.985785751164286
407 | 30
408 | 0
409 | 40
410 | 1.25
411 | 210
412 | 0
413 | 220
414 | 0
415 | 230
416 | 1
417 | 0
418 | CIRCLE
419 | 5
420 | 104
421 | 100
422 | AcDbEntity
423 | 8
424 | 0
425 | 100
426 | AcDbCircle
427 | 10
428 | -91.547481249602569
429 | 20
430 | 81.985785751164144
431 | 30
432 | 0
433 | 40
434 | 1.25
435 | 210
436 | 0
437 | 220
438 | 0
439 | 230
440 | 1
441 | 0
442 | CIRCLE
443 | 5
444 | 105
445 | 100
446 | AcDbEntity
447 | 8
448 | 0
449 | 100
450 | AcDbCircle
451 | 10
452 | -489.48097821353417
453 | 20
454 | 81.985785751164343
455 | 30
456 | 0
457 | 40
458 | 1.25
459 | 210
460 | 0
461 | 220
462 | 0
463 | 230
464 | 1
465 | 0
466 | CIRCLE
467 | 5
468 | 106
469 | 100
470 | AcDbEntity
471 | 8
472 | 0
473 | 100
474 | AcDbCircle
475 | 10
476 | -356.81431154686754
477 | 20
478 | 213.20254981041325
479 | 30
480 | 0
481 | 40
482 | 1.25
483 | 210
484 | 0
485 | 220
486 | 0
487 | 230
488 | 1
489 | 0
490 | CIRCLE
491 | 5
492 | 107
493 | 100
494 | AcDbEntity
495 | 8
496 | 0
497 | 100
498 | AcDbCircle
499 | 10
500 | -224.21414791626921
501 | 20
502 | 81.985785751164215
503 | 30
504 | 0
505 | 40
506 | 1.25
507 | 210
508 | 0
509 | 220
510 | 0
511 | 230
512 | 1
513 | 0
514 | CIRCLE
515 | 5
516 | 108
517 | 100
518 | AcDbEntity
519 | 8
520 | 0
521 | 100
522 | AcDbCircle
523 | 10
524 | -91.54748124960291
525 | 20
526 | 213.20254981041268
527 | 30
528 | 0
529 | 40
530 | 1.25
531 | 210
532 | 0
533 | 220
534 | 0
535 | 230
536 | 1
537 | 0
538 | CIRCLE
539 | 5
540 | 109
541 | 100
542 | AcDbEntity
543 | 8
544 | 0
545 | 100
546 | AcDbCircle
547 | 10
548 | -489.48097821353423
549 | 20
550 | 213.20254981041353
551 | 30
552 | 0
553 | 40
554 | 1.25
555 | 210
556 | 0
557 | 220
558 | 0
559 | 230
560 | 1
561 | 0
562 | ENDSEC
563 | 0
564 | SECTION
565 | 2
566 | OBJECTS
567 | 0
568 | DICTIONARY
569 | 5
570 | C
571 | 100
572 | AcDbDictionary
573 | 3
574 | ACAD_GROUP
575 | 350
576 | D
577 | 3
578 | ACAD_MLINESTYLE
579 | 350
580 | 17
581 | 0
582 | DICTIONARY
583 | 5
584 | D
585 | 100
586 | AcDbDictionary
587 | 0
588 | DICTIONARY
589 | 5
590 | 1A
591 | 330
592 | C
593 | 100
594 | AcDbDictionary
595 | 0
596 | DICTIONARY
597 | 5
598 | 17
599 | 100
600 | AcDbDictionary
601 | 0
602 | ENDSEC
603 | 0
604 | EOF
605 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/plate-1.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | CIRCLE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbCircle
267 | 10
268 | -356.81431154686754
269 | 20
270 | 213.20254981041325
271 | 30
272 | 0
273 | 40
274 | 1.7499999999999716
275 | 210
276 | 0
277 | 220
278 | 0
279 | 230
280 | 1
281 | 0
282 | CIRCLE
283 | 5
284 | 101
285 | 100
286 | AcDbEntity
287 | 8
288 | 0
289 | 100
290 | AcDbCircle
291 | 10
292 | -224.21414791626958
293 | 20
294 | 213.20254981041296
295 | 30
296 | 0
297 | 40
298 | 1.7500000000000071
299 | 210
300 | 0
301 | 220
302 | 0
303 | 230
304 | 1
305 | 0
306 | CIRCLE
307 | 5
308 | 102
309 | 100
310 | AcDbEntity
311 | 8
312 | 0
313 | 100
314 | AcDbCircle
315 | 10
316 | -489.48097821353423
317 | 20
318 | 213.20254981041353
319 | 30
320 | 0
321 | 40
322 | 1.7499999999999716
323 | 210
324 | 0
325 | 220
326 | 0
327 | 230
328 | 1
329 | 0
330 | CIRCLE
331 | 5
332 | 103
333 | 100
334 | AcDbEntity
335 | 8
336 | 0
337 | 100
338 | AcDbCircle
339 | 10
340 | -91.54748124960291
341 | 20
342 | 213.20254981041268
343 | 30
344 | 0
345 | 40
346 | 1.7499999999999893
347 | 210
348 | 0
349 | 220
350 | 0
351 | 230
352 | 1
353 | 0
354 | CIRCLE
355 | 5
356 | 104
357 | 100
358 | AcDbEntity
359 | 8
360 | 0
361 | 100
362 | AcDbCircle
363 | 10
364 | -489.48097821353417
365 | 20
366 | 81.985785751164343
367 | 30
368 | 0
369 | 40
370 | 1.7499999999999716
371 | 210
372 | 0
373 | 220
374 | 0
375 | 230
376 | 1
377 | 0
378 | CIRCLE
379 | 5
380 | 105
381 | 100
382 | AcDbEntity
383 | 8
384 | 0
385 | 100
386 | AcDbCircle
387 | 10
388 | -224.21414791626921
389 | 20
390 | 81.985785751164215
391 | 30
392 | 0
393 | 40
394 | 1.7500000000000071
395 | 210
396 | 0
397 | 220
398 | 0
399 | 230
400 | 1
401 | 0
402 | CIRCLE
403 | 5
404 | 106
405 | 100
406 | AcDbEntity
407 | 8
408 | 0
409 | 100
410 | AcDbCircle
411 | 10
412 | -356.81431154686749
413 | 20
414 | 81.985785751164286
415 | 30
416 | 0
417 | 40
418 | 1.7499999999999716
419 | 210
420 | 0
421 | 220
422 | 0
423 | 230
424 | 1
425 | 0
426 | CIRCLE
427 | 5
428 | 107
429 | 100
430 | AcDbEntity
431 | 8
432 | 0
433 | 100
434 | AcDbCircle
435 | 10
436 | -91.547481249602569
437 | 20
438 | 81.985785751164144
439 | 30
440 | 0
441 | 40
442 | 1.7500000000000071
443 | 210
444 | 0
445 | 220
446 | 0
447 | 230
448 | 1
449 | 0
450 | LWPOLYLINE
451 | 5
452 | 108
453 | 100
454 | AcDbEntity
455 | 8
456 | 0
457 | 100
458 | AcDbPolyline
459 | 90
460 | 17
461 | 70
462 | 1
463 | 43
464 | 0.0
465 | 10
466 | -112.68027155819939
467 | 20
468 | 85.624876763126338
469 | 42
470 | -0.34739809346973505
471 | 10
472 | -109.76512023288747
473 | 20
474 | 87.9355360345848
475 | 10
476 | -109.60000404343018
477 | 20
478 | 87.935787953555788
479 | 10
480 | -101.00000423565515
481 | 20
482 | 87.935787953555788
483 | 42
484 | 0.41421356237309293
485 | 10
486 | -96.000004235655155
487 | 20
488 | 92.935787953555788
489 | 10
490 | -96.000004235655155
491 | 20
492 | 204.60710568795278
493 | 42
494 | 0.41421356237309609
495 | 10
496 | -101.00000423565518
497 | 20
498 | 209.60710568795278
499 | 10
500 | -480.00297817568696
501 | 20
502 | 209.5986746104515
503 | 42
504 | 0.41421356237201284
505 | 10
506 | -485.00297817614694
507 | 20
508 | 204.59867461092978
509 | 10
510 | -485.00297829521969
511 | 20
512 | 92.899604654525149
513 | 42
514 | 0.41421356221031203
515 | 10
516 | -480.00297830332869
517 | 20
518 | 87.899604649195084
519 | 10
520 | -131.40000395404351
521 | 20
522 | 87.907104988289461
523 | 10
524 | -128.40000362321734
525 | 20
526 | 87.907104657483686
527 | 10
528 | -128.23730817683708
529 | 20
530 | 87.90735288310934
531 | 42
532 | -0.34690011237309754
533 | 10
534 | -125.31636553017421
535 | 20
536 | 85.610785187388643
537 | 42
538 | 0.34647284161684494
539 | 10
540 | -122.40000000000002
541 | 20
542 | 83.314213999999993
543 | 10
544 | -115.60000000000001
545 | 20
546 | 83.314213999999993
547 | 42
548 | 0.34782560928713235
549 | 0
550 | LWPOLYLINE
551 | 5
552 | 109
553 | 100
554 | AcDbEntity
555 | 8
556 | 0
557 | 100
558 | AcDbPolyline
559 | 90
560 | 8
561 | 70
562 | 1
563 | 43
564 | 0.0
565 | 10
566 | -87.547481249602043
567 | 20
568 | 80.985785751164201
569 | 42
570 | -0.41421356237310719
571 | 10
572 | -90.547481249602058
573 | 20
574 | 77.985785751164144
575 | 10
576 | -490.4809782135344
577 | 20
578 | 77.985785751164443
579 | 42
580 | -0.4142135623730846
581 | 10
582 | -493.48097821353434
583 | 20
584 | 80.985785751164457
585 | 10
586 | -493.48097821353406
587 | 20
588 | 214.25950919054225
589 | 42
590 | -0.41421356237310542
591 | 10
592 | -490.48097821353406
593 | 20
594 | 217.25950919054227
595 | 10
596 | -90.547481249603109
597 | 20
598 | 217.25950919054227
599 | 42
600 | -0.41421356237309681
601 | 10
602 | -87.547481249603038
603 | 20
604 | 214.2595091905423
605 | 0
606 | ENDSEC
607 | 0
608 | SECTION
609 | 2
610 | OBJECTS
611 | 0
612 | DICTIONARY
613 | 5
614 | C
615 | 100
616 | AcDbDictionary
617 | 3
618 | ACAD_GROUP
619 | 350
620 | D
621 | 3
622 | ACAD_MLINESTYLE
623 | 350
624 | 17
625 | 0
626 | DICTIONARY
627 | 5
628 | D
629 | 100
630 | AcDbDictionary
631 | 0
632 | DICTIONARY
633 | 5
634 | 1A
635 | 330
636 | C
637 | 100
638 | AcDbDictionary
639 | 0
640 | DICTIONARY
641 | 5
642 | 17
643 | 100
644 | AcDbDictionary
645 | 0
646 | ENDSEC
647 | 0
648 | EOF
649 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/plate-2.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | CIRCLE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbCircle
267 | 10
268 | -356.81431154686754
269 | 20
270 | 213.20254981041325
271 | 30
272 | 0
273 | 40
274 | 1.7499999999999716
275 | 210
276 | 0
277 | 220
278 | 0
279 | 230
280 | 1
281 | 0
282 | CIRCLE
283 | 5
284 | 101
285 | 100
286 | AcDbEntity
287 | 8
288 | 0
289 | 100
290 | AcDbCircle
291 | 10
292 | -224.21414791626958
293 | 20
294 | 213.20254981041296
295 | 30
296 | 0
297 | 40
298 | 1.7500000000000071
299 | 210
300 | 0
301 | 220
302 | 0
303 | 230
304 | 1
305 | 0
306 | CIRCLE
307 | 5
308 | 102
309 | 100
310 | AcDbEntity
311 | 8
312 | 0
313 | 100
314 | AcDbCircle
315 | 10
316 | -489.48097821353423
317 | 20
318 | 213.20254981041353
319 | 30
320 | 0
321 | 40
322 | 1.7499999999999716
323 | 210
324 | 0
325 | 220
326 | 0
327 | 230
328 | 1
329 | 0
330 | CIRCLE
331 | 5
332 | 103
333 | 100
334 | AcDbEntity
335 | 8
336 | 0
337 | 100
338 | AcDbCircle
339 | 10
340 | -91.54748124960291
341 | 20
342 | 213.20254981041268
343 | 30
344 | 0
345 | 40
346 | 1.7499999999999893
347 | 210
348 | 0
349 | 220
350 | 0
351 | 230
352 | 1
353 | 0
354 | CIRCLE
355 | 5
356 | 104
357 | 100
358 | AcDbEntity
359 | 8
360 | 0
361 | 100
362 | AcDbCircle
363 | 10
364 | -489.48097821353417
365 | 20
366 | 81.985785751164343
367 | 30
368 | 0
369 | 40
370 | 1.7499999999999716
371 | 210
372 | 0
373 | 220
374 | 0
375 | 230
376 | 1
377 | 0
378 | CIRCLE
379 | 5
380 | 105
381 | 100
382 | AcDbEntity
383 | 8
384 | 0
385 | 100
386 | AcDbCircle
387 | 10
388 | -224.21414791626921
389 | 20
390 | 81.985785751164215
391 | 30
392 | 0
393 | 40
394 | 1.7500000000000071
395 | 210
396 | 0
397 | 220
398 | 0
399 | 230
400 | 1
401 | 0
402 | CIRCLE
403 | 5
404 | 106
405 | 100
406 | AcDbEntity
407 | 8
408 | 0
409 | 100
410 | AcDbCircle
411 | 10
412 | -356.81431154686749
413 | 20
414 | 81.985785751164286
415 | 30
416 | 0
417 | 40
418 | 1.7499999999999716
419 | 210
420 | 0
421 | 220
422 | 0
423 | 230
424 | 1
425 | 0
426 | CIRCLE
427 | 5
428 | 107
429 | 100
430 | AcDbEntity
431 | 8
432 | 0
433 | 100
434 | AcDbCircle
435 | 10
436 | -91.547481249602569
437 | 20
438 | 81.985785751164144
439 | 30
440 | 0
441 | 40
442 | 1.7500000000000071
443 | 210
444 | 0
445 | 220
446 | 0
447 | 230
448 | 1
449 | 0
450 | LWPOLYLINE
451 | 5
452 | 108
453 | 100
454 | AcDbEntity
455 | 8
456 | 0
457 | 100
458 | AcDbPolyline
459 | 90
460 | 26
461 | 70
462 | 1
463 | 43
464 | 0.0
465 | 10
466 | -128.40000395402316
467 | 20
468 | 78.985785751164173
469 | 42
470 | -0.41421356237309764
471 | 10
472 | -129.40000395402313
473 | 20
474 | 77.985785751164173
475 | 10
476 | -490.4809782135344
477 | 20
478 | 77.985785751164443
479 | 42
480 | -0.4142135623730846
481 | 10
482 | -493.48097821353434
483 | 20
484 | 80.985785751164457
485 | 10
486 | -493.48097821353406
487 | 20
488 | 214.25950919054225
489 | 42
490 | -0.41421356237310542
491 | 10
492 | -490.48097821353406
493 | 20
494 | 217.25950919054227
495 | 10
496 | -90.547481249603109
497 | 20
498 | 217.25950919054227
499 | 42
500 | -0.41421356237309681
501 | 10
502 | -87.547481249603038
503 | 20
504 | 214.2595091905423
505 | 10
506 | -87.547481249602043
507 | 20
508 | 80.985785751164201
509 | 42
510 | -0.41421356237310719
511 | 10
512 | -90.547481249602058
513 | 20
514 | 77.985785751164144
515 | 10
516 | -108.60000421633603
517 | 20
518 | 77.985785751164144
519 | 42
520 | -0.41421356803152509
521 | 10
522 | -109.60000421633606
523 | 20
524 | 78.985785770483247
525 | 10
526 | -109.60000408206832
527 | 20
528 | 85.93578799219398
529 | 42
530 | -0.41421355671466764
531 | 10
532 | -107.60000408206835
533 | 20
534 | 87.935787953555788
535 | 10
536 | -101.00000423565515
537 | 20
538 | 87.935787953555788
539 | 42
540 | 0.41421356237309293
541 | 10
542 | -96.000004235655155
543 | 20
544 | 92.935787953555788
545 | 10
546 | -96.000004235655155
547 | 20
548 | 204.60710568795278
549 | 42
550 | 0.41421356237309609
551 | 10
552 | -101.00000423565518
553 | 20
554 | 209.60710568795278
555 | 10
556 | -480.00297817568696
557 | 20
558 | 209.5986746104515
559 | 42
560 | 0.41421356237201284
561 | 10
562 | -485.00297817614694
563 | 20
564 | 204.59867461092978
565 | 10
566 | -485.00297829521969
567 | 20
568 | 92.899604654525149
569 | 42
570 | 0.41421356221031203
571 | 10
572 | -480.00297830332869
573 | 20
574 | 87.899604649195084
575 | 10
576 | -131.40000395404351
577 | 20
578 | 87.907104988289461
579 | 10
580 | -130.40000362321766
581 | 20
582 | 87.90710487802086
583 | 42
584 | -0.41421356237314444
585 | 10
586 | -128.40000384375483
587 | 20
588 | 85.907104657483387
589 | 10
590 | -128.40000395402316
591 | 20
592 | 84.907108252815163
593 | 0
594 | ENDSEC
595 | 0
596 | SECTION
597 | 2
598 | OBJECTS
599 | 0
600 | DICTIONARY
601 | 5
602 | C
603 | 100
604 | AcDbDictionary
605 | 3
606 | ACAD_GROUP
607 | 350
608 | D
609 | 3
610 | ACAD_MLINESTYLE
611 | 350
612 | 17
613 | 0
614 | DICTIONARY
615 | 5
616 | D
617 | 100
618 | AcDbDictionary
619 | 0
620 | DICTIONARY
621 | 5
622 | 1A
623 | 330
624 | C
625 | 100
626 | AcDbDictionary
627 | 0
628 | DICTIONARY
629 | 5
630 | 17
631 | 100
632 | AcDbDictionary
633 | 0
634 | ENDSEC
635 | 0
636 | EOF
637 |
--------------------------------------------------------------------------------
/mechanicals/entropy-case-0.3/plate-3.dxf:
--------------------------------------------------------------------------------
1 | 0
2 | SECTION
3 | 2
4 | HEADER
5 | 9
6 | $INSUNITS
7 | 70
8 | 4
9 | 9
10 | $ACADVER
11 | 1
12 | AC1014
13 | 9
14 | $HANDSEED
15 | 5
16 | FFFF
17 | 0
18 | ENDSEC
19 | 0
20 | SECTION
21 | 2
22 | TABLES
23 | 0
24 | TABLE
25 | 2
26 | VPORT
27 | 5
28 | 8
29 | 100
30 | AcDbSymbolTable
31 | 0
32 | ENDTAB
33 | 0
34 | TABLE
35 | 2
36 | LTYPE
37 | 5
38 | 5
39 | 100
40 | AcDbSymbolTable
41 | 0
42 | LTYPE
43 | 5
44 | 14
45 | 100
46 | AcDbSymbolTableRecord
47 | 100
48 | AcDbLinetypeTableRecord
49 | 2
50 | BYBLOCK
51 | 70
52 | 0
53 | 0
54 | LTYPE
55 | 5
56 | 15
57 | 100
58 | AcDbSymbolTableRecord
59 | 100
60 | AcDbLinetypeTableRecord
61 | 2
62 | BYLAYER
63 | 70
64 | 0
65 | 0
66 | ENDTAB
67 | 0
68 | TABLE
69 | 2
70 | LAYER
71 | 5
72 | 2
73 | 100
74 | AcDbSymbolTable
75 | 70
76 | 2
77 | 0
78 | LAYER
79 | 5
80 | 50
81 | 100
82 | AcDbSymbolTableRecord
83 | 100
84 | AcDbLayerTableRecord
85 | 2
86 | 0
87 | 70
88 | 0
89 | 6
90 | CONTINUOUS
91 | 0
92 | ENDTAB
93 | 0
94 | TABLE
95 | 2
96 | STYLE
97 | 5
98 | 3
99 | 100
100 | AcDbSymbolTable
101 | 70
102 | 1
103 | 0
104 | STYLE
105 | 5
106 | 11
107 | 100
108 | AcDbSymbolTableRecord
109 | 100
110 | AcDbTextStyleTableRecord
111 | 2
112 | STANDARD
113 | 70
114 | 0
115 | 0
116 | ENDTAB
117 | 0
118 | TABLE
119 | 2
120 | VIEW
121 | 5
122 | 6
123 | 100
124 | AcDbSymbolTable
125 | 70
126 | 0
127 | 0
128 | ENDTAB
129 | 0
130 | TABLE
131 | 2
132 | UCS
133 | 5
134 | 7
135 | 100
136 | AcDbSymbolTable
137 | 70
138 | 0
139 | 0
140 | ENDTAB
141 | 0
142 | TABLE
143 | 2
144 | APPID
145 | 5
146 | 9
147 | 100
148 | AcDbSymbolTable
149 | 70
150 | 2
151 | 0
152 | APPID
153 | 5
154 | 12
155 | 100
156 | AcDbSymbolTableRecord
157 | 100
158 | AcDbRegAppTableRecord
159 | 2
160 | ACAD
161 | 70
162 | 0
163 | 0
164 | ENDTAB
165 | 0
166 | TABLE
167 | 2
168 | DIMSTYLE
169 | 5
170 | A
171 | 100
172 | AcDbSymbolTable
173 | 70
174 | 1
175 | 0
176 | ENDTAB
177 | 0
178 | TABLE
179 | 2
180 | BLOCK_RECORD
181 | 5
182 | 1
183 | 100
184 | AcDbSymbolTable
185 | 70
186 | 1
187 | 0
188 | BLOCK_RECORD
189 | 5
190 | 1F
191 | 100
192 | AcDbSymbolTableRecord
193 | 100
194 | AcDbBlockTableRecord
195 | 2
196 | *MODEL_SPACE
197 | 0
198 | BLOCK_RECORD
199 | 5
200 | 1B
201 | 100
202 | AcDbSymbolTableRecord
203 | 100
204 | AcDbBlockTableRecord
205 | 2
206 | *PAPER_SPACE
207 | 0
208 | ENDTAB
209 | 0
210 | ENDSEC
211 | 0
212 | SECTION
213 | 2
214 | BLOCKS
215 | 0
216 | BLOCK
217 | 5
218 | 20
219 | 100
220 | AcDbEntity
221 | 100
222 | AcDbBlockBegin
223 | 2
224 | *MODEL_SPACE
225 | 0
226 | ENDBLK
227 | 5
228 | 21
229 | 100
230 | AcDbEntity
231 | 100
232 | AcDbBlockEnd
233 | 0
234 | BLOCK
235 | 5
236 | 1C
237 | 100
238 | AcDbEntity
239 | 100
240 | AcDbBlockBegin
241 | 2
242 | *PAPER_SPACE
243 | 0
244 | ENDBLK
245 | 5
246 | 1D
247 | 100
248 | AcDbEntity
249 | 100
250 | AcDbBlockEnd
251 | 0
252 | ENDSEC
253 | 0
254 | SECTION
255 | 2
256 | ENTITIES
257 | 0
258 | CIRCLE
259 | 5
260 | 100
261 | 100
262 | AcDbEntity
263 | 8
264 | 0
265 | 100
266 | AcDbCircle
267 | 10
268 | -356.81431154686754
269 | 20
270 | 213.20254981041325
271 | 30
272 | 0
273 | 40
274 | 1.7499999999999716
275 | 210
276 | 0
277 | 220
278 | 0
279 | 230
280 | 1
281 | 0
282 | CIRCLE
283 | 5
284 | 101
285 | 100
286 | AcDbEntity
287 | 8
288 | 0
289 | 100
290 | AcDbCircle
291 | 10
292 | -224.21414791626958
293 | 20
294 | 213.20254981041296
295 | 30
296 | 0
297 | 40
298 | 1.7500000000000071
299 | 210
300 | 0
301 | 220
302 | 0
303 | 230
304 | 1
305 | 0
306 | CIRCLE
307 | 5
308 | 102
309 | 100
310 | AcDbEntity
311 | 8
312 | 0
313 | 100
314 | AcDbCircle
315 | 10
316 | -489.48097821353423
317 | 20
318 | 213.20254981041353
319 | 30
320 | 0
321 | 40
322 | 1.7499999999999716
323 | 210
324 | 0
325 | 220
326 | 0
327 | 230
328 | 1
329 | 0
330 | CIRCLE
331 | 5
332 | 103
333 | 100
334 | AcDbEntity
335 | 8
336 | 0
337 | 100
338 | AcDbCircle
339 | 10
340 | -91.54748124960291
341 | 20
342 | 213.20254981041268
343 | 30
344 | 0
345 | 40
346 | 1.7499999999999893
347 | 210
348 | 0
349 | 220
350 | 0
351 | 230
352 | 1
353 | 0
354 | CIRCLE
355 | 5
356 | 104
357 | 100
358 | AcDbEntity
359 | 8
360 | 0
361 | 100
362 | AcDbCircle
363 | 10
364 | -489.48097821353417
365 | 20
366 | 81.985785751164343
367 | 30
368 | 0
369 | 40
370 | 1.7499999999999716
371 | 210
372 | 0
373 | 220
374 | 0
375 | 230
376 | 1
377 | 0
378 | CIRCLE
379 | 5
380 | 105
381 | 100
382 | AcDbEntity
383 | 8
384 | 0
385 | 100
386 | AcDbCircle
387 | 10
388 | -224.21414791626921
389 | 20
390 | 81.985785751164215
391 | 30
392 | 0
393 | 40
394 | 1.7500000000000071
395 | 210
396 | 0
397 | 220
398 | 0
399 | 230
400 | 1
401 | 0
402 | CIRCLE
403 | 5
404 | 106
405 | 100
406 | AcDbEntity
407 | 8
408 | 0
409 | 100
410 | AcDbCircle
411 | 10
412 | -356.81431154686749
413 | 20
414 | 81.985785751164286
415 | 30
416 | 0
417 | 40
418 | 1.7499999999999716
419 | 210
420 | 0
421 | 220
422 | 0
423 | 230
424 | 1
425 | 0
426 | CIRCLE
427 | 5
428 | 107
429 | 100
430 | AcDbEntity
431 | 8
432 | 0
433 | 100
434 | AcDbCircle
435 | 10
436 | -91.547481249602569
437 | 20
438 | 81.985785751164144
439 | 30
440 | 0
441 | 40
442 | 1.7500000000000071
443 | 210
444 | 0
445 | 220
446 | 0
447 | 230
448 | 1
449 | 0
450 | LWPOLYLINE
451 | 5
452 | 108
453 | 100
454 | AcDbEntity
455 | 8
456 | 0
457 | 100
458 | AcDbPolyline
459 | 90
460 | 26
461 | 70
462 | 1
463 | 43
464 | 0.0
465 | 10
466 | -128.40000395402316
467 | 20
468 | 78.985785751164173
469 | 42
470 | -0.41421356237309764
471 | 10
472 | -129.40000395402313
473 | 20
474 | 77.985785751164173
475 | 10
476 | -490.4809782135344
477 | 20
478 | 77.985785751164443
479 | 42
480 | -0.4142135623730846
481 | 10
482 | -493.48097821353434
483 | 20
484 | 80.985785751164457
485 | 10
486 | -493.48097821353406
487 | 20
488 | 214.25950919054225
489 | 42
490 | -0.41421356237310542
491 | 10
492 | -490.48097821353406
493 | 20
494 | 217.25950919054227
495 | 10
496 | -90.547481249603109
497 | 20
498 | 217.25950919054227
499 | 42
500 | -0.41421356237309681
501 | 10
502 | -87.547481249603038
503 | 20
504 | 214.2595091905423
505 | 10
506 | -87.547481249602043
507 | 20
508 | 80.985785751164201
509 | 42
510 | -0.41421356237310719
511 | 10
512 | -90.547481249602058
513 | 20
514 | 77.985785751164144
515 | 10
516 | -108.60000421633603
517 | 20
518 | 77.985785751164144
519 | 42
520 | -0.41421356803152509
521 | 10
522 | -109.60000421633606
523 | 20
524 | 78.985785770483247
525 | 10
526 | -109.60000408206832
527 | 20
528 | 85.93578799219398
529 | 42
530 | -0.41421355671466764
531 | 10
532 | -107.60000408206835
533 | 20
534 | 87.935787953555788
535 | 10
536 | -101.00000423565515
537 | 20
538 | 87.935787953555788
539 | 42
540 | 0.41421356237309293
541 | 10
542 | -96.000004235655155
543 | 20
544 | 92.935787953555788
545 | 10
546 | -96.000004235655155
547 | 20
548 | 204.60710568795278
549 | 42
550 | 0.41421356237309609
551 | 10
552 | -101.00000423565518
553 | 20
554 | 209.60710568795278
555 | 10
556 | -480.00297817568696
557 | 20
558 | 209.5986746104515
559 | 42
560 | 0.41421356237201284
561 | 10
562 | -485.00297817614694
563 | 20
564 | 204.59867461092978
565 | 10
566 | -485.00297829521969
567 | 20
568 | 92.899604654525149
569 | 42
570 | 0.41421356221031203
571 | 10
572 | -480.00297830332869
573 | 20
574 | 87.899604649195084
575 | 10
576 | -131.40000395404351
577 | 20
578 | 87.907104988289461
579 | 10
580 | -130.40000362321766
581 | 20
582 | 87.90710487802086
583 | 42
584 | -0.41421356237314444
585 | 10
586 | -128.40000384375483
587 | 20
588 | 85.907104657483387
589 | 10
590 | -128.40000395402316
591 | 20
592 | 84.907108252815163
593 | 0
594 | ENDSEC
595 | 0
596 | SECTION
597 | 2
598 | OBJECTS
599 | 0
600 | DICTIONARY
601 | 5
602 | C
603 | 100
604 | AcDbDictionary
605 | 3
606 | ACAD_GROUP
607 | 350
608 | D
609 | 3
610 | ACAD_MLINESTYLE
611 | 350
612 | 17
613 | 0
614 | DICTIONARY
615 | 5
616 | D
617 | 100
618 | AcDbDictionary
619 | 0
620 | DICTIONARY
621 | 5
622 | 1A
623 | 330
624 | C
625 | 100
626 | AcDbDictionary
627 | 0
628 | DICTIONARY
629 | 5
630 | 17
631 | 100
632 | AcDbDictionary
633 | 0
634 | ENDSEC
635 | 0
636 | EOF
637 |
--------------------------------------------------------------------------------
/mechanicals/entropy-plate-0.4/plate/gerbers/drill_report.txt:
--------------------------------------------------------------------------------
1 | Drill report for plate.kicad_pcb
2 | Created on Sun Aug 29 19:39:39 2021
3 |
4 | Copper Layer Stackup:
5 | =============================================================
6 | L1 : F.Cu front
7 | L2 : B.Cu back
8 |
9 |
10 | Drill file 'plate.drl' contains
11 | plated through holes:
12 | =============================================================
13 |
14 | Total plated holes count 0
15 |
16 |
17 | Not plated through holes are merged with plated holes
18 | unplated through holes:
19 | =============================================================
20 | T1 3.500mm 0.1378" (8 holes)
21 |
22 | Total unplated holes count 8
23 |
--------------------------------------------------------------------------------
/mechanicals/entropy-plate-0.4/plate/gerbers/plate.gbp:
--------------------------------------------------------------------------------
1 | G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.99.0-unknown-ff9612b6da~131~ubuntu20.04.1*
2 | G04 #@! TF.CreationDate,2021-08-29T19:39:39+10:00*
3 | G04 #@! TF.ProjectId,plate,706c6174-652e-46b6-9963-61645f706362,rev?*
4 | G04 #@! TF.SameCoordinates,Original*
5 | G04 #@! TF.FileFunction,Paste,Bot*
6 | G04 #@! TF.FilePolarity,Positive*
7 | %FSLAX46Y46*%
8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
9 | G04 Created by KiCad (PCBNEW 5.99.0-unknown-ff9612b6da~131~ubuntu20.04.1) date 2021-08-29 19:39:39*
10 | %MOMM*%
11 | %LPD*%
12 | G01*
13 | G04 APERTURE LIST*
14 | G04 APERTURE END LIST*
15 | M02*
16 |
--------------------------------------------------------------------------------
/mechanicals/entropy-plate-0.4/plate/plate.kicad_prl:
--------------------------------------------------------------------------------
1 | {
2 | "board": {
3 | "active_layer": 0,
4 | "active_layer_preset": "All Layers",
5 | "auto_track_width": true,
6 | "hidden_nets": [],
7 | "high_contrast_mode": 0,
8 | "net_color_mode": 1,
9 | "opacity": {
10 | "pads": 1.0,
11 | "tracks": 1.0,
12 | "vias": 1.0,
13 | "zones": 0.6
14 | },
15 | "ratsnest_display_mode": 0,
16 | "selection_filter": {
17 | "dimensions": true,
18 | "footprints": true,
19 | "graphics": true,
20 | "keepouts": true,
21 | "lockedItems": true,
22 | "otherItems": true,
23 | "pads": true,
24 | "text": true,
25 | "tracks": true,
26 | "vias": true,
27 | "zones": true
28 | },
29 | "visible_items": [
30 | 0,
31 | 1,
32 | 2,
33 | 3,
34 | 4,
35 | 5,
36 | 6,
37 | 8,
38 | 9,
39 | 10,
40 | 11,
41 | 12,
42 | 13,
43 | 14,
44 | 15,
45 | 16,
46 | 17,
47 | 18,
48 | 19,
49 | 20,
50 | 21,
51 | 22,
52 | 23,
53 | 24,
54 | 25,
55 | 26,
56 | 27,
57 | 28,
58 | 29,
59 | 30,
60 | 32,
61 | 33,
62 | 34,
63 | 35,
64 | 36
65 | ],
66 | "visible_layers": "fffffff_ffffffff",
67 | "zone_display_mode": 0
68 | },
69 | "meta": {
70 | "filename": "plate.kicad_prl",
71 | "version": 3
72 | },
73 | "project": {
74 | "files": []
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/mechanicals/entropy-plate-0.4/plate/plate.kicad_pro:
--------------------------------------------------------------------------------
1 | {
2 | "board": {
3 | "design_settings": {
4 | "defaults": {
5 | "board_outline_line_width": 0.09999999999999999,
6 | "copper_line_width": 0.19999999999999998,
7 | "copper_text_italic": false,
8 | "copper_text_size_h": 1.5,
9 | "copper_text_size_v": 1.5,
10 | "copper_text_thickness": 0.3,
11 | "copper_text_upright": false,
12 | "courtyard_line_width": 0.049999999999999996,
13 | "dimension_precision": 4,
14 | "dimension_units": 3,
15 | "dimensions": {
16 | "arrow_length": 1270000,
17 | "extension_offset": 500000,
18 | "keep_text_aligned": true,
19 | "suppress_zeroes": false,
20 | "text_position": 0,
21 | "units_format": 1
22 | },
23 | "fab_line_width": 0.09999999999999999,
24 | "fab_text_italic": false,
25 | "fab_text_size_h": 1.0,
26 | "fab_text_size_v": 1.0,
27 | "fab_text_thickness": 0.15,
28 | "fab_text_upright": false,
29 | "other_line_width": 0.15,
30 | "other_text_italic": false,
31 | "other_text_size_h": 1.0,
32 | "other_text_size_v": 1.0,
33 | "other_text_thickness": 0.15,
34 | "other_text_upright": false,
35 | "pads": {
36 | "drill": 0.762,
37 | "height": 1.524,
38 | "width": 1.524
39 | },
40 | "silk_line_width": 0.15,
41 | "silk_text_italic": false,
42 | "silk_text_size_h": 1.0,
43 | "silk_text_size_v": 1.0,
44 | "silk_text_thickness": 0.15,
45 | "silk_text_upright": false,
46 | "zones": {
47 | "45_degree_only": false,
48 | "min_clearance": 0.508
49 | }
50 | },
51 | "diff_pair_dimensions": [],
52 | "drc_exclusions": [],
53 | "meta": {
54 | "version": 2
55 | },
56 | "rule_severities": {
57 | "annular_width": "error",
58 | "clearance": "error",
59 | "copper_edge_clearance": "error",
60 | "courtyards_overlap": "error",
61 | "diff_pair_gap_out_of_range": "error",
62 | "diff_pair_uncoupled_length_too_long": "error",
63 | "drill_out_of_range": "error",
64 | "duplicate_footprints": "warning",
65 | "extra_footprint": "warning",
66 | "hole_clearance": "error",
67 | "hole_near_hole": "error",
68 | "invalid_outline": "error",
69 | "item_on_disabled_layer": "error",
70 | "items_not_allowed": "error",
71 | "length_out_of_range": "error",
72 | "malformed_courtyard": "error",
73 | "microvia_drill_out_of_range": "error",
74 | "missing_courtyard": "ignore",
75 | "missing_footprint": "warning",
76 | "net_conflict": "warning",
77 | "npth_inside_courtyard": "ignore",
78 | "padstack": "error",
79 | "pth_inside_courtyard": "ignore",
80 | "shorting_items": "error",
81 | "silk_over_copper": "warning",
82 | "silk_overlap": "warning",
83 | "skew_out_of_range": "error",
84 | "too_many_vias": "error",
85 | "track_dangling": "warning",
86 | "track_width": "error",
87 | "tracks_crossing": "error",
88 | "unconnected_items": "error",
89 | "unresolved_variable": "error",
90 | "via_dangling": "warning",
91 | "zone_has_empty_net": "error",
92 | "zones_intersect": "error"
93 | },
94 | "rules": {
95 | "allow_blind_buried_vias": false,
96 | "allow_microvias": false,
97 | "max_error": 0.005,
98 | "min_clearance": 0.0,
99 | "min_copper_edge_clearance": 0.0,
100 | "min_hole_clearance": 0.0,
101 | "min_hole_to_hole": 0.25,
102 | "min_microvia_diameter": 0.19999999999999998,
103 | "min_microvia_drill": 0.09999999999999999,
104 | "min_silk_clearance": 0.0,
105 | "min_through_hole_diameter": 0.3,
106 | "min_track_width": 0.19999999999999998,
107 | "min_via_annular_width": 0.049999999999999996,
108 | "min_via_diameter": 0.39999999999999997,
109 | "solder_mask_clearance": 0.0,
110 | "solder_mask_min_width": 0.0,
111 | "use_height_for_length_calcs": true
112 | },
113 | "track_widths": [],
114 | "via_dimensions": [],
115 | "zones_allow_external_fillets": false,
116 | "zones_use_no_outline": true
117 | },
118 | "layer_presets": []
119 | },
120 | "boards": [],
121 | "cvpcb": {
122 | "equivalence_files": []
123 | },
124 | "libraries": {
125 | "pinned_footprint_libs": [],
126 | "pinned_symbol_libs": []
127 | },
128 | "meta": {
129 | "filename": "plate.kicad_pro",
130 | "version": 1
131 | },
132 | "net_settings": {
133 | "classes": [
134 | {
135 | "bus_width": 12.0,
136 | "clearance": 0.2,
137 | "diff_pair_gap": 0.25,
138 | "diff_pair_via_gap": 0.25,
139 | "diff_pair_width": 0.2,
140 | "line_style": 0,
141 | "microvia_diameter": 0.3,
142 | "microvia_drill": 0.1,
143 | "name": "Default",
144 | "pcb_color": "rgba(0, 0, 0, 0.000)",
145 | "schematic_color": "rgba(0, 0, 0, 0.000)",
146 | "track_width": 0.25,
147 | "via_diameter": 0.8,
148 | "via_drill": 0.4,
149 | "wire_width": 6.0
150 | }
151 | ],
152 | "meta": {
153 | "version": 1
154 | },
155 | "net_colors": null
156 | },
157 | "pcbnew": {
158 | "last_paths": {
159 | "gencad": "",
160 | "idf": "",
161 | "netlist": "",
162 | "specctra_dsn": "",
163 | "step": "",
164 | "vrml": ""
165 | },
166 | "page_layout_descr_file": ""
167 | },
168 | "schematic": {
169 | "legacy_lib_dir": "",
170 | "legacy_lib_list": []
171 | },
172 | "sheets": [],
173 | "text_variables": {}
174 | }
175 |
--------------------------------------------------------------------------------
/mechanicals/entropy-plate-0.4/plate/plate.kicad_sch:
--------------------------------------------------------------------------------
1 | (kicad_sch (version 20210621) (generator eeschema)
2 | (paper "A4")
3 | (lib_symbols)
4 | (symbol_instances)
5 | )
6 |
--------------------------------------------------------------------------------
/scripts/josh_bom.py:
--------------------------------------------------------------------------------
1 | # Python script to generate a BOM from a KiCad generic netlist
2 | #
3 | # Example: Sorted and Grouped CSV BOM
4 |
5 | from __future__ import print_function
6 |
7 | # Import the KiCad python helper module and the csv formatter
8 | import kicad_netlist_reader
9 | import csv
10 | import sys
11 |
12 | def myEqu(self, other):
13 | """myEqu is a more advanced equivalence function for components which is
14 | used by component grouping. Normal operation is to group components based
15 | on their value and footprint.
16 |
17 | In this example of a custom equivalency operator we compare the
18 | value, the part name and the footprint.
19 | """
20 | result = True
21 | if self.getValue() != other.getValue():
22 | result = False
23 | elif self.getPartName() != other.getPartName():
24 | result = False
25 | elif self.getFootprint() != other.getFootprint():
26 | result = False
27 |
28 | return result
29 |
30 | # Override the component equivalence operator - it is important to do this
31 | # before loading the netlist, otherwise all components will have the original
32 | # equivalency operator.
33 | kicad_netlist_reader.comp.__eq__ = myEqu
34 |
35 | if len(sys.argv) != 3:
36 | print("Usage ", __file__, " ", file=sys.stderr)
37 | sys.exit(1)
38 |
39 |
40 | # Generate an instance of a generic netlist, and load the netlist tree from
41 | # the command line option. If the file doesn't exist, execution will stop
42 | net = kicad_netlist_reader.netlist(sys.argv[1])
43 |
44 | # Open a file to write to, if the file cannot be opened output to stdout
45 | # instead
46 | try:
47 | f = open(sys.argv[2], 'w')
48 | except IOError:
49 | e = "Can't open output file for writing: " + sys.argv[2]
50 | print( __file__, ":", e, sys.stderr )
51 | f = sys.stdout
52 |
53 | # subset the components to those wanted in the BOM, controlled
54 | # by block in kicad_netlist_reader.py
55 | components = net.getInterestingComponents()
56 |
57 | compfields = net.gatherComponentFieldUnion(components)
58 | partfields = net.gatherLibPartFieldUnion()
59 |
60 | # remove Reference, Value, Datasheet, and Footprint, they will come from 'columns' below
61 | partfields -= set( ['Reference', 'Value', 'Footprint'] )
62 |
63 | columnset = compfields | partfields # union
64 |
65 | # prepend an initial 'hard coded' list and put the enchillada into list 'columns'
66 | columns = ['Qty', 'Reference(s)', 'Value', 'Footprint', 'MPN', 'DigiKey', 'LCSC', 'Manufacturer', 'DNP', 'JLCSMT', 'Notes']
67 |
68 | # Create a new csv writer object to use as the output formatter
69 | out = csv.writer( f, lineterminator='\n', delimiter=',', quotechar='\"', quoting=csv.QUOTE_ALL )
70 |
71 | # override csv.writer's writerow() to support encoding conversion (initial encoding is utf8):
72 | def writerow( acsvwriter, columns ):
73 | utf8row = []
74 | for col in columns:
75 | utf8row.append( str(col) ) # currently, no change
76 | acsvwriter.writerow( utf8row )
77 |
78 | # Print column headings as outlined above
79 | row = []
80 | writerow( out, columns ) # reuse same columns
81 |
82 | # Get all of the components in groups of matching parts + values
83 | # (see kicad_netlist_reader.py)
84 | grouped = net.groupComponents(components)
85 |
86 | # Output component information organized by group, aka as collated:
87 | item = 0
88 | for group in grouped:
89 | del row[:]
90 | refs = ""
91 |
92 | # Add the reference of every component in the group and keep a reference
93 | # to the component so that the other data can be filled in once per group
94 | for component in group:
95 | if len(refs) > 0:
96 | refs += ", "
97 | refs += component.getRef()
98 | c = component
99 |
100 | # Fill in the component groups common data
101 | # columns = ['Qty', 'Reference(s)', 'Value', 'Footprint', 'MPN', 'DigiKey', 'LCSC', 'Manufacturer', 'DNP', 'JLCSMT', Notes']
102 | item += 1
103 | row.append( len(group) )
104 | row.append( refs );
105 | row.append( c.getValue() )
106 | row.append( net.getGroupFootprint(group) )
107 |
108 | # for remaining columns, use the fieldnames to grab the data
109 | for field in columns[4:]:
110 | row.append( net.getGroupField(group, field) );
111 |
112 | writerow( out, row )
113 |
114 | f.close()
115 |
--------------------------------------------------------------------------------
/scripts/kicadutil.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/joshajohnson/entropy/dd40c23d07794c3680f157d4463c22514b7e1c83/scripts/kicadutil.jar
--------------------------------------------------------------------------------
/scripts/panel.py:
--------------------------------------------------------------------------------
1 | #!/bin/python3
2 |
3 | import os
4 | import sys
5 |
6 | # Get pcb file path/file-name
7 | path_to_file=sys.argv[1]
8 | project_path = os.path.abspath(os.path.split(path_to_file)[0])
9 |
10 | # Determine version number
11 | version = os.path.split(path_to_file)[-2]
12 | version = version.split("/")[-2]
13 |
14 | # Determine *.kicad_pcb file name
15 | file_name = path_to_file.split("/")[-1]
16 |
17 |
18 | # Mouse bite specifications
19 | filletRadius = 1.2
20 | holeDia = 0.3
21 | holeInset = -holeDia / 2.0
22 | holeInsetWord = "flush"
23 | pitch = 1
24 | tabWidth = 2.5
25 |
26 | while(True):
27 | usrFilletRadius = input("Fillet Radius, currently {}mm: ".format(filletRadius))
28 | usrHoleDia = input("Hole Diameter, currently {}mm: ".format(holeDia))
29 | usrHoleInset = input("Hole Inset, currently {}. Enter inset, flush, or a custom number: ".format(holeInsetWord))
30 | usrHolePitch = input("Hole Pitch, currently {}mm: ".format(pitch))
31 | usrTabWidth = input("Tab Width, currently {}mm: ".format(tabWidth))
32 |
33 | if usrFilletRadius:
34 | filletRadius = float(usrFilletRadius)
35 |
36 | if usrHoleDia:
37 | holeDia = float(usrHoleDia)
38 |
39 | if usrHoleInset:
40 | holeInsetWord = usrHoleInset
41 | if usrHoleInset == "inset" or usrHoleInset == "i":
42 | holeInset = float(holeDia) / 2.0 + 0.05
43 | elif usrHoleInset == "flush" or usrHoleInset == 'f':
44 | holeInset = -float(holeDia) / 2.0
45 | else:
46 | holeInset = usrHoleInset
47 | else:
48 | holeInset = -float(holeDia) / 2.0
49 |
50 | if usrHolePitch:
51 | pitch = float(usrHolePitch)
52 |
53 | if usrTabWidth:
54 | tabWidth = float(usrTabWidth)
55 |
56 | # compose the command line string, may need to change dir for kicadutil.jar
57 | cmd = "java -jar scripts/kicadutil.jar pcb --file={} panel --fillet={} --hole={} --inset={} --pitch={} --width={}".format(path_to_file,filletRadius,holeDia,holeInset,pitch,tabWidth)
58 |
59 | # run the command
60 | os.system(cmd)
61 | os.system("pcbnew hardware/{}/panel/output.{}".format(version, file_name))
62 |
63 | print("\nLets do it again!\n")
64 |
65 |
--------------------------------------------------------------------------------
/scripts/plot_gerbers.py:
--------------------------------------------------------------------------------
1 | #!/bin/python3
2 |
3 | '''
4 | A python script example to create various plot files from a board:
5 | Fab files
6 | Doc files
7 | Gerber files
8 |
9 | Stolen from Greg Davill and modified for my use.
10 | https://github.com/gregdavill/kicadScripts
11 |
12 | Important note:
13 | this python script does not plot frame references.
14 | the reason is it is not yet possible from a python script because plotting
15 | plot frame references needs loading the corresponding page layout file
16 | (.wks file) or the default template.
17 |
18 | This info (the page layout template) is not stored in the board, and therefore
19 | not available.
20 |
21 | Do not try to change SetPlotFrameRef(False) to SetPlotFrameRef(true)
22 | the result is the pcbnew lib will crash if you try to plot
23 | the unknown frame references template.
24 | '''
25 |
26 | import sys
27 | import os
28 | import pcbnew
29 | import time
30 |
31 | import logging
32 | import zipfile
33 | import shutil
34 |
35 |
36 | from pcbnew import *
37 | from datetime import datetime
38 | from shutil import copy
39 |
40 |
41 | filename=sys.argv[1]
42 | project_name = os.path.splitext(os.path.split(filename)[1])[0]
43 | project_path = os.path.abspath(os.path.split(filename)[0])
44 |
45 | output_directory = os.path.join(project_path,'gerbers')
46 |
47 | today = datetime.now().strftime('%Y%m%d_%H%M%S')
48 |
49 | board = LoadBoard(filename)
50 |
51 | pctl = PLOT_CONTROLLER(board)
52 |
53 | popt = pctl.GetPlotOptions()
54 |
55 | popt.SetOutputDirectory(output_directory)
56 |
57 | # Set some important plot options:
58 | popt.SetPlotFrameRef(False)
59 | popt.SetLineWidth(FromMM(0.35))
60 |
61 | popt.SetAutoScale(False)
62 | popt.SetScale(1)
63 | popt.SetMirror(False)
64 | popt.SetUseGerberAttributes(False)
65 | popt.SetExcludeEdgeLayer(True);
66 | popt.SetScale(1)
67 | popt.SetUseAuxOrigin(True)
68 | popt.SetNegative(False)
69 | popt.SetPlotReference(True)
70 | popt.SetPlotValue(True)
71 | popt.SetPlotInvisibleText(False)
72 |
73 | # This by gerbers only (also the name is truly horrid!)
74 | popt.SetSubtractMaskFromSilk(True) #remove solder mask from silk to be sure there is no silk on pads
75 |
76 |
77 | plot_plan = [
78 | ( "CuTop", F_Cu, "Top layer", ".gtl"),
79 | ( "CuBottom", B_Cu, "Bottom layer", ".gbl"),
80 | ( "MaskBottom", B_Mask, "Mask Bottom", ".gbs"),
81 | ( "MaskTop", F_Mask, "Mask top", ".gts"),
82 | ( "PasteBottom", B_Paste, "Paste Bottom", ".gbp"),
83 | ( "PasteTop", F_Paste, "Paste Top", ".gtp"),
84 | ( "SilkTop", F_SilkS, "Silk Top", ".gto"),
85 | ( "SilkBottom", B_SilkS, "Silk Bottom", ".gbo"),
86 | ( "EdgeCuts", Edge_Cuts, "Edges", ".gml")
87 | ]
88 |
89 | popt.SetMirror(False)
90 | popt.SetDrillMarksType(PCB_PLOT_PARAMS.NO_DRILL_SHAPE)
91 | print ("Plotting Gerber Layers:")
92 |
93 | fab_files = []
94 |
95 | # Functional Gerber Plots
96 | for layer_info in plot_plan:
97 | pctl.SetLayer(layer_info[1])
98 | pctl.OpenPlotfile(layer_info[0], PLOT_FORMAT_GERBER, layer_info[2])
99 | pctl.PlotLayer()
100 | time.sleep(0.01)
101 | pctl.ClosePlot()
102 | # Create a copy with same filename and Protel extensions.
103 | srcPlot = pctl.GetPlotFileName()
104 | dstPlot = os.path.join(output_directory,project_name + layer_info[3])
105 | shutil.move(srcPlot, dstPlot)
106 | print (layer_info[0] + " => " + dstPlot)
107 | fab_files.append(dstPlot)
108 |
109 |
110 | #generate internal copper layers, if any
111 | lyrcnt = board.GetCopperLayerCount();
112 |
113 | for innerlyr in range ( 1, lyrcnt-1 ):
114 | pctl.SetLayer(innerlyr)
115 | lyrname = 'inner%s' % innerlyr
116 | pctl.OpenPlotfile(lyrname, PLOT_FORMAT_GERBER, "inner")
117 | pctl.PlotLayer()
118 | time.sleep(0.01)
119 | pctl.ClosePlot()
120 | # Create a copy with same filename and Protel extensions.
121 | srcPlot = pctl.GetPlotFileName()
122 | dstPlot = os.path.join(output_directory,project_name + '.g' + str(innerlyr + 1))
123 | shutil.move(srcPlot, dstPlot)
124 | print (lyrname + " => " + dstPlot)
125 | fab_files.append(dstPlot)
126 |
127 |
128 | # Fabricators need drill files.
129 | # sometimes a drill map file is asked (for verification purpose)
130 | drlwriter = EXCELLON_WRITER( board )
131 | drlwriter.SetMapFileFormat( PLOT_FORMAT_PDF )
132 |
133 | mirror = False
134 | minimalHeader = False
135 | #offset = wxPoint(0,0)
136 | offset = board.GetAuxOrigin()
137 | mergeNPTH = True
138 | drlwriter.SetOptions( mirror, minimalHeader, offset, mergeNPTH )
139 |
140 | metricFmt = True
141 | drlwriter.SetFormat( metricFmt )
142 |
143 | genDrl = True
144 | genMap = False
145 | drlwriter.CreateDrillandMapFilesSet( output_directory, genDrl, genMap );
146 |
147 | srcPlot = os.path.join(output_directory,project_name + '.drl')
148 | # dstPlot = os.path.join(output_directory,project_name + '.txt')
149 | # shutil.move(srcPlot, dstPlot)
150 | # print (srcPlot + " => " + dstPlot)
151 | fab_files.append(srcPlot)
152 |
153 | # One can create a text file to report drill statistics
154 | rptfn = output_directory + '/drill_report.txt'
155 | drlwriter.GenDrillReportFile( rptfn );
156 |
157 | #zip up all files
158 | zf = zipfile.ZipFile(os.path.join(output_directory,project_name + '_' + today + '.zip'), "w", zipfile.ZIP_DEFLATED)
159 | abs_src = os.path.abspath(output_directory)
160 | for filename in fab_files:
161 | absname = os.path.abspath(filename)
162 | arcname = absname[len(abs_src) + 1:]
163 | print ('zipping %s as %s' % (filename,
164 | arcname))
165 | zf.write(absname, arcname)
166 | zf.close()
167 |
168 | print("Did you remember to follow the release process???")
169 |
170 | # We have just generated your plotfiles with a single script
171 |
--------------------------------------------------------------------------------