PPU173%*\} mainunitU mainunit.pas&OUedge.dat }USystemW/@"objpasǂ#KqClasses9'8`j"sysutilsq$uM4zForms*s"`Controls0??7 %WGraphicsj\Dialogsʛ^X;1CustomDrawnControlsl8>OdosĂD"Spink }ZJxStdCtrlsiH^eꎇCustomDrawn_Commone ekZExtCtrls3[OsyssTAGraph1q꠪ TASeries;ղtwD,TAToolsp~lSӵ/=(9 TAChartUtilsPKjCJTypesys%KprocessJF..9Gd TADrawUtilst ǥ8I*JfLCLTypeю^vT6TAChartAxisUtilsL;TACustomSourceb/T@"FWTATypes[i#'cs TAFuncSeries+d*math #d7utypes_{Z,)SpNumulfitdszunlfit@gZCD ufftǁC mainunit.o  d R mainunit.lfmFORMSSYSTEMTATOOLSWINDOWS TACHARTUTILSCONTROLSCLASSESTAGRAPH TADRAWUTILSTASERIESCUSTOMDRAWNCONTROLSDIALOGSSPINEXTCTRLSSTDCTRLS LCLCLASSESUTYPESLCLTYPEGRAPHICSTACUSTOMSERIES CUSTOMTIMER"KQ UY\_beh   lsvy}                        5 5 5 5 5     v 5 5 (  (  \ 5  ( ( 5 5 5 5 5 ( ( 5 ( ( 5 q 5  5 5      !"#$%&'()*fl 9a78;=~DFGHJKLMU[EDhwt  OuN!Mkl\]_`cfghijklmopqrtuvwx||j#CDE R ! &+/Y89:>?@FIJunUiXYZm\]^Svg~jkIefghmnpPMb`befoqrxz$|JKT  !    -A0FHS^gu|--   (*UX[,--    0           11  234PSUWY]ciw{|,/VWX{|!  A [A0>TmainpN( 4          ! * 3 < E N W ` i r {                   & / 8 A J S \ e n w                "+4=FOXajs| '09BKT]fox#,5>GPYbkt} (1:CLU^gpy $-6?HQZclu~ )2;DMV_hqz %.7@IR[dmv!*3<ENW`ir{ &/8AJS\enw[[*+<BRMAINUNIT$_$TMAIN_$__$$_CHARTTOOLSETDATAPOINTDRAGTOOLAFTERMOUSEUP$TCHARTTOOL$TPOINT['"RAToolC9' ("SAPointD)2'"T$selfC4B:+HLsyXMAINUNIT$_$TMAIN_$__$$_CHARTTOOLSETDATAPOINTDRAGTOOLDRAG$TDATAPOINTDRAGTOOL$TDOUBLEPOINT[)"VASenderE1U^ -"W AGraphPointF `i'"X$selfEkBq+1MAINUNIT$_$TMAIN_$__$$_FRESNELBUTTONCLICK$TOBJECT[("ZSenderG" '"[$selfGB+.MAINUNIT$_$TMAIN_$__$$_FITBUTTON2CLICK$TOBJECT[("]SenderH '"^$selfHB+F-MAINUNIT$_$TMAIN_$__$$_FITBUTTONCLICK$TOBJECT[("`SenderI '"a$selfIB+#)_1MAINUNIT$_$TMAIN_$__$$_FITESCBUTTON2CLICK$TOBJECT[("cSenderJ" '"d$selfJB!+/3OUp0MAINUNIT$_$TMAIN_$__$$_FITESCBUTTONCLICK$TOBJECT[("fSenderK!<E '"g$selfKGBM+[_7MAINUNIT$_$TMAIN_$__$$_FRESNELEDITKEYPRESS$TOBJECT$CHAR[("iSenderL#hq %"jKeyL8s|'"k$selfL~B+ ZMAINUNIT$_$TMAIN_$__$$_FRESNELEDITMOUSEUP$TOBJECT$TMOUSEBUTTON$TSHIFTSTATE$LONGINT$LONGINT[("mSenderM" ("nButtonM3'"oShiftN#"pXN(#"qYN2'"r$selfMB+  4MAINUNIT$_$TMAIN_$__$$_FRESNELESCBUTTONCLICK$TOBJECT[("tSenderO% '"u$selfOB+ 6<0MAINUNIT$_$TMAIN_$__$$_GETPOSBUTTONCLICK$TOBJECT[("wSenderP!#, '"x$selfP.B4+ BFms:MAINUNIT$_$TMAIN_$__$$_ICHARTAFTERDRAW$TCHART$ICHARTDRAWER[)"zASenderQOX )"{ADrawerQ0Zc'"|$selfQeBk+ y}-MAINUNIT$_$TMAIN_$__$$_MOVEEDITCHANGE$TOBJECT[("~SenderR '"$selfRB+.MAINUNIT$_$TMAIN_$__$$_RATEBUTTONCLICK$TOBJECT[("SenderS '"$selfSB+<0MAINUNIT$_$TMAIN_$__$$_REDRAWBUTTONCLICK$TOBJECT[("SenderT! '"$selfTB+#\1MAINUNIT$_$TMAIN_$__$$_SELECTXBUTTONCLICK$TOBJECT[("SenderU"  '"$selfUB+)-IO2MAINUNIT$_$TMAIN_$__$$_STEPSIZEBUTTONCLICK$TOBJECT[("SenderV#6? '"$selfVABG+UY8MAINUNIT$_$TMAIN_$__$$_STEPSIZEEDITKEYPRESS$TOBJECT$CHAR[("SenderW$bk %"KeyW9mv'"$selfWxB~+[MAINUNIT$_$TMAIN_$__$$_STEPSIZEEDITMOUSEUP$TOBJECT$TMOUSEBUTTON$TSHIFTSTATE$LONGINT$LONGINT[("SenderX# ("ButtonX4'"ShiftY#"XY(#"YY2'"$selfXB~+ *MAINUNIT$_$TMAIN_$__$$_TIMER1TIMER$TOBJECT[("SenderZ '"$selfZB+;A4MAINUNIT$_$TMAIN_$__$$_XMAXEDITKEYPRESS$TOBJECT$CHAR[("Sender[ & %"Key[5(1'"$self[3B9+GKWMAINUNIT$_$TMAIN_$__$$_XMAXEDITMOUSEUP$TOBJECT$TMOUSEBUTTON$TSHIFTSTATE$LONGINT$LONGINT[("Sender\T] ("Button\0_h'"Shift]js#"X]u~(#"Y]2'"$self\B+4MAINUNIT$_$TMAIN_$__$$_RATEEDITKEYPRESS$TOBJECT$CHAR[("Sender^  %"Key^5'"$self^B+"(WMAINUNIT$_$TMAIN_$__$$_RATEEDITMOUSEUP$TOBJECT$TMOUSEBUTTON$TSHIFTSTATE$LONGINT$LONGINT[("Sender_ ("Button_0'"Shift`#"X` (#"Y`2'"$self_B +.2Y_4MAINUNIT$_$TMAIN_$__$$_IMAXEDITKEYPRESS$TOBJECT$CHAR[("Sendera ;D %"Keya5FO'"$selfaQBW+eiWMAINUNIT$_$TMAIN_$__$$_IMAXEDITMOUSEUP$TOBJECT$TMOUSEBUTTON$TSHIFTSTATE$LONGINT$LONGINT[("Senderbr{ ("Buttonb0}'"Shiftc#"Xc(#"Yc2'"$selfbB+5/MAINUNIT$_$TMAIN_$__$$_STARTBUTTONCLICK$TOBJECT[("Senderd  '"$selfdB+ 4MAINUNIT$_$TMAIN_$__$$_IMINEDITKEYPRESS$TOBJECT$CHAR[("Sendere  %"Keye5 '"$selfe B+ $lrWMAINUNIT$_$TMAIN_$__$$_IMINEDITMOUSEUP$TOBJECT$TMOUSEBUTTON$TSHIFTSTATE$LONGINT$LONGINT[("Senderf-6 ("Buttonf08A'"ShiftgCL#"XgNW(#"YgYb2'"$selffdBj+x|q.MAINUNIT$_$TMAIN_$__$$_SAVEBUTTONCLICK$TOBJECT[("Senderh '"$selfhB+y5MAINUNIT$_$TMAIN_$__$$_FORMCLOSE$TOBJECT$TCLOSEACTION[("Senderi -" CloseActioni.'"$selfiB}+ )MAINUNIT$_$TMAIN_$__$$_FORMCREATE$TOBJECT[("Senderj '"$selfjB+! 284MAINUNIT$_$TMAIN_$__$$_MOVEEDITKEYPRESS$TOBJECT$CHAR[("Senderk  %"Keyk5('"$selfk*B0+">BWMAINUNIT$_$TMAIN_$__$$_MOVEEDITMOUSEUP$TOBJECT$TMOUSEBUTTON$TSHIFTSTATE$LONGINT$LONGINT[("SenderlKT ("Buttonl0V_'"Shiftmaj#"Xmlu(#"Ymw2'"$selflB+#1MAINUNIT$_$TMAIN_$__$$_INITPOSBUTTONCLICK$TOBJECT[("Sendern" '"$selfnB+$.MAINUNIT$_$TMAIN_$__$$_QUITBUTTONCLICK$TOBJECT[("Sendero '"$selfoB+%3MAINUNIT$_$TMAIN_$__$$_SAVEIMAGEBUTTONCLICK$TOBJECT[("Senderp$ '"$selfpB }+&:@Q)MAINUNIT$_$TMAIN_$__$$_TIMERTIMER$TOBJECT[("Senderq'0 '"$selfq2B8+'FJflu.MAINUNIT$_$TMAIN_$__$$_MOVEBUTTONCLICK$TOBJECT[("SenderrS\ '"$selfr^Bd+(rv"4MAINUNIT$_$TMAIN_$__$$_XMINEDITKEYPRESS$TOBJECT$CHAR[("Senders  %"Keys5'"$selfsB+)'WMAINUNIT$_$TMAIN_$__$$_XMINEDITMOUSEUP$TOBJECT$TMOUSEBUTTON$TSHIFTSTATE$LONGINT$LONGINT[("Sendert ("Buttont0'"Shiftu#"Xu(#"Yu2'"$selftB+*  ! ' -/MAINUNIT$_$TMAIN_$__$$_XZEROBUTTONCLICK$TOBJECT[("Senderv   '"$selfv B X3#ChartConstantLine1- 3$ChartConstantLine26 +% FitButton2? .& FresnelButtonH -' FitescButtonQ .( FitescButton2Z 1)FresnelescButtonc 4*FitIChartLineSeriesl 5+FitIChartLineSeries1u 7,FresnelChartLineSeries~ 3-ChartConstantLine3 6.SelectDirectoryDialog  */ FitButton! /0StepsizeButton" -1 StepsizeEdit# ('2Timer1$ 0,3 FresnelEdit% 8*4 xposLabel& @35MarkerConstantLine' H+6 OpenDialog( P-7 RedrawButton) X&8IEdit* `19IChartLineSeries+ h':IChart, p-; ChartToolset- x><ChartToolsetDataPointDragTool. )=ImaxEdit/ )>IminEdit0 -? getposButton1) ,@ XzeroButton22 .A SelectXButton3; ,B StartButton4D +C SaveButton5M )DXmaxEdit6V )EMoveEdit7_ +F RateButton8h )GRateEdit9q )HXminEdit:z %IXOut; +J QuitButton< +K SaveDialog= 0LSaveimageButton> &MTimer?  'NStatus@  +O MoveButtonA  .P InitposButtonB =Q)ChartToolsetDataPointDragToolAfterMouseUpC 5U!ChartToolsetDataPointDragToolDragE &YFresnelButtonClickG #\FitButton2ClickH "_FitButtonClickI &bFitescButton2ClickJ %eFitescButtonClickK 'hFresnelEditKeyPressL &lFresnelEditMouseUpM )sFresnelescButtonClickO %vgetposButtonClickP #yIChartAfterDrawQ "}MoveEditChangeR #RateButtonClickS %RedrawButtonClickT &SelectXButtonClickU% 'StepsizeButtonClickV+ (StepsizeEditKeyPressW1 'StepsizeEditMouseUpX7  Timer1TimerZ= $XmaxEditKeyPress[C #XmaxEditMouseUp\I $RateEditKeyPress^O #RateEditMouseUp_U $ImaxEditKeyPressa[ #ImaxEditMouseUpba $StartButtonClickdg $IminEditKeyPressem #IminEditMouseUpfs #SaveButtonClickhy  FormClosei  FormCreatej $MoveEditKeyPressk #MoveEditMouseUpl &InitposButtonClickn #QuitButtonClicko (SaveimageButtonClickp  TimerTimerq #MoveButtonClickr $XminEditKeyPresss #XminEditMouseUpt $XzeroButtonClickv ,*+ [%mainunit system objpas Classes SysUtils Forms Controls  Graphics ' Dialogs 1! CustomDrawnControls : Dos N Spin StdCtrls  CustomDrawn_Common ExtCtrls 'TAGraph 1TASeries :TATools D TAChartUtils MTypes [Process  TADrawUtils LCLType TAChartAxisUtils "TACustomSource 4TATypes  TAFuncSeries mathutypesumulfit unlfit!ufft"Tmain %main(version)mainpath. paramsavefile'comUSBRv);=OconnectxB5[1+, MAINUNIT_$$_init$INIT$_$MAINUNITMAINUNIT_$$_init$[*--data_t([["X"I%rate'status &mtime) ,*.26? [,*/HLU [,*0^bh N[,*1qu~[,*2[,*3[j+4 MAINUNIT_$$_LOADFRESNEL[)H)J)K)L~+P! *MAINUNIT_$$_REGFUNC$DOUBLE$TVECTOR$$DOUBLE[$"IX  $"JB)R'++S48WY +MAINUNIT_$$_REGFUNC2$DOUBLE$TVECTOR$$DOUBLE[$"TXAJ $"UBLU+U_c 3MAINUNIT_$$_DERIVPROC$DOUBLE$DOUBLE$TVECTOR$TVECTOR[$"_Xlu $"`Yw$"aB#$"bD&(+W- 4MAINUNIT_$$_DERIVPROC2$DOUBLE$DOUBLE$TVECTOR$TVECTOR[$"hX- $"iY-$"jB-$$"kD-'(w+YF #MAINUNIT_$$_GET_INSTDIR$$ANSISTRING[*"v$resultF A)[j+]U MAINUNIT_$$_INITVALUES[)`#')a04i+c=AJLj MAINUNIT_$$_SAVEFILEP[l+iRV_a MAINUNIT_$$_SAVEQUESTION[)sgko+wtx MAINUNIT_$$_ADD_DRAW$DATA_T[$"x )zt+{  MAINUNIT_$$_GAUSS$DOUBLE$$DOUBLE[$"x f+| MAINUNIT_$$_REDRAW[g+ MAINUNIT_$$_READUSB[)j+- MAINUNIT_$$_STARTCLOCK[o+ 2 MAINUNIT_$$_STOPCLOCK$$WORD[g+ )+? MAINUNIT_$$_INITPOS[)15)>Bn+KOXZ MAINUNIT_$$_GETFITINTERVAL[o+`dmo MAINUNIT_$$_GETPOS$$LONGINT[d+uy  MAINUNIT_$$_FITP[)k+, MAINUNIT_$$_GETINTERVAL[h+/ MAINUNIT_$$_LOADDRAW[g+V MAINUNIT_$$_SETXMAX[g+W MAINUNIT_$$_SETIMAX[g+X MAINUNIT_$$_SETIMIN[)w+{  MAINUNIT_$$_init_implicit$INIT$_$MAINUNITMAINUNIT_$$_init_implicit$[+|"& MAINUNIT_$$_finalize_implicit$/1FINALIZE$_$MAINUNITMAINUNIT_$$_finalize_implicit$[WcomUSBconnect&$MAINUNIT_$$_init$7data_t =$DATASIZEC N) savefileLUW/ imagedirectoryYbd.  savedirectoryfoq$ bbss|~( curdata, timepointer&hours(minutes(seconds- milliseconds* connected(running(datanum* data_list, saverequest)imagenum #n0!#n1#,.%xmax09;%xmin =FH'resetbJSU- notconnectedW`b$nn0dmo$ nn1 qz|(!fitxmax~("fitImax (#fitxmin)$fitxmin2#%XX#&YY$'XXn"(B")V&*fit1b&+fit2b   ),fresnelb *- fresnel_x "*. fresnel_y$*,+/ fresnelnum.79+0 fresnelmax;DF,1 fresnelzeroHQS)2fresnelIU^`-3 fresnelscalebkm-4 fresnelshift'oxz,5 fresnelhalf|*6 fresnelx1*7 fresnelx2*8 fresnely1*9 fresnely2#':fmaxx1';fmaxy1'<fmaxx2'=fmaxy2(>evalueb)?fresnelx*@fresnelyA loadfresnel HRegFunc SRegFunc2 ^ DerivProc $g DerivProc2- * u get_instdirF 0| initvaluesU 6 savefilepj <! savequestion BAdd_draw Hgauss Nredraw TreadUSB Z StartClock- ` StopClock2 finitpos? l#getfitinterval rgetpos xfitp  ~ ( getinterval *loaddraw UsetXmax XsetImax [setImin 0$MAINUNIT_$$_init_implicit$4$MAINUNIT_$$_finalize_implicit$S  '