%Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:2344 File Name:EASY200 Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record \ClrText \Locate 1,1,"EA-200 data program" \Locate 1,3,"Choose:" \Locate 3,4,"F1: new experiment" \Locate 3,5,"F2: download data" \Locate 3,6,"F3: r\Repeat current" \Locate 3,7,"F6: quit" \Do:\Getkey\->C:\LpWhile C=0 \ClrText \If C=79\ Or C=59 \Then \If C=79 \Then \Locate 1,2,"Turn EA-200 unit on" \Locate 1,3,"connect probe(s)" \Locate 1,4,"\and then press EXE"\Disp\ClrText \Locate 1,2,"\Next choose" \Locate 1,3,"com\Bin>ination of" \Locate 1,4,"channels to which" \Locate 1,5,"probes connected" \Locate 14,7,"[EXE]..."\Disp\ClrText \Locate 1,1,"Choose channels:" \Locate 2,2,"F1: 1" \Locate 2,3,"F2: 1,2" \Locate 2,4,"F3: 1,2,3" \Locate 2,5,"F4: Sonic" \Locate 2,6,"F5: 1,Sonic" \Locate 2,7,"F6: 1,2,Sonic" \Do:\Getkey\->F:\LpWhile F=0 \ClrText \IfEnd {0,0,0,0}\->\List 6 F=79\=>{1}\->\List 6 F=69\=>{1,2}\->\List 6 F=59\=>{1,2,3}\->\List 6 F=49\=>{4}\->\List 6 F=39\=>{1,4}\->\List 6 F=29\=>{1,2,4}\->\List 6 \Dim \List 6\->P \If P>3 \Then \Locate 1,1,"Start again. Choose" \Locate 1,2,"one of the F keys." \Locate 1,3,"Program finished." \Stop \IfEnd \Locate 1,2,"Initialising..." {0}\->\List 1 \Send(\List 1) \For 1\->I \To P \List 6[I]\->J {1,J,1}\->\List 1 \Send(\List 1) \Next \ClrList \If C=79 \Then \ClrText " ":" " \Locate 1,1,"Number of samples" \Locate 11,2,"(2 - 250)" ?\->N N<2\=>2\->N N>250\=>250\->N \ClrText " ":" " \Locate 1,1,"Time between samples" \Locate 6,2,"(.00002s - 16000s)" ?\->T T<.00002\=>.00002\->T T>16000\=>16000\->T " ":" " \Locate 1,6,"Total time (s)=" \Locate 16,6,NT\Disp\ClrText " ":" " \Locate 1,1,"Checking mem\ory..." \Seq(0,I,1,N,1)\->\List 1 \List 1\->\List 2 P=2\=>\List 1\->\List 3 P=3\=>\List 1\->\List 4 \Locate 10,2,"Mem\ory OK" " ":" ":" " \IfEnd 79\->C {3,T,N,2,\(-)1}\->\List 1 \Send(\List 1) \Locate 1,4,"Press EXE to start" \Locate 1,5,"data sampling"\Disp{8}\->\List 1 \Send(\List 1) \ClrText:" ":" ":" ":" ":" " \Locate 1,2,"Sampling in progress." \Locate 1,3,"Wait until Sampling" \Locate 1,4,"light goes off on" \Locate 1,5,"EA-200" \IfEnd \If C=69 \Then " " \Locate 1,1,"How many lists (1-3)?" ?\->P:" ":" " \Locate 1,4,"Check EA-200 is on" \IfEnd \If C=79\ Or C=69 \Then " " \Locate 1,6,"\and then press EXE..."\Disp\ClrText \Locate 1,1,"R\Receiving data" "Time....." \Receive(\List 1) \Dim \List 1\->N \If C=69 \Then 3\->V \List 1[2]\->S \List 1[1]>1\EE\(-)4\=>2\->V \Int (S*10^(V+1))\->S \Int (S/10)\->W S-10W\>=5\=>W+1\->W W/10^V\->S \Else T\->S \IfEnd \Seq(I,I,0,S(N-1),S)\->\List 1 "data 1..." \Receive(\List 2) 2-\Int \log \Abs \Max(\List 2)\->R R>2\=>2\->R R<0\=>0\->R \Int (10^R*\List 2+.5)/10^R\->\List 2 \Max(\List 2)-\Min(\List 2)\->M \If P\>=2 \Then "data 2..." \Receive(\List 3) 2-\Int \log \Abs \Max(\List 3)\->R R>2\=>2\->R R<0\=>0\->R \Int (10^R*\List 3+.5)/10^R\->\List 3 \Max(\List 3)-\Min(\List 3)+M\->M \IfEnd \If P=3 \Then "data 3..." \Receive(\List 4) 2-\Int \log \Abs \Max(\List 4)\->R R>2\=>2\->R R<0\=>0\->R \Int (10^R*\List 4+.5)/10^R\->\List 4 \Max(\List 4)-\Min(\List 4)+M\->M \IfEnd \ClrText \If \Not (N=1\ Or M=0) \Then \ClrGraph \S-WindAuto \S-Gph1 \DrawOn,\xyLine,\List1,\List2,1,\Cross \S-Gph2 \DrawOff \S-Gph3 \DrawOff P\>=2\=>\S-Gph2 \DrawOn,\xyLine,\List1,\List3,1,\Square P=3\=>\S-Gph3 \DrawOn,\xyLine,\List1,\List4,1,\Dot 10T\->\Xscl 100\->\Yscl \DrawStat \Text 2,90,"\Done" \Text 8,90,"EXE TO" \Text 14,90,"CONTINUE"\Disp\Else \Locate 1,3,"\Graph \Not drawn as" \Locate 1,4,"data \Not suitable."\Disp\IfEnd \IfEnd \ClrText:" ":" " \Locate 1,1,"Finished" \Locate 1,2,"End........ AC\slashON" \If C=79\ Or C=69 \Then " ":" " \Locate 1,3,"Again...... EXE" \Locate 1,4,"See data... MENU %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:2837 File Name:EA2PH Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record 0\->A~Z 60\->N 1\->T \(-)3.838\->A 13.72\->B 14\->G {0}\->\List 1 {0}\->\List 2 \Do \BG-None \ClrText \Cls \ViewWindow 1,127,0,63,1,0 \Text 1,1,"GET pH" \Text 13,1,"pH probe only in CH1" \Text 19,1,"Samples" \Text 25,1,"Interval" \Text 31,1,"Tot time" \Text 37,1,"\Ymin" \Text 43,1,"\Ymax" 2\->L \Goto1 \Lbl 2 \For 2\->I \To 107 \Step 21 \Green \F-Line I,63,I,56 \Green \F-Line I,56,I+18,56 \Next \Orange \Text 50,1," " \Green \Text 58,4," Go " \Green \Text 58,25,"Grph" \Green \Text 58,46,"Cal " \Green \Text 58,67,"Set " \Green \Text 58,88," " \Green \Text 58,109,"Exit " \PxlOn 1,1 \Do 8-\Int (\Getkey/10)\->K \LpWhile K=8 \If K=1 \Then \Orange \Text 50,1,"Wait!..." \ClrList \Green \Text 58,4," " \Green \Text 58,25," " \Green \Text 58,46," " \Green \Text 58,67," " \Green \Text 58,88," " \Green \Text 58,109," " \PxlOn 1,1 \Seq(IT,I,1,N,1)\->\List 1 0\List 1\->\List 2 {0}\->\List 6 \Send(\List 6) {1,1,10}\->\List 6 \Send(\List 6) {10,\(-)2}\->\List 6 \Send(\List 6) {4,1,1,0,B,A}\->\List 6 \Send(\List 6) {3,.7,\(-)1,0,0}\->\List 6 \Send(\List 6) \Orange \Text 50,1,"F1 to start when steady" \Green \Text 58,4," Go " \PxlOn 1,1 \Do \Receive(V) \Text 50,100,V 8-\Int (\Getkey/10)\->I \LpWhile I\<>1 {0}\->\List 6 \Send(\List 6) {1,1,10}\->\List 6 \Send(\List 6) {10,\(-)2}\->\List 6 \Send(\List 6) {4,1,1,0,B,A}\->\List 6 \Send(\List 6) {3,T,\(-)1,0,0}\->\List 6 \Send(\List 6) \ViewWindow 1,NT,1,F,G,1 \AxesOff \Cls \F-Line 1,F,1,G \F-Line D,F,NT,F \Text 1,4,G \Text 57,4,F \Text 1,59,"pH" \Receive(V) V\->\List 2[1] \Text 1,82,"Sample 1" \PxlOn 1,1 \For 2\->I \To N \Receive(V) \F-Line (I-1)T,\List 2[I-1],IT,V V\->\List 2[I] \Text 1,111,I \PxlOn 1,1 \Next {0}\->\List 6 \Send(\List 6) \Text 58,110,"[EXE]"\Disp\IfEnd \If K=2\ And \Max(\List 1)-\Min(\List 1)\<>0\ And \Max(\List 2)-\Min(\List 2)\<>0 \Then \S-WindAuto \AxesOn \S-Gph2 \DrawOff \S-Gph3 \DrawOff \S-Gph1 \DrawOn,\xyLine,\List1,\List2,1,\Dot \DrawStat \Text 50,109,"[EXE]"\Disp\AxesOff \IfEnd \If K=4 \Then \Orange \Text 50,1,"SETUP" \Green \Text 58,4,"Rset" \Green \Text 58,25,"Smpl" \Green \Text 58,46,"Intv" \Green \Text 58,67,"\Yscl" \Green \Text 58,109,"\Done" \PxlOn 1,1 \Do \Do 8-\Int (\Getkey/10)\->J \LpWhile J=8 \If J=1 \Then 60\->N 1\->T \(-)3.838\->A 13.72\->B 0\->C 0\->F 14\->G \IfEnd \If J=2 \Then \ClrText " " \Locate 1,1,"Number of samples" " " \Locate 1,2,"Type number, then EXE" " " \Locate 1,3,"[2 to 255]" ?\->N N<2\=>2\->N N>255\=>255\->N \IfEnd \If J=3 \Then \ClrText " " \Locate 1,1,"Time (seconds)" " " \Locate 1,2,"between samples" " " \Locate 1,3,"Type number, then EXE" " " \Locate 1,4,"[1 to 16000]" ?\->T T<1\=>1\->T T>16000\=>16000\->T \IfEnd \If J=4 \Then \ClrText 1\->D N\->E " " \Locate 1,1,"\Vertical graph scl" " " " " \Locate 1,3,"\Ymin \-> \Ymax" "\Ymin"?\->F "\Ymax"?\->G \IfEnd 4\->L J\<>6\=>\Goto1 \Lbl 4 \LpWhile J\<>6 \IfEnd \If K=3 \Then \ClrText " " \Locate 1,1,"Calibrate probe..." \Locate 1,3,"1st remove all other" \Locate 1,4,"probe(s) from EA200" \Locate 8,7,"\Then press EXE" \Do \Getkey\->W \LpWhile W\<>31 \ClrText " " \Locate 1,1,"Calibration expt" " " \Locate 1,2,"to find a,b: y=ax+b" " " \Locate 1,3,"How many cal. points" ?\->B \Seq(0,X,1,B,1)\->\List 3 \List 3\->\List 4 \For 1\->I \To B {0}\->\List 6 \Send(\List 6) {1,1,10}\->\List 6 \Send(\List 6) {10,\(-)2}\->\List 6 \Send(\List 6) {3,1,\(-)1,0,0}\->\List 6 \Send(\List 6) \ClrText " " \Locate 1,1,"Point" \Locate 7,1,I \Locate 10,1,"Wait f\or" " " \Locate 1,2,"steady reading then" " " \Locate 1,3,"long press EXE" " " \Locate 1,4,"reading=" \Do \Receive(V) \Locate 10,4," " \Locate 10,4,V \Getkey\->W \LpWhile W\<>31 V\->\List 3[I] "\aster rec\orded \aster" "Value"?\->\List 4[I] \Next {0}\->\List 6 \Send(\List 6) \LinearReg \List3,\List4 \Ra\->A \Rb\->B 1\->C \ClrText \Locate 1,2,"Using y=ax+b coeffs" \Locate 1,4,"a=" \Locate 3,4,\Ra \Locate 1,5,"b=" \Locate 3,5,\Rb \Locate 9,7,"EXE to cont.." \Do \Getkey\->W \LpWhile W\<>31 \IfEnd \LpWhile K\<>6 \Cls \Orange \Text 20,47,"GET pH" \Orange \Text 33,7,"(C) Charlie Watson 15:Mar:04" 107\->I \Green \F-Line I,63,I,56 \Green \F-Line I,56,I+18,56 \Green \Text 58,109," OK" \PxlOn 1,1 \Do 8-\Int (\Getkey/10)\->H \LpWhile H\<>6 \Cls \ClrText \Stop \Lbl 1 \If C=1 \Then \Orange \Text 7,1,"Using Calib Eqn" \Else \Orange \Text 7,1," " \IfEnd \For 19\->I \To 43 \Step 6 \Text I,40," " \Next \Text 19,40,N \Text 25,40,T \Text 31,40,TN \Text 37,40,F \Text 43,40,G \PxlOn 1,1 L=2\=>\Goto2 L=4\=>\Goto4 %End %Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:1606 File Name:EA2PULSE Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record \ClrText:\ClrList:\Locate 4,3,"Checking.." {0}\->\List 6:\Send(\List 6) \Norm:0\->A~Z:.03\->T:100\->N:100\->W:\(-)1\->G \Seq(TX,X,0,N-1,1)\->\List 1 {1,1,10}\->\List 6:\Send(\List 6) \Locate 15,3,"Ok!":\Locate 5,5,"Clip on ear":\Locate 2,7,"then EXE to start"\Disp{5,0,0,W+1,W+N}\->\List 5 {3,T,W+N,0,0}\->\List 6:\Send(\List 6) \ClrText:\AxesOff:\Cls \Text 1,1,"GETPULSE" \Orange \Text 8,1,"(C) 15:Mar:2004 Charlie Watson" \Text 15,1,"Use F1 (long press) to switch" \Text 21,1,"current \and hist\ory views" \Text 29,1,"Use F6 (long press) to finish" \Text 40,1,"Please wait 15 seconds" \Text 47,1,"Collecting initial data..":\Text 1,125," " \S-Gph1 \DrawOn,\xyLine,\List 1,\List 2,1,\Dot,\Orange \S-Gph2 \DrawOn,\xyLine,\List 3,\List 4,1,\Dot,\Green \S-Gph3 \DrawOff \For 0\->I \To 500:\Getkey\->K:K=29\=>\Break:\Next :K=29\=>\Goto4 \Text 54,1,"data transfer..":\Text 1,125," " \Do \Send(\List 5):\Receive(\List 2):\Getkey\->K:K=29\=>\Goto3 \If K=79\ And L>1:\Then \(-)G\->G:\Cls:\IfEnd \Send(\List 6) \Orange \Text 56,4," " \Max(\List 2)\->A:\Min(\List 2)\->B:.6A-.4B\->M \If G=\(-)1:\Then \AxesOff:\S-WindAuto:\S-Gph2 \DrawOff:\S-Gph1 \DrawOn:\Cls:\DrawStat:\Green \F-Line \Xmin,\Ymin,\Xmin,\Ymax:\Green \F-Line \Xmin,\Ymin,\Xmax,\Ymin:\IfEnd \Getkey\->K:K=29\=>\Goto3 \Green \Text 56,43,"Calculating..":\Text 1,125," " 1+Z\->Z:0\->P:0\->F:\(-)1\->V:1\->I:1\->R \Do 1+I\->I \If \List 2[I]>M:\Then \If \List 2[I]\>=\List 2[I-1]\ And \List 2[I]\>=\List 2[I+1]:\Then I\->S:1+V\->V V=0\=>I\->C:V=1\=>I\->D:\If V\>=2:\Then (S-D)/(D-C)+(D-C)/(S-D)>2.12\=>0\->R:D\->C:S\->D:\IfEnd:F=0\=>I\->F:I+4\->I:\IfEnd:\IfEnd \Getkey\->K:K=29\=>\Break \LpWhile I\Goto3 S-F\=>\Int (60V/(T*(S-F))+.5)\->P P>200\=>0\->R R=1\=>1+L\->L L=1\ And R=1\=>[[Z\ab/c4][P]]\->\Mat Z \If L>1:\Then \If R=1:\Then \Augment(\Mat Z,[[Z\ab/c4][P]])\->\Mat Z:\IfEnd:\Trn \Mat Z\->\Mat Z:\Mat->List\Mat Z,1)\->\List 3:\Mat->List\Mat Z,2)\->\List 4:\Trn \Mat Z\->\Mat Z:\IfEnd \If G=1\ And L>1:\Then \AxesOn:\S-WindMan:\ViewWindow 0,(Z+10)/4,1,0,200,25:\S-Gph1 \DrawOff:\S-Gph2 \DrawOn:\Cls:\DrawStat:\Green \Text 14,4,"150":\Green \Text 45,4,"50":\Green \Text 1,4,"BPM":\IfEnd \Getkey\->K:K=29\=>\Goto3 \Green \Text 56,43,"Pulse: ":\Green \Text 56,68,P:\Green \Text 56,82,"bpm" \If R=0:\Then \Orange \Text 48,44,"\asterrejected\aster":\IfEnd \Orange \Text 1,60,"St\ored":\Text 1,87,L:\Orange \Text 1,100,"of":\Text 1,110,Z:\Orange \Text 56,99,"F6:\Stop":\Orange \Text 56,4,"F1:ChView" A<3\=>\Orange \Text 8,8,"WARNING! EA200 batteries LOW?" \Orange \Text 1,30,"Wait..":\Text 1,125," " \Lbl 3 \LpWhile K\<>29\ And L<255 \Lbl 4:\Norm:\AxesOn:\ClrText:"Finished" %End