Add buffering for all output to improve performance with many small strings
Update WebServer::write(uint8_t) to write to a buffer instead of sending single characters (or short strings) as small packets. Remove the other signatures of write so that the base ones in the Print class (which call write(uint8_t)) are used instead and simplify the writeP/printP definitions to do this too. This greatly improves the performance of pages which are built from a large number of small strings or values at the expense of a small additional amount of memory (which can be adjusted with the use of a new macro called WEBDUINO_OUTPUT_BUFFER_SIZE) and also saves ~85 bytes of flash.
Fix compilation now EthernetClient equality operator is overloaded
Remove comparison of m_client against NULL as this causes a compilation error since arduino/Arduino@ca37de4. Also initialize m_client with MAX_SOCK_NUMBER to make boolean test of m_client work correctly.
Local combee changes
Fix compiler warnings generated when compiling with -Wall flag.
The Command prototype has a char* parameter for the URL tail, but WebServer::dispatchCommand calls this with an empty string as a parameter if there is no URL. As gcc treats empty strings as const char*s this causes a warning to be emitted when compiling using -Wall, so suppress it by explicitly casting it to char*.
Convert some of the int and char variables to be unsigned int and unsigned char types. This prevents gcc generating the warnings "comparison between signed and unsigned integer expressions" and "array subscript has type 'char'", as well as having a nice side-effect of shaving 42 bytes off the compiled size when building for the Uno.
Add an additional set of brackets around the while loop condition in WebServer::printP to stop gcc emitting the warning "suggest parentheses around assignment used as truth value" when compiling using -Wall.
Correct the order of the initializer list so that gcc doesn't emit the warning "'WebServer::m_cmdCount' will be initialized after 'int WebServer::m_contentLength' when initialized here" when compiling using -Wall.
Remove the typedef storage class specifier from the declaration of the URLPARAM_RESULT enum as this is not required and causes gcc to emit the warning "'typedef' was ignored in this declaration" when compiling with -Wall.
Update Ben's tree
Update Ben's tree
Ported to Arduino Due platform
- Updated some comments - Fixed some failures in the source code - Added System.h and System.cpp to display RAM usage and uptime
Web_Net_Setup - Webinterface for network configuration
With this example Sketch it's possible to configure the network settings over a webinterface. It's simple to add some custom fields.
Corrections for Web_Params
- Corrected the comment in the my_failCmd function. - Remove declaration of int name_len and int value_len (not used)
The nextURLparam logic was broken. On succesfull parse would return URLPARAM_BOTH_OFLO
Remove deprecated prog_* data types
Fix issue #26 by moving read out of valueLen check so you don't end up in a situation where you loop without reading new bytes