- /*
-
- UTILS MODULE
-
- Copyright (C) 2017-2019 by Xose Pérez <xose dot perez at gmail dot com>
-
- */
-
- #pragma once
-
- #include "espurna.h"
-
- struct heap_stats_t {
- uint32_t available;
- uint16_t usable;
- uint8_t frag_pct;
- };
-
- PROGMEM const char pstr_unknown[] = "UNKNOWN";
-
- #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();
-
- int getHeartbeatMode();
- unsigned long getHeartbeatInterval();
- void heartbeat();
-
- String getAdminPass();
- String getBoardName();
- String buildTime();
- unsigned long getUptime();
- bool haveRelaysOrSensors();
-
- void getHeapStats(heap_stats_t& stats);
- heap_stats_t getHeapStats();
- void wtfHeap(bool value);
- unsigned int getFreeHeap();
- void setInitialFreeHeap();
- unsigned int getInitialFreeHeap();
-
- void infoHeapStats(const char* name, const heap_stats_t& stats);
- void infoHeapStats(bool show_frag_stats = true);
- void infoMemory(const char * name, unsigned int total_memory, unsigned int free_memory);
- void infoUptime();
- 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);
-
- bool eraseSDKConfig();
-
- char * ltrim(char * s);
- char * strnstr(const char * buffer, const char * token, size_t n);
- bool isNumber(const char * s);
-
- 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);
|