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

4216 Commits

Author SHA1 Message Date
de2f193da3
nrf802154: Fix timer behaviour of the IFS timer
The timer_clear function doesn't clear the hardware timer counter, but
is designed to clear the allocation of the channel. The consequence is
that the IFS timer here is not set to zero in the callback, but only
stopped at the current value. When the timer is started again, it has to
count the full timer range until it matches the timeout value again.

This commit fixes this issue by using timer_set instead of
timer_set_absolute. This way the current timer value (when the timer is
stopped) is read and the IFS timeout value is added to the current timer
value.
2019-03-15 13:39:09 +01:00
8c4760050e
nrf802154: Change timer frequency to match symbols rate
ieee802.15.4 specifies 40 symbols as LIFS value and 12 symbols as SIFS
value. Furthermore, the 2.4Ghz DSSS mode has a symbol rate of
62.5Ksymbols/s. To have the LIFS and SIFS in the code match the timings
from the specification, the TIMER_FREQ must match the symbol rate of
62.5Ksymbol/s such that one tick of the timer equals one symbol in time.
2019-03-15 13:38:32 +01:00
Semjon Kerner
6c84b4126f
Merge pull request #11138 from bergzand/pr/nrf802154/fix_fcs_lifs
nrf802154: take FCS into account for lifs/sifs calculation
2019-03-15 13:10:39 +01:00
Martine Lenders
eff3b5ec28 nrf52/radio: remove redundant message queue definition
Now that `GNRC_NETIF_MSG_QUEUE_SIZE` is set to 16 by default, this
command-line provided define is redundant.
2019-03-15 12:09:39 +01:00
Semjon Kerner
6d3b625f3f
Merge pull request #11133 from bergzand/pr/nrf802154/radio_info
nrf802154: Add rssi/lqi to received frames
2019-03-15 11:46:17 +01:00
Gunar Schorcht
5a782fe3b5 cpu/esp_common: esp_now doesn't call memcpy if iol_len is 0 2019-03-14 17:08:18 +01:00
Gunar Schorcht
06c59784b5 cpu/esp32: esp_eth doesn't call memcpy if iol_len is 0 2019-03-14 16:57:26 +01:00
Gunar Schorcht
ad57337c4e cpu/esp32: esp_wifi doesn't call memcpy if iol_len is 0 2019-03-14 16:11:24 +01:00
Francisco Acosta
de720730f6
Merge pull request #11127 from bergzand/pr/nrf52/ref_ldscripts
nrf52: use cortexm.ld script when applicable
2019-03-13 19:41:13 +01:00
Juan I Carrano
4af354852b
Merge pull request #11170 from haukepetersen/fix_nrf52840_dmafromrom
cpu/nrf52840: fix UART DMA when data is in ROM
2019-03-13 14:30:20 +01:00
Gunar Schorcht
55f433103b cpu/msp430_common: set top of heap for sbrk
Set __heap_end to current SP before entering thread mode to make the remaining RAM available as heap for module oneway_malloc.
2019-03-13 13:30:56 +01:00
Hauke Petersen
91057de140 cpu/nrf52840: fix UART DMA when data is in ROM 2019-03-13 13:05:36 +01:00
3163b8d6e2
nrf52: use cortexm.ld script when applicable
The common linker script is not used when the nordic_softdevice_ble is
included
2019-03-13 11:57:44 +01:00
francisco
e254235265 cpu/stm32_common: set ULP and regulator LP during stop/standby 2019-03-13 09:57:21 +01:00
francisco
4dda8abecb cpu/stm32l1: add support for STOP & STAND_BY mode 2019-03-13 09:57:17 +01:00
francisco
78c77c497a cpu/stm32_common: remove WKUP2 pin enable 2019-03-12 16:34:44 +01:00
b650f355c7
nrf802154: Add rssi/lqi to received frames
LQI calculation following the instructions from the datasheet. RSSI
calculation appears to only require the offset and not the scaling
factor
2019-03-12 15:11:13 +01:00
Juan I Carrano
b50ad9ed4c
Merge pull request #11040 from kaspar030/fix_hifive1_reset
boards/hifive1: fix hifive1 reset
2019-03-12 14:59:36 +01:00
847dc3d55c cpu/fe310: implement pm_reset() using watchdog 2019-03-12 11:49:02 +01:00
Gilles DOFFE
90f819eee2 cpu/native: return 0 if GPIO is an output in gpio_init
If the GPIO is in an output state, gpio_init() can return 0 without bad
consequences.
-1 was return until now.

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2019-03-11 01:44:22 +01:00
Gilles DOFFE
dc8a44ce14 cpu/native: correct emails in header
Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2019-03-11 01:44:22 +01:00
Gilles DOFFE
1da6a03f09 cpu/native: add pwm implementation
Simulate PWM signals with a 2 dimensions array.

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2019-03-11 01:44:22 +01:00
a142286d8d
cpu/nrf5x_common: add temperature periph driver 2019-03-08 21:14:21 +01:00
14a5e4924b
nrf802154: take FCS into account for lifs/sifs calculation 2019-03-07 20:26:39 +01:00
Sebastian Meiling
b98fdac01e
Merge pull request #9917 from gschorcht/esp8266
cpu/esp8266: esp-now network device support
2019-03-06 20:28:39 +01:00
7b9181ea6f
Merge pull request #11072 from benpicco/samd21_pm
samd21: enable idle modes
2019-03-06 13:55:08 +01:00
francisco
31e256734c cpu/stm32l0: fix CPU_ARCH definition from cortex-m0 to cortex-m0plus 2019-03-06 09:10:56 +01:00
Gunar Schorcht
00ac8ea69a cpu/esp8266: add init function in dummy lwIP
Calling the initialization function ensures that the dummy lwIP library is used instead of the real lwIP, even if the esp_wifi module for esp8266 is not used.
2019-03-05 16:43:45 +01:00
Gunar Schorcht
0ffc26919f cpu/esp_common: fix multicast version of esp_now 2019-03-05 16:43:45 +01:00
Gunar Schorcht
226e854a28 cpu/esp8266: doc fixes
The documentation had to be changed due to the relation of module `esp_now` to `esp_wifi` module. In addition, a number of corrections have been made. In the case of documentation, it is impossible to do this in various commits.
2019-03-05 16:43:45 +01:00
Gunar Schorcht
3d2df7114f cpu/esp8266: doc restructured for esp_now_netdev 2019-03-05 16:43:45 +01:00
Gunar Schorcht
cd1bd3811c cpu/esp8266: makefile support for esp_now_netdev 2019-03-05 16:43:45 +01:00
Gunar Schorcht
b6d15565be cpu/esp8266: macros required by esp_now_netdev 2019-03-05 16:43:45 +01:00
Gunar Schorcht
7c5e3a5ca2 cpu/esp: doc of esp_now_netdev changed for esp8266 2019-03-05 16:43:45 +01:00
Gunar Schorcht
84c23a1695 cpu/esp: support of esp_now_netdev for esp8266 2019-03-05 16:43:45 +01:00
Gunar Schorcht
0ddddcb13e cpu/esp: esp_now_params style fixes 2019-03-05 16:43:45 +01:00
Hauke Petersen
824fcf3c9d cpu/nrf52/nrf802154: unify address generation 2019-03-04 17:12:06 +01:00
Semjon Kerner
91787dcb5c cpu/nrf52: add 802.15.4 radio driver 2019-03-04 13:21:47 +01:00
Benjamin Valentin
5b0e427a52 samd21: enable idle modes
tested on samr21-xpro, UART and 802.15.4 still work as before, but
current draw drops from 12mA to 8mA.
2019-02-27 11:20:49 +01:00
1bc82c2378 cpu/fe310: periph/timer: reset counter in timer_init() 2019-02-21 11:34:59 +01:00
Marian Buschsieweke
646a7b79c8
cpu/nrf5x_common: Use NETOPT_MAX_DPU_SIZE
Updated nrfmin to use NETOPT_MAX_DPU_SIZE instead of the deprecated
NETOPT_MAX_PACKET_SIZE
2019-02-18 20:18:52 +01:00
Marian Buschsieweke
7a05fc09f3
cpu/esp_common: Use NETOPT_MAX_PDU_SIZE
Updated esp_now to use NETOPT_MAX_PDU_SIZE instead of the deprecated
NETOPT_MAX_PACKET_SIZE.
2019-02-18 20:18:50 +01:00
Gunar Schorcht
8e03e692ed cpu/esp8266: modified ld file for non-SDK version
Introduction of LoadStoreError handler requires new .UserExceptionTrampoline.tex section in ld script.
2019-02-10 13:55:42 +01:00
Gunar Schorcht
cda45fad8f cpu/esp8266: move most rodata sections to IROM
Usually, all .rodata sections are placed in RAM by the Espressif SDK since IROM (flash) access requires 32-bit word aligned reads. thanks to the LoadStoreError exception handler from esp-open-rtos which is used now in RIOT-OS, it is also possible to place .rodata sections in IROM (flash) to save RAM resources.
2019-02-09 20:04:15 +01:00
Gunar Schorcht
5201cd2c71 cpu/esp8266: add LoadStoreError exception handler
Usually, the access to the IROM (flash) memory requires 32-bit word aligned reads. Attempts to access data in the IROM (flash) memory less than 32 bits in size triggers a LoadStoreError exception. With the exception handler from esp-open-rtos it becomes possible to access data in IROM (flash) with a size of less than 32 bits and thus to place .rodata sections in the IROM (flash).
2019-02-09 17:48:40 +01:00
ZetaR60
1f9e1857f7
Merge pull request #9130 from kYc0o/cpu/atmega/unify_stacks
atmega: refactor cpu/board code and build/flash variables
2019-02-08 18:07:22 -05:00
Gunar Schorcht
f4a9f5a0d6 cpu/esp8266: netstats removed from esp_wifi 2019-02-07 15:44:04 +01:00
Sebastian Meiling
6037fa2536
Merge pull request #9666 from OYTIS/s9kea-pr1
kinetis: add support for S9KEAZ128
2019-02-07 11:44:36 +02:00
Yegor Yefremov
97d0851de1 cpu/stm32_common: fix UART documentation
Don't include overridden typedefs into doxygen as otherwise,
they'll appear twice.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-02-06 12:46:27 +01:00
Sebastian Meiling
3e5658d407
Merge pull request #10662 from gschorcht/esp32_gpio_fix
cpu/esp32: GPIO macro cleanup in periph_cpu.h
2019-02-05 22:23:09 +02:00
Francisco Acosta
2bdcdddd76 cpu/atmega*: make use of common atmega.inc.mk and remove redundancies
Everything is now defined in atmega.inc.mk, following the common
RIOT-like reusability of rules and variables (e.g. cortexm.inc.mk).
2019-02-05 17:12:03 +01:00
5a35e6e109
Merge pull request #10825 from maribu/fe310_periph_init
cpu/fe310: Add call to periph_init()
2019-02-05 13:12:45 +01:00
Gunar Schorcht
ecb26526df cpu/atmega_common: make RAM available as heap
Fills __malloc_heap_end with the current SP before it enters thread mode to make the remaining RAM available as a heap.
2019-02-05 02:19:58 +01:00
Vincent Dupont
2b6d0757f9 cpu/stm32_common: fix DMA releasing in UART driver 2019-02-04 14:26:39 -08:00
Martine Lenders
7220b66708
Merge pull request #10936 from miri64/sam0_common/fix/check-adc-numof
sam0_common: check ADC_NUMOF on adc_init()
2019-02-04 16:41:41 +01:00
Kees Bakker
458c95a854
Merge pull request #10914 from keestux/describe-saml1x-source
cpu/sam0_common: update README for SAML1x addition
2019-02-04 16:29:15 +01:00
Gunar Schorcht
d9706d1cd5 cpu/esp32: GPIO macro cleanup in periph_cpu.h
The default macros GPIO_PIN and GPIO_UNDEF do not have to be overridden. The GPIO_PIN macro definition was even wrong for 40 GPIOs without splitting into ports, even if that did not lead to erroneous behavior.
2019-02-04 14:31:53 +01:00
Martine Lenders
39e90502af sam0_common: check ADC_NUMOF on adc_init() 2019-02-04 09:28:13 +01:00
Kees Bakker
e4325ed802 cpu/sam0_common: update README for SAML1x addition
Rewrite the README to reflect the recent addition of SAMR30 and
SAML10/SAML11.
2019-02-01 23:33:31 +01:00
Dylan Laduranty
3995fd8761
Merge pull request #10880 from fedepell/sam0_write_intflag
sam0 flashpage: wait for READY bit in INTFLAG after write command
2019-02-01 21:55:08 +01:00
aa90f93de3
Merge pull request #10891 from kaspar030/fix_native_thread_yield_higher
cpu/native: fix race in thread_yield_higher()
2019-02-01 16:10:54 +01:00
smlng
6183d5f5c5 netdev: remove layer2 netstats from netdev drivers
Removing usage of netdev->stats in all net drivers, as it is
handled by gnrc_netif.
2019-02-01 11:25:27 +02:00
Kevin "Bear Puncher" Weiss
1d693403b6
Merge pull request #10743 from yegorich/uart-enhanced-settings
RFC: UART enhanced settings
2019-01-31 17:11:28 +01:00
Yegor Yefremov
60f745a033 cpu/stm32_common: add support for uart_mode routine
Add support for specifying data bits, stop bits and parity at
runtime.

Introduce feature periph_uart_modecfg for uart_mode() till all
other CPUs implement it.

STM32 L1, F1, F2, F4 supports following modes:

* 7E1, 7E2
* 7O1, 7O2
* 8N1, 8N2
* 8E1, 8E2
* 8O1, 8O2

STM32 L0, L4, F0, F3, F7 supports following modes:

* 6E1, 6E2
* 6O1, 6O2
* 7E1, 7E2
* 7O1, 7O2
* 7N1, 7N2
* 8N1, 8N2
* 8E1, 8E2
* 8O1, 8O2

Use USART_CR1_M1 macro to detect 7-bit support because
even inside one family there could be devices that don't
support 7-bit mode. So just using a family macro is not
enough.

As stated in the datasheets for L0, L4, F0, F3, F7 devices,
data bits can only be changed when UART is disabled (UE=0).
Introduce uart_stop() routine to satisfy this requirement.

STM32 UART adds parity to the MSB of a byte to send. The same
also applies to the received bytes. As a result this bit must
be masked in order to get the pure data.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-01-31 14:15:20 +01:00
21dda9474e
Merge pull request #10794 from aabadie/pr/cpu/saml21_exti_fix
cpu/saml21: extend and fix exti configuration for saml21 variants
2019-01-30 12:34:21 +01:00
7cf3510b64
cpu/saml21: extends exti configuration for saml21 variants
Added a configuration for saml21g18a and fixes the configuration for samr30g18a
2019-01-30 09:32:59 +01:00
Gunar Schorcht
66c4cf8647 cpu/esp8266: avoid WiFi going into sleep mode 2019-01-30 08:27:21 +01:00
Federico Pellegrin
318f0cf679 sam0 flashpage: make ready check inline, add wait also after PBC 2019-01-30 04:29:23 +01:00
Gunar Schorcht
57fdb23464 cpu/esp8266: fix compile problems 2019-01-29 23:25:31 +01:00
Federico Pellegrin
409d83e087 sam0 flashpage: minor code style fixes 2019-01-29 20:58:46 +01:00
Gunar Schorcht
975fba8265 cpu/esp8266: check free heap before pbuf alloc
Checking by the send function that at least two maximum size Ethernet frames fit in the remaining heap before the LwIP packet buffer is allocated seems to increase stability. This can be caused by the fact that WLAN hardware interrupts allocate additional memory when receiving a frame during the send attempt.
2019-01-29 18:16:21 +01:00
62bb4cc526 cpu/native: fix race condition in thread_yield_higher()
Error case:
1. thread_yield_higher() stores the thread's ucontext
2. creates an "isr ucontext" for isr_thread_yield, switches to it

Case 1: no signals are pending, continues in isr_thread_yield()
3a. sched_run is called
4a. return to sched_active_thread ucontext

Case 2: signals pending (the crashing scenario), continues in native_irq_handler()
3b. handles signals
4b. if sched_context_switch_request is set, call sched_run
5b. return to sched_active_thread ucontext

4b misses the call to sched_run(), leading to a possible return into a
non-ready thread.
2019-01-28 17:12:01 +01:00
Gunar Schorcht
c81138367b cpu/esp8266: dbg msg replaced by an error msg
The situation where the firmware `lwIP` packet buffer is exhausted is an important indication that the traffic sent to and sent from the esp8266 is more than the esp8266 is able to handle. Therefore, it should be an error message.
2019-01-27 12:14:18 +01:00
Federico Pellegrin
051be66b76 sam0 flashpage: wait for READY bit in INTFLAG after write command 2019-01-27 07:39:10 +01:00
Gunar Schorcht
fa48e3f51f cpu/esp8266: event handling for link up/down 2019-01-26 17:34:13 +01:00
Gunar Schorcht
4e41afa2fb cpu/esp8266: readable disconn reasons in esp_wifi 2019-01-26 17:33:28 +01:00
Gunar Schorcht
1a8a560bb5 cpu/esp8266: remove timeout handling in send func
It is not necessary to realize timeout handling in send function or to disconnect from AP if lwIP packet buffer is exhausted. Waiting that the frame allocated in lwIP packet buffer is freed by MAC layer led to the complete blockage of send function on heavy network load. Disconnecting from AP is counterproductive since reconnecting usually fails on heavy network load.
2019-01-26 17:32:04 +01:00
Gunar Schorcht
fa5fe7e48f cpu/esp8266: don't disconnect on pbuf full in send
Disconnecting from the AP in the send function if the lwIP packet buffer is exhausted is counterproductive since reconnecting usually fails on heavy network load. A better strategy is to slow down the sending of MAC frames from netif a bit to wait for flushing the buffer in the MAC layer.
2019-01-26 17:23:21 +01:00
Anton Gerasimov
19d2ef736c kinetis: limit scope of a variable in ics.c to make Codacy happy
Signed-off-by: Anton Gerasimov <tossel@gmail.com>
2019-01-26 15:53:05 +01:00
Anton Gerasimov
40bcfc9211 kinetis: add support for S9KEAZ128
Signed-off-by: Anton Gerasimov <anton.gerasimov@here.com>
2019-01-26 15:53:05 +01:00
Gunar Schorcht
5d0b447209 cpu/esp8266: auto reconnect in esp_wifi
It seems to be more stable and less memory consuming to use auto reconnect policy.
2019-01-25 23:59:42 +01:00
Gunar Schorcht
457ef97d74 cpu/esp8266: lwIP dummy functions added
Defines a number of lwIP functions that are required as symbols by Espressif's SDK libraries. These functions are only dummies without real functionality. Using these functions instead of real lwIP functions provided with the SDK saves arround 4 kBytes of RAM.
2019-01-25 23:59:42 +01:00
Gunar Schorcht
24b71a7fbe cpu/esp8266: call _recv directly in esp_wifi
Since _esp_wifi_recv_cb is not executed in interrupt context but in the context of the `ets` thread, it is not necessary to pass the`NETDEV_EVENT_ISR` event first. Instead, the receive function can be called directly which result in much faster handling, a less frame lost rate and more robustness.
2019-01-25 23:59:42 +01:00
Gunar Schorcht
f12606d7c0 cpu/esp8266: removes the mutex in esp_wifi
Since _esp_wifi_recv_cb is not executed in interrupt context but in the context of the `ets` thread, the receive function can be called directly. There is no need for a mutex anymore to synchronize the access to the receive buffer between _esp_wifi_recv_cb and _recv function.
2019-01-25 23:59:42 +01:00
Hauke Petersen
93e7d88f75
cpu/nrf5x: reworked and fixed UART driver 2019-01-25 15:52:25 +01:00
cb8c2b759e
cpu/nrf52: use UARTE device type for nrf52840
This requires to implement the use of EasyDMA for this kind of peripheral
2019-01-25 15:52:25 +01:00
336851e3bc
cpu/nrf52: add uart flow control on nrf52840 2019-01-25 15:51:50 +01:00
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
Dylan Laduranty
5dd51f2ec5 cpu/sam0_common: remove unneeded GCLK_SLOW setup in i2c driver 2019-01-22 09:29:42 +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
Marian Buschsieweke
08fba76fa6
cpu/fe310: Add call to periph_init()
Until now fe310's cpu_init() was missing a call to periph_init().
This commit adds this call.
2019-01-19 13:00:36 +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
Gunar Schorcht
c5e9f12243 doc: fix undocumented func in socket_zep_params.h 2019-01-18 07:18:06 +01:00
Cenk Gündoğan
1c712c79a4
Merge pull request #10781 from miri64/nrfmin/cleanup/long-addr
nrfmin: remove long address support
2019-01-17 20:04:03 +01:00
Gunar Schorcht
5bb05f0911 cpu/esp32: esp-wifi related doc changes 2019-01-17 17:10:43 +01:00
Gunar Schorcht
6a99e86b2f cpu/esp32: fix stability issues of esp_wifi
ESP-IDF heap handling has to be used for esp_wifi for stability reasons. Otherwise, heap is corrupted sporadically
2019-01-17 17:10:43 +01:00
Gunar Schorcht
f788928b27 cpu/esp32: 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-17 17:10:43 +01:00
Gunar Schorcht
6caead7bbc cpu/esp32: esp-wifi related doc changes 2019-01-17 17:10:43 +01:00
Gunar Schorcht
7754a3416c cpu/esp_common: doc fixes related to esp_wifi 2019-01-17 17:10:43 +01:00
Gunar Schorcht
cb37288ca5 cpu/esp32: redundant README.md removed
To avoid further inconsistencies in documentation, README.md is not provided any longer
2019-01-17 17:10:43 +01:00
Gunar Schorcht
1cf415a8a9 cpu/esp32: doc improvements in esp_wifi 2019-01-17 17:10:43 +01:00
Gunar Schorcht
e83a8679b4 cpu/esp32: cleanup esp_wifi config parameters 2019-01-17 17:10:43 +01:00
Gunar Schorcht
c0d4706bf8 cpu/esp32: fix of event types in esp_wifi 2019-01-17 17:10:43 +01:00
Gunar Schorcht
c9684af5c2 cpu/esp32: automatic reconnect after disconnect
If WiFi is disconnected, e.g., because of timeout for beacon frame, it is tried to reconnect automatically.
2019-01-17 17:10:43 +01:00
Gunar Schorcht
90e9c95c30 cpu/esp32: registration of RX callback in esp_wifi
RX callback function should be register when WiFi has been connected to AP successfully and should be unregistered when WiFi disconnects from AP. Therefore, esp_wifi_internal_reg_rxcb is called now in event handler on event SYSTEM_EVENT_STA_CONNECTED. It is reset now on event SYSTEM_EVENT_STA_DISCONNECTED.
2019-01-17 17:10:43 +01:00
Gunar Schorcht
f4cacc1e24 cpu/esp32: improved debug message in esp_wifi 2019-01-17 17:10:43 +01:00
Gunar Schorcht
2c3ac91cf3 cpu/esp32: move wifi_connect to event handler
Before function wifi_connect is executed, starting the WiFi driver should have been finished. This is indicated by the WiFi driver by sending event SYSTEM_EVENT_STA_START. Function wifi_connect is moved therefore to the event handler for SYSTEM_EVENT_STA_START.
2019-01-17 17:10:43 +01:00
Gunar Schorcht
8a1da21b1a cpu/esp32: fixes serious memory leak in esp_wifi
The buffer given by the WiFi driver as parameter eb has to be freed explicitly. Otherwise the esp_wifi_netdev stops working after some seconds.
2019-01-17 17:10:43 +01:00
Gunar Schorcht
3ef35e1b78 cpu/esp32: use static WiFi config in esp_wifi
The WiFi configuration has to be static to avoid memory access problems when WiFi AP is reconnected.
2019-01-17 17:10:43 +01:00
Gunar Schorcht
d24d73dadf cpu/esp32: fixes NETOPT_LINK_CONNECTED in esp_wifi
esp_wifi was simply returning the connection state instead of filling the referenced value.
2019-01-17 17:10:43 +01:00
Gunar Schorcht
2c97377585 cpu/esp32: fixes NETOPT_IS_WIRED in esp_wifi
esp_wifi returns false now.
2019-01-17 17:10:43 +01:00
Gunar Schorcht
078c47d79c cpu/esp32: fixes frame size handling in esp_wifi
The size of received and transmitted frames was stored in an uint8_t, which did not allow to process frames larger than 255 octets. However, WiFi has an MTU of 1500 octets.
2019-01-17 17:10:43 +01:00
Gunar Schorcht
c06172925a
Merge pull request #10766 from gschorcht/esp_compile_time_configs
cpu/esp*: compile time configurations for ESP MCUs
2019-01-17 16:39:26 +01:00
Gunar Schorcht
6c61b69164 cpu/esp32: os_memset redefinition
os_memset uses system_secure_memset.
2019-01-17 13:52:22 +01:00
Gunar Schorcht
2215f29883 cpu/esp32: add memset that cannot be optimized out
Adds a memset function `system_secure_memset` which cannot be optimized out by the compiler. It uses the libsodium approach of weak symbols. Function system_secure_memset calls the standard memset. Calling an empty function declared with weak attribute after the memset call, prevents the compiler to optimize it out. The overhead is only one function call.
2019-01-17 13:50:56 +01:00
Martine Lenders
d34bf526c1
Merge pull request #10783 from kaspar030/fix_native_timer
cpu/native/periph/timer: fix type conversion
2019-01-17 11:11:01 +01:00
7226daf33e
Merge pull request #10558 from dylad/pr/update_arm_cmsis
cpu/cortexm_common: Update ARM CMSIS to V5.4.0
2019-01-16 16:49:14 +01:00
f5345fbd38 cpu/native/periph/timer: fix undefined behaviour 2019-01-16 15:16:54 +01:00
Martine Lenders
bd08ea1409 nrfmin: remove long address support
The driver is claiming it is needed for IPv6 / 6LoWPAN support, which
is not true (the long address is never used for NRFMIN in fact) and
this assumption actually leads to an assertion when compiled as with
the `gnrc_border_router` example.
2019-01-16 14:59:28 +01:00
Sebastian Meiling
2fde8335c9
Merge pull request #10728 from keestux/memcpy-struct-copy
Do normal assignment instead of memcpy
2019-01-16 09:18:44 +01:00
Emmanuel Baccelli
209d90bc00
Merge pull request #10215 from kYc0o/pr/riotboot_multislot
riotboot: add multislot support
2019-01-15 19:04:28 +01:00
Dylan Laduranty
fdcac731eb cpu/cortexm_common: Update ARM CMSIS to V5.4.0
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2019-01-15 17:35:40 +01:00
Gunar Schorcht
d34616756e cpu/esp32: add compile configuration group 2019-01-14 12:19:19 +01:00
Gunar Schorcht
2cb7b4c6df cpu/esp8266: add compile-time configurations group 2019-01-14 12:19:04 +01:00
Thomas Stilwell
3ea75d1314 cpu/kinetis/rtt: clear subseconds when writing seconds 2019-01-13 17:43:19 -08:00
Marian Buschsieweke
04d0f38d68
Merge pull request #10746 from kaspar030/remove_newlib_dep_lpc2387
cpu/lpc2387: remove newlib dependencies
2019-01-12 23:14:38 +01:00
Kevin "Bear Puncher" Weiss
9e1ab1e93b
Merge pull request #10700 from gschorcht/esp32_esp_now_fix_opt
cpu/esp: esp_now_netdev fixes and optimizations
2019-01-11 13:14:59 +01:00
Gunar Schorcht
68a02fd1c6 cpu/esp: comment about non-existing mutex removed 2019-01-11 12:38:04 +01:00
Gunar Schorcht
c9d9d60f10 cpu/esp8266: README.md removed
Documentation is generated by doxygen from doc.txt
2019-01-11 00:50:02 +01:00
Kees Bakker
2d04cdfb89 cpu/native: do normal assignment instead of memcpy 2019-01-10 19:43:43 +01:00
Kees Bakker
0935bd53d2 cpu/cc430: do normal assignment instead of memcpy 2019-01-10 19:43:43 +01:00
b19dcd3a65 cpu: lpc2387: use while(1){} instead of exit
This removes the dependency on newlib.
2019-01-10 12:15:44 +01:00
56f6c4f084 cpu: lpc2387: turn printf -> LOG_ERROR 2019-01-10 12:15:08 +01:00
Gunar Schorcht
0b1ef9abbb cpu/esp: assert removed in esp_now_recv_cb
assert was added intentionally for debugging purposes. For released version it is enough that function returns.
2019-01-10 11:38:03 +01:00
Gunar Schorcht
fa0b4b801f cpu/esp8266: doc fixes 2019-01-09 16:55:21 +01:00
Schorcht
0230d077d4 cpu/esp8266: doxygen problem fix 2019-01-09 16:03:00 +01:00
Schorcht
323a3f9db7 cpu/esp8266: doc extended 2019-01-09 16:03:00 +01:00
Kevin "Bear Puncher" Weiss
0b23e8898e
Merge pull request #10641 from gschorcht/esp32_spi_revision
cpu/esp32: cleanup in periph/spi
2019-01-09 14:02:06 +01:00
Gunar Schorcht
6b045f14b7 cpu/esp32: cleanup of SPI interfaces in doc
Although ESP32 has four SPI controllers, only two of them can be effectively used (HSP and VSPI). The third one (FSPI) is used for external memory such as flash and PSRAM and can not be used for peripherals. FSPI is therefore removed from the API. In addition, the SPI0_DEV and SPI1_DEV configuration parameters are renamed SPI0_CTRL and SPI1_CTRL to better describe what they define and to avoid confusion with SPI_DEV (0) and SPI_DEV (1).
2019-01-09 13:03:56 +01:00
Gunar Schorcht
437f8b87b9 cpu/esp32: cleanup of SPI interfaces
Although ESP32 has four SPI controllers, only two of them can be effectively used (HSP and VSPI). The third one (FSPI) is used for external memory such as flash and PSRAM and can not be used for peripherals. FSPI is therefore removed from the API. In addition, the SPI0_DEV and SPI1_DEV configuration parameters are renamed SPI0_CTRL and SPI1_CTRL to better describe what they define and to avoid confusion with SPI_DEV (0) and SPI_DEV (1).
2019-01-09 13:03:22 +01:00
86c102e85b cpu/stm32_common: move dma attribute at end of config 2019-01-08 09:32:18 +01:00
8a9d9e70bc cpu/stm32f2: update CMSIS of stm32f207xx 2019-01-08 09:32:18 +01:00
Vincent Dupont
8c99edc18e cpu/stm32_common: fix UART ISR_TXE usage 2019-01-08 09:32:18 +01:00
Vincent Dupont
021697ae94 cpu/stm32_common: adapt DMA driver for f0/1/3/l0/1/4 2019-01-08 09:32:18 +01:00
Bas Stottelaar
28d0e46882 cpu: efm32: add support for 32-bit timers 2019-01-07 18:49:21 +01:00
Gunar Schorcht
3bb28c989b cpu/esp: esp_now timer restart for peer-scan moved
Timer restart was moved from esp_now_scan_peers_done to esp_now_scan_peers_start to avoid that the scan for peers isn't triggered anymore if the esp_now_scan_peers_done callback isn't called because of errors.
2019-01-07 18:36:35 +01:00
Gunar Schorcht
26cec66be5 cpu/esp: _get_iid removed in esp_now_netdev 2019-01-07 18:27:24 +01:00
ZetaR60
859ba1a71f
Merge pull request #10699 from MrKevinWeiss/pr/fixbaudmega2560
cpu/atmega_common/uart: Comment why brr calc is different from datasheet
2019-01-07 10:21:15 -05:00
MrKevinWeiss
3ce03df0ff cpu/atmega_common/uart: Comment why brr calc is different from datasheet
The brr calculation on the datasheet is different than what is implmented.
This is intentional since it provides better rounding due to truncation.
There was no comment explaining that so this comment should prevent confusion.
2019-01-07 08:40:21 +01:00
Gunar Schorcht
f7e524d18e
Merge pull request #10604 from gschorcht/esp32_esp_eth_fix
cpu/esp32: Fixes the maximum packet size of 255 bytes in the esp_eth netdev driver of ESP32 mcu.
2019-01-04 12:48:11 +01:00
Gunar Schorcht
dc2b1deff5 cpu/esp32: restructures _recv function in esp_eth 2019-01-04 12:12:28 +01:00
Gunar Schorcht
8318779bc2 cpu/esp32: replaces LOG_ERROR by DEBUG in esp_eth 2019-01-04 12:12:28 +01:00
Gunar Schorcht
1e3abebd86 cpu/esp32: fixes esp_net maximum packet size
Fixes the maximum packet size of 255 bytes in the esp_eth netdev driver of ESP32 mcu.

fixup! cpu/esp32: fixes esp_net maximum packet size
2019-01-04 12:12:13 +01:00
Kevin "Bear Puncher" Weiss
9554f751d8
Merge pull request #6630 from OTAkeys/pr/cortex-m4f-fpu
cortexm_common: add FPU support for cortex-m4f and cortex-m7
2019-01-04 11:56:18 +01:00
b6b1a6bd63
Merge pull request #10683 from basilfx/feature/efm32_gecko_sdk_update
pkg: gecko_sdk: bump version + vendor headers
2019-01-04 10:40:44 +01:00
Gunar Schorcht
56b3643ad6 cpu/esp: buffer in esp_now_netdev removed
Since it is not possible to reenter the function `esp_now_recv_cb`, and the functions netif::_ recv and esp_now_netdev::_ recv are called directly in the same thread context we can read directly from the `buf` and don't need a receive buffer anymmore.
2019-01-03 17:22:19 +01:00
Gunar Schorcht
3888c62f61 cpu/esp: ringbuffer removed from esp_now_netdev
Since it is not possible to reenter the function `esp_now_recv_cb`, and the functions netif::_ recv and esp_now_netdev::_ recv are called directly in the same thread context we only need a buffer which contains one frame and its source mac address.
2019-01-03 16:01:02 +01:00
Vincent Dupont
06f0c14460 cortexm_common: enable FPU on cortex-m4f 2019-01-03 15:24:20 +01:00
Gunar Schorcht
d8ee8020c6 cpu/esp: remove rx_lock mutex in esp_now_netdev
Since it is not possible to reenter the function `esp_now_recv_cb`, and the functions netif::_ recv and esp_now_netdev::_ recv are called directly in the same thread context, neither a mutual exclusion has to be realized nor have the interrupts to be deactivated.
2019-01-03 14:52:57 +01:00
Gunar Schorcht
00730b41e0 cpu/esp: direct call _recv in esp_now_recv_cb
Since the esp_now_recv_cb function is not called directly as an ISR through interrupts, it is not executed in the interrupt context. _recv can therefore be called directly. The treatment of the recv_event is no longer necessary.
2019-01-03 14:39:27 +01:00
Gunar Schorcht
a2f5c9d02f cpu/esp: avoid reentrance of esp_now_recv_cb
Although it should not be possible to reenter the function esp_now_recv_cb, this is avoided by an additional boolean variable. It can not be realized by mutex because it would reenter from same thread context.  If macro NDEBUG is not defined, an assertion is used.
2019-01-03 14:01:51 +01:00
Gunar Schorcht
9b5a77f1c4 cpu/esp: fix of lost esp_now_netdev ISR events 2019-01-03 13:36:21 +01:00
Gunar Schorcht
a36366f9a9 cpu/esp: api change in esp_now_netdev::_recv
Newest version of API requires to drop the frame when if parameter len is smaller than the received packet.
2019-01-03 13:35:09 +01:00
Gunar Schorcht
49c64c01a8 cpu/esp: simplified esp_now_netdev::_recv function
Simplifies the _recv receive function structure of esp_now_netdev according to the possible parameter values.
2019-01-03 13:33:25 +01:00
Kevin "Bear Puncher" Weiss
d9f26dbbe2
Merge pull request #10636 from aabadie/pr/cpu/nrf5x_gpio_common
cpu/nrf5x: move periph_gpio/periph_gpio_irq at an even more common level
2019-01-03 11:37:48 +01:00
Kevin "Bear Puncher" Weiss
2bf29dd99e
Merge pull request #10692 from aabadie/pr/boards/nucleo-f767_i2c
boards/nucleo-f767zi: use common STM32 i2c configuration
2019-01-03 10:17:44 +01:00
Francisco Acosta
e8660b2012 cpu/cortex_common: add support for multislot
A second slot is defined with a calculated size, from the
remaining flash after the bootloader and the first slot.
Both slots are defined as equal size, but it can be overriden.
2019-01-02 17:56:11 +01:00
f6985c5b31 cpu/stm32f0: update stm32f072xb CMSIS header 2019-01-02 16:08:56 +01:00
9a61febf5c cpu/stm32f7: update stm32f767zi cmsis header file 2019-01-02 16:06:34 +01:00
Bas Stottelaar
7372074223 cpu: efm32: update vendor headers 2018-12-30 23:35:57 +01:00
Timo Rothenpieler
6be81fbd93 esp_now: use custom netif instead of raw one
Avoids parsing IPv6 packets to determine destination address.
Allows using 6Lo over ESP-NOW, which is required due to the low MTU of
ESP-NOW.

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2018-12-29 13:15:44 +01:00
Timo Rothenpieler
34c42cbcc2 esp_now: code style amendments 2018-12-28 13:35:46 +01:00
Timo Rothenpieler
a46023a523 esp_now: remove unnecessary ifdef 2018-12-28 13:35:46 +01:00
Martine Lenders
9f0dfb5222 esp_now: fix doxygen groups 2018-12-28 12:14:16 +01:00
Martine Lenders
380d19e9d2
Merge pull request #10660 from aabadie/pr/periph/stm32_lpuart_l496zg
boards/nucleo-l496zg: use lpuart1 as stdio interface
2018-12-27 19:32:17 +01:00
Gunar Schorcht
797a894e40 cpu/esp32: esp_now netdev moved to esp_common 2018-12-27 17:31:34 +01:00
Gunar Schorcht
a352500476 cpu/esp_common: added for common files for ESP SoC 2018-12-27 17:28:46 +01:00
b2c3df3381 cpu/stm32/gpio: power up port G with L4
Co-authored-by: Vincent Dupont <vincent@otakeys.com>
2018-12-27 14:15:25 +01:00
8449324cf8
Merge pull request #10610 from MrKevinWeiss/pr/fix/stmi2c1
cpu/stm_common: Refactor and cleanup i2c_1
2018-12-21 14:55:35 +01:00
Dylan Laduranty
764c7d2cc1
Merge pull request #10069 from fedepell/sam0_flashwrite
sam0 flashpage_write: correct translation from RIOT pages to CPU pages writing
2018-12-21 14:17:20 +01:00
Federico Pellegrin
b8b8ffd163 sam0 flashpage_write: correct assert for last byte of flash + style 2018-12-21 13:11:38 +01:00
Vincent Dupont
5e67986775 cpu/stm32_common/pm: use CPU_LINE for L053-specific code 2018-12-21 11:24:43 +01:00
Vincent Dupont
4aadc1ed39 cpu/stm32l0: make use of CPU_LINE_ 2018-12-21 11:24:43 +01:00
Vincent Dupont
f28e7a9b01 cpu/stm32l0: use STM32_FLASHSIZE to generate FLASHPAGE_NUMOF 2018-12-21 11:18:43 +01:00
Vincent Dupont
1cea9871e0 cpu/stm32f1: remove ErrorStatus enum from vendor header
This enum conflicts with macro definitions from ccn-lite pkg.
2018-12-21 09:17:30 +01:00
Vincent Dupont
8cdc219e50 cpu/stm32f1: make use of CPU_LINE_ 2018-12-21 09:17:30 +01:00
Vincent Dupont
d133baca2c cpu/stm32f1: use STM32_FLASHSIZE to generate FLASHPAGE_NUMOF 2018-12-21 09:17:30 +01:00
MrKevinWeiss
f3b2a62c67 cpu/stm_common: Refactor and cleanup i2c_1
Refactor to use common read_regs.
Add error reporting and handling for unsupported low level commands.
Document hardware constraints.
2018-12-20 18:05:11 +01:00
ab061c4ae2
Merge pull request #10608 from MrKevinWeiss/pr/fix/stmi2c2
cpu/stm_common: Refactor and fix implementation for i2c_2
2018-12-20 13:51:39 +01:00
MrKevinWeiss
a2e059d18a cpu/stm_common: Refactor and fix implementation for i2c_2
Refactors i2c_2 to match the structure of i2c_1 better.
Corrects functionality issues.
Allows the common implementation of read_regs and write_regs.
Documents constraints of hardware.
Matches error messages with API.
2018-12-20 12:01:06 +01:00
Sebastian Meiling
c96021b039
Merge pull request #10637 from aabadie/pr/cpu/stm32_periph_gpio_common
boards*: move periph_gpio and periph_gpio_irq features from boards to cpu for STM32
2018-12-19 13:06:17 +01:00
Leandro Lanzieri
b32da1b13e
Merge pull request #10615 from MrKevinWeiss/pr/debug/init
cpu/stm32_common/uart: Prevent uart from sending if not initialized
2018-12-19 12:14:00 +01:00
Federico Pellegrin
a0054654ee sam0 flashpage_write: fix writes translation from RIOT to CPU pages 2018-12-19 04:54:44 +01:00
da3bb42d18 cpu/stm32_common: define periph_gpio/irq features at cpu level 2018-12-18 21:50:34 +01:00
220d16dc07 cpu/nrf5x: move periph_gpio features to common cpu level 2018-12-18 21:32:46 +01:00
7a6849ca17 cpu/cortexm_common: add riotboot and slot support
RIOTBOOT_SLOT_LEN is calculated as an hexadecimal value and
handles ROM_LEN defined as kilobytes like '512K'

This enables support for all the cortex-m0+/3/4/7 arch,
so most boards embedding these are potentially supported.
One needs just to ensure that the CPU can be initialised
at least twice.

Co-authored-by: Gaëtan Harter <gaetan.harter@fu-berlin.de>
2018-12-18 19:31:35 +01:00
9cfdf6e379 cpu/cortexm_common: introduce cpu_jump_to_image()
This new function allows to jump to another execution
environment (VTOR) located at a certain (aligned) address.
It's used to boot firmwares at another location than
`CPU_FLASH_BASE`.

The user needs to ensure that the CPU using this feature
is able to be initialised at least twice while jumping
to the RIOT `reset_handler_default` function, since it
initialises the CPU again (calls cpu_init()).

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2018-12-18 19:31:35 +01:00
MrKevinWeiss
96f8438ea2 cpu/stm32_common/uart: Prevent uart from sending if not initialized
Due to the stdio getting called after periph_init the uart may send before initialized.
This adds a simple check so the uart does not get into a locked-up state.
2018-12-18 10:16:50 +01:00
c87f02149e cpu/sam0_common: provide gpio/gpio_irq feature at cpu level 2018-12-17 20:52:48 +01:00
Martine Lenders
a3864aa103
Merge pull request #9158 from aabadie/pr/periph/stm32_lpuart
cpu/stm32-common: add support for lpuart
2018-12-17 12:16:27 +01:00
MrKevinWeiss
d7eb070eb4 cpu/stm32f1: Add remap support for stm32f1 cpus and boards
This commit fixes configuration problems when trying to use i2c pins that need to be remapped.
All B8 and B9 pins for STM32F1 need to be remapped, so a check is done if the remappable pins are selected.
2018-12-14 09:16:37 +01:00
133968ce8a cpu/stm32_common: add support for lpuart 2018-12-13 12:39:00 +01:00
Leandro Lanzieri
0838753dce
Merge pull request #10529 from gschorcht/esp8266_adc_res_fix
cpu/esp8266: fix of adc_res_t
2018-12-06 13:05:31 +01:00