Refactored for teensy 4.0, xEvi hardware

- Switched to platformio, ino -> cpp
- MPRLS for pressure sensor
- Added basic ICM support
- Removed widi, battery, other features not supported in xEvi
- Removed legacy options/processing
- Added LED strip support
- Added encoder support
- Reworked menu code to use encoders/be more flexible
This commit is contained in:
Brian Hrebec 2023-08-27 11:52:08 -05:00
parent c58c3f9e46
commit 01d193c9b3
92 changed files with 69119 additions and 73272 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,35 +1,35 @@
w=8; //key width, default 8
wc=10; //mounting end outer diameter, default 10
l=15; //key length (range normally increase in steps of 5)
hght=3; //key height, default 3,3.5 and 4
angl=25; //key end angle, default 25
estp=1.5; //end step before angle, default 0.5
noext=0; //set to 1 to get just the round part
// 20/3,26/3.5,32/4 sk: 15/3 (estp 1.5)
module prism(l, w, h){
polyhedron(
points=[[0,0,0], [l,0,0], [l,w,0], [0,w,0], [0,w,h], [l,w,h]],
faces=[[0,1,2,3],[5,4,3,2],[0,4,5,1],[0,3,4],[5,2,1]]
);
}
difference(){
translate([0,0,0]) cylinder(h=hght,r=wc/2,,$fn=100);
translate([0,0,hght-2]) cylinder(h=2.2,r1=1.6,r2=3.2,$fn=100);
translate([0,0,-1]) cylinder(h=hght+5,r=1.6,$fn=100);
//translate([-8,-8,0]) cube([16,2,3]);
}
if (!noext){
difference(){
translate([-w/2,-l+1,0]) cube([w,l,hght]);
translate([0,0,hght-2]) cylinder(h=2.2,r1=1.6,r2=3.2,$fn=100);
translate([0,0,-1]) cylinder(h=hght+5,r=1.6,$fn=100);
translate([w/2-1,-l,hght]) rotate([180,0,90]) prism(l,1,1);
translate([-w/2-0.001,-l,hght-1]) rotate([90,0,90]) prism(l,1,1);
//translate([-w/2,-l+5.5,hght]) rotate([160,0,0])prism(w,15,15);
translate([-w/2,-l,estp]) rotate([angl,0,0])cube(40,40,40);
}
}
w=8; //key width, default 8
wc=10; //mounting end outer diameter, default 10
l=15; //key length (range normally increase in steps of 5)
hght=3; //key height, default 3,3.5 and 4
angl=25; //key end angle, default 25
estp=1.5; //end step before angle, default 0.5
noext=0; //set to 1 to get just the round part
// 20/3,26/3.5,32/4 sk: 15/3 (estp 1.5)
module prism(l, w, h){
polyhedron(
points=[[0,0,0], [l,0,0], [l,w,0], [0,w,0], [0,w,h], [l,w,h]],
faces=[[0,1,2,3],[5,4,3,2],[0,4,5,1],[0,3,4],[5,2,1]]
);
}
difference(){
translate([0,0,0]) cylinder(h=hght,r=wc/2,,$fn=100);
translate([0,0,hght-2]) cylinder(h=2.2,r1=1.6,r2=3.2,$fn=100);
translate([0,0,-1]) cylinder(h=hght+5,r=1.6,$fn=100);
//translate([-8,-8,0]) cube([16,2,3]);
}
if (!noext){
difference(){
translate([-w/2,-l+1,0]) cube([w,l,hght]);
translate([0,0,hght-2]) cylinder(h=2.2,r1=1.6,r2=3.2,$fn=100);
translate([0,0,-1]) cylinder(h=hght+5,r=1.6,$fn=100);
translate([w/2-1,-l,hght]) rotate([180,0,90]) prism(l,1,1);
translate([-w/2-0.001,-l,hght-1]) rotate([90,0,90]) prism(l,1,1);
//translate([-w/2,-l+5.5,hght]) rotate([160,0,0])prism(w,15,15);
translate([-w/2,-l,estp]) rotate([angl,0,0])cube(40,40,40);
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff