#pragma once #define _GNU_SOURCE 1 #include "compiler.h" /* Standard C headers */ #include #include #include #include #include #include /* Arduino headers */ #include #include /* ESP-IDF headers */ #include #include #include #include #include "xmalloc.h" #ifndef MODULE # define MODULE "" #endif #if DEBUG # define CMSG(...) printf(__VA_ARGS__) #else # define CMSG(...) ((void)0) #endif #define MSG(...) CMSG(MODULE ": " __VA_ARGS__) /* * Common types for callbacks */ typedef void *token_t; typedef int (*read_func_t)(token_t token, void *buf, size_t len); typedef int (*write_func_t)(token_t token, const void *buf, size_t len); /* * Sleep thread... */ static inline void suspend(void) { vTaskSuspend(NULL); } /* * Reboot system */ extern_c void reboot_now(void); extern_c int reboot_delayed(void); /* * Board version */ extern_c uint8_t max80_board_version;