stuff
[matches/MCTX3420.git] / server / actuators / relays.c
1 #include "relays.h"
2 #include "../log.h"
3
4 #include "../bbb_pin.h"
5
6
7 static int GetGPIO(int id)
8 {
9         switch (id)
10         {
11                 case RELAY_CANSELECT:
12                         return 14;
13                 case RELAY_CANENABLE:
14                         return 115;
15                 case RELAY_MAIN:
16                         return 112;
17         }
18         Fatal("Unknown id %d", id);
19         return 0;
20 }
21
22 bool Relay_Init(const char * name, int id)
23 {
24         if (!GPIO_Export(GetGPIO(id)))
25                 return false;
26         return GPIO_Set(GetGPIO(id), false);
27 }
28
29 bool Relay_Cleanup(int id)
30 {
31         bool err = GPIO_Set(GetGPIO(id), false);
32         GPIO_Unexport(GetGPIO(id));
33         return err;
34 }
35
36 bool Relay_Set(int id, double value)
37 {
38         bool set = (bool)value;
39         return GPIO_Set(GetGPIO(id), set);
40 }
41
42 bool Relay_Sanity(int id, double value)
43 {
44         //bool set = (bool)value;
45         //TODO: Make a more sane sanity check
46         return true;
47         
48 }

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