Recalibrating The Software
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);
}


 

1