X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=client%2Finterface.h;h=9e1629246f396f722717573d1f19745322484294;hb=09b207a39b7791098daafd7d87c3ad9d3db3e19f;hp=f3920eb60bb45b1b815af6f8523bba6d3baef90f;hpb=6c8939998c64aafb8cdfa40e52a227bf72767648;p=mTask.git diff --git a/client/interface.h b/client/interface.h index f3920eb..9e16292 100644 --- a/client/interface.h +++ b/client/interface.h @@ -1,37 +1,78 @@ #ifndef INTERFACE_H #define INTERFACE_H +#ifdef __cplusplus +extern "C" { +#endif + #include #include #include -#ifndef STM +#ifdef LINUX +#define MAXTASKS 5 +#define MAXSDSS 100 +#define HAVELED 1 +#define HAVEAIO 1 +#define HAVEDIO 1 + extern int gargc; extern char **gargv; + +#elif defined STM +#define MAXTASKS 5 +#define MAXSDSS 100 +#define HAVELED 1 +#define HAVEAIO 1 +#define HAVEDIO 1 + +#elif defined ARDUINO_ESP8266_NODEMCU +#define MAXTASKS 5 +#define MAXSDSS 100 +#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); } + +/* 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, ...); +#ifdef __cplusplus +} +#endif #endif