Commit 12161cc9 authored by Claes Sjofors's avatar Claes Sjofors

Ssab IO ao, write every scan

parent 68dcd0c1
...@@ -70,7 +70,6 @@ typedef struct { ...@@ -70,7 +70,6 @@ typedef struct {
int Qbus_fp; int Qbus_fp;
pwr_tFloat32 OldValue[IO_MAXCHAN]; pwr_tFloat32 OldValue[IO_MAXCHAN];
pwr_tBoolean OldTestOn[IO_MAXCHAN]; pwr_tBoolean OldTestOn[IO_MAXCHAN];
int WriteFirst;
unsigned int ErrReset; unsigned int ErrReset;
unsigned int ErrScanCnt; unsigned int ErrScanCnt;
} io_sLocal; } io_sLocal;
...@@ -136,8 +135,6 @@ static pwr_tStatus IoCardInit( ...@@ -136,8 +135,6 @@ static pwr_tStatus IoCardInit(
errh_Info("Init of ao card '%s'", cp->Name); errh_Info("Init of ao card '%s'", cp->Name);
/* Write the first 50 loops */
local->WriteFirst = 50;
cp->Local = local; cp->Local = local;
/* Caluclate polycoeff */ /* Caluclate polycoeff */
...@@ -205,9 +202,6 @@ static pwr_tStatus IoCardWrite( ...@@ -205,9 +202,6 @@ static pwr_tStatus IoCardWrite(
cop = (pwr_sClass_ChanAo*)chanp->cop; cop = (pwr_sClass_ChanAo*)chanp->cop;
sop = (pwr_sClass_Ao*)chanp->sop; sop = (pwr_sClass_Ao*)chanp->sop;
if (!feqf(*(pwr_tFloat32*)chanp->vbp, local->OldValue[i])
|| local->WriteFirst > 0 || cop->CalculateNewCoef || fixout
|| cop->TestOn || local->OldTestOn[i] != cop->TestOn) {
if (fixout) if (fixout)
value = cop->FixedOutValue; value = cop->FixedOutValue;
else if (cop->TestOn) else if (cop->TestOn)
...@@ -263,12 +257,10 @@ static pwr_tStatus IoCardWrite( ...@@ -263,12 +257,10 @@ static pwr_tStatus IoCardWrite(
continue; continue;
} else } else
local->OldValue[i] = value; local->OldValue[i] = value;
}
local->OldTestOn[i] = cop->TestOn; local->OldTestOn[i] = cop->TestOn;
chanp++; chanp++;
} }
if (local->WriteFirst)
local->WriteFirst--;
/* Fix for qbus errors */ /* Fix for qbus errors */
local->ErrScanCnt++; local->ErrScanCnt++;
......
...@@ -69,7 +69,6 @@ typedef struct { ...@@ -69,7 +69,6 @@ typedef struct {
unsigned int bfb_item; unsigned int bfb_item;
pwr_tFloat32 OldValue[IO_MAXCHAN]; pwr_tFloat32 OldValue[IO_MAXCHAN];
pwr_tBoolean OldTestOn[IO_MAXCHAN]; pwr_tBoolean OldTestOn[IO_MAXCHAN];
int WriteFirst;
unsigned int ErrReset; unsigned int ErrReset;
unsigned int ErrScanCnt; unsigned int ErrScanCnt;
int FirstScan; int FirstScan;
...@@ -139,8 +138,6 @@ static pwr_tStatus IoCardInit( ...@@ -139,8 +138,6 @@ static pwr_tStatus IoCardInit(
errh_Info("Init of ao card '%s'", cp->Name); errh_Info("Init of ao card '%s'", cp->Name);
/* Write the first 50 loops */
local->WriteFirst = 50;
cp->Local = local; cp->Local = local;
/* Caluclate polycoeff */ /* Caluclate polycoeff */
...@@ -254,9 +251,6 @@ static pwr_tStatus IoCardWrite( ...@@ -254,9 +251,6 @@ static pwr_tStatus IoCardWrite(
} }
/* Convert and write */ /* Convert and write */
if (!feqf(*(pwr_tFloat32*)chanp->vbp, local->OldValue[i])
|| local->WriteFirst > 0 || cop->CalculateNewCoef || fixout
|| cop->TestOn || local->OldTestOn[i] != cop->TestOn) {
if (fixout) if (fixout)
value = cop->FixedOutValue; value = cop->FixedOutValue;
else if (cop->TestOn) else if (cop->TestOn)
...@@ -321,12 +315,10 @@ static pwr_tStatus IoCardWrite( ...@@ -321,12 +315,10 @@ static pwr_tStatus IoCardWrite(
continue; continue;
} else } else
local->OldValue[i] = value; local->OldValue[i] = value;
}
local->OldTestOn[i] = cop->TestOn; local->OldTestOn[i] = cop->TestOn;
chanp++; chanp++;
} }
if (local->WriteFirst)
local->WriteFirst--;
if (local->FirstScan) if (local->FirstScan)
local->FirstScan = 0; local->FirstScan = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment