// Handle system information variables and print their value, returns the number of // characters appended to buff int ICACHE_FLASH_ATTR printGlobalInfo(char *buff, int buflen, char *token) { if (TOKEN("si_chip_id")) { return os_sprintf(buff, "0x%x", system_get_chip_id()); } else if (TOKEN("si_freeheap")) { return os_sprintf(buff, "%dKB", system_get_free_heap_size()/1024); } else if (TOKEN("si_uptime")) { uint32 t = system_get_time() / 1000000; // in seconds return os_sprintf(buff, "%dd%dh%dm%ds", t/(24*3600), (t/(3600))%24, (t/60)%60, t%60); } else if (TOKEN("si_boot_version")) { return os_sprintf(buff, "%d", system_get_boot_version()); } else if (TOKEN("si_boot_address")) { return os_sprintf(buff, "0x%x", system_get_userbin_addr()); } else if (TOKEN("si_cpu_freq")) { return os_sprintf(buff, "%dMhz", system_get_cpu_freq()); } else { return 0; } }
uint8_t EspClass::getBootVersion(void) { return system_get_boot_version(); }
/* ====================================================================== Function: getSysJSONData Purpose : Return JSON string containing system data Input : Response String Output : - Comments: - ====================================================================== */ void getSysJSONData(String & response) { response = ""; char buffer[32]; int32_t adc = ( 1000 * analogRead(A0) / 1024 ); // Json start response += F("[\r\n"); response += "{\"na\":\"Uptime\",\"va\":\""; response += sysinfo.sys_uptime; response += "\"},\r\n"; response += "{\"na\":\"WifInfo Version\",\"va\":\"" WIFINFO_VERSION "\"},\r\n"; response += "{\"na\":\"Compile le\",\"va\":\"" __DATE__ " " __TIME__ "\"},\r\n"; response += "{\"na\":\"SDK Version\",\"va\":\""; response += system_get_sdk_version() ; response += "\"},\r\n"; response += "{\"na\":\"Chip ID\",\"va\":\""; sprintf_P(buffer, "0x%0X",system_get_chip_id() ); response += buffer ; response += "\"},\r\n"; response += "{\"na\":\"Boot Version\",\"va\":\""; sprintf_P(buffer, "0x%0X",system_get_boot_version() ); response += buffer ; response += "\"},\r\n"; response += "{\"na\":\"Flash Real Size\",\"va\":\""; response += formatSize(ESP.getFlashChipRealSize()) ; response += "\"},\r\n"; response += "{\"na\":\"Firmware Size\",\"va\":\""; response += formatSize(ESP.getSketchSize()) ; response += "\"},\r\n"; response += "{\"na\":\"Free Size\",\"va\":\""; response += formatSize(ESP.getFreeSketchSpace()) ; response += "\"},\r\n"; response += "{\"na\":\"Analog\",\"va\":\""; adc = ( (1000 * analogRead(A0)) / 1024); sprintf_P( buffer, PSTR("%d mV"), adc); response += buffer ; response += "\"},\r\n"; FSInfo info; SPIFFS.info(info); response += "{\"na\":\"SPIFFS Total\",\"va\":\""; response += formatSize(info.totalBytes) ; response += "\"},\r\n"; response += "{\"na\":\"SPIFFS Used\",\"va\":\""; response += formatSize(info.usedBytes) ; response += "\"},\r\n"; response += "{\"na\":\"SPIFFS Occupation\",\"va\":\""; sprintf_P(buffer, "%d%%",100*info.usedBytes/info.totalBytes); response += buffer ; response += "\"},\r\n"; // Free mem should be last one response += "{\"na\":\"Free Ram\",\"va\":\""; response += formatSize(system_get_free_heap_size()) ; response += "\"}\r\n"; // Last don't have comma at end // Json end response += F("]\r\n"); }