Browse Source

housing fixes

* added speaker access
* extended front angle down further
clementinecomputing 6 years ago
parent
commit
6ae18f9b86

+ 8 - 0
experiment/production/GPRS-GPS-notes.md

@@ -103,6 +103,14 @@ as root should work.
 
 If there are troubles, look at `dmesg` and `/var/log/syslog` for clues as to what went wrong.
 
+---
+
+I'm having trouble with `ifdown` not recognizing the eth0 interface.
+
+```
+ip link set dev eth0 down
+```
+
 GPS
 ---
 

+ 3 - 0
experiment/production/housing/v2/PopufareHousingCommon.scad

@@ -86,6 +86,9 @@ POPUFARE_INNER_PLATE_HOLE_WIDTH = 114;
 POPUFARE_INNER_PLATE_HOLE_HEIGHT = 84;
 
 
+POPUFARE_SPEAKER_HOLE_R = 2.5/2;
+POPUFARE_SPEAKER_HOLE_WIDTH = 34.5 + ((39.5 - 34.5) / 2);
+
 // hinge
 //
 POPUFARE_HINGE_TOP_HOLE_WIDTH = 32;

+ 1 - 1
experiment/production/housing/v2/PopufareHousingFrontAngle.scad

@@ -32,7 +32,7 @@ module PopufareHousingFrontAnglePlate_resistive() {
 
   difference() {
     union() {
-      square([w + 2*lip,h + 2*lip], center=true);
+      square([w + 2*lip,h + 2*lip + 2*lip], center=true);
     };
 
     // attach to side plate brackets

+ 30 - 1
experiment/production/housing/v2/PopufareHousingSideRight.scad

@@ -21,9 +21,16 @@ module PopufareHousingSideRightPlate() {
   dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
   alen = dh*sqrt(2.0);
   w_right = w - dh;
+  
+  spkr_dw = POPUFARE_SPEAKER_HOLE_WIDTH;
+
+  lip = _MATERIAL_THICKNESS + 0.125;
 
   difference() {
-    square([w,h], center=true);
+    union() {
+      square([w,h], center=true);
+      translate([0,-(h/2 + lip/2)]) square([w,lip], center=true);
+    }
     
     // chop off angle
     //
@@ -53,6 +60,28 @@ module PopufareHousingSideRightPlate() {
     
     // no back bracket
     //
+
+    // ...
+    spkr_cx = -30;
+    spkr_cy = 0;
+    spkr_r = 2*spkr_dw/6;
+    offset_x = 4.5;
+    _w = 2.5;
+    translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) rounded_rect(_w,2*spkr_r, _w/2);
+    translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - offset_x*offset_x), _w/2);
+    translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([2*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (2*2*offset_x*offset_x)), _w/2);
+    translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([3*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (3*3*offset_x*offset_x)), _w/2);
+    
+    //translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([4*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (4*4*offset_x*offset_x)), _w/2);
+    //translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([5*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (5*5*offset_x*offset_x)), _w/2);
+    
+    translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([-offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - offset_x*offset_x), _w/2);
+    translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([-2*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (2*2*offset_x*offset_x)), _w/2);
+    translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([-3*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (3*3*offset_x*offset_x)), _w/2);
+    
+    translate([spkr_cx - spkr_dw/2,spkr_cy]) circle(POPUFARE_SPAKER_HOLE_R);
+    translate([spkr_cx + spkr_dw/2,spkr_cy]) circle(POPUFARE_SPAKER_HOLE_R);
+    
   }
 }
 

+ 3 - 3
experiment/production/housing/v2/housing_layout_3d.scad

@@ -26,10 +26,10 @@ hz = dz-hh;
 
 PopufareHousingBottomPlate();
 
-translate( [ -(dw/2 + spacing), 0, dh/2 + spacing ] ) rotate(90, [0,1,0]) rotate(90, [0,0,1])
-  PopufareHousingSideLeftPlate();
-translate( [  (dw/2+spacing), 0, dh/2 + spacing ] ) rotate(-90, [0,1,0]) rotate(-90, [0,0,1])
+translate( [ -(dw/2 + spacing), 0, dh/2 + spacing ] ) rotate(-90, [0,1,0]) rotate(-90, [0,0,1])
   PopufareHousingSideRightPlate();
+translate( [  (dw/2+spacing), 0, dh/2 + spacing ] ) rotate(90, [0,1,0]) rotate(90, [0,0,1])
+  PopufareHousingSideLeftPlate();
 
 translate( [ 0, -(dh/2 + spacing), hh/2 + spacing]) rotate(90, [1,0,0])
   PopufareHousingFrontBottomPlate();