chiark / gitweb /
adafruit-powerboost: battery legend wip
[reprap-play.git] / adafruit-powerboost-1000.scad
index 1b6e8772c50747d7799a8f7d4b5b5352db97bde1..94bf7ed79a0c4765f1e9df5f00d6b4ab01175646 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C -*-
 
-psu_sz_nom = [ 21.59, 35.56 ];
+psu_sz_nom = [ 11.43*2, 36.20 ];
 
 //// toplevels-from:
 include <adafruit-powerboost-common.scad>
@@ -20,20 +20,29 @@ psu_led_low_sz_x = 4.5;
 psu_led_low_min_y = -1.5;
 psu_led_low_max_y = 2.5;
 
-psu_baffle_cnr_y = 7.45; // from connector end
-psu_usbend_led_x = 4.5;
+psu_led_baffle_th = 0.8;
+psu_led_baffle_ends = 1.5;
+
 psu_baffle_th = [ 0.8, 3.5 ];
-psu_usbend_led_y = 4.5;
-psu_innerend_led_depth = 10;
+psu_innerend_led_depth = 7;
 
-// ----- calculated -----
+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_usbend_led_depth = psu_baffle_cnr_y*2 - psu_usbend_led_x;
+// ----- calculated -----
 
 module PsuLedBafflePlan(){
-//  AtPsuMountCorner(0,0) {
-//    translate([0,
-//            psu_led_usbend_y_min + psu_led_chrg_both_sz_y/2
+  AtPsuMountCorner(0,0) {
+    translate([ (psu_led_chrg_min_x + psu_led_chrg_max_x)/2,
+              psu_led_usbend_y_min + psu_led_chrg_both_sz_y/2 ])
+      square(center=true,
+            [ psu_led_chrg_max_x - psu_led_chrg_min_x
+              + psu_led_baffle_ends*2,
+              psu_led_baffle_th ]);
+  }
 }
 
 module PsuLedWindowsPlanCore(){
@@ -61,10 +70,31 @@ module PsuLedWindowsPlanCore(){
       AtPsuMountCorner(0,1){
        rectfromto([0,0],
                   [psu_sz[0]/2 - psu_hole_pos[1] - psu_hole_dia/2,
-                    psu_innerend_led_depth]);
+                   psu_innerend_led_depth]);
       }
     }
-//    translate([0, -psu_sz[1]/2])
-//      square(center=true, [psu_baffle_th[1], psu_sz[1]]);;
   }
 }
+
+module PsuLedLegendBattery(percent=50){
+  e = psu_led_legend_battery_edge;
+  full_l = percent/100 * (psu_led_legend_battery_l - e*2);
+  difference(){
+    union(){
+      square([psu_led_legend_battery_l,
+             psu_led_legend_battery_w], center=true);
+      translate([psu_led_legend_battery_l/2, 0])
+       square([psu_led_legend_battery_nub_l*2,
+               psu_led_legend_battery_nub_w], center=true);
+    }
+    translate([-(psu_led_legend_battery_l/2-e),
+              -(psu_led_legend_battery_w/2-e)])
+      square([full_l, psu_led_legend_battery_w - e*2]);
+  }
+}  
+
+module PsuLedLegendsPlan(){
+  PsuLedLegendBattery();
+//  mirror([1,0])
+//    text("\u2300\u23fb", font="Noto Regular");
+}