It is that maybe less modification working on the components is better, so I just modified the platform
code of AES, SHA and so on.
ESP8266 has no real hardware AES, SHA or bignum peripheral, but some method can speed up the process of part
of upper algorithm, so I also added the platform code of AES, SHA, bignum, ARC, MD5.
ESP8266 has no platform of bignum, so users should not enable the bignum hardware at "menuconfig".
1. socket would block at send(), return -1 when set MSG_DONTWAIT
2. changed to ~MSG_DONTWAIT, send() will block until all payload send over
3. recv() should keep MSG_DONTWAIT attribute, otherwise will lead to low thoughtput
o Upgrading to latest upstream git version(29ab2aa). Mostly
updating FreeRTOS types.
o Adding `MQTTPacket_msgTypesToString` for debugging.
o Adding `taskYIELD` in `MutexUnlock`. This was required for my
sending thread to be able to get in between calls to `cycle` in
`MQTTRun`.
o Using CPPFLAGS to control which platform include to use. Make
the code closed to upstream's version.
o Replacing the few remaining tabs with spaces.
Merges https://github.com/espressif/ESP8266_RTOS_SDK/pull/203
- fix(esp8266):
- Adding includes for missing symbols.
- Removing unused variables.
- Skip unsupported packing pragmas.
- Add rom_functions.h for symbols that come from the ESP ROM. Add attributes on
ets_printf so GCC will check the syntax of the formatting string and types of
the arguments.
- Add ETS_GPIO_INTR_EN(DIS)ABLE macro.
- Use gpio_output_conf instead of gpio_output_set.
- fix(freertos):
- Define functions that are useful.
- Use correct printf symbols when printing.
- fix(lwip):
- Ignore the warning in sntp.
- fix(mqtt):
- `xTicksToWait` is unsigned, can't check for less than zero. Remove
unused variables.
- fix(newlib):
- `_free_r()` returns `void`, not `void *`.
- Adding includes for missing symbols.
- fix(ssl):
- Make sure functions always return a value.
Merges https://github.com/espressif/ESP8266_RTOS_SDK/pull/188