8e8f48f75e
cpu/nrf52: add multi UART support for nrf52840
2019-01-25 15:51:49 +01:00
55e50d3015
Merge pull request #10858 from miri64/socket_zep/fix/ubsan-timestamp
...
socket_zep: fix undefined timestamp conversion behavior
2019-01-25 09:13:07 +01:00
Martine Lenders
83bc4b162f
socket_zep: fix undefined timestamp conversion behavior
2019-01-24 14:05:31 +01:00
Sebastian Meiling
907b761750
Merge pull request #10792 from gschorcht/esp8266_esp_wifi_netdev
...
esp8266: esp_wifi netdev driver
2019-01-24 12:09:46 +01:00
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
Gaëtan Harter
9cd50a693a
cpu/atmega_common: do not export LINKFLAGS
...
This prevent evaluating `LINKFLAGS` when not needed and when building
in docker so does not produce errors if `avr-ld` is not installed.
```
BUILD_IN_DOCKER=1 BOARD=arduino-mega2560 make --no-print-directory -C examples/hello-world/ clean
/srv/ilab-builds/workspace/git/riot_master/makefiles/toolchain/gnu.inc.mk:18: objcopy not found. Hex file will not be created.
/bin/sh: 1: avr-ld: not found
```
It removes the `/bin/sh: 1: avr-ld: not found`
2019-01-23 18:32:40 +01:00
Peter Kietzmann
1f7292c358
Merge pull request #10764 from benemorius/kinetis-rtt-subseconds
...
cpu/kinetis/rtt: clear TPR when writing TSR
2019-01-23 15:15:29 +01:00
73fa699192
cpu/nrf5x: handle multiple exti pins in gpio driver
...
Each pin is associated to a given GPIOTE channel
2019-01-22 16:47:34 +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
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
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
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
Gunar Schorcht
0c12206503
cpu/esp8266: cpu configuration tuned
...
With the new ETS task handling thread, the stack sizes could be down sized.
2019-01-21 16:30:33 +01:00
Gunar Schorcht
66683050c5
cpu/esp8266: Makefile fixes for ets_task thread
...
Changes of ETS task handling require the context switch by software interrupt. The context switch based on interrupt is therefore enabled by default. Furthermore, the number of priority levels are increased due to the new additional thread.
2019-01-21 16:30:33 +01:00
Gunar Schorcht
906bdebb9a
cpu/esp8266: new ets_task thread
...
ETS tasks are now handled by a high priority RIOT thread
2019-01-21 16:30:33 +01:00
Gunar Schorcht
5020c30970
cpu/esp32: fix of maximum frame length in esp_wifi
...
Since complete MAC frames are handled, ETHERNET_MAX_LEN has to be used instead of ETHERNET_DATA_LEN for buffer sizes and length checks.
2019-01-21 15:26:18 +01:00
Gunar Schorcht
676a615996
cpu/esp32: fix of maximum frame length in esp_eth
...
Since complete MAC frames are handled, ETHERNET_MAX_LEN has to be used instead of ETHERNET_DATA_LEN for buffer sizes and length checks.
2019-01-21 15:25:43 +01:00
7313525035
atmega_common: refactor avr-libc-extra into avr_libc_extra module
2019-01-21 14:37:08 +01:00
Martine Lenders
f91f62155d
Merge pull request #10801 from gschorcht/esp32_fix_memset_opt
...
cpu/esp32: fixes the memset optimization problem in esp_wifi/wpa_supplicant
2019-01-18 22:31:42 +01:00
Martine Lenders
4e53f0fa76
nrfmin: fix type for NETOPT_PROTO
...
The type [is documented as `gnrc_nettype_t`][1] so it should by checked
as such.
[1]: f9a3bdf1a7/sys/include/net/netopt.h (L210-L212)
2019-01-18 18:14:00 +01:00