Fix everything
[matches/MCTX3420.git] / server / actuators / pregulator.c
1 #include "pregulator.h"
2 #include "../bbb_pin.h"
3
4 #define PREGULATOR_PWM ECAP0
5 #define PREGULATOR_PERIOD 16666667
6
7 /**
8  * Initiliase the pressure regulator
9  */
10 bool Pregulator_Init(const char * name, int id)
11 {
12         return PWM_Export(PREGULATOR_PWM) && PWM_Set(PREGULATOR_PWM, false, PREGULATOR_PERIOD, 0);
13 }
14
15 bool Pregulator_Cleanup(int id)
16 {
17         if (!PWM_Set(PREGULATOR_PWM, false, PREGULATOR_PERIOD, 0))
18                 return false;
19         PWM_Unexport(PREGULATOR_PWM);
20         return true;
21 }
22
23 bool Pregulator_Set(int id, double value)
24 {
25         return PWM_Set(PREGULATOR_PWM, false, PREGULATOR_PERIOD, value*(PREGULATOR_PERIOD));
26 }
27
28 bool Pregulator_Sanity(int id, double value)
29 {
30         return (value >= 0.0 && value <= 1.0);
31 }
32

UCC git Repository :: git.ucc.asn.au