Merge branch 'master' of gitlab.science.ru.nl:mlubbers/mTask
[mTask.git] / client / interface.h
index 9e81810..e6b14db 100644 (file)
@@ -1,34 +1,51 @@
 #ifndef INTERFACE_H
 #define INTERFACE_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdarg.h>
 
 #ifdef LINUX
-#define MAXTASKS 5
-#define MAXSDSS 100
+#define APINS 128
+#define DPINS 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 MAXTASKS 5
-#define MAXSDSS 100
+#define APINS 128
+#define DPINS 128
+#define STACKSIZE 1024
+#define MEMSIZE 1024
 #define HAVELED 1
-#define HAVEAIO 1
-#define HAVEDIO 1
 
+#elif defined ARDUINO_ESP8266_NODEMCU
+#define APINS 128
+#define DPINS 128
+#define STACKSIZE 1024
+#define MEMSIZE 1024
+#define HAVELED 0
+
+#elif defined ARDUINO_AVR_UNO
+#define APINS 128
+#define DPINS 128
+#define STACKSIZE 64
+#define MEMSIZE 256
+#define HAVELED 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);
@@ -36,11 +53,11 @@ uint8_t read_byte(void);
 void write_byte(uint8_t b);
 
 /* Analog and digital pins */
-#if HAVEDIO == 1
+#if DPINS > 0
 void write_dpin(uint8_t i, bool b);
 bool read_dpin(uint8_t i);
 #endif
-#if HAVEAIO == 1
+#if APINS > 0
 void write_apin(uint8_t i, uint8_t a);
 uint8_t read_apin(uint8_t i);
 #endif
@@ -52,13 +69,17 @@ void led_off(uint8_t i);
 #endif
 
 /* Delay and communication */
-long millis(void);
-void delay(long ms);
+unsigned long getmillis(void);
+void msdelay(unsigned long ms);
 
 /* Auxilliary */
-void setup(void);
+void real_setup(void);
 void debug(char *fmt, ...);
 void pdie(char *s);
 void die(char *fmt, ...);
+void reset(void);
 
+#ifdef __cplusplus
+}
+#endif
 #endif