Files
ESP8266lib/Platforms.h

82 lines
1.6 KiB
C

#define WEMOS_D1_MINI 1
#define NODE_MCU 2
// https://blog.anto.io/wp-content/uploads/2016/12/esp32.png
// https://i.pinimg.com/originals/c6/57/83/c657835e84aaf91832a770ea0d7d0767.jpg
#define WROOM32_DEVKIT 32
#define TTGO 33
#define TEENSY_41 41
#define DESKTOP 99
#define ESP8266 (PLATFORM == WEMOS_D1_MINI) || (PLATFORM == NODE_MCU)
#define ESP32 (PLATFORM == WROOM32_DEVKIT) || (PLATFORM == TTGO)
#define TEENSY (PLATFORM == TEENSY_41)
#define IS_DESKTOP (PLATFORM == DESKTOP)
#ifndef PLATFORM
#error "PLATFORM compile time variable not defined"
#endif
#if (ESP32)
#pragma message "Using ESP32"
#define DELAY_US(us) ets_delay_us(us)
#define IN_FLASH
#elif (ESP8266)
#pragma message "Using ESP8266"
#define DELAY_US(us) os_delay_us(us)
#define IN_FLASH ICACHE_FLASH_ATTR
#elif (TEENSY)
#pragma message "Using Teensy"
#define DELAY_MS(ms) delay(ms)
#elif (IS_DESKTOP)
#pragma message "Using Desktop"
#define DELAY_MS(ms) delay(ms)
#else
#error "Platforms.h: unsupported platform";
#endif
//#define min(a,b) (a<b) ? (a) : (b)
//#define max(a,b) (a>b) ? (a) : (b)
//template <typename T> inline T min(const T a, const T b) {
// return (a<b) ? (a) : (b);
//}
//template <typename T> inline T max(const T a, const T b) {
// return (a>b) ? (a) : (b);
//}
#if ESP8266
#define sprintf os_sprintf
extern "C" {
#include "ets_sys.h"
#include "c_types.h"
#include "osapi.h"
#include "user_interface.h"
#include "mem.h"
#include "espconn.h"
}
#elif ESP32
#include <stdlib.h>
#include <string.h>
#endif
#if TEENSY
#define IRAM_ATTR
#endif