1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

21075 Commits

Author SHA1 Message Date
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