Commit 009bb5de authored by David Huss's avatar David Huss 💬
Browse files

Various updates

parent de64155b
%% Cell type:code id: tags:
``` python
# Change these values to calculate the needed values
requirements = {"inputs": 8, "outputs":8}
# Do not edit below this Point unless you know what you are doing
data = {
"mami-input": {
"input-channels": 2,
"parts": [
{"MPN": "PJ301M-12", "n": 2},
{"MPN": "Subminiature On-Off-(On) Toggle switch", "n": 2},
]
},
"mami-output": {
"output-channels": 2,
"parts": [
{"MPN": "LME49720", "n": 2},
{"MPN": "100nF 0605 25V", "n": 4},
{"MPN": "100k 0805", "n": 6},
{"MPN": "100R 0805", "n": 2},
{"MPN": "PJ301M-12", "n": 2}
]
},
"mami-quad": {
"input-channels":2, "output-channels":2,
"parts": [
{"MPN": "P0915N-FC15BR100K", "n": 4},
{"MPN": "Knob", "n": 4},
{"MPN": "100k 0805", "n": 4}
]
}
}
# Calculate how many PCBs are needed
n_input_modules = int(requirements["inputs"] / data["mami-input"]["input-channels"])
n_output_modules = int(requirements["outputs"] / data["mami-output"]["output-channels"])
n_quad_modules = int((requirements["inputs"] * requirements["outputs"]) / (data["mami-output"]["output-channels"] * data["mami-input"]["input-channels"]))
Print the PCB
print("Needed for a {}x{} Matrix Mixer".format(requirements["inputs"], requirements["outputs"]))
print("{}".format("="*50))
print("{0:>5}x MAMI-INPUT-Module".format(n_input_modules))
print("{0:>5}x MAMI-OUTPUT-Module".format(n_output_modules))
print("{0:>5}x MAMI-QUAD-Module\n".format(n_quad_modules))
# Collect all the parts
bom = {}
for part in data["mami-input"]["parts"]*n_input_modules + data["mami-quad"]["parts"]*n_quad_modules + data["mami-output"]["parts"]*n_output_modules:
if part["MPN"] in bom:
bom[part["MPN"]] += part["n"]
else:
bom[part["MPN"]] = part["n"]
# Print the BOM
print("Parts\n{}".format("="*50))
for key, value in bom.items():
print("{:>5}x {}".format(value, key))
```
%% Output
Needed for a 8x8 Matrix Mixer:
==================================================
4x MAMI-INPUT-Module
4x MAMI-OUTPUT-Module
16x MAMI-QUAD-Module
Parts
==================================================
16x PJ301M-12
8x Subminiature On-Off-(On) Toggle switch
64x P0915N-FC15BR100K
64x Knob
96x 100k 0805
8x LME49720
16x 100nF 0605 25V
%% Cell type:code id: tags:
``` python
for i in range(5,15):
print("{}... QUAD: {} IN: {} OUT: {}, Channels: {}".format(i, 16*i, 4*i, 4*i, 8*i))
```
%% Output
5... QUAD: 80 IN: 20 OUT: 20, Channels: 40
6... QUAD: 96 IN: 24 OUT: 24, Channels: 48
7... QUAD: 112 IN: 28 OUT: 28, Channels: 56
8... QUAD: 128 IN: 32 OUT: 32, Channels: 64
9... QUAD: 144 IN: 36 OUT: 36, Channels: 72
10... QUAD: 160 IN: 40 OUT: 40, Channels: 80
11... QUAD: 176 IN: 44 OUT: 44, Channels: 88
12... QUAD: 192 IN: 48 OUT: 48, Channels: 96
13... QUAD: 208 IN: 52 OUT: 52, Channels: 104
14... QUAD: 224 IN: 56 OUT: 56, Channels: 112
%% Cell type:code id: tags:
``` python
```
......
......@@ -8,6 +8,7 @@
],
"board_filename": "board.json",
"name": "MAMI Input",
"pictures_filename": "pictures",
"pool_cache_directory": "cache",
"pool_uuid": "6d752bc3-29b3-45df-8cf2-1e3aacefbcc6",
"title": "MAMI Input",
......
......@@ -1061,6 +1061,15 @@
"enabled": true,
"mode": "outline"
},
"110": {
"color": {
"b": 0.0,
"g": 0.0,
"r": 0.0
},
"enabled": true,
"mode": "outline"
},
"20": {
"color": {
"b": 0.0,
......@@ -21540,6 +21549,20 @@
}
}
},
"pnp_export_settings": {
"columns": [
"refdes",
"x",
"y",
"angle",
"side"
],
"filename_bottom": "",
"filename_merged": "",
"filename_top": "",
"mode": "merged",
"output_directory": ""
},
"polygons": {
"0dd08b0c-4e08-47a8-96a8-6e4f805bf6eb": {
"layer": -120,
......@@ -43091,7 +43114,393 @@
"rules": {
"clearance_copper": {
"91e1b6b4-84d2-446c-a5e8-a859400eeeec": {
"clearances": [],
"clearances": [
{
"clearance": 100000,
"types": [
"other",
"other"
]
},
{
"clearance": 100000,
"types": [
"other",
"track"
]
},
{
"clearance": 100000,
"types": [
"other",
"pad"
]
},
{
"clearance": 100000,
"types": [
"other",
"pad_th"
]
},
{
"clearance": 100000,
"types": [
"other",
"via"
]
},
{
"clearance": 100000,
"types": [
"other",
"plane"
]
},
{
"clearance": 100000,
"types": [
"other",
"hole_pth"
]
},
{
"clearance": 100000,
"types": [
"other",
"hole_npth"
]
},
{
"clearance": 100000,
"types": [
"other",
"board_edge"
]
},
{
"clearance": 100000,
"types": [
"other",
"text"
]
},
{
"clearance": 100000,
"types": [
"track",
"track"
]
},
{
"clearance": 100000,
"types": [
"track",
"pad"
]
},
{
"clearance": 100000,
"types": [
"track",
"pad_th"
]
},
{
"clearance": 100000,
"types": [
"track",
"via"
]
},
{
"clearance": 100000,
"types": [
"track",
"plane"
]
},
{
"clearance": 100000,
"types": [
"track",
"hole_pth"
]
},
{
"clearance": 100000,
"types": [
"track",
"hole_npth"
]
},
{
"clearance": 100000,
"types": [
"track",
"board_edge"
]
},
{
"clearance": 100000,
"types": [
"track",
"text"
]
},
{
"clearance": 100000,
"types": [
"pad",
"pad"
]
},
{
"clearance": 100000,
"types": [
"pad",
"pad_th"
]
},
{
"clearance": 100000,
"types": [
"pad",
"via"
]
},
{
"clearance": 100000,
"types": [
"pad",
"plane"
]
},
{
"clearance": 100000,
"types": [
"pad",
"hole_pth"
]
},
{
"clearance": 100000,
"types": [
"pad",
"hole_npth"
]
},
{
"clearance": 100000,
"types": [
"pad",
"board_edge"
]
},
{
"clearance": 100000,
"types": [
"pad",
"text"
]
},
{
"clearance": 100000,
"types": [
"pad_th",
"pad_th"
]
},
{
"clearance": 100000,
"types": [
"pad_th",
"via"
]
},
{
"clearance": 100000,
"types": [
"pad_th",
"plane"
]
},
{
"clearance": 100000,
"types": [
"pad_th",
"hole_pth"
]
},
{
"clearance": 100000,
"types": [
"pad_th",
"hole_npth"
]
},
{
"clearance": 100000,
"types": [
"pad_th",
"board_edge"
]
},
{
"clearance": 100000,
"types": [
"pad_th",
"text"
]
},
{
"clearance": 100000,
"types": [
"via",
"via"
]
},
{
"clearance": 100000,
"types": [
"via",
"plane"
]
},
{
"clearance": 100000,
"types": [
"via",
"hole_pth"
]
},
{
"clearance": 100000,
"types": [
"via",
"hole_npth"
]
},
{
"clearance": 100000,
"types": [
"via",
"board_edge"
]
},
{
"clearance": 100000,
"types": [
"via",
"text"
]
},
{
"clearance": 100000,
"types": [
"plane",
"plane"
]
},
{
"clearance": 100000,
"types": [
"plane",
"hole_pth"
]
},
{
"clearance": 100000,
"types": [
"plane",
"hole_npth"
]
},
{
"clearance": 100000,
"types": [
"plane",
"board_edge"
]
},
{
"clearance": 100000,
"types": [
"plane",
"text"
]
},
{
"clearance": 100000,
"types": [
"hole_pth",
"hole_pth"
]
},
{
"clearance": 100000,
"types": [
"hole_pth",
"hole_npth"
]
},
{
"clearance": 100000,
"types": [
"hole_pth",
"board_edge"
]
},
{
"clearance": 100000,
"types": [
"hole_pth",
"text"
]
},
{
"clearance": 100000,
"types": [
"hole_npth",
"hole_npth"
]
},
{
"clearance": 100000,
"types": [
"hole_npth",
"board_edge"
]
},
{
"clearance": 100000,
"types": [
"hole_npth",
"text"
]
},
{
"clearance": 100000,
"types": [
"board_edge",
"board_edge"
]
},
{
"clearance": 100000,
"types": [
"board_edge",
"text"
]
},
{
"clearance": 100000,
"types": [
"text",
"text"
]
}
],
"enabled": true,
"layer": 10000,
"match_1": {
......@@ -43130,15 +43539,16 @@
"clearance_bottom": 100000,
"clearance_top": 100000,
"enabled": true,
"order": 0
"order": -1
},
"diffpair": {},
"hole_size": {},
"layer_pair": {},
"parameters": {
"courtyard_expansion": 250000,
"enabled": true,
"hole_solder_mask_expansion": 100000,
"order": 0,
"order": -1,
"paste_mask_contraction": 0,
"solder_mask_expansion": 100000,
"via_solder_mask_expansion": 100000
......@@ -15,6 +15,14 @@
"text": true
}
},
"grid_settings": {
"mode": "square",
"origin_x": 0,
"origin_y": 0,
"spacing_square": 317500,
"spacing_x": 1250000,
"spacing_y": 1250000
},
"grid_spacing": 317500,
"layer_display": {
"layer_opacity": 69.0,
......@@ -63,6 +71,10 @@
"display_mode": "outline",
"visible": true
},
"110": {
"display_mode": "fill",
"visible": false
},
"20": {
"display_mode": "fill_only",
"visible": false
......@@ -88,5 +100,9 @@
"visible": true
}
}
},
"nets": {
"airwires_visible": null,
"net_colors": null
}
}
\ No newline at end of file
......@@ -8,6 +8,7 @@
],
"board_filename": "board.json",
"name": "MAMI-INPUT",
"pictures_filename": "pictures",
"pool_cache_directory": "cache",
"pool_uuid": "6d752bc3-29b3-45df-8cf2-1e3aacefbcc6",
"title": "MAMI Output",
......
This diff is collapsed.
......@@ -15,6 +15,14 @@
"text": true
}
},
"grid_settings": {
"mode": "square",
"origin_x": 0,