blob: aed2d71a5b4abede1ca55e133465477d5e7dd03f [file] [log] [blame]
Brian Silvermanf92396c2013-09-12 20:13:13 -07001#include "digital.h"
2
3#include "FreeRTOS.h"
4
5inline int readGPIO_inline(int major, int minor) {
6 switch (major) {
7 case 0:
8 return readGPIO(GPIO0, minor);
9 case 1:
10 return readGPIO(GPIO1, minor);
11 case 2:
12 return readGPIO(GPIO2, minor);
13 default:
14 return -1;
15 }
16}
17
18int digital(int channel) {
19 if (channel < 1) {
20 return -1;
21 } else if (channel < 7) {
22 int chan = channel + 3;
23 return readGPIO(GPIO0, chan);
24 } else if (channel < 13) {
25 int chan = channel - 7;
26 return readGPIO(GPIO2, chan);
27 }
28 return -1;
29}
30
31int dip_switch(int channel) {
32 switch (channel) {
33 case 0:
34 return readGPIO(GPIO1, 29);
35 case 1:
36 return readGPIO(GPIO2, 13);
37 case 2:
38 return readGPIO(GPIO0, 11);
39 case 3:
40 return readGPIO(GPIO0, 10);
41 default:
42 return -1;
43 }
44}
45
46int is_bot3;
47void digital_init(void) {
48 is_bot3 = 0;
49}