37407291aa702b0c1509fc8af1eb89f871888d2d
[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 500000
6 //16666667
7
8 /**
9  * Initiliase the pressure regulator
10  */
11 bool Pregulator_Init(const char * name, int id)
12 {
13         return PWM_Export(PREGULATOR_PWM) && PWM_Set(PREGULATOR_PWM, false, PREGULATOR_PERIOD, 0);
14 }
15
16 bool Pregulator_Cleanup(int id)
17 {
18         if (!PWM_Set(PREGULATOR_PWM, false, PREGULATOR_PERIOD, 0))
19                 return false;
20         PWM_Unexport(PREGULATOR_PWM);
21         return true;
22 }
23
24 bool Pregulator_Set(int id, double value)
25 {
26         return PWM_Set(PREGULATOR_PWM, false, PREGULATOR_PERIOD, value*(PREGULATOR_PERIOD));
27 }
28
29 bool Pregulator_Sanity(int id, double value)
30 {
31         return (value >= 0.0 && value <= 1.0);
32 }
33

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