actually working code
[mTask.git] / int / interface.c
1 #include <stdbool.h>
2 #include <stdint.h>
3 #include <stdlib.h>
4 #include <string.h>
5 #include <stdarg.h>
6
7 #include "interface.h"
8 #include "ch.h"
9 #include "hal.h"
10
11 //Globals
12 bool input_available(void)
13 {
14 return iqGetFullI(&(&SD3)->iqueue)>0;
15 }
16
17 uint8_t read_byte(void)
18 {
19 return sdGet(&SD3);
20 }
21
22 void write_byte(uint8_t b)
23 {
24 sdPut(&SD3, b);
25 }
26
27 void write_dpin(uint8_t i, bool b)
28 {
29 (void) i;
30 (void) b;
31 }
32
33 bool read_dpin(uint8_t i)
34 {
35 return 0;
36 (void) i;
37 }
38
39 void write_apin(uint8_t i, uint8_t a)
40 {
41 if(a){
42 if(i == 0){
43 palSetLine(LINE_LED1);
44 } else if(i == 1){
45 palSetLine(LINE_LED2);
46 } else if(i == 2){
47 palSetLine(LINE_LED3);
48 }
49 } else {
50 if(i == 0){
51 palClearLine(LINE_LED1);
52 } else if(i == 1){
53 palClearLine(LINE_LED2);
54 } else if(i == 2){
55 palClearLine(LINE_LED3);
56 }
57 }
58 }
59
60 uint8_t read_apin(uint8_t i)
61 {
62 return 0;
63 (void) i;
64 }
65
66 long millis(void){
67 return ST2MS(chVTGetSystemTime());
68 }
69
70 void delay(long ms)
71 {
72 chThdSleepMilliseconds(ms);
73 }
74
75 void setup(void)
76 {
77 halInit();
78 chSysInit();
79 sdStart(&SD3, NULL);
80 }
81
82 void debug(char *fmt, ...)
83 {
84 unsigned int i;
85 write_byte('m');
86 for(i = 0; i<strlen(fmt); i++){
87 write_byte((uint8_t)fmt[i]);
88 }
89 write_byte('\n');
90 #ifdef DEBUG
91 #endif
92 (void)fmt;
93 }
94
95 void pdie(char *s)
96 {
97 (void)s;
98 }
99
100 void die(char *fmt, ...)
101 {
102 (void)fmt;
103 }