Update and minor fix

This commit is contained in:
Renzo 2017-11-15 18:57:46 +01:00
parent 9b32e0e2d1
commit 206aa97c7c
16 changed files with 18429 additions and 0 deletions

2424
resources/PCB/PCB.flat Normal file

File diff suppressed because one or more lines are too long

BIN
resources/PCB_PCF8574.fzz Normal file

Binary file not shown.

Binary file not shown.

156
resources/cnc/border.gcode Normal file
View File

@ -0,0 +1,156 @@
G21
G90
G94
F76.20
G00 Z2.5400
M03
G4 P1
G00 X-0.6858Y0.0000
G01 Z-0.0500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.1000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.1500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.2000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.2500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.3000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.3500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.4000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.4500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.5000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.5500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.6000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.6500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.7000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.7500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.8000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.8500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.9000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-0.9500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-1.0000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-1.0500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-1.1000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-1.1500
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 X-0.6858Y0.0000
G01 Z-1.2000
G01 X21.7932Y0.0000
G01 X21.7932Y36.5760
G01 X-0.6858Y36.5760
G01 X-0.6858Y0.0000
G00 Z2.5400
G00 Z2.5400
G00 X0Y0
M05

3294
resources/cnc/bottom.gcode Normal file

File diff suppressed because it is too large Load Diff

178
resources/cnc/drill.gcode Normal file
View File

@ -0,0 +1,178 @@
G21
G90
G94
F76.20
G00 Z2.5400
M03
G4 P1
G00 X4.5466Y11.8262
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X4.5466Y16.9062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X4.5466Y14.3662
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y14.3662
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X4.5466Y21.9862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X4.5466Y6.7462
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y21.9862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y9.2862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X4.5466Y19.4462
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y11.8262
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y19.4462
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X4.5466Y4.2062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y4.2062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y6.7462
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y16.9062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X4.5466Y9.2862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X9.6266Y27.0662
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X17.2466Y19.4462
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X17.2466Y21.9862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y27.0662
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X4.5466Y27.0662
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X2.0066Y27.0662
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X14.7066Y27.0662
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X17.2466Y16.9062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X7.0866Y27.0662
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X17.2466Y29.6062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X2.0066Y21.9862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X2.0066Y11.8262
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y29.6062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X2.0066Y19.4462
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X17.2466Y4.2062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X17.2466Y11.8262
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X14.7066Y34.6862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X17.2466Y34.6862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X2.0066Y9.2862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X2.0066Y6.7462
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X2.0066Y4.2062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X17.2466Y9.2862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X2.0066Y16.9062
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X19.7866Y34.6862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X12.1666Y34.6862
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X17.2466Y6.7462
G01 Z-1.2000
G01 Z0
G00 Z2.5400
G00 X0.0000Y0.0000
M05

8976
resources/cnc/silk.gcode Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,26 @@
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.885138X1.439870*%
%ADD11C,0.008000*%
%ADD10C,0.008*%
%LNCONTOUR*%
G90*
G70*
G54D10*
G54D11*
X4Y1436D02*
X881Y1436D01*
X881Y4D01*
X4Y4D01*
X4Y1436D01*
D02*
G04 End of contour*
M02*

View File

@ -0,0 +1,214 @@
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.075000*%
%ADD11C,0.078000*%
%ADD12C,0.078740*%
%ADD13R,0.075000X0.075000*%
%ADD14R,0.078000X0.078000*%
%ADD15C,0.024000*%
%ADD16C,0.020000*%
%LNCOPPER0*%
G90*
G70*
G54D10*
X379Y866D03*
X679Y866D03*
X379Y766D03*
X679Y766D03*
X379Y666D03*
X679Y666D03*
X379Y566D03*
X679Y566D03*
X379Y466D03*
X679Y466D03*
X379Y366D03*
X679Y366D03*
X379Y266D03*
X679Y266D03*
X379Y166D03*
X679Y166D03*
G54D11*
X779Y1066D03*
X679Y1066D03*
X579Y1066D03*
X179Y866D03*
X179Y766D03*
X179Y666D03*
X479Y1066D03*
X379Y1066D03*
X279Y1066D03*
G54D12*
X779Y266D03*
X179Y166D03*
X179Y266D03*
X779Y466D03*
X779Y166D03*
X779Y366D03*
X179Y466D03*
X179Y1366D03*
X779Y766D03*
X79Y1366D03*
X779Y666D03*
X379Y1166D03*
X279Y1366D03*
X179Y1166D03*
X379Y1366D03*
X179Y366D03*
X779Y866D03*
G54D13*
X379Y866D03*
G54D14*
X779Y1066D03*
X179Y866D03*
G54D15*
X380Y894D02*
X381Y966D01*
D02*
X381Y966D02*
X578Y966D01*
D02*
X578Y966D02*
X679Y966D01*
D02*
X679Y966D02*
X679Y1036D01*
D02*
X348Y1366D02*
X310Y1366D01*
D02*
X578Y1264D02*
X758Y1087D01*
D02*
X477Y1365D02*
X578Y1264D01*
D02*
X410Y1366D02*
X477Y1365D01*
D02*
X748Y166D02*
X708Y166D01*
D02*
X280Y667D02*
X201Y745D01*
D02*
X381Y667D02*
X280Y667D01*
D02*
X400Y685D02*
X381Y667D01*
D02*
X78Y667D02*
X149Y666D01*
D02*
X78Y1264D02*
X78Y667D01*
D02*
X78Y1264D02*
X79Y1335D01*
D02*
X381Y1264D02*
X78Y1264D01*
D02*
X381Y1264D02*
X479Y1266D01*
D02*
X580Y1165D02*
X479Y1266D01*
D02*
X479Y1266D02*
X381Y1264D01*
D02*
X479Y1266D02*
X280Y1264D01*
D02*
X579Y1096D02*
X580Y1165D01*
D02*
X280Y1264D02*
X280Y1168D01*
D02*
X280Y1168D02*
X279Y1096D01*
D02*
X458Y1087D02*
X401Y1144D01*
D02*
X179Y896D02*
X179Y1135D01*
D02*
X280Y966D02*
X358Y1044D01*
D02*
X280Y764D02*
X280Y966D01*
D02*
X350Y765D02*
X280Y764D01*
D02*
X248Y1366D02*
X210Y1366D01*
D02*
X780Y966D02*
X779Y1036D01*
D02*
X699Y886D02*
X780Y966D01*
D02*
X78Y667D02*
X149Y666D01*
D02*
X280Y66D02*
X78Y66D01*
D02*
X78Y66D02*
X78Y667D01*
D02*
X359Y145D02*
X280Y66D01*
D02*
X757Y844D02*
X699Y786D01*
D02*
X757Y744D02*
X699Y686D01*
D02*
X757Y644D02*
X699Y586D01*
D02*
X748Y466D02*
X708Y466D01*
D02*
X748Y366D02*
X708Y366D01*
D02*
X748Y266D02*
X708Y266D01*
D02*
X353Y553D02*
X207Y479D01*
D02*
X353Y453D02*
X207Y379D01*
D02*
X353Y353D02*
X207Y279D01*
D02*
X353Y253D02*
X207Y179D01*
G54D16*
X508Y1037D02*
X450Y1037D01*
X450Y1095D01*
X508Y1095D01*
X508Y1037D01*
D02*
G04 End of Copper0*
M02*

View File

@ -0,0 +1,78 @@
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.075000*%
%ADD11C,0.078000*%
%ADD12C,0.078740*%
%ADD13R,0.075000X0.075000*%
%ADD14R,0.078000X0.078000*%
%ADD15C,0.020000*%
%LNCOPPER1*%
G90*
G70*
G54D10*
X379Y866D03*
X679Y866D03*
X379Y766D03*
X679Y766D03*
X379Y666D03*
X679Y666D03*
X379Y566D03*
X679Y566D03*
X379Y466D03*
X679Y466D03*
X379Y366D03*
X679Y366D03*
X379Y266D03*
X679Y266D03*
X379Y166D03*
X679Y166D03*
G54D11*
X779Y1066D03*
X679Y1066D03*
X579Y1066D03*
X179Y866D03*
X179Y766D03*
X179Y666D03*
X479Y1066D03*
X379Y1066D03*
X279Y1066D03*
G54D12*
X779Y266D03*
X179Y166D03*
X179Y266D03*
X779Y466D03*
X779Y166D03*
X779Y366D03*
X179Y466D03*
X179Y1366D03*
X779Y766D03*
X79Y1366D03*
X779Y666D03*
X379Y1166D03*
X279Y1366D03*
X179Y1166D03*
X379Y1366D03*
X179Y366D03*
X779Y866D03*
G54D13*
X379Y866D03*
G54D14*
X779Y1066D03*
X179Y866D03*
G54D15*
X508Y1037D02*
X450Y1037D01*
X450Y1095D01*
X508Y1095D01*
X508Y1037D01*
D02*
G04 End of Copper1*
M02*

View File

@ -0,0 +1,55 @@
; NON-PLATED HOLES START AT T1
; THROUGH (PLATED) HOLES START AT T100
M48
INCH
T100C0.035000
T101C0.038000
T102C0.039370
%
T100
X006790Y004656
X006790Y006656
X006790Y005656
X003790Y005656
X006790Y008656
X006790Y002656
X003790Y008656
X003790Y003656
X006790Y007656
X003790Y004656
X003790Y007656
X006790Y001656
X003790Y001656
X003790Y002656
X003790Y006656
X006790Y003656
T101
X004790Y010656
X001790Y007656
X001790Y008656
X003790Y010656
X006790Y010656
X007790Y010656
X002790Y010656
X001790Y006656
X005790Y010656
T102
X001790Y011656
X007790Y008656
X007790Y004656
X003790Y011656
X007790Y007656
X001790Y001656
X001790Y004656
X002790Y013656
X001790Y013656
X007790Y003656
X007790Y002656
X007790Y001656
X001790Y003656
X007790Y006656
X000790Y013656
X003790Y013656
X001790Y002656
T00
M30

View File

@ -0,0 +1,80 @@
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.088000*%
%ADD12C,0.088740*%
%ADD13R,0.085000X0.085000*%
%ADD14R,0.088000X0.088000*%
%ADD15C,0.030000*%
%LNMASK0*%
G90*
G70*
G54D10*
X379Y866D03*
X679Y866D03*
X379Y766D03*
X679Y766D03*
X379Y666D03*
X679Y666D03*
X379Y566D03*
X679Y566D03*
X379Y466D03*
X679Y466D03*
X379Y366D03*
X679Y366D03*
X379Y266D03*
X679Y266D03*
X379Y166D03*
X679Y166D03*
G54D11*
X779Y1066D03*
X679Y1066D03*
X579Y1066D03*
X179Y866D03*
X179Y766D03*
X179Y666D03*
X479Y1066D03*
X379Y1066D03*
X279Y1066D03*
G54D12*
X779Y266D03*
X179Y166D03*
X179Y266D03*
X779Y466D03*
X779Y166D03*
X779Y366D03*
X179Y466D03*
X179Y1366D03*
X779Y766D03*
X79Y1366D03*
X779Y666D03*
X379Y1166D03*
X279Y1366D03*
X179Y1166D03*
X379Y1366D03*
X179Y366D03*
X779Y866D03*
G54D13*
X379Y866D03*
G54D14*
X779Y1066D03*
X179Y866D03*
G54D15*
G36*
X508Y1037D02*
X450Y1037D01*
X450Y1095D01*
X508Y1095D01*
X508Y1037D01*
G37*
D02*
G04 End of Mask0*
M02*

View File

@ -0,0 +1,80 @@
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.088000*%
%ADD12C,0.088740*%
%ADD13R,0.085000X0.085000*%
%ADD14R,0.088000X0.088000*%
%ADD15C,0.030000*%
%LNMASK1*%
G90*
G70*
G54D10*
X379Y866D03*
X679Y866D03*
X379Y766D03*
X679Y766D03*
X379Y666D03*
X679Y666D03*
X379Y566D03*
X679Y566D03*
X379Y466D03*
X679Y466D03*
X379Y366D03*
X679Y366D03*
X379Y266D03*
X679Y266D03*
X379Y166D03*
X679Y166D03*
G54D11*
X779Y1066D03*
X679Y1066D03*
X579Y1066D03*
X179Y866D03*
X179Y766D03*
X179Y666D03*
X479Y1066D03*
X379Y1066D03*
X279Y1066D03*
G54D12*
X779Y266D03*
X179Y166D03*
X179Y266D03*
X779Y466D03*
X779Y166D03*
X779Y366D03*
X179Y466D03*
X179Y1366D03*
X779Y766D03*
X79Y1366D03*
X779Y666D03*
X379Y1166D03*
X279Y1366D03*
X179Y1166D03*
X379Y1366D03*
X179Y366D03*
X779Y866D03*
G54D13*
X379Y866D03*
G54D14*
X779Y1066D03*
X179Y866D03*
G54D15*
G36*
X508Y1037D02*
X450Y1037D01*
X450Y1095D01*
X508Y1095D01*
X508Y1037D01*
G37*
D02*
G04 End of Mask1*
M02*

View File

@ -0,0 +1,38 @@
*Pick And Place List
*Company=
*Author=
*eMail=
*
*Project=PCB_PCF8574
*Date=17:48:27
*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;;;4.5474;-6.74714;0;Bottom;Via11
2;;;19.7875;-21.9872;0;Bottom;Via20
3;;;7.0874;-34.6872;0;Bottom;Via8
4;;;19.7875;-4.20714;0;Bottom;Via15
5;;;19.7875;-19.4472;0;Bottom;Via3
6;;;4.5474;-9.28714;0;Bottom;Via19
7;;THT;4.54739;-19.4472;0;Bottom;S1
8;;;4.5474;-34.6872;0;Bottom;Via2
9;;DIP16 [THT];13.4374;-13.0972;0;Bottom;U1
10;;;19.7875;-16.9071;0;Bottom;Via4
11;;;2.0074;-34.6872;0;Bottom;Via1
12;;;19.7875;-11.8271;0;Bottom;Via14
13;;;4.5474;-11.8271;0;Bottom;Via9
14;;;9.6274;-29.6072;0;Bottom;Via5
15;;;16.2593;-1.30861;0;Bottom;TXT1
16;;;19.7875;-9.28714;0;Bottom;Via16
17;;;17.9135;-34.7209;0;Bottom;TXT1
18;;THT;9.62739;-27.0672;90;Bottom;S2
19;;;4.5474;-29.6072;0;Bottom;Via6
20;;THT;17.2474;-27.0672;90;Bottom;S3
21;;;19.7875;-6.74714;0;Bottom;Via13
22;;;9.6274;-34.6872;0;Bottom;Via7
23;;;4.5474;-4.20714;0;Bottom;Via12

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff