The
Various Dialog Boxes: Process
Status
Auto mode
Modifying
the Software :
New cards
Problem Areas
Bugs
-ve points Limitations
Other Features Toolbars
Printers MSWord Netscape Outlook
Hardware Column
PCL-213 PCL-726 Condenser
The Future
Animations
Video
Controllers Interfaces
Back
to main Page
|
|
Some
times, it may become necessary for us to change the calibration with
which the data is read from the column. In such a condition, we have to
go to the Process.cpp file & the function OnTimer inside which is
called every 1 second. The relevant code is shown here:
void
CProcess::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
unsigned int lb,hb,c;
int ad;
int n=0,n1,s1,s2,s3,ov;
int c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12;
_outp(0x243,0x92);
//ADD CODE TO ENTER FROM PORT
for(n=0;n<13;n++)
{
n1=n*16;
//Modify the code below to change the attributes according to another i/o
card or a different calibration you might be using by changing the DIP
switches in PCL 213/214.
_outp(0x242,n1);
z:s1=_inp(0x241);
s1&=0x80;
if(s1==128)goto z;
z1:s2=_inp(0x241);
s2&=0x80;
if(s2==0)goto z1;
z2:s3=_inp(0x241);
s3&=0x80;
if(s3==128)goto z2;
z3: lb=_inp(0x240);
hb=_inp(0x241);
ov=hb & 0x10;
if(ov==16) goto z3;
c=hb & 0x0f;
//CALIBRATION CODE:
ad=(lb+256*c);//(Add /100 or /10 here as necessary)
ad/=1000;
switch(n)
{
case 0://1st channel
m_T1=ad;
c0=ad;
SetDlgItemInt(IDC_T1,m_T1);
break;
case 1:m_T2=ad;
c1=ad;
SetDlgItemInt(IDC_T2,m_T2);
break;
case 2:m_T3=ad;
c2=ad;
SetDlgItemInt(IDC_T3,m_T3);
break;
case 3:m_T4=ad;
c3=ad;
SetDlgItemInt(IDC_T4,m_T4);
break;
case 4:m_T5=ad;
c4=ad;
SetDlgItemInt(IDC_T5,m_T5);
break;
case 5:m_T6=ad;
c5=ad;
SetDlgItemInt(IDC_T6,m_T6);
break;
case 6:m_T7=ad;
c6=ad;
SetDlgItemInt(IDC_T7,m_T7);
break;
case 7:m_T8=ad;
c7=ad;
SetDlgItemInt(IDC_T8,m_T8);
break;
case 8:m_T9=ad;
c8=ad;
SetDlgItemInt(IDC_T9,m_T9);
break;
case 9:m_RblrV=ad;
c9=ad;
SetDlgItemInt(IDC_RBLRV,m_RblrV);
break;
case 10:m_T11=ad;
c10=ad;
SetDlgItemInt(IDC_T11,m_T11);
break;
case 11:m_FeedV=ad;
c11=ad;
SetDlgItemInt(IDC_FEEDV,m_FeedV);
break;
case 12:m_RefluxV=ad;
c12=ad;
SetDlgItemInt(IDC_REFLUXV,m_RefluxV);
break;
default:break;
}
}
AddLine(c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12);
CDialog::OnTimer(nIDEvent);
}
|