Gunar Schorcht
49f06efd38
cpu/esp8266: fix pbuf length check in esp_wifi
...
When the size of a received frame is checked, always the total length should be used instead of the length of the first lwIP pbuf in the pbuf chain. Otherwise, the check that the length does not exceed ETHERNET_MAX_LEN will always be true since the maximum size of one lwIP pbuf in a pbuf chain is 512 bytes.
2019-01-24 09:54:53 +01:00
Gunar Schorcht
88c65aff0b
cpu/esp8266: allow _esp_wifi_recv_cb during send
...
Receiption of a frame in _esp_wifi_recv_cb while sending has no effect and should be possible to increases the performance.
2019-01-24 09:39:45 +01:00
Gunar Schorcht
0920bbb4fb
cpu/esp8266: log message on reconnect in esp_wifi
2019-01-24 09:21:17 +01:00
Gunar Schorcht
92f6c1a7c6
cpu/esp8266: WiFi mode changed in esp_wifi
...
Although only the station interface is needed, the WiFi interface has to be used in SoftAP + Station mode. Otherwise the send function blocks sporadically. Since the SoftAP interface is not used, it is configured with a hidden SSID and a long beacon interval. Connections from other stations are not allowed.
2019-01-24 09:21:17 +01:00
Gunar Schorcht
538aac00ad
cpu/esp8266: fix of allocated pbuf in esp_wifi
2019-01-24 09:21:17 +01:00
Gunar Schorcht
e384f1e502
cpu/esp8266: send timeout handling in esp_wifi
...
A timeout was introduced if sending a frame takes to long time. In that case the WiFi interface disconnects and reconnects automatically to recover.
2019-01-24 09:21:17 +01:00
Gunar Schorcht
04ee2ebe15
cpu/esp8266: automatic reconnect in esp_wifi
...
A reconnect timer is used to try to reconnect every 20 secons if WiFi interface is in disconnected or connecting state.
2019-01-24 09:21:17 +01:00
Gunar Schorcht
87b87631a6
cpu/esp8266: functions that have to run in IRAM
...
Due to performance reasons _esp_wifi_recv_cb and _send have to be executed in IRAM.
2019-01-24 09:21:17 +01:00
Gunar Schorcht
96d0910d33
cpu/esp8266: avoid _esp_wifi_recv_cb during send
...
To avoid conflicts on receiption of a frame while sending, _esp_wifi_recv_cb should not executed while a frame is in transmission
2019-01-24 09:21:17 +01:00
Gunar Schorcht
78e0aa2a77
cpu/esp8266: usage of _esp_wifi_recv_cb
...
Overriding ethernet_input function _esp_wifi_recv_cb is only used when the WiFi interface is in connected state.
2019-01-24 09:21:17 +01:00
Gunar Schorcht
c5a9058ab9
cpu/esp8266: simplified error handling in esp_wifi
...
wifi_station_connect and wifi_stattion_disconnect never produce errors. Thus, error handling can be removed.
2019-01-24 09:21:17 +01:00
Gunar Schorcht
3225aaa387
cpu/esp8266: different conn states in esp_wifi
...
Different connection states defined to be able to realize a better connect/reconnect handling
2019-01-24 09:21:17 +01:00
Gunar Schorcht
88f6beeca2
cpu/esp8266: use SDK mem management for esp_wifi
...
Some SDK interrupt service routines obviously use malloc/free in the interrupt context. Because the rmutex-based lock/unlock approach of the malloc/free function suite of the newlib does not work in the interrupt context, the SDK memory management functions MUST therefore be used. To use the same memory management functions in RIOT as in the SDK, the malloc/free function suite has to be replaced by wrapper functions.
2019-01-24 09:21:17 +01:00
Gunar Schorcht
5a835e91ba
cpu/esp8266: fix some comments in esp_wifi
2019-01-24 09:21:17 +01:00
Gunar Schorcht
107e196b18
cpu/esp8266: fix of maximum frame length in esp_wif
...
Since complete MAC frames are handled, ETHERNET_MAX_LEN has to be used instead of ETHERNET_DATA_LEN for receive buffer size and length check.
2019-01-24 09:21:17 +01:00
Gunar Schorcht
0e46869e57
cpu/esp8266: react to "out of memory" in esp_wifi
2019-01-24 09:21:17 +01:00
Gunar Schorcht
35a751c245
cpu/esp8266: avoid send interruption in esp_wifi
2019-01-24 09:21:17 +01:00
Gunar Schorcht
f7998c2ad6
cpu/esp8266: automatic reconnect in esp_wifi
2019-01-24 09:21:17 +01:00
Gunar Schorcht
d6664dafad
cpu/esp8266: esp_wifi dbg msg changed to err msg
2019-01-24 09:21:17 +01:00
Gunar Schorcht
be3a2a4cb5
cpu/esp8266: fix compilation problem of esp_wif
2019-01-24 09:21:17 +01:00
Gunar Schorcht
698770ddb5
cpu/esp8266: fix esp_wifi stability issues
...
Fixes sporadic blocking of the wifi thread in esp_wifi_recv_cb function under heavy network load conditions when frames are coming in faster than they can be processed. Since esp_wifi_recv_cb function is not executed in interrupt context, the msg_send function used for ISR event can block when the message queue is full. With this change esp_wifi can be flooded with icmpv6 packets of maximum size without any problems over hours.
2019-01-24 09:21:17 +01:00
Gunar Schorcht
21db1ce224
cpu/esp8266: doc extended for esp_wifi
2019-01-24 09:21:17 +01:00
Gunar Schorcht
664566ce70
cpu/esp8266: makefile support for esp_wifi
2019-01-24 09:21:17 +01:00
Gunar Schorcht
04de1e75aa
cpu/esp8266: stack sizes tuned for esp_wifi
2019-01-24 09:21:17 +01:00
Gunar Schorcht
642c48f856
cpu/esp8266: add built-in WiFi netdev driver
2019-01-24 09:21:17 +01:00
af627606f0
Merge pull request #10836 from aabadie/pr/examples/bindist_cleanup
...
examples/bindist: cleanup and fix formatting in README
2019-01-22 11:22:52 +01:00
Martine Lenders
d3f8739a1e
Merge pull request #5949 from zhuoshuguo/add_timeout_module_to_gnrc_mac
...
gnrc_mac: add timeout module.
2019-01-22 10:34:30 +01:00
a4ad366a81
Merge pull request #10818 from cladmi/pr/compile_and_test_board
...
dist/tools/compile_and_test_for_board: add compile and test script
2019-01-22 08:56:31 +01:00
7e3c382547
Merge pull request #10653 from dylad/pr/saml1x_support
...
cpu/saml1x: add support for SAML10 and SAML11 MCUs (Cortex-M23)
2019-01-22 08:53:06 +01:00
Sebastian Meiling
0edf76d362
Merge pull request #9984 from kaspar030/refactor_atmega_libc
...
cpu/atmega_common: refactor AVR libc code into module
2019-01-22 08:41:37 +01:00
dc5aa2c1d4
examples/bindist: cleanup and fix formatting in README
2019-01-22 07:37:36 +01:00
Sebastian Meiling
e22e582049
Merge pull request #10656 from gschorcht/esp8266_ets_handling
...
cpu/esp8266: change of ETS task handling
2019-01-21 21:57:45 +01:00
94d6bafc28
Merge pull request #10831 from cladmi/pr/tests/adapt_tests_auto_lookup
...
tests/posix_semaphore: private sub functions for tests libs
2019-01-21 18:02:37 +01:00
Gaëtan Harter
8b4b2870ad
Merge pull request #10832 from aabadie/pr/tests/periph_dma_test_script
...
tests/periph_dma: add automatic testing of DMA over UART
2019-01-21 17:49:43 +01:00
Martine Lenders
c2f054275e
Merge pull request #10834 from gschorcht/esp32_eth_wifi_fix
...
cpu/esp32: fix of buffer sizes and length checking in esp_eth and esp_wifi
2019-01-21 17:21:08 +01:00
Dylan Laduranty
7afacf97e7
tests/*: add saml1*-xpro to BOARD_INSUFFICIENT_MEMORY
2019-01-21 17:11:32 +01:00
Dylan Laduranty
eaa8d83c23
examples/*: add saml1*-xpro to BOARD_INSUFFICIENT_MEMORY
2019-01-21 17:11:05 +01:00
Dylan Laduranty
762e5251b4
tests/unittests: disable optimization for test_atomic_inc_rollover
...
Disable optimization for this function only with CPU_SAML1X MCUs due to an internal crosscompiler bug
2019-01-21 17:10:19 +01:00
Dylan Laduranty
b3e1802677
pkg/qDSA: add support for cortex-M23
2019-01-21 17:08:48 +01:00
Dylan Laduranty
e838f0c291
board/saml11-xpro: add support for SAML11-XPRO board
2019-01-21 17:08:02 +01:00
Dylan Laduranty
2132f5b85b
board/saml10-xpro: add support for SAML10-XPRO board
2019-01-21 17:07:42 +01:00
Dylan Laduranty
99966b318a
board/common/saml1x: add common configuration
2019-01-21 17:07:18 +01:00
Dylan Laduranty
9450fa7dc3
cpu/sam0_common: add support for saml10/saml11
...
Add SAML10/SAML11 support through SAM0 because hardware IP are the same so reuse to avoid duplication
2019-01-21 17:06:58 +01:00
Dylan Laduranty
adeb19339c
cpu/saml1x: add support for saml10/saml11 MCUs
2019-01-21 17:05:04 +01:00
Dylan Laduranty
6d3fda7260
cpu/cortexm: add cortex-m23 support
2019-01-21 17:04:20 +01:00
Gaëtan Harter
872cfa120c
Merge pull request #10803 from aabadie/pr/boards/revert_forced_dma_feature
...
boards/stm32: revert forced use of dma feature in STM32 boards
2019-01-21 16:31:48 +01:00
Gunar Schorcht
e4b0ace841
cpu/esp8266: inc ets_task stack size for esp_now
2019-01-21 16:30:33 +01:00
Gunar Schorcht
b3906539f1
cpu/esp8266: fix ets_post when flash is written
...
During flash write access, the IROM cache cannot be used and is disabled therefore. During that time, ets_post crashes if a functions is called which is not in IRAM. Therefore thread_flags_set must not be called if IROM cache is disabled.
2019-01-21 16:30:33 +01:00
Gunar Schorcht
8076f393f3
cpu/esp8266: doc fixes for esp_task thread
2019-01-21 16:30:33 +01:00
Gunar Schorcht
09da830a2a
cpu/esp8266: doc update for ets_task thread
2019-01-21 16:30:33 +01:00