X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=adafruit-powerboost-1000.scad;h=683eb811cbddc6a5f1dff2a89026297b84dae653;hp=e442aa74801e5275a46d81af04d8ca3b7c16faae;hb=HEAD;hpb=3cc5020b1d2d163182fa319161e5520501222830 diff --git a/adafruit-powerboost-1000.scad b/adafruit-powerboost-1000.scad index e442aa7..683eb81 100644 --- a/adafruit-powerboost-1000.scad +++ b/adafruit-powerboost-1000.scad @@ -14,11 +14,11 @@ psu_led_low_x = 4; psu_led_usbend_y_min = 4.5; psu_led_chrg_min_x = -1.0; psu_led_chrg_max_x = 3.0; -psu_led_chrg_both_sz_y = 7.0; +psu_led_chrg_both_sz_y = 9.4; -psu_led_pwr_sz_x = 4.5; -psu_led_pwr_min_y = -1.5; -psu_led_pwr_max_y = 2.5; +psu_led_low_sz_x = 4.5; +psu_led_low_min_y = -1.5; +psu_led_low_max_y = 3.25; psu_led_baffle_th = 0.8; psu_led_baffle_ends = 1.5; @@ -35,14 +35,14 @@ psu_led_legend_battery_nub_w = 1.5; psu_led_legend_power_dia = 5.0; -psu_led_legend_gap = 0.75; +psu_led_legend_gap = 1.25; // ----- calculated ----- psu_led_legend_battery_edge = psu_led_legend_line; psu_led_legend_power_tick_l = - psu_led_legend_power_dia * 0.75; + psu_led_legend_power_dia * 0.65; psu_led_legend_power_tick_dy = psu_led_legend_line; psu_led_legend_power_sz_y = @@ -74,16 +74,16 @@ module PsuLedWindowsPlanCore(){ psu_led_chrg_both_sz_y ]); } - // One LED, PWR, near outlet USB pads + // One LED, "Low", other side of inlet connector AtPsuMountCorner(1,0) { translate([0, psu_led_usbend_y_min ]) rectfromto([ 0, - psu_led_pwr_min_y ], - [ psu_led_pwr_sz_x, - psu_led_pwr_max_y ]); + psu_led_low_min_y ], + [ psu_led_low_sz_x, + psu_led_low_max_y ]); } - // One LED, "Low", other side of inlet connector + // One LED, PWR, near outlet USB pads AtPsuMountCorner(0,1){ rectfromto([0,0], [psu_sz[0]/2 + psu_innerend_led_x_midder, @@ -115,13 +115,21 @@ module PsuLedLegendPowerSymbol(){ $fn=30; tick_mid = [0, psu_led_legend_power_dia/2 - psu_led_legend_power_tick_dy]; + cut_slope = ( psu_led_legend_gap + psu_led_legend_line/2 ) / tick_mid[1]; + cut_y = psu_led_legend_power_dia + 1; + translate(tick_mid) square([psu_led_legend_line, psu_led_legend_power_tick_l], center=true); difference(){ circle(r= psu_led_legend_power_dia/2); circle(r= psu_led_legend_power_dia/2 - psu_led_legend_line); - translate(tick_mid) + + polygon([[0, 0], + [-cut_y * cut_slope, cut_y], + [ cut_y * cut_slope, cut_y]]); + + if(0) translate(tick_mid) square([psu_led_legend_line, psu_led_legend_power_tick_l] + [psu_led_legend_gap*2, 0.1], center=true); @@ -129,13 +137,14 @@ module PsuLedLegendPowerSymbol(){ } module PsuLedLegendsPlan(){ - translate([psu_led_legend_battery_l/2 + translate([psu_led_legend_power_dia/2 + psu_innerend_led_x_midder + psu_led_legend_gap, psu_sz[1]/2 - psu_innerend_led_depth/2 ]) - PsuLedLegendBattery(0); + rotate([0,0,180]) + PsuLedLegendPowerSymbol(); for (full=[0,1]) { translate([-psu_sz[0]/2 @@ -144,18 +153,23 @@ module PsuLedLegendsPlan(){ + psu_led_legend_gap, -psu_sz[1]/2 + psu_led_usbend_y_min - + psu_led_chrg_both_sz_y * (1-full) + + psu_led_chrg_both_sz_y * 0.5 + + max( + psu_led_legend_battery_w + psu_led_legend_gap, + psu_led_chrg_both_sz_y * 0.5 + ) * (0.5 - full) ]) PsuLedLegendBattery(full ? 100 : 50); } translate([psu_sz[0]/2 - - psu_led_pwr_sz_x, + - psu_led_legend_battery_nub_l + - psu_led_legend_battery_l/2, -psu_sz[1]/2 + + psu_led_legend_gap + psu_led_usbend_y_min - + psu_led_pwr_max_y - + psu_led_legend_power_sz_y + + psu_led_low_max_y + + psu_led_legend_battery_w/2 ]) - rotate([0,0,180]) - PsuLedLegendPowerSymbol(); + PsuLedLegendBattery(0); }