X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;ds=sidebyside;f=client%2Finterface.h;h=24e5c370e866e23841ae2cea095da2c0aaaf0d6c;hb=3fe035b92e9bc0b745c57db64e78461b2f36b6d1;hp=f3920eb60bb45b1b815af6f8523bba6d3baef90f;hpb=6c8939998c64aafb8cdfa40e52a227bf72767648;p=mTask.git diff --git a/client/interface.h b/client/interface.h index f3920eb..24e5c37 100644 --- a/client/interface.h +++ b/client/interface.h @@ -1,37 +1,93 @@ #ifndef INTERFACE_H #define INTERFACE_H +#ifdef __cplusplus +extern "C" { +#endif + #include #include #include -#ifndef STM +#ifdef LINUX +#define NAPINS 128 +#define NDPINS 128 +#define STACKSIZE 1024 +#define MEMSIZE 1024 +#define HAVELED 1 +#define HAVEAIO 1 +#define HAVEDIO 1 + extern int gargc; extern char **gargv; + +#elif defined STM +#define NAPINS 128 +#define NDPINS 128 +#define STACKSIZE 1024 +#define MEMSIZE 1024 +#define HAVELED 1 +#define HAVEAIO 1 +#define HAVEDIO 1 + +#elif defined ARDUINO_ESP8266_NODEMCU +#define NAPINS 128 +#define NDPINS 128 +#define STACKSIZE 1024 +#define MEMSIZE 1024 +#define HAVELED 0 +#define HAVEAIO 0 +#define HAVEDIO 0 + +#elif defined ARDUINO_AVR_UNO +#define NAPINS 128 +#define NDPINS 128 +#define STACKSIZE 64 +#define MEMSIZE 256 +#define HAVELED 0 +#define HAVEAIO 0 +#define HAVEDIO 0 +#else +//Add you device here #endif #define read16() 256*(uint8_t)read_byte() + (uint8_t)read_byte() #define from16(a, b) 256*a+b -#define write16(i) { write_byte((uint8_t)i/256); write_byte((uint8_t)i%256); } +#define write16(i) { write_byte((uint8_t)(i/256)); write_byte((uint8_t)(i%256)); } + +/* Communication */ +bool input_available(void); uint8_t read_byte(void); void write_byte(uint8_t b); +/* Analog and digital pins */ +#if HAVEDIO == 1 void write_dpin(uint8_t i, bool b); bool read_dpin(uint8_t i); - +#endif +#if HAVEAIO == 1 void write_apin(uint8_t i, uint8_t a); uint8_t read_apin(uint8_t i); +#endif +/* UserLED */ +#if HAVELED == 1 void led_on(uint8_t i); void led_off(uint8_t i); +#endif -long millis(void); -bool input_available(void); -void delay(long ms); +/* Delay and communication */ +unsigned long getmillis(void); +void msdelay(unsigned long ms); -void setup(void); +/* Auxilliary */ +void real_setup(void); void debug(char *fmt, ...); void pdie(char *s); void die(char *fmt, ...); +void reset(void); +#ifdef __cplusplus +} +#endif #endif