demo
[mTask.git] / int / interface.h
1 #ifndef INTERFACE_H
2 #define INTERFACE_H
3
4 #include <stdbool.h>
5 #include <stdint.h>
6 #include <stdarg.h>
7
8 #ifndef STM
9 extern int gargc;
10 extern char **gargv;
11 #endif
12
13 #define read16() 256*(uint8_t)read_byte() + (uint8_t)read_byte()
14 #define from16(a, b) 256*a+b
15 #define write16(i) { write_byte((uint8_t)i/256); write_byte((uint8_t)i%256); }
16 uint8_t read_byte(void);
17 void write_byte(uint8_t b);
18
19 void write_dpin(uint8_t i, bool b);
20 bool read_dpin(uint8_t i);
21
22 void write_apin(uint8_t i, uint8_t a);
23 uint8_t read_apin(uint8_t i);
24
25 void led_on(uint8_t i);
26 void led_off(uint8_t i);
27
28 long millis(void);
29 bool input_available(void);
30 void delay(long ms);
31
32 void setup(void);
33 void debug(char *fmt, ...);
34 void pdie(char *s);
35 void die(char *fmt, ...);
36
37 #endif