#ifndef INTERFACE_H
#define INTERFACE_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include <stdbool.h>
#include <stdint.h>
#include <stdarg.h>
#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
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
/* 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, ...);
+#ifdef __cplusplus
+}
+#endif
#endif