Skip to content

Commit

Permalink
Merge branch 'main' of github.com:opulo-inc/lumenpnp
Browse files Browse the repository at this point in the history
  • Loading branch information
sphawes committed Apr 1, 2024
2 parents 3d88030 + b4763ea commit d19a69a
Show file tree
Hide file tree
Showing 95 changed files with 287,881 additions and 24 deletions.
23 changes: 11 additions & 12 deletions .github/workflows/export-mcad.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ jobs:
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: "FreeCAD/FreeCAD"
version: "tags/0.21.1"
file: "FreeCAD_0.21.1-Linux-x86_64.AppImage"
version: "tags/0.21.2"
file: "FreeCAD-0.21.2-Linux-x86_64.AppImage"
target: "FreeCAD.AppImage"
token: ${{ secrets.GITHUB_TOKEN }}

Expand Down Expand Up @@ -65,20 +65,16 @@ jobs:
cd .github/workflows/scripts/stl-export
zip -9 -j /home/runner/work/lumenpnp/lumenpnp/LumenPnP-STLs-${{ github.event.release.tag_name }}.zip *.stl
cd ../csm-export
- name: Compress STL and DXF files for Artifacts
if: github.event_name != 'release'
run: |
cd .github/workflows/scripts/stl-export
zip -9 -j ~/LumenPnP-STLs.zip *.stl
cd /home/runner/work/lumenpnp/lumenpnp/.github/workflows/scripts/csm-export
if [ -f "*.dxf" ]; then
zip -9 -j /home/runner/work/lumenpnp/lumenpnp/LumenPnP-DXFs-${{ github.event.release.tag_name }}.zip *.dxf
fi
- name: Upload STLs as Artifacts
if: github.event_name != 'release'
uses: actions/upload-artifact@v2
with:
name: LumenPnP-STLs
path: ~/LumenPnP-STLs.zip
path: .github/workflows/scripts/stl-export/*.stl
if-no-files-found: error
retention-days: 60

Expand All @@ -87,12 +83,15 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: LumenPnP-DXFs
path: ~/LumenPnP-DXFs.zip
path: .github/workflows/scripts/csm-export/*.dxf
if-no-files-found: warn
retention-days: 60

- name: Upload STLs and DXFs Release
uses: softprops/action-gh-release@v1
if: github.event_name == 'release'
with:
files: LumenPnP-STLs-${{ github.event.release.tag_name }}.zip
files: |
LumenPnP-STLs-${{ github.event.release.tag_name }}.zip
LumenPnP-DXFs-${{ github.event.release.tag_name }}.zip
fail_on_unmatched_files: false
40 changes: 28 additions & 12 deletions bom.csv

Large diffs are not rendered by default.

273 changes: 273 additions & 0 deletions lib/drawing-templates/A4_LandscapeTD.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lib/drawing-templates/opulo-black-alpha-small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions pnp/cad/CHA/blade-jumper-harness.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
templates:
- &template_con
type: IDC
subtype: female
pinlabels: [GND, GND, VDC, VDC, A, B]
image:
src: ../resources/idc.jpeg
caption: 2x3 IDC Connector
- &template_wire_jumper
gauge: 26 AWG
length: 0.03
colors: [RD, GY, GY, GY, GY, GY]
category: bundle
type: 1.27mm Pitch Ribbon Cable

connectors:
X0:
<<: *template_con
X1:
<<: *template_con

cables:
W1:
<<: *template_wire_jumper

connections:
-
- X0: [1-6]
- W1: [1-6]
- X1: [1-6]
32 changes: 32 additions & 0 deletions pnp/cad/CHA/mobo-to-slot1-harness.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
templates:
- &template_con
type: IDC
subtype: female
pinlabels: [GND, GND, VDC, VDC, A, B]
image:
src: ../resources/idc.jpeg
caption: 2x3 IDC Connector
- &template_wire_mobo
gauge: 26 AWG
length: 0.320
colors: [RD, GY, GY, GY, GY, GY]
category: bundle
type: 1.27mm Pitch Ribbon Cable
notes:


connectors:
X0:
<<: *template_con
X1:
<<: *template_con

cables:
W1:
<<: *template_wire_mobo

connections:
-
- X0: [1-6]
- W1: [1-6]
- X1: [1-6]
32 changes: 32 additions & 0 deletions pnp/cad/CHA/slot25-to-slot26-harness.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
templates:
- &template_con
type: IDC
subtype: female
pinlabels: [GND, GND, VDC, VDC, A, B]
image:
src: ../resources/idc.jpeg
caption: 2x3 IDC Connector
- &template_wire_front_back
gauge: 26 AWG
length: 0.720
colors: [RD, GY, GY, GY, GY, GY]
category: bundle
type: 1.27mm Pitch Ribbon Cable
notes:

connectors:
X0:
<<: *template_con
X1:
<<: *template_con


cables:
W1:
<<: *template_wire_front_back

connections:
-
- X0: [1-6]
- W1: [1-6]
- X1: [1-6]
Binary file added pnp/cad/FDM/blade-pin-cover.FCStd
Binary file not shown.
Binary file added pnp/cad/FDM/blade12.FCStd
Binary file not shown.
Binary file added pnp/cad/FDM/blade13.FCStd
Binary file not shown.
Binary file modified pnp/cad/FDM/mobo-top-cover.FCStd
Binary file not shown.
Binary file modified pnp/cad/FDM/nozzle-rack.FCStd
Binary file not shown.
Binary file modified pnp/cad/FDM/static-camera-foot.FCStd
Binary file not shown.
Binary file modified pnp/cad/FDM/x-cable-chain-bracket-alt.FCStd
Binary file not shown.
Binary file modified pnp/cad/FDM/x-gantry-front.FCStd
Binary file not shown.
Binary file modified pnp/cad/FDM/y-gantry.FCStd
Binary file not shown.
240 changes: 240 additions & 0 deletions pnp/cad/MISC/2mm-Pin.STEP
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
FILE_NAME('Open CASCADE Shape Model','2024-03-11T12:11:21',(''),(''),
'Open CASCADE STEP processor 7.6','FreeCAD','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('2mm-Pin','2mm-Pin','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#205);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = MANIFOLD_SOLID_BREP('',#16);
#16 = CLOSED_SHELL('',(#17,#52,#90,#122,#147,#164,#182,#194));
#17 = ADVANCED_FACE('',(#18),#47,.T.);
#18 = FACE_BOUND('',#19,.T.);
#19 = EDGE_LOOP('',(#20,#31,#40));
#20 = ORIENTED_EDGE('',*,*,#21,.T.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(0.,0.895499814952,1.74));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(1.160658890583E-16,-0.895499814952,1.74));
#26 = CIRCLE('',#27,0.895499814952);
#27 = AXIS2_PLACEMENT_3D('',#28,#29,#30);
#28 = CARTESIAN_POINT('',(0.,-5.471722612042E-17,1.74));
#29 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#30 = DIRECTION('',(0.,-1.,2.104508696939E-16));
#31 = ORIENTED_EDGE('',*,*,#32,.T.);
#32 = EDGE_CURVE('',#24,#33,#35,.T.);
#33 = VERTEX_POINT('',#34);
#34 = CARTESIAN_POINT('',(0.,4.542960814139E-16,2.));
#35 = CIRCLE('',#36,1.672153689575);
#36 = AXIS2_PLACEMENT_3D('',#37,#38,#39);
#37 = CARTESIAN_POINT('',(0.,0.,0.327846310425));
#38 = DIRECTION('',(-1.,1.224646799147E-16,-2.577279839484E-32));
#39 = DIRECTION('',(-1.224646799147E-16,-1.,-6.077163357286E-64));
#40 = ORIENTED_EDGE('',*,*,#41,.F.);
#41 = EDGE_CURVE('',#22,#33,#42,.T.);
#42 = CIRCLE('',#43,1.672153689575);
#43 = AXIS2_PLACEMENT_3D('',#44,#45,#46);
#44 = CARTESIAN_POINT('',(0.,0.,0.327846310425));
#45 = DIRECTION('',(1.,0.,0.));
#46 = DIRECTION('',(0.,0.,-1.));
#47 = SPHERICAL_SURFACE('',#48,1.672153689575);
#48 = AXIS2_PLACEMENT_3D('',#49,#50,#51);
#49 = CARTESIAN_POINT('',(0.,0.,0.327846310425));
#50 = DIRECTION('',(-1.,0.,0.));
#51 = DIRECTION('',(0.,1.,-1.945160027894E-16));
#52 = ADVANCED_FACE('',(#53),#85,.T.);
#53 = FACE_BOUND('',#54,.T.);
#54 = EDGE_LOOP('',(#55,#62,#70,#79));
#55 = ORIENTED_EDGE('',*,*,#56,.F.);
#56 = EDGE_CURVE('',#24,#22,#57,.T.);
#57 = CIRCLE('',#58,0.895499814952);
#58 = AXIS2_PLACEMENT_3D('',#59,#60,#61);
#59 = CARTESIAN_POINT('',(0.,-5.471722612042E-17,1.74));
#60 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#61 = DIRECTION('',(0.,-1.,2.104508696939E-16));
#62 = ORIENTED_EDGE('',*,*,#63,.T.);
#63 = EDGE_CURVE('',#24,#64,#66,.T.);
#64 = VERTEX_POINT('',#65);
#65 = CARTESIAN_POINT('',(0.,-1.,1.35));
#66 = LINE('',#67,#68);
#67 = CARTESIAN_POINT('',(1.224646799147E-16,-1.,1.35));
#68 = VECTOR('',#69,1.);
#69 = DIRECTION('',(3.169619151432E-17,-0.258819045103,-0.965925826289)
);
#70 = ORIENTED_EDGE('',*,*,#71,.T.);
#71 = EDGE_CURVE('',#64,#72,#74,.T.);
#72 = VERTEX_POINT('',#73);
#73 = CARTESIAN_POINT('',(1.224646799147E-16,1.,1.35));
#74 = CIRCLE('',#75,1.);
#75 = AXIS2_PLACEMENT_3D('',#76,#77,#78);
#76 = CARTESIAN_POINT('',(0.,-1.36793065301E-16,1.35));
#77 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#78 = DIRECTION('',(0.,-1.,2.104508696939E-16));
#79 = ORIENTED_EDGE('',*,*,#80,.F.);
#80 = EDGE_CURVE('',#22,#72,#81,.T.);
#81 = LINE('',#82,#83);
#82 = CARTESIAN_POINT('',(0.,1.,1.35));
#83 = VECTOR('',#84,1.);
#84 = DIRECTION('',(0.,0.258819045103,-0.965925826289));
#85 = CONICAL_SURFACE('',#86,1.,0.261799387799);
#86 = AXIS2_PLACEMENT_3D('',#87,#88,#89);
#87 = CARTESIAN_POINT('',(0.,-1.36793065301E-16,1.35));
#88 = DIRECTION('',(0.,-2.104508696939E-16,-1.));
#89 = DIRECTION('',(0.,1.,-2.104508696939E-16));
#90 = ADVANCED_FACE('',(#91),#117,.T.);
#91 = FACE_BOUND('',#92,.T.);
#92 = EDGE_LOOP('',(#93,#104,#110,#111));
#93 = ORIENTED_EDGE('',*,*,#94,.T.);
#94 = EDGE_CURVE('',#95,#97,#99,.T.);
#95 = VERTEX_POINT('',#96);
#96 = CARTESIAN_POINT('',(0.,-1.,-1.7));
#97 = VERTEX_POINT('',#98);
#98 = CARTESIAN_POINT('',(1.224646799147E-16,1.,-1.7));
#99 = CIRCLE('',#100,1.);
#100 = AXIS2_PLACEMENT_3D('',#101,#102,#103);
#101 = CARTESIAN_POINT('',(0.,-7.786682178675E-16,-1.7));
#102 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#103 = DIRECTION('',(0.,-1.,2.104508696939E-16));
#104 = ORIENTED_EDGE('',*,*,#105,.T.);
#105 = EDGE_CURVE('',#97,#72,#106,.T.);
#106 = LINE('',#107,#108);
#107 = CARTESIAN_POINT('',(1.224646799147E-16,1.,2.));
#108 = VECTOR('',#109,1.);
#109 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#110 = ORIENTED_EDGE('',*,*,#71,.F.);
#111 = ORIENTED_EDGE('',*,*,#112,.F.);
#112 = EDGE_CURVE('',#95,#64,#113,.T.);
#113 = LINE('',#114,#115);
#114 = CARTESIAN_POINT('',(0.,-1.,2.));
#115 = VECTOR('',#116,1.);
#116 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#117 = CYLINDRICAL_SURFACE('',#118,1.);
#118 = AXIS2_PLACEMENT_3D('',#119,#120,#121);
#119 = CARTESIAN_POINT('',(0.,0.,2.));
#120 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#121 = DIRECTION('',(0.,-1.,2.104508696939E-16));
#122 = ADVANCED_FACE('',(#123),#142,.T.);
#123 = FACE_BOUND('',#124,.T.);
#124 = EDGE_LOOP('',(#125,#134,#141));
#125 = ORIENTED_EDGE('',*,*,#126,.F.);
#126 = EDGE_CURVE('',#127,#95,#129,.T.);
#127 = VERTEX_POINT('',#128);
#128 = CARTESIAN_POINT('',(0.,1.674846514105E-15,-2.));
#129 = CIRCLE('',#130,1.816666666667);
#130 = AXIS2_PLACEMENT_3D('',#131,#132,#133);
#131 = CARTESIAN_POINT('',(0.,2.168404344971E-15,-0.183333333333));
#132 = DIRECTION('',(-1.,-0.,0.));
#133 = DIRECTION('',(0.,0.,1.));
#134 = ORIENTED_EDGE('',*,*,#135,.T.);
#135 = EDGE_CURVE('',#127,#97,#136,.T.);
#136 = CIRCLE('',#137,1.816666666667);
#137 = AXIS2_PLACEMENT_3D('',#138,#139,#140);
#138 = CARTESIAN_POINT('',(0.,2.168404344971E-15,-0.183333333333));
#139 = DIRECTION('',(1.,-1.224646799147E-16,2.577279839484E-32));
#140 = DIRECTION('',(1.224646799147E-16,1.,0.));
#141 = ORIENTED_EDGE('',*,*,#94,.F.);
#142 = SPHERICAL_SURFACE('',#143,1.816666666667);
#143 = AXIS2_PLACEMENT_3D('',#144,#145,#146);
#144 = CARTESIAN_POINT('',(0.,2.168404344971E-15,-0.183333333333));
#145 = DIRECTION('',(1.,0.,0.));
#146 = DIRECTION('',(0.,-1.,2.088829873596E-16));
#147 = ADVANCED_FACE('',(#148),#159,.T.);
#148 = FACE_BOUND('',#149,.T.);
#149 = EDGE_LOOP('',(#150,#151,#152));
#150 = ORIENTED_EDGE('',*,*,#135,.F.);
#151 = ORIENTED_EDGE('',*,*,#126,.T.);
#152 = ORIENTED_EDGE('',*,*,#153,.F.);
#153 = EDGE_CURVE('',#97,#95,#154,.T.);
#154 = CIRCLE('',#155,1.);
#155 = AXIS2_PLACEMENT_3D('',#156,#157,#158);
#156 = CARTESIAN_POINT('',(0.,-7.786682178675E-16,-1.7));
#157 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#158 = DIRECTION('',(0.,-1.,2.104508696939E-16));
#159 = SPHERICAL_SURFACE('',#160,1.816666666667);
#160 = AXIS2_PLACEMENT_3D('',#161,#162,#163);
#161 = CARTESIAN_POINT('',(0.,2.168404344971E-15,-0.183333333333));
#162 = DIRECTION('',(1.,0.,0.));
#163 = DIRECTION('',(0.,-1.,2.088829873596E-16));
#164 = ADVANCED_FACE('',(#165),#177,.T.);
#165 = FACE_BOUND('',#166,.T.);
#166 = EDGE_LOOP('',(#167,#168,#169,#170));
#167 = ORIENTED_EDGE('',*,*,#105,.F.);
#168 = ORIENTED_EDGE('',*,*,#153,.T.);
#169 = ORIENTED_EDGE('',*,*,#112,.T.);
#170 = ORIENTED_EDGE('',*,*,#171,.F.);
#171 = EDGE_CURVE('',#72,#64,#172,.T.);
#172 = CIRCLE('',#173,1.);
#173 = AXIS2_PLACEMENT_3D('',#174,#175,#176);
#174 = CARTESIAN_POINT('',(0.,-1.36793065301E-16,1.35));
#175 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#176 = DIRECTION('',(0.,-1.,2.104508696939E-16));
#177 = CYLINDRICAL_SURFACE('',#178,1.);
#178 = AXIS2_PLACEMENT_3D('',#179,#180,#181);
#179 = CARTESIAN_POINT('',(0.,0.,2.));
#180 = DIRECTION('',(-0.,2.104508696939E-16,1.));
#181 = DIRECTION('',(0.,-1.,2.104508696939E-16));
#182 = ADVANCED_FACE('',(#183),#189,.T.);
#183 = FACE_BOUND('',#184,.T.);
#184 = EDGE_LOOP('',(#185,#186,#187,#188));
#185 = ORIENTED_EDGE('',*,*,#63,.F.);
#186 = ORIENTED_EDGE('',*,*,#21,.F.);
#187 = ORIENTED_EDGE('',*,*,#80,.T.);
#188 = ORIENTED_EDGE('',*,*,#171,.T.);
#189 = CONICAL_SURFACE('',#190,1.,0.261799387799);
#190 = AXIS2_PLACEMENT_3D('',#191,#192,#193);
#191 = CARTESIAN_POINT('',(0.,-1.36793065301E-16,1.35));
#192 = DIRECTION('',(0.,-2.104508696939E-16,-1.));
#193 = DIRECTION('',(0.,1.,-2.104508696939E-16));
#194 = ADVANCED_FACE('',(#195),#200,.T.);
#195 = FACE_BOUND('',#196,.T.);
#196 = EDGE_LOOP('',(#197,#198,#199));
#197 = ORIENTED_EDGE('',*,*,#32,.F.);
#198 = ORIENTED_EDGE('',*,*,#56,.T.);
#199 = ORIENTED_EDGE('',*,*,#41,.T.);
#200 = SPHERICAL_SURFACE('',#201,1.672153689575);
#201 = AXIS2_PLACEMENT_3D('',#202,#203,#204);
#202 = CARTESIAN_POINT('',(0.,0.,0.327846310425));
#203 = DIRECTION('',(-1.,0.,0.));
#204 = DIRECTION('',(0.,1.,-1.945160027894E-16));
#205 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#209)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#206,#207,#208)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#206 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#207 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#208 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#209 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#206,
'distance_accuracy_value','confusion accuracy');
#210 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
#211 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#212)
,#205);
#212 = STYLED_ITEM('color',(#213),#15);
#213 = PRESENTATION_STYLE_ASSIGNMENT((#214,#220));
#214 = SURFACE_STYLE_USAGE(.BOTH.,#215);
#215 = SURFACE_SIDE_STYLE('',(#216));
#216 = SURFACE_STYLE_FILL_AREA(#217);
#217 = FILL_AREA_STYLE('',(#218));
#218 = FILL_AREA_STYLE_COLOUR('',#219);
#219 = COLOUR_RGB('',0.108908773725,0.42979452543,0.55643289889);
#220 = CURVE_STYLE('',#221,POSITIVE_LENGTH_MEASURE(0.1),#222);
#221 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
#222 = DRAUGHTING_PRE_DEFINED_COLOUR('black');
ENDSEC;
END-ISO-10303-21;
Binary file added pnp/cad/MISC/4mmIDx0.6mmCS-o-ring.FCStd
Binary file not shown.
Loading

0 comments on commit d19a69a

Please sign in to comment.