Merge branch 'master' into master
This commit is contained in:
commit
976c18fb26
|
@ -0,0 +1,128 @@
|
|||
$fn = 100;
|
||||
|
||||
// standard board thicknesses (mm)
|
||||
PCB_THICK_06 = 0.6;
|
||||
PCB_THICK_08 = 0.8;
|
||||
PCB_THICK_10 = 1.0;
|
||||
PCB_THICK_12 = 1.2;
|
||||
PCB_THICK_16 = 1.6;
|
||||
|
||||
// standard board hole diameters
|
||||
PCB_HOLE_30 = 3.0;
|
||||
|
||||
HEIGHT = 1.8;
|
||||
|
||||
// standard stand-off heights
|
||||
STANDOFF_4 = 3.0;
|
||||
|
||||
// base dimensions
|
||||
BASE_THICKNESS = 3.0;
|
||||
BASE_DIAMETER = 12.0;
|
||||
|
||||
module pcb_support(coord,hole_dia,pcb_thick,standoff_height)
|
||||
{
|
||||
translate(coord)
|
||||
{
|
||||
standoff(hole_dia,standoff_height);
|
||||
translate([standoff_height,0,0]) clip(hole_dia,pcb_thick,standoff_height);
|
||||
}
|
||||
}
|
||||
|
||||
module baseWedge(hole_dia,base_thickness)
|
||||
{
|
||||
standoff_side = hole_dia*1.2; // width of standoff
|
||||
//standoff_thickness = hole_dia * .75; // thickness of standoff bar
|
||||
standoff_thickness = HEIGHT; // thickness of standoff bar
|
||||
|
||||
translate([0,-base_thickness,0])
|
||||
linear_extrude(height=standoff_thickness)
|
||||
{
|
||||
polygon
|
||||
(
|
||||
points=
|
||||
[
|
||||
[-(standoff_side/2+base_thickness),0],
|
||||
[-standoff_side/2,base_thickness],
|
||||
[standoff_side/2,base_thickness],
|
||||
[standoff_side/2+base_thickness,0]
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
module standoff(hole_dia,height,base_thickness)
|
||||
{
|
||||
standoff_side = hole_dia*1.2; // width of standoff
|
||||
//standoff_thickness = hole_dia * .75; // thickness of standoff bar
|
||||
standoff_thickness = HEIGHT; // thickness of standoff bar
|
||||
shaft_width = hole_dia * 1.0; // width of clip part that rests inside of the PCB hole
|
||||
slot_length = height/5-2; // length of cut slot
|
||||
slot_width = shaft_width * 0.4; // amount of gap in the slot
|
||||
base_inset = 0.1; // inset of wedge into bottom of base
|
||||
|
||||
// standoff
|
||||
translate([-standoff_side/2,0,0])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
cube([standoff_side,height,standoff_thickness]);
|
||||
translate([standoff_side/2-slot_width/2,height-slot_length,0]) cube([slot_width,slot_length,standoff_thickness]);
|
||||
}
|
||||
}
|
||||
|
||||
difference()
|
||||
{
|
||||
baseWedge(hole_dia,base_thickness);
|
||||
translate([-(standoff_side+base_thickness*2)/2,-base_thickness,0]) cube([standoff_side+base_thickness*2,base_inset,standoff_thickness]);
|
||||
}
|
||||
}
|
||||
|
||||
//pcb_support([0,0,0],3,PCB_THICK_16,8);
|
||||
module clip(hole_dia,pcb_thick)
|
||||
{
|
||||
clip_length = pcb_thick * 3; // total length of clip
|
||||
clip_width = hole_dia * 1.2; // width of clip at its widest
|
||||
//clip_thickness = hole_dia * .75; // thickness of of the entire clip in the Z direction
|
||||
clip_thickness = HEIGHT; // thickness of of the entire clip in the Z direction
|
||||
shaft_length = pcb_thick * 1.1; // length of clip part that rests inside of the PCB hole
|
||||
shaft_width = hole_dia * 0.9; // width of clip part that rests inside of the PCB hole
|
||||
slot_length = clip_length; // length of cut slot
|
||||
slot_width = shaft_width * 0.4; // amount of gap in the slot
|
||||
|
||||
clip_lip = 0.4; // overhange on one side
|
||||
clip_chamfer = hole_dia/3; // side of triangle taken off of clip to produce a chamfer
|
||||
|
||||
translate([-shaft_width/2,0,0])
|
||||
linear_extrude(height=clip_thickness)
|
||||
{
|
||||
polygon
|
||||
(
|
||||
points=
|
||||
[
|
||||
// left clip
|
||||
[0,0],
|
||||
[0,shaft_length],
|
||||
[-clip_lip,shaft_length+clip_chamfer],
|
||||
[-clip_lip,clip_length-clip_chamfer],
|
||||
[0,clip_length],
|
||||
[(shaft_width-slot_width)/2,clip_length],
|
||||
[(shaft_width-slot_width)/2,clip_length-slot_length],
|
||||
|
||||
// right clip
|
||||
[(shaft_width-slot_width)/2+slot_width,clip_length-slot_length],
|
||||
[(shaft_width-slot_width)/2+slot_width,clip_length],
|
||||
[shaft_width,clip_length],
|
||||
[shaft_width+clip_lip,clip_length-clip_chamfer],
|
||||
[shaft_width+clip_lip,shaft_length+clip_chamfer],
|
||||
[shaft_width,shaft_length],
|
||||
[shaft_width,0]
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
scale([1.8,3.2,2.5])
|
||||
{
|
||||
translate([0,STANDOFF_4,0]) clip(PCB_HOLE_30,PCB_THICK_16);
|
||||
standoff(PCB_HOLE_30,STANDOFF_4,BASE_THICKNESS);
|
||||
}
|
Binary file not shown.
|
@ -1,26 +0,0 @@
|
|||
G04 MADE WITH FRITZING*
|
||||
G04 WWW.FRITZING.ORG*
|
||||
G04 DOUBLE SIDED*
|
||||
G04 HOLES PLATED*
|
||||
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
|
||||
%ASAXBY*%
|
||||
%FSLAX23Y23*%
|
||||
%MOIN*%
|
||||
%OFA0B0*%
|
||||
%SFA1.0B1.0*%
|
||||
%ADD10R,0.984252X0.984252*%
|
||||
%ADD11C,0.008000*%
|
||||
%ADD10C,0.008*%
|
||||
%LNCONTOUR*%
|
||||
G90*
|
||||
G70*
|
||||
G54D10*
|
||||
G54D11*
|
||||
X4Y980D02*
|
||||
X980Y980D01*
|
||||
X980Y4D01*
|
||||
X4Y4D01*
|
||||
X4Y980D01*
|
||||
D02*
|
||||
G04 End of contour*
|
||||
M02*
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,39 +0,0 @@
|
|||
; NON-PLATED HOLES START AT T1
|
||||
; THROUGH (PLATED) HOLES START AT T100
|
||||
M48
|
||||
INCH
|
||||
T100C0.039370
|
||||
T101C0.035000
|
||||
T102C0.015748
|
||||
%
|
||||
T100
|
||||
X003694Y006148
|
||||
X003694Y004148
|
||||
X006694Y005148
|
||||
X006694Y003148
|
||||
X003694Y005148
|
||||
X003694Y003148
|
||||
X006694Y006148
|
||||
X006694Y004148
|
||||
T101
|
||||
X008194Y008148
|
||||
X008194Y001398
|
||||
X004194Y008148
|
||||
X004194Y001398
|
||||
T102
|
||||
X002694Y001148
|
||||
X005444Y003148
|
||||
X004944Y004148
|
||||
X002944Y006898
|
||||
X001444Y002648
|
||||
X000444Y009148
|
||||
X002444Y002648
|
||||
X001944Y001398
|
||||
X009444Y007398
|
||||
X005694Y007398
|
||||
X004944Y001148
|
||||
X000694Y007148
|
||||
X005194Y008398
|
||||
X006444Y007398
|
||||
T00
|
||||
M30
|
|
@ -1,136 +0,0 @@
|
|||
G04 MADE WITH FRITZING*
|
||||
G04 WWW.FRITZING.ORG*
|
||||
G04 DOUBLE SIDED*
|
||||
G04 HOLES PLATED*
|
||||
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
|
||||
%ASAXBY*%
|
||||
%FSLAX23Y23*%
|
||||
%MOIN*%
|
||||
%OFA0B0*%
|
||||
%SFA1.0B1.0*%
|
||||
%ADD10C,0.049370*%
|
||||
%ADD11C,0.085000*%
|
||||
%ADD12C,0.089370*%
|
||||
%ADD13R,0.065118X0.069055*%
|
||||
%ADD14R,0.069055X0.065118*%
|
||||
%ADD15R,0.089370X0.089370*%
|
||||
%ADD16C,0.026000*%
|
||||
%LNMASK0*%
|
||||
G90*
|
||||
G70*
|
||||
G54D10*
|
||||
X569Y740D03*
|
||||
X644Y740D03*
|
||||
X944Y740D03*
|
||||
G54D11*
|
||||
X819Y815D03*
|
||||
X419Y815D03*
|
||||
G54D10*
|
||||
X519Y840D03*
|
||||
X544Y315D03*
|
||||
X194Y140D03*
|
||||
X269Y115D03*
|
||||
X69Y715D03*
|
||||
G54D11*
|
||||
X819Y140D03*
|
||||
X419Y140D03*
|
||||
G54D12*
|
||||
X369Y615D03*
|
||||
X669Y615D03*
|
||||
X369Y515D03*
|
||||
X669Y515D03*
|
||||
X369Y415D03*
|
||||
X669Y415D03*
|
||||
X369Y315D03*
|
||||
X669Y315D03*
|
||||
G54D10*
|
||||
X494Y115D03*
|
||||
X244Y265D03*
|
||||
X144Y265D03*
|
||||
X44Y915D03*
|
||||
X294Y690D03*
|
||||
X494Y415D03*
|
||||
G54D13*
|
||||
X869Y240D03*
|
||||
X789Y240D03*
|
||||
X869Y440D03*
|
||||
X789Y440D03*
|
||||
X119Y640D03*
|
||||
X200Y640D03*
|
||||
X144Y365D03*
|
||||
X225Y365D03*
|
||||
X114Y865D03*
|
||||
X194Y865D03*
|
||||
X569Y915D03*
|
||||
X650Y915D03*
|
||||
G54D14*
|
||||
X544Y615D03*
|
||||
X544Y534D03*
|
||||
X119Y465D03*
|
||||
X119Y546D03*
|
||||
G54D13*
|
||||
X344Y915D03*
|
||||
X425Y915D03*
|
||||
X869Y340D03*
|
||||
X789Y340D03*
|
||||
G54D14*
|
||||
X569Y140D03*
|
||||
X569Y221D03*
|
||||
G54D13*
|
||||
X794Y640D03*
|
||||
X875Y640D03*
|
||||
G54D14*
|
||||
X669Y215D03*
|
||||
X669Y134D03*
|
||||
G54D15*
|
||||
X369Y615D03*
|
||||
G54D16*
|
||||
X330Y240D02*
|
||||
X308Y240D01*
|
||||
D02*
|
||||
X330Y215D02*
|
||||
X308Y215D01*
|
||||
D02*
|
||||
X330Y190D02*
|
||||
X308Y190D01*
|
||||
D02*
|
||||
X330Y165D02*
|
||||
X308Y165D01*
|
||||
D02*
|
||||
X330Y140D02*
|
||||
X308Y140D01*
|
||||
D02*
|
||||
X330Y115D02*
|
||||
X308Y115D01*
|
||||
D02*
|
||||
X330Y90D02*
|
||||
X308Y90D01*
|
||||
D02*
|
||||
X330Y65D02*
|
||||
X308Y65D01*
|
||||
D02*
|
||||
X118Y64D02*
|
||||
X96Y64D01*
|
||||
D02*
|
||||
X118Y89D02*
|
||||
X96Y89D01*
|
||||
D02*
|
||||
X118Y114D02*
|
||||
X96Y114D01*
|
||||
D02*
|
||||
X118Y139D02*
|
||||
X96Y139D01*
|
||||
D02*
|
||||
X118Y164D02*
|
||||
X96Y164D01*
|
||||
D02*
|
||||
X118Y189D02*
|
||||
X96Y189D01*
|
||||
D02*
|
||||
X118Y214D02*
|
||||
X96Y214D01*
|
||||
D02*
|
||||
X118Y239D02*
|
||||
X96Y239D01*
|
||||
G04 End of Mask0*
|
||||
M02*
|
|
@ -1,77 +0,0 @@
|
|||
G04 MADE WITH FRITZING*
|
||||
G04 WWW.FRITZING.ORG*
|
||||
G04 DOUBLE SIDED*
|
||||
G04 HOLES PLATED*
|
||||
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
|
||||
%ASAXBY*%
|
||||
%FSLAX23Y23*%
|
||||
%MOIN*%
|
||||
%OFA0B0*%
|
||||
%SFA1.0B1.0*%
|
||||
%ADD10C,0.049370*%
|
||||
%ADD11C,0.085000*%
|
||||
%ADD12C,0.089370*%
|
||||
%ADD13R,0.069055X0.065118*%
|
||||
%ADD14R,0.065118X0.069055*%
|
||||
%ADD15R,0.034000X0.097000*%
|
||||
%ADD16R,0.089370X0.089370*%
|
||||
%LNMASK1*%
|
||||
G90*
|
||||
G70*
|
||||
G54D10*
|
||||
X569Y740D03*
|
||||
X644Y740D03*
|
||||
X944Y740D03*
|
||||
G54D11*
|
||||
X819Y815D03*
|
||||
X419Y815D03*
|
||||
G54D10*
|
||||
X519Y840D03*
|
||||
X544Y315D03*
|
||||
X194Y140D03*
|
||||
X269Y115D03*
|
||||
X69Y715D03*
|
||||
G54D11*
|
||||
X819Y140D03*
|
||||
X419Y140D03*
|
||||
G54D12*
|
||||
X369Y615D03*
|
||||
X669Y615D03*
|
||||
X369Y515D03*
|
||||
X669Y515D03*
|
||||
X369Y415D03*
|
||||
X669Y415D03*
|
||||
X369Y315D03*
|
||||
X669Y315D03*
|
||||
G54D10*
|
||||
X494Y115D03*
|
||||
X244Y265D03*
|
||||
X144Y265D03*
|
||||
X44Y915D03*
|
||||
X294Y690D03*
|
||||
X494Y415D03*
|
||||
G54D13*
|
||||
X819Y590D03*
|
||||
X819Y509D03*
|
||||
G54D14*
|
||||
X819Y665D03*
|
||||
X900Y665D03*
|
||||
G54D13*
|
||||
X194Y365D03*
|
||||
X194Y446D03*
|
||||
G54D15*
|
||||
X94Y584D03*
|
||||
X144Y584D03*
|
||||
X194Y584D03*
|
||||
X244Y584D03*
|
||||
X244Y790D03*
|
||||
X194Y790D03*
|
||||
X144Y790D03*
|
||||
X94Y790D03*
|
||||
G54D14*
|
||||
X219Y65D03*
|
||||
X139Y65D03*
|
||||
G54D16*
|
||||
X369Y615D03*
|
||||
G04 End of Mask1*
|
||||
M02*
|
|
@ -1,98 +0,0 @@
|
|||
G04 MADE WITH FRITZING*
|
||||
G04 WWW.FRITZING.ORG*
|
||||
G04 DOUBLE SIDED*
|
||||
G04 HOLES PLATED*
|
||||
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
|
||||
%ASAXBY*%
|
||||
%FSLAX23Y23*%
|
||||
%MOIN*%
|
||||
%OFA0B0*%
|
||||
%SFA1.0B1.0*%
|
||||
%ADD10R,0.055118X0.059055*%
|
||||
%ADD11R,0.059055X0.055118*%
|
||||
%ADD12C,0.016000*%
|
||||
%LNPASTEMASK0*%
|
||||
G90*
|
||||
G70*
|
||||
G54D10*
|
||||
X869Y240D03*
|
||||
X789Y240D03*
|
||||
X869Y440D03*
|
||||
X789Y440D03*
|
||||
X119Y640D03*
|
||||
X200Y640D03*
|
||||
X144Y365D03*
|
||||
X225Y365D03*
|
||||
X114Y865D03*
|
||||
X194Y865D03*
|
||||
X569Y915D03*
|
||||
X650Y915D03*
|
||||
G54D11*
|
||||
X544Y615D03*
|
||||
X544Y534D03*
|
||||
X119Y465D03*
|
||||
X119Y546D03*
|
||||
G54D10*
|
||||
X344Y915D03*
|
||||
X425Y915D03*
|
||||
X869Y340D03*
|
||||
X789Y340D03*
|
||||
G54D11*
|
||||
X569Y140D03*
|
||||
X569Y221D03*
|
||||
G54D10*
|
||||
X794Y640D03*
|
||||
X875Y640D03*
|
||||
G54D11*
|
||||
X669Y215D03*
|
||||
X669Y134D03*
|
||||
G54D12*
|
||||
X330Y240D02*
|
||||
X308Y240D01*
|
||||
D02*
|
||||
X330Y215D02*
|
||||
X308Y215D01*
|
||||
D02*
|
||||
X330Y190D02*
|
||||
X308Y190D01*
|
||||
D02*
|
||||
X330Y165D02*
|
||||
X308Y165D01*
|
||||
D02*
|
||||
X330Y140D02*
|
||||
X308Y140D01*
|
||||
D02*
|
||||
X330Y115D02*
|
||||
X308Y115D01*
|
||||
D02*
|
||||
X330Y90D02*
|
||||
X308Y90D01*
|
||||
D02*
|
||||
X330Y65D02*
|
||||
X308Y65D01*
|
||||
D02*
|
||||
X118Y64D02*
|
||||
X96Y64D01*
|
||||
D02*
|
||||
X118Y89D02*
|
||||
X96Y89D01*
|
||||
D02*
|
||||
X118Y114D02*
|
||||
X96Y114D01*
|
||||
D02*
|
||||
X118Y139D02*
|
||||
X96Y139D01*
|
||||
D02*
|
||||
X118Y164D02*
|
||||
X96Y164D01*
|
||||
D02*
|
||||
X118Y189D02*
|
||||
X96Y189D01*
|
||||
D02*
|
||||
X118Y214D02*
|
||||
X96Y214D01*
|
||||
D02*
|
||||
X118Y239D02*
|
||||
X96Y239D01*
|
||||
G04 End of PasteMask0*
|
||||
M02*
|
|
@ -1,39 +0,0 @@
|
|||
G04 MADE WITH FRITZING*
|
||||
G04 WWW.FRITZING.ORG*
|
||||
G04 DOUBLE SIDED*
|
||||
G04 HOLES PLATED*
|
||||
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
|
||||
%ASAXBY*%
|
||||
%FSLAX23Y23*%
|
||||
%MOIN*%
|
||||
%OFA0B0*%
|
||||
%SFA1.0B1.0*%
|
||||
%ADD10R,0.059055X0.055118*%
|
||||
%ADD11R,0.055118X0.059055*%
|
||||
%ADD12R,0.024000X0.087000*%
|
||||
%LNPASTEMASK1*%
|
||||
G90*
|
||||
G70*
|
||||
G54D10*
|
||||
X819Y590D03*
|
||||
X819Y509D03*
|
||||
G54D11*
|
||||
X819Y665D03*
|
||||
X900Y665D03*
|
||||
G54D10*
|
||||
X194Y365D03*
|
||||
X194Y446D03*
|
||||
G54D12*
|
||||
X94Y584D03*
|
||||
X144Y584D03*
|
||||
X194Y584D03*
|
||||
X244Y584D03*
|
||||
X244Y790D03*
|
||||
X194Y790D03*
|
||||
X144Y790D03*
|
||||
X94Y790D03*
|
||||
G54D11*
|
||||
X219Y65D03*
|
||||
X139Y65D03*
|
||||
G04 End of PasteMask1*
|
||||
M02*
|
|
@ -1,121 +0,0 @@
|
|||
*Pick And Place List
|
||||
*Company=
|
||||
*Author=
|
||||
*eMail=
|
||||
*
|
||||
*Project=VR Conditioner v2
|
||||
*Date=23:30:08
|
||||
*CreatedBy=Fritzing 0.9.2b.11.19.8d2d5970658f0bed09c661c9ea9a515b5f40f44c
|
||||
*
|
||||
*
|
||||
*Coordinates in mm, always center of component
|
||||
*Origin 0/0=Lower left corner of PCB
|
||||
*Rotation in degree (0-360, math. pos.)
|
||||
*
|
||||
*No;Value;Package;X;Y;Rotation;Side;Name
|
||||
1;;;22.0472;-14.8654;0;Bottom;Copper Fill43
|
||||
2;;;15.9512;-6.2802;0;Bottom;Copper Fill20
|
||||
3;10k;0805 [SMD];4.0589;-16.2511;180;Bottom;R13
|
||||
4;;;18.9992;-15.602;0;Bottom;Copper Fill42
|
||||
5;;;14.2748;-8.0455;0;Bottom;Copper Fill53
|
||||
6;;;14.4145;-18.3452;0;Bottom;Copper Fill55
|
||||
7;;;2.2098;-18.2055;0;Bottom;Copper Fill29
|
||||
8;;;3.66888;-6.72612;0;Bottom;Via3
|
||||
9;;;20.32;-11.8428;0;Bottom;Copper Fill12
|
||||
10;;;22.6808;-9.35918;90;Bottom;TXT3
|
||||
11;;;13.2842;-8.0455;0;Bottom;Copper Fill30
|
||||
12;;;18.7452;-11.157;0;Bottom;Copper Fill44
|
||||
13;;so08;4.30388;-17.4449;0;Top;IC2
|
||||
14;;;13.1445;-20.8852;0;Bottom;Copper Fill31
|
||||
15;;;8.4582;-6.1151;0;Bottom;Copper Fill34
|
||||
16;;;16.3688;-18.7911;0;Bottom;Via14
|
||||
17;;;12.3698;-4.3244;0;Bottom;Copper Fill23
|
||||
18;;;7.493;-6.8898;0;Bottom;Copper Fill47
|
||||
19;;;6.6802;-1.8606;0;Bottom;Copper Fill26
|
||||
20;;;7.4549;-17.0752;0;Bottom;Copper Fill64
|
||||
21;;DIP (Dual Inline) [THT];13.1939;-11.8061;0;Bottom;IC1
|
||||
22;;;6.84388;-2.91612;0;Bottom;Via12
|
||||
23;;;6.3246;-13.1636;0;Bottom;Copper Fill9
|
||||
24;;;15.4178;-3.1814;0;Bottom;Copper Fill50
|
||||
25;;;2.3368;-3.6386;0;Bottom;Copper Fill48
|
||||
26;;;15.5194;-13.189;0;Bottom;Copper Fill13
|
||||
27;;;12.5589;-2.91612;0;Bottom;Via1
|
||||
28;;;13.0048;-10.5855;0;Bottom;Copper Fill57
|
||||
29;;;14.4145;-19.3358;0;Bottom;Copper Fill33
|
||||
30;1nF;0805 [SMD, multilayer];3.03388;-12.8311;90;Bottom;C5
|
||||
31;;;22.1488;-3.5624;0;Bottom;Copper Fill22
|
||||
32;;;6.477;-20.0851;0;Bottom;Copper Fill61
|
||||
33;;;6.1849;-20.8344;0;Bottom;Copper Fill60
|
||||
34;;;1.12888;-23.2361;0;Bottom;Via4
|
||||
35;220;0805 [SMD];4.5489;-1.6461;180;Top;R2
|
||||
36;;;20.536;-1.021;0;Bottom;TXT5
|
||||
37;;;13.8049;-7.5502;0;Bottom;Copper Fill52
|
||||
38;10k;0805 [SMD];3.91387;-21.9661;180;Bottom;R9
|
||||
39;0.01µF;0805 [SMD, multilayer];21.0588;-8.6311;0;Bottom;C2
|
||||
40;10k;0805 [SMD];17.0039;-4.43111;-90;Bottom;R6
|
||||
41;;;2.5654;-23.476;0;Bottom;Copper Fill1
|
||||
42;;;13.1939;-21.3311;0;Bottom;Via8
|
||||
43;;;1.76388;-18.1561;0;Bottom;Via13
|
||||
44;;;2.7432;-9.9632;0;Bottom;Copper Fill45
|
||||
45;1k;0805 [SMD];13.8289;-14.5911;-90;Bottom;R3
|
||||
46;;;4.93888;-3.55112;0;Bottom;Via10
|
||||
47;;;23.4433;-6.87236;90;Bottom;TXT1
|
||||
48;;;19.736;-0.964559;0;Bottom;TXT4
|
||||
49;10k;0805 [SMD];20.8138;-13.9561;90;Top;R16
|
||||
50;;;3.5052;-19.92;0;Bottom;Copper Fill5
|
||||
51;10k;0805 [SMD];4.6939;-9.2661;180;Bottom;R11
|
||||
52;;;7.4549;-17.0752;0;Bottom;Copper Fill35
|
||||
53;;;18.923;-4.7816;0;Bottom;Copper Fill18
|
||||
54;1µF;0805 [SMD, multilayer];21.0588;-11.1711;0;Bottom;C3
|
||||
55;;;6.477;-14.8527;0;Bottom;Copper Fill59
|
||||
56;4.7k;THT;15.7339;-3.55111;180;Bottom;R12
|
||||
57;;;7.4549;-18.0658;0;Bottom;Copper Fill63
|
||||
58;;;3.2004;-7.6518;0;Bottom;Copper Fill16
|
||||
59;220;0805 [SMD];4.93888;-10.2911;-90;Top;R1
|
||||
60;;;14.6304;-16.6942;0;Bottom;Copper Fill8
|
||||
61;;;7.9248;-17.5451;0;Bottom;Copper Fill65
|
||||
62;;;13.6398;-21.3551;0;Bottom;Copper Fill54
|
||||
63;;;6.2484;-16.0084;0;Bottom;Copper Fill38
|
||||
64;;;22.6568;-21.6726;0;Bottom;Copper Fill2
|
||||
65;;;10.3632;-14.4082;0;Bottom;Copper Fill7
|
||||
66;;;23.9888;-18.7911;0;Bottom;Via15
|
||||
67;;;13.6398;-21.3551;0;Bottom;Copper Fill32
|
||||
68;10k;0805 [SMD];15.4889;-23.2361;180;Bottom;R7
|
||||
69;;;7.47888;-17.5211;0;Bottom;Via5
|
||||
70;;;6.6294;-3.791;0;Bottom;Copper Fill49
|
||||
71;;;3.6449;-20.8344;0;Bottom;Copper Fill62
|
||||
72;;;12.5589;-10.5361;0;Bottom;Via6
|
||||
73;;;2.032;-11.4618;0;Bottom;Copper Fill14
|
||||
74;1nF;0805 [SMD, multilayer];9.77387;-23.2361;180;Bottom;C4
|
||||
75;;;17.018;-9.7854;0;Bottom;Copper Fill46
|
||||
76;;;8.0264;-21.952;0;Bottom;Copper Fill3
|
||||
77;;;18.4404;-15.9576;0;Bottom;Copper Fill10
|
||||
78;;;11.684;-17.9134;0;Bottom;Copper Fill39
|
||||
79;;;17.0434;-21.4186;0;Bottom;Copper Fill40
|
||||
80;;;6.985;-4.6038;0;Bottom;Copper Fill21
|
||||
81;;;4.7244;-20.4026;0;Bottom;Copper Fill6
|
||||
82;;;21.7678;-7.3724;0;Bottom;Copper Fill17
|
||||
83;1k;0805 [SMD];21.2039;-16.2511;180;Bottom;R5
|
||||
84;;;3.8354;-22.1298;0;Bottom;Copper Fill37
|
||||
85;;;6.20888;-6.72612;0;Bottom;Via2
|
||||
86;;;14.4639;-18.7911;0;Bottom;Via16
|
||||
87;;;14.5796;-2.902;0;Bottom;Copper Fill25
|
||||
88;;;1.5494;-14.9924;0;Bottom;Copper Fill11
|
||||
89;;;2.1844;-21.4186;0;Bottom;Copper Fill36
|
||||
90;;;21.8702;-9.95258;90;Bottom;TXT2
|
||||
91;;;4.318;-2.6988;0;Bottom;Copper Fill24
|
||||
92;;;13.8289;-7.99612;0;Bottom;Via9
|
||||
93;0.1µF;0805 [SMD, multilayer];21.0588;-6.0911;0;Bottom;C1
|
||||
94;;QSOP16;5.42149;-4.17341;0;Bottom;MAX9926
|
||||
95;10k;0805 [SMD];21.8389;-16.8861;0;Top;R15
|
||||
96;10k;0805 [SMD];14.4639;-4.5761;90;Bottom;R4
|
||||
97;;;21.7678;-9.9124;0;Bottom;Copper Fill15
|
||||
98;;;15.6972;-20.682;0;Bottom;Copper Fill4
|
||||
99;;;6.1849;-15.602;0;Bottom;Copper Fill58
|
||||
100;;;12.5349;-11.0808;0;Bottom;Copper Fill56
|
||||
101;;;16.0528;-10.5855;0;Bottom;Copper Fill51
|
||||
102;4.7k;THT;15.7339;-20.6961;180;Bottom;R10
|
||||
103;;;11.2776;-7.22;0;Bottom;Copper Fill19
|
||||
104;;;19.3802;-19.3358;0;Bottom;Copper Fill41
|
||||
105;;;1.7145;-18.7008;0;Bottom;Copper Fill27
|
||||
106;;;1.2192;-18.2055;0;Bottom;Copper Fill28
|
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
|
@ -0,0 +1,31 @@
|
|||
; NON-PLATED HOLES START AT T1
|
||||
; THROUGH (PLATED) HOLES START AT T100
|
||||
M48
|
||||
INCH
|
||||
T100C0.035000
|
||||
T101C0.015748
|
||||
T102C0.039370
|
||||
T103C0.038000
|
||||
%
|
||||
T100
|
||||
X009921Y009135
|
||||
X005921Y009135
|
||||
X009921Y008135
|
||||
X005921Y008135
|
||||
T101
|
||||
X005421Y001885
|
||||
X007671Y003135
|
||||
T102
|
||||
X004171Y006135
|
||||
X007171Y007135
|
||||
X004171Y004135
|
||||
X007171Y005135
|
||||
X004171Y007135
|
||||
X004171Y005135
|
||||
X007171Y006135
|
||||
X007171Y004135
|
||||
T103
|
||||
X007921Y001510
|
||||
X008921Y001510
|
||||
T00
|
||||
M30
|
|
@ -0,0 +1,44 @@
|
|||
G04 MADE WITH FRITZING*
|
||||
G04 WWW.FRITZING.ORG*
|
||||
G04 DOUBLE SIDED*
|
||||
G04 HOLES PLATED*
|
||||
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
|
||||
%ASAXBY*%
|
||||
%FSLAX23Y23*%
|
||||
%MOIN*%
|
||||
%OFA0B0*%
|
||||
%SFA1.0B1.0*%
|
||||
%ADD10C,0.085000*%
|
||||
%ADD11C,0.089370*%
|
||||
%ADD12C,0.049370*%
|
||||
%ADD13C,0.088000*%
|
||||
%ADD14R,0.089370X0.089370*%
|
||||
%LNMASK0*%
|
||||
G90*
|
||||
G70*
|
||||
G54D10*
|
||||
X592Y814D03*
|
||||
X992Y814D03*
|
||||
G54D11*
|
||||
X417Y714D03*
|
||||
X717Y714D03*
|
||||
X417Y614D03*
|
||||
X717Y614D03*
|
||||
X417Y514D03*
|
||||
X717Y514D03*
|
||||
X417Y414D03*
|
||||
X717Y414D03*
|
||||
G54D10*
|
||||
X992Y914D03*
|
||||
X592Y914D03*
|
||||
G54D12*
|
||||
X767Y314D03*
|
||||
G54D13*
|
||||
X892Y151D03*
|
||||
X792Y151D03*
|
||||
G54D12*
|
||||
X542Y189D03*
|
||||
G54D14*
|
||||
X417Y714D03*
|
||||
G04 End of Mask0*
|
||||
M02*
|
|
@ -0,0 +1,122 @@
|
|||
G04 MADE WITH FRITZING*
|
||||
G04 WWW.FRITZING.ORG*
|
||||
G04 DOUBLE SIDED*
|
||||
G04 HOLES PLATED*
|
||||
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
|
||||
%ASAXBY*%
|
||||
%FSLAX23Y23*%
|
||||
%MOIN*%
|
||||
%OFA0B0*%
|
||||
%SFA1.0B1.0*%
|
||||
%ADD10C,0.085000*%
|
||||
%ADD11C,0.089370*%
|
||||
%ADD12C,0.049370*%
|
||||
%ADD13C,0.088000*%
|
||||
%ADD14R,0.089370X0.089370*%
|
||||
%ADD15R,0.065118X0.069055*%
|
||||
%ADD16R,0.069055X0.065118*%
|
||||
%ADD17C,0.026000*%
|
||||
%LNMASK1*%
|
||||
G90*
|
||||
G70*
|
||||
G54D10*
|
||||
X592Y814D03*
|
||||
X992Y814D03*
|
||||
G54D11*
|
||||
X417Y714D03*
|
||||
X717Y714D03*
|
||||
X417Y614D03*
|
||||
X717Y614D03*
|
||||
X417Y514D03*
|
||||
X717Y514D03*
|
||||
X417Y414D03*
|
||||
X717Y414D03*
|
||||
G54D10*
|
||||
X992Y914D03*
|
||||
X592Y914D03*
|
||||
G54D12*
|
||||
X767Y314D03*
|
||||
G54D13*
|
||||
X892Y151D03*
|
||||
X792Y151D03*
|
||||
G54D12*
|
||||
X542Y189D03*
|
||||
G54D14*
|
||||
X417Y714D03*
|
||||
G54D15*
|
||||
X830Y714D03*
|
||||
X910Y714D03*
|
||||
X830Y614D03*
|
||||
X910Y614D03*
|
||||
X830Y514D03*
|
||||
X910Y514D03*
|
||||
G54D16*
|
||||
X830Y426D03*
|
||||
X830Y345D03*
|
||||
X930Y426D03*
|
||||
X930Y345D03*
|
||||
G54D15*
|
||||
X317Y914D03*
|
||||
X398Y914D03*
|
||||
X767Y1001D03*
|
||||
X848Y1001D03*
|
||||
G54D16*
|
||||
X242Y914D03*
|
||||
X242Y994D03*
|
||||
G54D15*
|
||||
X242Y664D03*
|
||||
X323Y664D03*
|
||||
X317Y564D03*
|
||||
X236Y564D03*
|
||||
X242Y464D03*
|
||||
X323Y464D03*
|
||||
G54D17*
|
||||
X690Y138D02*
|
||||
X668Y138D01*
|
||||
D02*
|
||||
X690Y163D02*
|
||||
X668Y163D01*
|
||||
D02*
|
||||
X690Y188D02*
|
||||
X668Y188D01*
|
||||
D02*
|
||||
X690Y213D02*
|
||||
X668Y213D01*
|
||||
D02*
|
||||
X690Y238D02*
|
||||
X668Y238D01*
|
||||
D02*
|
||||
X690Y263D02*
|
||||
X668Y263D01*
|
||||
D02*
|
||||
X690Y288D02*
|
||||
X668Y288D01*
|
||||
D02*
|
||||
X690Y313D02*
|
||||
X668Y313D01*
|
||||
D02*
|
||||
X478Y314D02*
|
||||
X456Y314D01*
|
||||
D02*
|
||||
X478Y289D02*
|
||||
X456Y289D01*
|
||||
D02*
|
||||
X478Y264D02*
|
||||
X456Y264D01*
|
||||
D02*
|
||||
X478Y239D02*
|
||||
X456Y239D01*
|
||||
D02*
|
||||
X478Y214D02*
|
||||
X456Y214D01*
|
||||
D02*
|
||||
X478Y189D02*
|
||||
X456Y189D01*
|
||||
D02*
|
||||
X478Y164D02*
|
||||
X456Y164D01*
|
||||
D02*
|
||||
X478Y139D02*
|
||||
X456Y139D01*
|
||||
G04 End of Mask1*
|
||||
M02*
|
|
@ -0,0 +1,93 @@
|
|||
G04 MADE WITH FRITZING*
|
||||
G04 WWW.FRITZING.ORG*
|
||||
G04 DOUBLE SIDED*
|
||||
G04 HOLES PLATED*
|
||||
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
|
||||
%ASAXBY*%
|
||||
%FSLAX23Y23*%
|
||||
%MOIN*%
|
||||
%OFA0B0*%
|
||||
%SFA1.0B1.0*%
|
||||
%ADD10R,0.055118X0.059055*%
|
||||
%ADD11R,0.059055X0.055118*%
|
||||
%ADD12C,0.016000*%
|
||||
%LNPASTEMASK1*%
|
||||
G90*
|
||||
G70*
|
||||
G54D10*
|
||||
X830Y714D03*
|
||||
X910Y714D03*
|
||||
X830Y614D03*
|
||||
X910Y614D03*
|
||||
X830Y514D03*
|
||||
X910Y514D03*
|
||||
G54D11*
|
||||
X830Y426D03*
|
||||
X830Y345D03*
|
||||
X930Y426D03*
|
||||
X930Y345D03*
|
||||
G54D10*
|
||||
X317Y914D03*
|
||||
X398Y914D03*
|
||||
X767Y1001D03*
|
||||
X848Y1001D03*
|
||||
G54D11*
|
||||
X242Y914D03*
|
||||
X242Y994D03*
|
||||
G54D10*
|
||||
X242Y664D03*
|
||||
X323Y664D03*
|
||||
X317Y564D03*
|
||||
X236Y564D03*
|
||||
X242Y464D03*
|
||||
X323Y464D03*
|
||||
G54D12*
|
||||
X690Y138D02*
|
||||
X668Y138D01*
|
||||
D02*
|
||||
X690Y163D02*
|
||||
X668Y163D01*
|
||||
D02*
|
||||
X690Y188D02*
|
||||
X668Y188D01*
|
||||
D02*
|
||||
X690Y213D02*
|
||||
X668Y213D01*
|
||||
D02*
|
||||
X690Y238D02*
|
||||
X668Y238D01*
|
||||
D02*
|
||||
X690Y263D02*
|
||||
X668Y263D01*
|
||||
D02*
|
||||
X690Y288D02*
|
||||
X668Y288D01*
|
||||
D02*
|
||||
X690Y313D02*
|
||||
X668Y313D01*
|
||||
D02*
|
||||
X478Y314D02*
|
||||
X456Y314D01*
|
||||
D02*
|
||||
X478Y289D02*
|
||||
X456Y289D01*
|
||||
D02*
|
||||
X478Y264D02*
|
||||
X456Y264D01*
|
||||
D02*
|
||||
X478Y239D02*
|
||||
X456Y239D01*
|
||||
D02*
|
||||
X478Y214D02*
|
||||
X456Y214D01*
|
||||
D02*
|
||||
X478Y189D02*
|
||||
X456Y189D01*
|
||||
D02*
|
||||
X478Y164D02*
|
||||
X456Y164D01*
|
||||
D02*
|
||||
X478Y139D02*
|
||||
X456Y139D01*
|
||||
G04 End of PasteMask1*
|
||||
M02*
|
|
@ -0,0 +1,67 @@
|
|||
*Pick And Place List
|
||||
*Company=
|
||||
*Author=
|
||||
*eMail=
|
||||
*
|
||||
*Project=VR Conditioner v3
|
||||
*Date=19:16:10
|
||||
*CreatedBy=Fritzing 0.9.3b.04.19.5c895d327c44a3114e5fcc9d8260daf0cbb52806
|
||||
*
|
||||
*
|
||||
*Coordinates in mm, always center of component
|
||||
*Origin 0/0=Lower left corner of PCB
|
||||
*Rotation in degree (0-360, math. pos.)
|
||||
*
|
||||
*No;Value;Package;X;Y;Rotation;Side;Name
|
||||
1;;DIP (Dual Inline) [THT];14.4059;-14.3144;0;Bottom;IC1
|
||||
2;;;15.9512;-14.2933;0;Bottom;Copper Fill24
|
||||
3;;;22.1742;-8.04494;0;Bottom;Copper Fill20
|
||||
4;4.7k;THT;20.1209;-20.6644;0;Bottom;R12
|
||||
5;;;19.4858;-7.96443;0;Bottom;Via14
|
||||
6;;;6.0564;-7.14176;0;Bottom;TXT5
|
||||
7;;;12.7;-19.3987;0;Bottom;Copper Fill2
|
||||
8;1k;0805 [SMD];23.6134;-9.79692;90;Top;R4
|
||||
9;4.7k;THT;20.1209;-23.2044;180;Bottom;R10
|
||||
10;;;19.2786;-11.7787;0;Bottom;Copper Fill10
|
||||
11;;;11.4554;-6.76224;0;Bottom;Copper Fill25
|
||||
12;1nF;0805 [SMD, multilayer];6.15085;-24.2294;-90;Top;C4
|
||||
13;;;16.9926;-11.4485;0;Bottom;Copper Fill9
|
||||
14;;;13.9954;-14.4965;0;Bottom;Copper Fill1
|
||||
15;10k;0805 [SMD];20.5109;-25.4269;0;Top;R7
|
||||
16;;;19.2786;-14.1663;0;Bottom;Copper Fill8
|
||||
17;;;17.1704;-14.2933;0;Bottom;Copper Fill7
|
||||
18;;;17.5514;-6.76224;0;Bottom;Copper Fill29
|
||||
19;;;18.5928;-4.28574;0;Bottom;Copper Fill23
|
||||
20;;;4.572;-23.9707;0;Bottom;Copper Fill11
|
||||
21;;;25.6196;-12.6698;-90;Bottom;TXT3
|
||||
22;;;7.47786;-7.22642;0;Bottom;TXT4
|
||||
23;;;17.9832;-16.3761;0;Bottom;Copper Fill3
|
||||
24;10k;0805 [SMD];7.17586;-16.8544;0;Top;R13
|
||||
25;0.01µF;0805 [SMD, multilayer];22.0984;-15.5844;0;Top;C2
|
||||
26;;;13.7708;-4.78943;0;Bottom;Via15
|
||||
27;;;21.082;-12.2613;0;Bottom;Copper Fill5
|
||||
28;;;24.2316;-15.3601;0;Bottom;Copper Fill16
|
||||
29;;;9.6012;-13.7091;0;Bottom;Copper Fill12
|
||||
30;1k;0805 [SMD];21.0734;-9.79692;90;Top;R6
|
||||
31;1nF;0805 [SMD, multilayer];7.03084;-14.3144;180;Top;C5
|
||||
32;0.1µF;0805 [SMD, multilayer];22.0984;-13.0444;0;Top;C1
|
||||
33;;THT;21.3909;-3.83692;90;Bottom;J1
|
||||
34;;;17.1704;-16.8333;0;Bottom;Copper Fill6
|
||||
35;;QSOP16;14.5583;-5.41172;180;Top;MAX9926
|
||||
36;;;14.2735;-25.0931;0;Bottom;TXT1
|
||||
37;;;20.701;-15.1061;0;Bottom;Copper Fill15
|
||||
38;10k;0805 [SMD];7.17586;-11.7744;0;Top;R11
|
||||
39;;;17.5514;-4.83184;0;Bottom;Copper Fill27
|
||||
40;;;11.6586;-14.4711;0;Bottom;Copper Fill18
|
||||
41;;;20.2946;-7.13054;0;Bottom;Copper Fill22
|
||||
42;;;11.4554;-5.49224;0;Bottom;Copper Fill28
|
||||
43;;;12.9286;-16.9349;0;Bottom;Copper Fill4
|
||||
44;10k;0805 [SMD];9.08086;-23.2044;0;Top;R9
|
||||
45;;;7.2644;-19.3733;0;Bottom;Copper Fill13
|
||||
46;;;10.287;-19.0685;0;Bottom;Copper Fill14
|
||||
47;;;17.2085;-3.37134;0;Bottom;Copper Fill26
|
||||
48;;;9.9568;-14.2933;0;Bottom;Copper Fill19
|
||||
49;;;22.4815;-12.723;-90;Bottom;IMG1
|
||||
50;1µF;0805 [SMD, multilayer];22.0984;-18.1244;0;Top;C3
|
||||
51;;;8.2804;-14.3187;0;Bottom;Copper Fill17
|
||||
52;;;24.4094;-6.57174;0;Bottom;Copper Fill21
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" width="120" height="120" viewBox="0 0 120 120" xml:space="preserve">
|
||||
<g id="board">
|
||||
<rect fill="#338040" x="10" y="10" width="100" height="100" rx="15" ry="15"/>
|
||||
</g>
|
||||
<g id="silkscreen">
|
||||
<rect fill="none" stroke="#FFFFFF" stroke-width="0.576" x="10" y="10" width="100" height="100" rx="15" ry="15"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 516 B |
|
@ -717,7 +717,7 @@ page = 11
|
|||
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
[ConstantsExtensions]
|
||||
[ConstantsExtensions]
|
||||
requiresPowerCycle = nCylinders
|
||||
requiresPowerCycle = pinLayout
|
||||
requiresPowerCycle = fanPin
|
||||
|
@ -948,7 +948,7 @@ menuDialog = main
|
|||
TrigFilter = "Tuning of the trigger filter algorithm. The more aggressive the setting, the more noise will be removed, however this increases the chance of some true readings being filtered out (False positive). Medium is safe for most setups. Only select 'Aggressive' if no other options are working"
|
||||
|
||||
sparkMode = "Wasted Spark: Ignition outputs are on the channels <= half the number of cylinders. Eg 4 cylinder outputs on IGN1 and IGN2.\nSingle Channel: All ignition pulses are output on IGN1.\nWasted COP: Ignition pulses are output on all ignition channels up to the number of cylinders. Eg 4 cylinder outputs on all ignition channels. No valid for >4 cylinders"
|
||||
IgInv = "Whether the spark fires when the ignition sign goes high or goes low. Most ignition systems 'Going Low' but please verify this as damage to coils can result from the incorrect selection"
|
||||
IgInv = "Whether the spark fires when the ignition signal goes high or goes low. Nearly all ignition systems use 'Going Low' but please verify this as damage to coils can result from the incorrect selection. (NOTE: THIS IS NOT MEGASQUIRT. THIS SETTING IS USUALLY THE OPPOSITE OF WHAT THEY USE!)"
|
||||
sparkDur = "The duration of the spark at full dwell. Typically around 1ms"
|
||||
|
||||
fanInv = ""
|
||||
|
@ -1297,7 +1297,6 @@ menuDialog = main
|
|||
|
||||
dialog = crankingEnrichDialog, "Cranking Enrichment", yAxis
|
||||
panel = cranking_enrich_curve
|
||||
panel = wc_note
|
||||
|
||||
dialog = crankingIgnOptions, "Cranking Timing", yAxis
|
||||
field = "Cranking bypass", ignBypassEnable
|
||||
|
@ -1342,7 +1341,7 @@ menuDialog = main
|
|||
field = "Note: This is the number of revolutions that will be skipped during"
|
||||
field = "cranking before the injectors and coils are fired"
|
||||
field = "Trigger edge", TrigEdge
|
||||
field = "Secondary trigger edge", TrigEdgeSec, { TrigPattern == 0 || TrigPattern == 2 } ;Missing tooth and dual wheel
|
||||
field = "Secondary trigger edge", TrigEdgeSec, { TrigPattern == 0 || TrigPattern == 2 || TrigPattern == 9 } ;Missing tooth, dual wheel and Miata 9905
|
||||
field = "Trigger Filter", TrigFilter
|
||||
field = "Re-sync every cycle", useResync, { TrigPattern == 2 || TrigPattern == 4 || TrigPattern == 7 } ;Dual wheel, 4G63 and Audi 135
|
||||
field = ""
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
|
@ -478,7 +478,7 @@ uint16_t correctionsDwell(uint16_t dwell)
|
|||
uint16_t dwellPerRevolution = tempDwell + (uint16_t)(configPage2.sparkDur * 100); //Spark duration is in mS*10. Multiple it by 100 to get spark duration in uS
|
||||
int8_t pulsesPerRevolution = 1;
|
||||
//Single channel spark mode is the only time there will be more than 1 pulse per revolution on any given output
|
||||
if( (configPage2.sparkMode == IGN_MODE_SINGLE) && (configPage1.nCylinders > 1) ) //No point in running this for 1 cylinder engines
|
||||
if( ( (configPage2.sparkMode == IGN_MODE_SINGLE) || (configPage2.sparkMode == IGN_MODE_ROTARY) ) && (configPage1.nCylinders > 1) ) //No point in running this for 1 cylinder engines
|
||||
{
|
||||
pulsesPerRevolution = (configPage1.nCylinders >> 1);
|
||||
dwellPerRevolution = dwellPerRevolution * pulsesPerRevolution;
|
||||
|
|
|
@ -1336,6 +1336,8 @@ void triggerSetup_Miata9905()
|
|||
decoderIsSequential = true;
|
||||
triggerActualTeeth = 8;
|
||||
secondaryToothCount = 0;
|
||||
toothLastToothTime = micros(); //Set a startup value here to avoid filter errors when starting
|
||||
toothLastMinusOneToothTime = 0;
|
||||
|
||||
//Note that these angles are for every rising and falling edge
|
||||
|
||||
|
@ -1357,17 +1359,17 @@ void triggerSetup_Miata9905()
|
|||
|
||||
MAX_STALL_TIME = (3333UL * triggerToothAngle); //Minimum 50rpm. (3333uS is the time per degree at 50rpm)
|
||||
triggerFilterTime = 1500; //10000 rpm, assuming we're triggering on both edges off the crank tooth.
|
||||
triggerSecFilterTime = 0; // (int)(1000000 / (MAX_RPM / 60 * 2)) / 2;
|
||||
triggerSecFilterTime = 0; //Need to figure out something better for this
|
||||
}
|
||||
|
||||
void triggerPri_Miata9905()
|
||||
{
|
||||
curTime = micros();
|
||||
curGap = curTime - toothLastToothTime;
|
||||
if ( curGap >= triggerFilterTime )
|
||||
if ( curGap >= triggerFilterTime || (currentStatus.startRevolutions == 0) )
|
||||
{
|
||||
toothCurrentCount++;
|
||||
if( (toothCurrentCount == 1) || (toothCurrentCount == (triggerActualTeeth+1)) )
|
||||
if( (toothCurrentCount == (triggerActualTeeth + 1)) )
|
||||
{
|
||||
toothCurrentCount = 1; //Reset the counter
|
||||
toothOneMinusOneTime = toothOneTime;
|
||||
|
@ -1380,7 +1382,7 @@ void triggerPri_Miata9905()
|
|||
if(secondaryToothCount == 2)
|
||||
{
|
||||
toothCurrentCount = 6;
|
||||
currentStatus.hasSync = true;
|
||||
//currentStatus.hasSync = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1389,10 +1391,34 @@ void triggerPri_Miata9905()
|
|||
addToothLogEntry(curGap);
|
||||
|
||||
//Whilst this is an uneven tooth pattern, if the specific angle between the last 2 teeth is specified, 1st deriv prediction can be used
|
||||
if( (toothCurrentCount == 1) || (toothCurrentCount == 3) || (toothCurrentCount == 5) || (toothCurrentCount == 7) ) { triggerToothAngle = 70; triggerFilterTime = curGap; } //Trigger filter is set to whatever time it took to do 70 degrees (Next trigger is 110 degrees away)
|
||||
else { triggerToothAngle = 110; triggerFilterTime = (curGap * 3) >> 3; } //Trigger filter is set to (110*3)/8=41.25=41 degrees (Next trigger is 70 degrees away).
|
||||
if( (configPage2.triggerFilter == 1) )
|
||||
{
|
||||
//Lite filter
|
||||
if( (toothCurrentCount == 1) || (toothCurrentCount == 3) || (toothCurrentCount == 5) || (toothCurrentCount == 7) ) { triggerToothAngle = 70; triggerFilterTime = curGap; } //Trigger filter is set to whatever time it took to do 70 degrees (Next trigger is 110 degrees away)
|
||||
else { triggerToothAngle = 110; triggerFilterTime = (curGap * 3) >> 3; } //Trigger filter is set to (110*3)/8=41.25=41 degrees (Next trigger is 70 degrees away).
|
||||
}
|
||||
else if(configPage2.triggerFilter == 2)
|
||||
{
|
||||
//Medium filter level
|
||||
if( (toothCurrentCount == 1) || (toothCurrentCount == 3) || (toothCurrentCount == 5) || (toothCurrentCount == 7) ) { triggerToothAngle = 70; triggerFilterTime = (curGap * 5) >> 2 ; } //87.5 degrees with a target of 110
|
||||
else { triggerToothAngle = 110; triggerFilterTime = (curGap >> 1); } //55 degrees with a target of 70
|
||||
}
|
||||
else if (configPage2.triggerFilter == 3)
|
||||
{
|
||||
//Aggressive filter level
|
||||
if( (toothCurrentCount == 1) || (toothCurrentCount == 3) || (toothCurrentCount == 5) || (toothCurrentCount == 7) ) { triggerToothAngle = 70; triggerFilterTime = (curGap * 11) >> 3 ; } //96.26 degrees with a target of 110
|
||||
else { triggerToothAngle = 110; triggerFilterTime = (curGap * 9) >> 5; } //61.87 degrees with a target of 70
|
||||
}
|
||||
else if (configPage2.triggerFilter == 0)
|
||||
{
|
||||
//trigger filter is turned off.
|
||||
triggerFilterTime = 0;
|
||||
triggerSecFilterTime = 0;
|
||||
if( (toothCurrentCount == 1) || (toothCurrentCount == 3) || (toothCurrentCount == 5) || (toothCurrentCount == 7) ) { triggerToothAngle = 70; } //96.26 degrees with a target of 110
|
||||
else { triggerToothAngle = 110; } //61.87 degrees with a target of 70
|
||||
}
|
||||
|
||||
curGap = curGap >> 1;
|
||||
//curGap = curGap >> 1; //Why is this here?
|
||||
|
||||
toothLastMinusOneToothTime = toothLastToothTime;
|
||||
toothLastToothTime = curTime;
|
||||
|
@ -1413,6 +1439,12 @@ void triggerSec_Miata9905()
|
|||
{
|
||||
curTime2 = micros();
|
||||
curGap2 = curTime2 - toothLastSecToothTime;
|
||||
|
||||
if(BIT_CHECK(currentStatus.engine, BIT_ENGINE_CRANK) || (currentStatus.hasSync == false) )
|
||||
{
|
||||
triggerFilterTime = 1500; //If this is removed, can have trouble getting sync again after the engine is turned off (but ECU not reset).
|
||||
}
|
||||
|
||||
if ( curGap2 >= triggerSecFilterTime )
|
||||
{
|
||||
toothLastSecToothTime = curTime2;
|
||||
|
@ -1430,15 +1462,21 @@ uint16_t getRPM_Miata9905()
|
|||
uint16_t tempRPM = 0;
|
||||
if(currentStatus.RPM < currentStatus.crankRPM)
|
||||
{
|
||||
int tempToothAngle;
|
||||
noInterrupts();
|
||||
tempToothAngle = triggerToothAngle;
|
||||
revolutionTime = (toothLastToothTime - toothLastMinusOneToothTime); //Note that trigger tooth angle changes between 70 and 110 depending on the last tooth that was seen
|
||||
interrupts();
|
||||
revolutionTime = revolutionTime * 36;
|
||||
tempRPM = (tempToothAngle * 60000000L) / revolutionTime;
|
||||
if( (toothLastToothTime == 0) || (toothLastMinusOneToothTime == 0) ) { tempRPM = 0; }
|
||||
else
|
||||
{
|
||||
int tempToothAngle;
|
||||
unsigned long toothTime;
|
||||
noInterrupts();
|
||||
tempToothAngle = triggerToothAngle;
|
||||
toothTime = (toothLastToothTime - toothLastMinusOneToothTime); //Note that trigger tooth angle changes between 70 and 110 depending on the last tooth that was seen
|
||||
interrupts();
|
||||
toothTime = toothTime * 36;
|
||||
tempRPM = ((unsigned long)tempToothAngle * 6000000UL) / toothTime;
|
||||
revolutionTime = (10UL * toothTime) / tempToothAngle;
|
||||
}
|
||||
}
|
||||
else { tempRPM = stdGetRPM(); }
|
||||
else { tempRPM = stdGetRPM() << 1; }
|
||||
|
||||
return tempRPM;
|
||||
}
|
||||
|
@ -1460,9 +1498,8 @@ int getCrankAngle_Miata9905(int timePerDegree)
|
|||
crankAngle = toothAngles[(tempToothCurrentCount - 1)] + configPage2.triggerAngle; //Perform a lookup of the fixed toothAngles array to find what the angle of the last tooth passed was.
|
||||
//Estimate the number of degrees travelled since the last tooth}
|
||||
|
||||
long elapsedTime = micros() - tempToothLastToothTime;
|
||||
if(elapsedTime < SHRT_MAX ) { crankAngle += div((int)elapsedTime, timePerDegree).quot; } //This option is much faster, but only available for smaller values of elapsedTime
|
||||
else { crankAngle += ldiv(elapsedTime, timePerDegree).quot; }
|
||||
unsigned long elapsedTime = micros() - tempToothLastToothTime;
|
||||
crankAngle += uSToDegrees(elapsedTime);
|
||||
|
||||
if (crankAngle >= 720) { crankAngle -= 720; }
|
||||
if (crankAngle > CRANK_ANGLE_MAX) { crankAngle -= CRANK_ANGLE_MAX; }
|
||||
|
@ -1706,7 +1743,7 @@ void triggerSetEndTeeth_Non360()
|
|||
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
Name: Nissan 360 tooth with cam
|
||||
Desc:
|
||||
Note:
|
||||
Note: https://wiki.r31skylineclub.com/index.php/Crank_Angle_Sensor
|
||||
*/
|
||||
void triggerSetup_Nissan360()
|
||||
{
|
||||
|
|
|
@ -466,6 +466,14 @@ void setIgnitionSchedule3(void (*startCallback)(), unsigned long timeout, unsign
|
|||
interrupts();
|
||||
IGN3_TIMER_ENABLE();
|
||||
}
|
||||
else
|
||||
{
|
||||
//If the schedule is already running, we can set the next schedule so it is ready to go
|
||||
//This is required in cases of high rpm and high DC where there otherwise would not be enough time to set the schedule
|
||||
ignitionSchedule3.nextStartCompare = IGN3_COUNTER + uS_TO_TIMER_COMPARE(timeout);
|
||||
ignitionSchedule3.nextEndCompare = ignitionSchedule3.nextStartCompare + uS_TO_TIMER_COMPARE(duration);
|
||||
ignitionSchedule3.hasNextSchedule = true;
|
||||
}
|
||||
}
|
||||
void setIgnitionSchedule4(void (*startCallback)(), unsigned long timeout, unsigned long duration, void(*endCallback)())
|
||||
{
|
||||
|
@ -490,6 +498,14 @@ void setIgnitionSchedule4(void (*startCallback)(), unsigned long timeout, unsign
|
|||
interrupts();
|
||||
IGN4_TIMER_ENABLE();
|
||||
}
|
||||
else
|
||||
{
|
||||
//If the schedule is already running, we can set the next schedule so it is ready to go
|
||||
//This is required in cases of high rpm and high DC where there otherwise would not be enough time to set the schedule
|
||||
ignitionSchedule4.nextStartCompare = IGN4_COUNTER + uS_TO_TIMER_COMPARE_SLOW(timeout);
|
||||
ignitionSchedule4.nextEndCompare = ignitionSchedule4.nextStartCompare + uS_TO_TIMER_COMPARE_SLOW(duration);
|
||||
ignitionSchedule4.hasNextSchedule = true;
|
||||
}
|
||||
}
|
||||
void setIgnitionSchedule5(void (*startCallback)(), unsigned long timeout, unsigned long duration, void(*endCallback)())
|
||||
{
|
||||
|
@ -728,7 +744,17 @@ static inline void ignitionSchedule3Interrupt() //Most ARM chips can simply call
|
|||
ignitionSchedule3.EndCallback();
|
||||
ignitionSchedule3.schedulesSet = 0;
|
||||
ignitionCount += 1; //Increment the igintion counter
|
||||
IGN3_TIMER_DISABLE();
|
||||
|
||||
//If there is a next schedule queued up, activate it
|
||||
if(ignitionSchedule3.hasNextSchedule == true)
|
||||
{
|
||||
IGN3_COMPARE = ignitionSchedule3.nextStartCompare;
|
||||
ignitionSchedule3.endCompare = ignitionSchedule3.nextEndCompare;
|
||||
ignitionSchedule3.Status = PENDING;
|
||||
ignitionSchedule3.schedulesSet = 1;
|
||||
ignitionSchedule3.hasNextSchedule = false;
|
||||
}
|
||||
else { IGN3_TIMER_DISABLE(); }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -751,7 +777,17 @@ static inline void ignitionSchedule4Interrupt() //Most ARM chips can simply call
|
|||
ignitionSchedule4.EndCallback();
|
||||
ignitionSchedule4.schedulesSet = 0;
|
||||
ignitionCount += 1; //Increment the igintion counter
|
||||
IGN4_TIMER_DISABLE();
|
||||
|
||||
//If there is a next schedule queued up, activate it
|
||||
if(ignitionSchedule4.hasNextSchedule == true)
|
||||
{
|
||||
IGN4_COMPARE = ignitionSchedule4.nextStartCompare;
|
||||
ignitionSchedule4.endCompare = ignitionSchedule4.nextEndCompare;
|
||||
ignitionSchedule4.Status = PENDING;
|
||||
ignitionSchedule4.schedulesSet = 1;
|
||||
ignitionSchedule4.hasNextSchedule = false;
|
||||
}
|
||||
else { IGN4_TIMER_DISABLE(); }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -403,6 +403,12 @@ void setup()
|
|||
|
||||
CRANK_ANGLE_MAX_IGN = 720;
|
||||
}
|
||||
else if(configPage2.sparkMode == IGN_MODE_ROTARY)
|
||||
{
|
||||
//Rotary uses the ign 3 and 4 schedules for the trailing spark. They are offset from the ign 1 and 2 channels respectively and so use the same degrees as them
|
||||
channel3IgnDegrees = 0;
|
||||
channel4IgnDegrees = 180;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -923,9 +929,9 @@ void loop()
|
|||
int injector5StartAngle = 0; //For 5 cylinder testing
|
||||
int ignition1StartAngle = 0;
|
||||
int ignition2StartAngle = 0;
|
||||
int ignition3StartAngle = 0; //Currently used for 3 cylinder only
|
||||
int ignition4StartAngle = 0; //Not used until sequential or 4+ cylinders support gets written
|
||||
int ignition5StartAngle = 0; //Not used until sequential or 4+ cylinders support gets written
|
||||
int ignition3StartAngle = 0;
|
||||
int ignition4StartAngle = 0;
|
||||
int ignition5StartAngle = 0;
|
||||
//These are used for comparisons on channels above 1 where the starting angle (for injectors or ignition) can be less than a single loop time
|
||||
//(Don't ask why this is needed, it will break your head)
|
||||
int tempCrankAngle;
|
||||
|
|
|
@ -724,16 +724,12 @@ void initialiseTriggers()
|
|||
triggerSetEndTeeth = triggerSetEndTeeth_Miata9905;
|
||||
|
||||
//These may both need to change, not sure
|
||||
if(configPage2.TrigEdge == 0)
|
||||
{
|
||||
attachInterrupt(triggerInterrupt, trigger, RISING); // Attach the crank trigger wheel interrupt (Hall sensor drags to ground when triggering)
|
||||
attachInterrupt(triggerInterrupt2, triggerSec_Miata9905, FALLING); //changed
|
||||
}
|
||||
else
|
||||
{
|
||||
attachInterrupt(triggerInterrupt, trigger, FALLING); // Primary trigger connects to
|
||||
attachInterrupt(triggerInterrupt2, triggerSec_Miata9905, RISING);
|
||||
}
|
||||
// Attach the crank trigger wheel interrupt (Hall sensor drags to ground when triggering)
|
||||
if(configPage2.TrigEdge == 0) { attachInterrupt(triggerInterrupt, trigger, RISING); }
|
||||
else { attachInterrupt(triggerInterrupt, trigger, FALLING); }
|
||||
|
||||
if(configPage2.TrigEdgeSec == 0) { attachInterrupt(triggerInterrupt2, triggerSec_Miata9905, RISING); }
|
||||
else { attachInterrupt(triggerInterrupt2, triggerSec_Miata9905, FALLING); }
|
||||
break;
|
||||
|
||||
case 10:
|
||||
|
|
Loading…
Reference in New Issue