/* UTILS MODULE Copyright (C) 2017-2019 by Xose PĂ©rez */ #pragma once #include #include "system.h" #define INLINE inline __attribute__((always_inline)) extern "C" uint32_t _SPIFFS_start; extern "C" uint32_t _SPIFFS_end; void setDefaultHostname(); void setBoardName(); const String& getDevice(); const String& getManufacturer(); const String& getCoreVersion(); const String& getCoreRevision(); const String& getVersion(); String getAdminPass(); String getBoardName(); String buildTime(); bool haveRelaysOrSensors(); String getUptime(); void infoHeapStats(const char* name, const HeapStats& stats); void infoHeapStats(bool show_frag_stats = false); void infoMemory(const char* name, unsigned int total_memory, unsigned int free_memory); void info(bool first = false); bool sslCheckFingerPrint(const char * fingerprint); bool sslFingerPrintArray(const char * fingerprint, unsigned char * bytearray); bool sslFingerPrintChar(const char * fingerprint, char * destination); char* ltrim(char* s); char* strnstr(const char* buffer, const char* token, size_t n); bool isNumber(const String&); void nice_delay(unsigned long ms); double roundTo(double num, unsigned char positions); size_t hexEncode(const uint8_t* in, size_t in_size, char* out, size_t out_size); size_t hexDecode(const char* in, size_t in_size, uint8_t* out, size_t out_size); using TryParseIdFunc = size_t(*)(); bool tryParseId(const char* ptr, TryParseIdFunc limit, size_t& out);