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=05f6f2b8e4f353e9f9b3219606be39c19b7c9e66;hb=HEAD;hpb=8da734ec31472fd64a4319abb1d58f43272a1f6c diff --git a/adafruit-powerboost-1000.scad b/adafruit-powerboost-1000.scad index 05f6f2b..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_low_sz_x = 4.5; psu_led_low_min_y = -1.5; -psu_led_low_max_y = 2.5; +psu_led_low_max_y = 3.25; psu_led_baffle_th = 0.8; psu_led_baffle_ends = 1.5; @@ -26,16 +26,29 @@ psu_led_baffle_ends = 1.5; psu_baffle_th = [ 0.8, 3.5 ]; psu_innerend_led_depth = 7; +psu_led_legend_line = 0.75; + psu_led_legend_battery_l = 6.0; psu_led_legend_battery_w = 4.0; -psu_led_legend_battery_edge = 0.75; psu_led_legend_battery_nub_l = 0.75; psu_led_legend_battery_nub_w = 1.5; -psu_led_legend_gap = 0.75; +psu_led_legend_power_dia = 5.0; + +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.65; +psu_led_legend_power_tick_dy = psu_led_legend_line; + +psu_led_legend_power_sz_y = + psu_led_legend_power_dia/2 + psu_led_legend_power_tick_l/2 + - psu_led_legend_power_tick_dy; + psu_innerend_led_x_midder = - psu_hole_pos[1] - psu_hole_dia/2; module PsuLedBafflePlan(){ @@ -98,14 +111,65 @@ module PsuLedLegendBattery(percent=50){ } } +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); + + 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); + } +} + module PsuLedLegendsPlan(){ - translate(0.5 * [0, psu_sz[1]] - + [psu_led_legend_battery_l/2 - + psu_innerend_led_x_midder + 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 + ]) + rotate([0,0,180]) + PsuLedLegendPowerSymbol(); + + for (full=[0,1]) { + translate([-psu_sz[0]/2 + + psu_led_legend_battery_l/2 + + psu_led_chrg_max_x + psu_led_legend_gap, - -psu_innerend_led_depth/2] - ) + -psu_sz[1]/2 + + psu_led_usbend_y_min + + 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_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_low_max_y + + psu_led_legend_battery_w/2 + ]) PsuLedLegendBattery(0); -// mirror([1,0]) -// text("\u2300\u23fb", font="Noto Regular"); }