adjusted 2mm panel_clamps, implemented bottom cover and front vents

This commit is contained in:
Edward Kisiel
2025-05-07 15:36:18 -04:00
parent 5b03cd94fc
commit c09d444913
4 changed files with 142 additions and 109 deletions

View File

@@ -38,18 +38,20 @@ module panel_clamp(face, screw, style, dia_x, dia_y, height, mask) {
rotz = face == "left" ? 90 : face == "right" ? 270 : 0; rotz = face == "left" ? 90 : face == "right" ? 270 : 0;
if(enablemask == true && mstyle == "default") { if(enablemask == true && mstyle == "default") {
rotate([rotx,roty,rotz]) {
cylinder(d=dia_y, h=height);
}
} }
if(enablemask == false) { if(enablemask == false) {
rotate([rotx,roty,rotz]) { rotate([rotx,roty,rotz]) {
difference() { difference() {
cylinder(d2=dia_x, d1=dia_y, h=height); cylinder(d2=dia_x, d1=dia_y, h=height);
if(screw == "m2") { if(screw == "m2") {
translate([(-dia_y-(nuts[2][0]+.5)/2)/2, 0, 3]) rotate([0,90,0]) translate([(-dia_y-(nuts[2][0]+.5)/2)/2, 0, 2.25]) rotate([0,90,0])
cylinder(d=nuts[0][0]+.5, h=dia_y+2); cylinder(d=nuts[0][0]+.5, h=dia_y+2);
translate([-(dia_y/2), 0, 3]) rotate([0,90,0]) translate([-(dia_y/2), 0, 2.25]) rotate([0,90,0])
cylinder(d=nuts[0][1]*2/sqrt(3), h=dia_y*.375, $fn=6); cylinder(d=nuts[0][1]*2/sqrt(3), h=dia_y*.375, $fn=6);
translate([nuts[0][0]+.5, 0, 3]) rotate([0,90,0]) translate([nuts[0][0]+.5, 0, 2.25]) rotate([0,90,0])
cylinder(d=nuts[0][1]+.5, h=dia_y*.375); cylinder(d=nuts[0][1]+.5, h=dia_y*.375);
} }
if(screw == "m2.5") { if(screw == "m2.5") {

View File

@@ -30,12 +30,11 @@ rack_asm_gap = .25;
rack_asm_size = 5; rack_asm_size = 5;
rack_asm_hole = 2.25; rack_asm_hole = 2.25;
if(side == "bottom") { if(case_design == "rack" && side == "bottom") {
difference() { difference() {
union() { union() {
difference() { difference() {
union() { union() {
if(case_design == "rack") {
difference() { difference() {
translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,(case_z-floorthick)/2]) translate([(width/2)-wallthick-gap,(depth/2)-wallthick-gap,(case_z-floorthick)/2])
cube_fillet_inside([width,depth,case_z-floorthick], cube_fillet_inside([width,depth,case_z-floorthick],
@@ -45,8 +44,24 @@ if(side == "bottom") {
cube_fillet_inside([width-(wallthick*2),depth-(wallthick*2),case_z+floorthick], cube_fillet_inside([width-(wallthick*2),depth-(wallthick*2),case_z+floorthick],
vertical=[corner_fillet-wallthick,corner_fillet-wallthick,-wallthick,-wallthick], vertical=[corner_fillet-wallthick,corner_fillet-wallthick,-wallthick,-wallthick],
top=[0,0,0,0], bottom=[edge_fillet,edge_fillet,edge_fillet,edge_fillet,edge_fillet], $fn=90); top=[0,0,0,0], bottom=[edge_fillet,edge_fillet,edge_fillet,edge_fillet,edge_fillet], $fn=90);
// case floor panel clamp holes
translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
// case upper panel clamp holes
translate([150-gap-wallthick,-gap-adj,case_z-13])
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
translate([300-gap-wallthick,-gap-adj,case_z-13])
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [true,10,2,"default"]);
} }
// rack ears // rack mounting tabs
translate([-gap-wallthick, -gap+(sidethick-wallthick), 0]) translate([-gap-wallthick, -gap+(sidethick-wallthick), 0])
rack_end_bracket("left", rack_size, sidethick); rack_end_bracket("left", rack_size, sidethick);
translate([width-wallthick-gap, -gap+(sidethick-wallthick), 0]) translate([width-wallthick-gap, -gap+(sidethick-wallthick), 0])
@@ -60,19 +75,19 @@ if(side == "bottom") {
} }
} }
// case upper panel clamps // case upper panel clamps
translate([150-gap-wallthick,-gap-adj-.5,case_z-13]) translate([150-gap-wallthick,-gap-adj,case_z-13])
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]); panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
translate([300-gap-wallthick,-gap-adj-.5,case_z-13]) translate([300-gap-wallthick,-gap-adj,case_z-13])
panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]); panel_clamp("rear", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj+.5, translate([150-gap-wallthick,depth-gap-(2*wallthick)+adj,
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]); case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj+.5, translate([300-gap-wallthick,depth-gap-(2*wallthick)+adj,
case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]); case_z-13]) panel_clamp("front", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
// case floor panel clamps // case floor panel clamps
translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj]) translate([150-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]); panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj]) translate([300-gap-wallthick,(depth/2)-gap-wallthick,floorthick-adj-.5])
panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]); panel_clamp("bottom", "m2", "sloped", 6, 18, 5, [false,10,2,"default"]);
// case lower assembly blocks // case lower assembly blocks
@@ -103,7 +118,6 @@ if(side == "bottom") {
translate([300-gap-wallthick+rack_asm_gap, translate([300-gap-wallthick+rack_asm_gap,
depth-gap-(2*wallthick)-rack_asm_size+adj,floorthick-adj]) depth-gap-(2*wallthick)-rack_asm_size+adj,floorthick-adj])
cube([rack_asm_size,rack_asm_size,rack_asm_size]); cube([rack_asm_size,rack_asm_size,rack_asm_size]);
}
// additive accessories // additive accessories
if(accessory_name != "none") { if(accessory_name != "none") {
@@ -121,7 +135,8 @@ if(side == "bottom") {
mask = accessory_data[a[0]][i+10]; mask = accessory_data[a[0]][i+10];
if(class == "add1" && face == "bottom") { if(class == "add1" && face == "bottom") {
parametric_move_add(type, loc_x, loc_y, loc_z, face, rotation, parametric, size, data, [false,mask[1],mask[2],mask[3]]); parametric_move_add(type, loc_x, loc_y, loc_z, face, rotation, parametric,
size, data, [false,mask[1],mask[2],mask[3]]);
} }
} }
} }
@@ -175,7 +190,7 @@ if(side == "bottom") {
translate([300-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj, translate([300-gap-wallthick+rack_asm_size+adj+rack_asm_gap-2,depth-gap-(2*wallthick)-(rack_asm_size/2)+adj,
floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0]) floorthick-adj+(rack_asm_size/2)]) rotate([0,90,0])
cylinder(d=4*2/sqrt(3), h=2); cylinder(d=4*2/sqrt(3), h=2);
// pcb and multi-pcb standoff holes
for(r = [0:len(rack_bay_sbc)-1]) { for(r = [0:len(rack_bay_sbc)-1]) {
if(rack_bay_sbc[r] != "empty") { if(rack_bay_sbc[r] != "empty") {
s = search([rack_bay_sbc[r]],sbc_data); s = search([rack_bay_sbc[r]],sbc_data);
@@ -188,13 +203,15 @@ if(side == "bottom") {
pcb_color = sbc_data[s[0]][11][1]; pcb_color = sbc_data[s[0]][11][1];
pcb_radius = sbc_data[s[0]][11][0]; pcb_radius = sbc_data[s[0]][11][0];
pcb_loc_x = rack_bay_rotation[r] == 90 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0]; pcb_loc_x = rack_bay_rotation[r] == 90 ? rack_bay_xyz_loc[r][0] + pcb_width :
pcb_loc_y = rack_bay_rotation[r] == 270 ? rack_bay_xyz_loc[r][1]+pcb_width : rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][1]+pcb_depth : rack_bay_xyz_loc[r][1]; rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
pcb_loc_y = rack_bay_rotation[r] == 270 ? rack_bay_xyz_loc[r][1]+pcb_width :
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][1]+pcb_depth : rack_bay_xyz_loc[r][1];
pcb_loc_z = rack_bay_xyz_loc[r][2]; pcb_loc_z = rack_bay_xyz_loc[r][2];
translate([pcb_loc_x,pcb_loc_y,pcb_loc_z]) rotate([0,0,rack_bay_rotation[r]]) union() { translate([pcb_loc_x,pcb_loc_y,pcb_loc_z]) rotate([0,0,rack_bay_rotation[r]]) union() {
// pcb standoff holes // pcb standoff holes
if(sbc_bottom_standoffs == true && rack_bay_sbc[r] != "empty") { if(sbc_bottom_standoffs == true) {
for (i=[1:11:len(sbc_data[s[0]])-2]) { for (i=[1:11:len(sbc_data[s[0]])-2]) {
class = sbc_data[s[0]][i+1]; class = sbc_data[s[0]][i+1];
type = sbc_data[s[0]][i+2]; type = sbc_data[s[0]][i+2];
@@ -229,7 +246,7 @@ if(side == "bottom") {
} }
} }
// multi-pcb standoff holes // multi-pcb standoff holes
if(multipcb_bottom_standoffs == true && rack_bay_sbc[r] != "empty") { if(multipcb_bottom_standoffs == true) {
for (i=[1:11:len(sbc_data[s[0]])-2]) { for (i=[1:11:len(sbc_data[s[0]])-2]) {
class = sbc_data[s[0]][i+1]; class = sbc_data[s[0]][i+1];
type = sbc_data[s[0]][i+2]; type = sbc_data[s[0]][i+2];
@@ -324,30 +341,42 @@ if(side == "bottom") {
} }
} }
// bottom cover pattern // bottom cover pattern
for(r = [0:len(rack_bay_sbc)-1]) {
if(bottom_cover_pattern != "solid") { if(bottom_cover_pattern != "solid") {
if(bottom_cover_pattern == "hex_5mm") { if(bottom_cover_pattern == "hex_5mm") {
translate([1,0,-floorthick+adj]) vent_hex(width/3.75,depth/6,floorthick+4,5,1.5,"horizontal"); translate([rack_bay_xyz_loc[r][0]+25,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
vent_hex(15/3.75,(depth-40)/6,floorthick+4,5,1.5,"horizontal");
} }
if(bottom_cover_pattern == "hex_8mm") { if(bottom_cover_pattern == "hex_8mm") {
translate([1,2,-floorthick+adj]) vent_hex(width/5.5,depth/9.5,floorthick+4,8,1.5,"horizontal"); translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+5,-floorthick+adj])
vent_hex(35/5.5,(depth-10)/9.5,floorthick+4,8,1.5,"horizontal");
} }
if(bottom_cover_pattern == "linear_vertical") { if(bottom_cover_pattern == "linear_vertical") {
translate([0,-gap,-floorthick+adj]) translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
vent(wallthick,depth-2*wallthick-gap,floorthick+4,1,1,(width-2*wallthick-gap)/4,"horizontal"); vent(2,12,floorthick+4,1,1,9,"horizontal");
translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+55,-floorthick+adj])
vent(2,12,floorthick+4,1,1,9,"horizontal");
} }
if(bottom_cover_pattern == "linear_horizontal") { if(bottom_cover_pattern == "linear_horizontal") {
translate([-gap,-gap,-floorthick+adj]) translate([rack_bay_xyz_loc[r][0]+10,rack_bay_xyz_loc[r][1]+10,-floorthick+adj])
vent(width-2*(wallthick+gap),wallthick,floorthick+4,1,(depth-2*wallthick-gap)/3,1,"horizontal"); vent(35-2*(wallthick+gap),wallthick,floorthick+4,1,(depth-2*wallthick-gap)/6,1,"horizontal");
} }
if(bottom_cover_pattern == "astroid") { if(bottom_cover_pattern == "astroid") {
for(c=[3:12:depth-8]) { for(c=[rack_bay_xyz_loc[r][1]+10:12:85+rack_bay_xyz_loc[r][1]]) {
for(r=[4:12:width-8]) { for(r=[rack_bay_xyz_loc[r][0]:12:55+rack_bay_xyz_loc[r][0]]) {
translate([r,c,-(2*floorthick)]) linear_extrude(floorthick+5) import("./dxf/astroid_8mm.dxf"); translate([r,c,-floorthick]) linear_extrude(floorthick+5) import("./dxf/astroid_8mm.dxf");
} }
} }
} }
} }
// front vent
if(rack_bay_face[r] == "vent") {
translate([-gap-wallthick-1+rack_asm_gap/2+75*(r+1)-75+14,-gap-adj,case_z-16])
vent(2,10,wallthick+4,2,1,9,"vertical");
} }
}
}
// pcb and multi-pcb standoffs
for(r = [0:len(rack_bay_sbc)-1]) { for(r = [0:len(rack_bay_sbc)-1]) {
if(rack_bay_sbc[r] != "empty") { if(rack_bay_sbc[r] != "empty") {
s = search([rack_bay_sbc[r]],sbc_data); s = search([rack_bay_sbc[r]],sbc_data);
@@ -360,8 +389,10 @@ if(side == "bottom") {
pcb_color = sbc_data[s[0]][11][1]; pcb_color = sbc_data[s[0]][11][1];
pcb_radius = sbc_data[s[0]][11][0]; pcb_radius = sbc_data[s[0]][11][0];
pcb_loc_x = rack_bay_rotation[r] == 90 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0]; pcb_loc_x = rack_bay_rotation[r] == 90 ? rack_bay_xyz_loc[r][0] + pcb_width :
pcb_loc_y = rack_bay_rotation[r] == 270 ? rack_bay_xyz_loc[r][1]+pcb_width : rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][1]+pcb_depth : rack_bay_xyz_loc[r][1]; rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][0] + pcb_width : rack_bay_xyz_loc[r][0];
pcb_loc_y = rack_bay_rotation[r] == 270 ? rack_bay_xyz_loc[r][1]+pcb_width :
rack_bay_rotation[r] == 180 ? rack_bay_xyz_loc[r][1]+pcb_depth : rack_bay_xyz_loc[r][1];
pcb_loc_z = rack_bay_xyz_loc[r][2]; pcb_loc_z = rack_bay_xyz_loc[r][2];
translate([pcb_loc_x,pcb_loc_y,pcb_loc_z]) rotate([0,0,rack_bay_rotation[r]]) union() { translate([pcb_loc_x,pcb_loc_y,pcb_loc_z]) rotate([0,0,rack_bay_rotation[r]]) union() {

View File

@@ -11047,37 +11047,37 @@
"pcb_loc_x": "0", "pcb_loc_x": "0",
"pcb_loc_y": "0", "pcb_loc_y": "0",
"pcb_loc_z": "0", "pcb_loc_z": "0",
"rack_bay1_face": "io_shield", "rack_bay1_face": "vent",
"rack_bay1_rear_conduit": "true", "rack_bay1_rear_conduit": "true",
"rack_bay1_rear_fan": "true", "rack_bay1_rear_fan": "true",
"rack_bay1_rotation": "270", "rack_bay1_rotation": "270",
"rack_bay1_wall": "true", "rack_bay1_wall": "true",
"rack_bay1_xyz_loc": "[13, 0, 0]", "rack_bay1_xyz_loc": "[13, 0, 0]",
"rack_bay2_face": "io_shield", "rack_bay2_face": "vent",
"rack_bay2_rear_conduit": "true", "rack_bay2_rear_conduit": "true",
"rack_bay2_rear_fan": "true", "rack_bay2_rear_fan": "true",
"rack_bay2_rotation": "270", "rack_bay2_rotation": "270",
"rack_bay2_wall": "true", "rack_bay2_wall": "true",
"rack_bay2_xyz_loc": "[88, 0, 0]", "rack_bay2_xyz_loc": "[88, 0, 0]",
"rack_bay3_face": "io_shield", "rack_bay3_face": "vent",
"rack_bay3_rear_conduit": "true", "rack_bay3_rear_conduit": "true",
"rack_bay3_rear_fan": "true", "rack_bay3_rear_fan": "true",
"rack_bay3_rotation": "270", "rack_bay3_rotation": "270",
"rack_bay3_wall": "true", "rack_bay3_wall": "true",
"rack_bay3_xyz_loc": "[162.5, 0, 0]", "rack_bay3_xyz_loc": "[162.5, 0, 0]",
"rack_bay4_face": "io_shield", "rack_bay4_face": "vent",
"rack_bay4_rear_conduit": "true", "rack_bay4_rear_conduit": "true",
"rack_bay4_rear_fan": "true", "rack_bay4_rear_fan": "true",
"rack_bay4_rotation": "270", "rack_bay4_rotation": "270",
"rack_bay4_wall": "true", "rack_bay4_wall": "true",
"rack_bay4_xyz_loc": "[237.5, 0, 0]", "rack_bay4_xyz_loc": "[237.5, 0, 0]",
"rack_bay5_face": "io_shield", "rack_bay5_face": "vent",
"rack_bay5_rear_conduit": "true", "rack_bay5_rear_conduit": "true",
"rack_bay5_rear_fan": "true", "rack_bay5_rear_fan": "true",
"rack_bay5_rotation": "270", "rack_bay5_rotation": "270",
"rack_bay5_wall": "true", "rack_bay5_wall": "true",
"rack_bay5_xyz_loc": "[313, 0, 0]", "rack_bay5_xyz_loc": "[313, 0, 0]",
"rack_bay6_face": "io_shield", "rack_bay6_face": "vent",
"rack_bay6_rear_conduit": "true", "rack_bay6_rear_conduit": "true",
"rack_bay6_rear_fan": "true", "rack_bay6_rear_fan": "true",
"rack_bay6_rotation": "270", "rack_bay6_rotation": "270",

View File

@@ -82,7 +82,7 @@ rack_size = "1u"; //["1u","1u+","1u++","2u"]
Rack_Bay1 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"] Rack_Bay1 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
rack_bay1_xyz_loc = [0,0,0]; // [0:.5:450] rack_bay1_xyz_loc = [0,0,0]; // [0:.5:450]
rack_bay1_rotation = 0; // [0:90:270] rack_bay1_rotation = 0; // [0:90:270]
rack_bay1_face = "io_shield"; //["solid","blank","io_shield","vent_hex"] rack_bay1_face = "vent"; //["solid","blank","io_shield","vent"]
rack_bay1_wall = false; // [true,false] rack_bay1_wall = false; // [true,false]
rack_bay1_rear_fan = false; //[true,false] rack_bay1_rear_fan = false; //[true,false]
rack_bay1_rear_conduit = false; //[true,false] rack_bay1_rear_conduit = false; //[true,false]
@@ -90,7 +90,7 @@ rack_bay1_rear_conduit = false; //[true,false]
Rack_Bay2 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"] Rack_Bay2 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
rack_bay2_xyz_loc = [0,0,0]; // [0:.5:450] rack_bay2_xyz_loc = [0,0,0]; // [0:.5:450]
rack_bay2_rotation = 0; // [0:90:270] rack_bay2_rotation = 0; // [0:90:270]
rack_bay2_face = "io_shield"; //["solid","blank","io_shield","vent_hex"] rack_bay2_face = "vent"; //["solid","blank","io_shield","vent"]
rack_bay2_wall = false; // [true,false] rack_bay2_wall = false; // [true,false]
rack_bay2_rear_fan = false; //[true,false] rack_bay2_rear_fan = false; //[true,false]
rack_bay2_rear_conduit = false; //[true,false] rack_bay2_rear_conduit = false; //[true,false]
@@ -98,7 +98,7 @@ rack_bay2_rear_conduit = false; //[true,false]
Rack_Bay3 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"] Rack_Bay3 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
rack_bay3_xyz_loc = [0,0,0]; // [0:.5:450] rack_bay3_xyz_loc = [0,0,0]; // [0:.5:450]
rack_bay3_rotation = 0; // [0:90:270] rack_bay3_rotation = 0; // [0:90:270]
rack_bay3_face = "io_shield"; //["solid","blank","io_shield","vent_hex"] rack_bay3_face = "vent"; //["solid","blank","io_shield","vent"]
rack_bay3_wall = false; // [true,false] rack_bay3_wall = false; // [true,false]
rack_bay3_rear_fan = false; //[true,false] rack_bay3_rear_fan = false; //[true,false]
rack_bay3_rear_conduit = false; //[true,false] rack_bay3_rear_conduit = false; //[true,false]
@@ -106,7 +106,7 @@ rack_bay3_rear_conduit = false; //[true,false]
Rack_Bay4 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"] Rack_Bay4 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
rack_bay4_xyz_loc = [0,0,0]; // [0:.5:450] rack_bay4_xyz_loc = [0,0,0]; // [0:.5:450]
rack_bay4_rotation = 0; // [0:90:270] rack_bay4_rotation = 0; // [0:90:270]
rack_bay4_face = "io_shield"; //["solid","blank","io_shield","vent_hex"] rack_bay4_face = "vent"; //["solid","blank","io_shield","vent"]
rack_bay4_wall = false; // [true,false] rack_bay4_wall = false; // [true,false]
rack_bay4_rear_fan = false; //[true,false] rack_bay4_rear_fan = false; //[true,false]
rack_bay4_rear_conduit = false; //[true,false] rack_bay4_rear_conduit = false; //[true,false]
@@ -114,7 +114,7 @@ rack_bay4_rear_conduit = false; //[true,false]
Rack_Bay5 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"] Rack_Bay5 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
rack_bay5_xyz_loc = [0,0,0]; // [0:.5:450] rack_bay5_xyz_loc = [0,0,0]; // [0:.5:450]
rack_bay5_rotation = 0; // [0:90:270] rack_bay5_rotation = 0; // [0:90:270]
rack_bay5_face = "io_shield"; //["solid","blank","io_shield","vent_hex"] rack_bay5_face = "vent"; //["solid","blank","io_shield","vent"]
rack_bay5_wall = false; // [true,false] rack_bay5_wall = false; // [true,false]
rack_bay5_rear_fan = false; //[true,false] rack_bay5_rear_fan = false; //[true,false]
rack_bay5_rear_conduit = false; //[true,false] rack_bay5_rear_conduit = false; //[true,false]
@@ -122,7 +122,7 @@ rack_bay5_rear_conduit = false; //[true,false]
Rack_Bay6 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"] Rack_Bay6 = "empty"; // ["empty", "c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "m2", "h2", "h2+", "h3", "h3+", "h4", "h4+", "h4_ultra", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "a64", "a64lts", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "soedge_a-baseboard", "soedge_rk1808", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "rock5b+", "nio12l", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "opi5max", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "bpif3", "milk-v_duos", "licheerv+dock", "rak19007", "cnano-avr128da48", "nodemcu-32s", "cs-solarmeter", "feather-m0_express", "feather-m0_wifi", "feather-m4_express"]
rack_bay6_xyz_loc = [0,0,0]; // [0:.5:450] rack_bay6_xyz_loc = [0,0,0]; // [0:.5:450]
rack_bay6_rotation = 0; // [0:90:270] rack_bay6_rotation = 0; // [0:90:270]
rack_bay6_face = "io_shield"; //["solid","blank","io_shield","vent_hex"] rack_bay6_face = "vent"; //["solid","blank","io_shield","vent"]
rack_bay6_rear_fan = false; //[true,false] rack_bay6_rear_fan = false; //[true,false]
rack_bay6_rear_conduit = false; //[true,false] rack_bay6_rear_conduit = false; //[true,false]