* Deprecate SPIFFS, move examples to LittleFS
SPIFFS has been a great filesystem, but it has significant problems in
many cases (and it's also pretty slow). Development seems to have
slowed/stopped on the upstream version, and we're not able to provide
support or fix the known issues with it as-is.
Deprecate SPIFFS variable.
Update all examples to use LittleFS instead of SPIFFS.
Also, minor cleanup on very old examples which has obsolete delays
waiting for the Serial port to come up, or which were stuck at 9600 baud
because of their ancient AVR heritage.
Fixes#7095
* Remove leftover debug code
* Clean up comments in some examples
* Update documentation on SPIFFS deprecation
* Fix host tests to avoid deprecation warnings
* Fix cut-n-paste error
* Restore SpeedTest.ino, adjust to allow custom FSes
Co-authored-by: Develo <deveyes@gmail.com>
* Simple i/f to turn on inverted logic on UART0.
* Refactor invert from HardwareSerial to uart
* Final refactoring of invert bits into config bitmap.
* Overload instead of default arg for subclassing.
* Prevent unwanted effects if setting invert on other than UART0 - only that has these flags defined and documented.
* Convert ESP8266WebServer* into templatized model
Supercedes #4912
Refactor the three versions of ESP8266WebServer and *WebServerSecure to a
single templated class. Use "using" to enable old, non-templated names to b
used (so no user changes required to compile or run).
Fixes#4908 and clean up the code base a lot.
Basic tests run (the ones in the example code).
No code changes are required in userland except for setting the SSL
certificates which now use a cleaner "getServer()" accessor and lets the
app use the native BearSSL calls on the WiFiClientSecure object.
@devyte should be proud, it removes virtuals and even has template specialization...
* Fix HTTPUpdate templates and examples
* Fix HTTPUpdateServer library build
Need to remove dot-a linkage since there are no .cpp files in the
directory anymore due to templates.
* Provide backward-compat names for updt template
Allow existing code to use the same well known names for
HTTPUpdateSecure.
* Remove ClientType from all templates, auto-infer
Remove the ClientType template parameter from all objects. Simplifies
the code and makes it more foolproof.
Add a "using" in each server to define the type of connection returned
by all servers, which is then used in the above templates automatically.
* Can safely include FS.h now that SD/SPIFFS unified
* Move the templates/objects to their own namespaces
* Fix merge issues with untemplated methods
* Address review comments
* Fix mock test, remove warnings inside test dir
Make the simple mock test CI job pass and clean up
any spurious warnings in the test directory.
There still are warnings in the libraries and core, but they
should be addressed in a separate PR.
GCC reports the following warning about ignoring the return value of
write() (to the console/UART in this instance).
common/MockUART.cpp: In function ‘void uart_do_write_char(int, char)’:
common/MockUART.cpp:67:8: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
write(uart_nr + 1, &c, 1);
~~~~~^~~~~~~~~~~~~~~~~~~~
Add a simple warning printout to STDERR which may not be the same as the
UART stream and could succeed.
* emulation on host: Add full UART driver emulation.
This PR replaces the high level Serial mock with a more complete
UART driver. This way the HardwareSerial works without any
modifications. Additionally the driver supports UART0 and UART1
at the same time (UART0 is directed to stdout and UART1 writes
to stderr). RX is implemented by switching the terminal into raw
non-blocking mode and injecting each key-press directly into the
FIFO of UART0. A new command line switch -c was added to ignore
CTRL-C and send it via serial as well. The decumentation was
updated accordingly.
Reading and setting of GPIOs does only write to stderr, when compiled
with D=1. But this is subject to be replaced with a proper GPIO emu
anyway. Reading from GPIO0 now returns 1 instead of 0 because this is
most likely a low active input.
* Fixed unused variable.
* Remove unused functions, as long as there are no debug macros using them.
* Move user_interface.cc from MOCK_CPP_FILES_EMU to MOCK_CPP_FILES.
* Move optimistic_yield() from user_interface.cpp to Arduino.cpp
* Remove atexit() weak declaration (fixes segfault when calling atexit).
* Improve resetting of terminal after program exit, convert \r to \r\n.
* Show error, when STDOUT is not a TTY, minor code cleanung.