82 lines
1.6 KiB
C
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
|