@@ -72,6 +72,8 @@ int db_open() {
72
72
int rc = sqlite3_open (db_file_name, &db);
73
73
if (rc) {
74
74
Serial.print (F (" Can't open database: " ));
75
+ Serial.print (sqlite3_extended_errcode (db));
76
+ Serial.print (" " );
75
77
Serial.println (sqlite3_errmsg (db));
76
78
return rc;
77
79
} else
@@ -91,6 +93,8 @@ int db_exec(const char *sql) {
91
93
int rc = sqlite3_exec (db, sql, callback, (void *)data, &zErrMsg);
92
94
if (rc != SQLITE_OK) {
93
95
Serial.print (F (" SQL error: " ));
96
+ Serial.print (sqlite3_extended_errcode (db));
97
+ Serial.print (" " );
94
98
Serial.println (zErrMsg);
95
99
sqlite3_free (zErrMsg);
96
100
} else
@@ -183,7 +187,7 @@ void deleteFile(fs::FS &fs, const char *path) {
183
187
}
184
188
185
189
enum {CHOICE_OPEN_DB = 1 , CHOICE_EXEC_SQL, CHOICE_EXEC_MULTI_SQL, CHOICE_CLOSE_DB,
186
- CHOICE_LIST_FOLDER, CHOICE_RENAME_FILE, CHOICE_DELETE_FILE};
190
+ CHOICE_LIST_FOLDER, CHOICE_RENAME_FILE, CHOICE_DELETE_FILE, CHOICE_SHOW_FREE_MEM };
187
191
int askChoice () {
188
192
Serial.println ();
189
193
Serial.println (F (" Welcome to SQLite console!!" ));
@@ -199,6 +203,7 @@ int askChoice() {
199
203
Serial.println (F (" 5. List folder contents" ));
200
204
Serial.println (F (" 6. Rename file" ));
201
205
Serial.println (F (" 7. Delete file" ));
206
+ Serial.println (F (" 8. Show free memory" ));
202
207
Serial.println ();
203
208
Serial.print (F (" Enter choice: " ));
204
209
return input_num ();
@@ -306,8 +311,14 @@ void loop() {
306
311
}
307
312
}
308
313
break ;
314
+ case CHOICE_SHOW_FREE_MEM:
315
+ Serial.printf (" \n Heap size: %d\n " , ESP.getHeapSize ());
316
+ Serial.printf (" Free Heap: %d\n " , esp_get_free_heap_size ());
317
+ Serial.printf (" Min Free Heap: %d\n " , esp_get_minimum_free_heap_size ());
318
+ Serial.printf (" Largest Free block: %d\n " , heap_caps_get_largest_free_block ());
319
+ break ;
309
320
default :
310
321
Serial.println (F (" Invalid choice. Try again." ));
311
322
}
312
323
313
- }
324
+ }
0 commit comments