http.getString() creates a temporary Arduino String object and fills text into dynamic memory on the heap. Calling the method .toCharArraycopies this text to a char array, wherever you defined it.
Immediately after that, the temporary String gets out of scope and the text on the heap is deleted again.
The return value of getString allocates and the deletes a char array in heap for a temporary String object.
For ESP8266HTTPClient and ESP32 HTTPClient library you can use writeToStream or getStream()to read the response without using String class with getString(), where stream is WiFiClient& stream = client.getStream();
getStream, returns the ...
This was an issue with the old Arduino IDE snap on Ubuntu. You can easily fix this by installing the new arduino snap:
snap install arduino
Then add your user to the dailout group:
sudo usermod -a -G dialout $USER
After this, reboot your device and open Arduino IDE.
Installing additional libraries
The Arduino IDE snap runs inside of a sandbox for ...
I fully agree with Edgar Bonet.
My opinion is keeping a 'matrix' is better, or actually one array (of structs), where each array elements stores all information for one measurement (which is stored inside one struct). This has some benefits:
Data of one measurement is consecutive in memory, so you can easily transfer it (to some external memory or sending ...