summaryrefslogtreecommitdiff
path: root/digital
diff options
context:
space:
mode:
authorNicolas Schodet2012-05-01 10:18:56 +0200
committerNicolas Schodet2012-05-01 10:18:56 +0200
commit0b836fb53a65da995a9809994a9cff27cfe0e868 (patch)
tree06c3f8ddf6733e94c1fad46b4f594dcf086cd5e6 /digital
parentf96f7267ac27a2e661fb8ef7f9a90ac82babfe53 (diff)
digital/io-hub/src/guybrush: limit maximum requested pressure
Diffstat (limited to 'digital')
-rw-r--r--digital/io-hub/src/guybrush/pressure.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/digital/io-hub/src/guybrush/pressure.c b/digital/io-hub/src/guybrush/pressure.c
index f60d226d..a3da3f05 100644
--- a/digital/io-hub/src/guybrush/pressure.c
+++ b/digital/io-hub/src/guybrush/pressure.c
@@ -30,8 +30,11 @@
#include "output.h"
#include "mimot.h"
+/** Maximum pressure. */
+#define PRESSURE_MAX 1000
+
/** Hysteresis margin. */
-#define PRESSURE_MARGIN (1024 / 8)
+#define PRESSURE_MARGIN (PRESSURE_MAX / 16)
/** Pressure sensor connected ADC. */
#define PRESSURE_SENSOR_ADC 4
@@ -129,6 +132,7 @@ pressure_update (void)
void
pressure_set (uint16_t low)
{
+ low = UTILS_MIN (low, PRESSURE_MAX - PRESSURE_MARGIN);
pressure.low = low;
pressure.high = low + PRESSURE_MARGIN;
}