5fd5c45 ยท 3 years ago 4 commits
 1#pragma once
 2
 3#include <ArduinoJson.h>
 4#include <LittleFS.h>
 5#include <ESP8266WiFi.h>
 6#include <ESP8266WebServer.h>
 7
 8extern DynamicJsonDocument readJsonFile(const char* fileName);
 9extern void writeJsonFile(const char* file_path, DynamicJsonDocument& doc);
10extern void listDir(const char* dirname, uint8_t levels);
11extern void storageInfo();
12extern void BLINK(int times);
13
14void listDir(const char* dirname, uint8_t levels) {
15  File root = LittleFS.open(dirname,"r");
16  if (!root) {
17    Serial.println("Failed to open directory");
18    return;
19  }
20
21  if (!root.isDirectory()) {
22    Serial.println("Not a directory");
23    return;
24  }
25
26  File file = root.openNextFile();
27  while (file) {
28    if (file.isDirectory()) {
29      Serial.println("-"+String(file.name()));
30      if (levels) {
31        listDir(file.name(), levels - 1);
32      }
33    } else {
34      Serial.print(" |- ");
35      Serial.print(file.name());
36      Serial.print("  SIZE: ");
37      Serial.print(file.size());
38      Serial.println(" bytes");
39    }
40
41    file = root.openNextFile();
42  }
43}
44
45DynamicJsonDocument readJsonFile(const char* file_path) {
46  DynamicJsonDocument doc(4000);
47  File file = LittleFS.open(file_path, "r");
48  deserializeJson(doc, file);
49  file.close();
50  return doc;
51}
52
53void writeJsonFile(const char* file_path, DynamicJsonDocument& doc) {
54  File file = LittleFS.open(file_path, "w");
55  serializeJson(doc, file);
56  file.close();
57}
58
59void storageInfo(){
60  FSInfo fs_info;
61  LittleFS.info(fs_info);
62  Serial.printf("LittleFS Total space: %u KB\n", fs_info.totalBytes/1000);
63  Serial.printf("LittleFS Used space: %u KB\n", fs_info.usedBytes/1000);
64  Serial.printf("LittleFS Free space: %u KB\n", (fs_info.totalBytes - fs_info.usedBytes)/1000);
65}
66
67void BLINK(int times) {
68  for (int counter = 0; counter < times * 2 ; counter++)
69  {
70    digitalWrite(BUILTIN_LED, counter % 2);
71    delay(500);
72  }
73}