summaryrefslogtreecommitdiff
path: root/AT91SAM7S256/Source/c_output.c
diff options
context:
space:
mode:
authorNicolas Schodet2011-01-29 00:54:42 +0100
committerNicolas Schodet2011-02-09 00:55:55 +0100
commit9ac9938748901f8f6f6f73fa751349cdcc1dcd27 (patch)
tree6b198f534018d2f2ecb7fe1887b942c5a49ac7ca /AT91SAM7S256/Source/c_output.c
parentf3318727e0dc26e08157e9dd4e22ccbe29edc851 (diff)
add option to disable saturation in regulation intermediary values
When computing PID, the output code limit the value of P and I participation. This is a problem as this introduces non-linearities and limits the efficiency of P and I terms.
Diffstat (limited to 'AT91SAM7S256/Source/c_output.c')
-rw-r--r--AT91SAM7S256/Source/c_output.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/AT91SAM7S256/Source/c_output.c b/AT91SAM7S256/Source/c_output.c
index c39f725..a016361 100644
--- a/AT91SAM7S256/Source/c_output.c
+++ b/AT91SAM7S256/Source/c_output.c
@@ -58,6 +58,7 @@ void cOutputInit(void* pHeader)
pOut->Options = 0x00;
}
IOMapOutput.RegulationTime = REGULATION_TIME;
+ IOMapOutput.RegulationOptions = 0;
VarsOutput.TimeCnt = 0;
dOutputInit();
}
@@ -137,6 +138,7 @@ void cOutputCtrl(void)
}
}
dOutputSetRegulationTime(IOMapOutput.RegulationTime);
+ dOutputSetRegulationOptions(IOMapOutput.RegulationOptions);
dOutputCtrl();
cOutputUpdateIomap();
}