1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

21350 Commits

Author SHA1 Message Date
smlng
6d0384f068 netstats: collect layer 2 netstats in gnrc_netif
This the first step in moving the collection of layer 2 netstats from
the low level driver to a central location, ie. gnrc_netif, to avoid
code duplication.
2019-02-01 10:35:03 +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
MichelRottleuthner
a1e91bd62e
Merge pull request #10913 from leandrolanzieri/pr/drivers/sds011_saul_read_return
drivers/sds011: Fix error return value on SAUL driver
2019-01-31 16:20:12 +01:00
Leandro Lanzieri
af7220c2be drivers/sds011: Fix SAUL read error return 2019-01-31 15:35:19 +01:00
Sebastian Meiling
805efb69c5
Merge pull request #10458 from MichelRottleuthner/pr_driver_sds011
add driver for SDS011 active laser dust sensor
2019-01-31 15:54:09 +02:00
Yegor Yefremov
2673b662af tests/periph_uart: add tests for uart_mode
Add positive and negative tests for data bits, stop bits and parity:

- 7E1, 7O1
- 8E1, 8O1
- 8N2

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-01-31 14:15:20 +01:00
Yegor Yefremov
738cbf685b tests/periph_uart: add support for changing serial
Add command mode that will be used like this:

mode <dev> <data bits> <parity> <stop bits>

This command must be called after init otherwise
the UART won't be fully initialized.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-01-31 14:15:20 +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
Yegor Yefremov
ddf19783d7 periph/uart: add support for enhanced serial settings
As suggested in PR#5899 add a routine uart_mode() that will
setup data bits, stop bits and parity at runtime.

uart.h provides a set of enums defining these settings and each
platform will override them to specify values corresponding to
its configuration registers.

The idea behind the enums is to specify default settings i.e. 8N1
through the 0 value item. Invoking uart_mode(uart, 0, 0, 0) will
setup 8N1 mode.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-01-31 14:15:11 +01:00
6a570f3a82
tests/periph_rtt: add automatic testing script 2019-01-31 10:47:05 +01:00
aee4771a42
tests/periph_rtt: use a 5s delay between each hello 2019-01-31 10:46:56 +01:00
fd2ffd9ef7
Merge pull request #10903 from aabadie/pr/pkg/semtech-loramac_improve_send
pkg/semtech-loramac: improve TX status management after sending a message
2019-01-30 20:10:14 +01:00
bb8bdadd69
examples/lorawan: fix potential hang in example 2019-01-30 18:58:43 +01:00
f6e616d48f
tests/pkg_semtech-loramac: fix send return value management 2019-01-30 18:58:43 +01:00
afc85e3daa
pkg/semtech-loramac: improve send and recv functions doc 2019-01-30 18:58:43 +01:00
1f0b2c390e
pkg/semtech-loramac: better handle TX status from the MAC 2019-01-30 18:58:28 +01:00
cc144bfb0a
Merge pull request #10901 from miri64/github/fix/title-should-be-name
github: fix security bug template
2019-01-30 14:43:13 +01:00
Michel Rottleuthner
bba4d5b39b drivers/sds011: add saul integration 2019-01-30 13:15:17 +01:00
Michel Rottleuthner
61dc1920d3 sys/phydat: add unit for mass concentration (g/m^3) 2019-01-30 13:15:17 +01:00
Michel Rottleuthner
6cffa07ed1 drivers/saul: add sensor type for particulate matter 2019-01-30 13:15:17 +01:00
Michel Rottleuthner
17a1358ccb tests: add test application for sds011 driver 2019-01-30 13:15:17 +01:00
Michel Rottleuthner
f5dc2524d0 drivers: add driver for SDS011 active laser dust sensor 2019-01-30 13:15:17 +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
Gunar Schorcht
9423252326
Merge pull request #10862 from gschorcht/esp8266_esp_wifi_netdev_fix
cpu/esp8266: Fixes and improvements of esp_wifi netdev driver
2019-01-30 11:31:33 +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
Martine Lenders
1152355029 github: fix security bug template 2019-01-30 08:05:43 +01:00
Martine Lenders
6d708bafb4
Merge pull request #10756 from miri64/github/enh/security-red
.github: add big warning signs about security bugs
2019-01-30 08:01:19 +01:00
Federico Pellegrin
318f0cf679 sam0 flashpage: make ready check inline, add wait also after PBC 2019-01-30 04:29:23 +01:00
Martine Lenders
1481239bdf
Merge pull request #10896 from miri64/sock_dns/fix/too-small-msg-error
sock_dns: correctly report too short messages
2019-01-29 23:43:53 +01:00
Gunar Schorcht
57fdb23464 cpu/esp8266: fix compile problems 2019-01-29 23:25:31 +01:00
Cenk Gündoğan
b3843daeb8
Merge pull request #10817 from miri64/gnrc_netif/enh/i10723
gnrc_ipv6_nib: use generated EUI-64 for ARO build and check
2019-01-29 22:49:41 +01:00
Martine Lenders
b30cdb51a5 sock_dns: correctly report too short messages 2019-01-29 22:32:50 +01:00
Martine Lenders
d680aeae07 gnrc_ipv6_nib: use gnrc_netif_get_eui64() for ARO build and check 2019-01-29 21:52:53 +01:00
Martine Lenders
0fa8419c4a gnrc_netif: wrap _ipv6_iid_from_addr() around _eui64_from_addr() 2019-01-29 21:52:53 +01:00
Martine Lenders
16e7fc8336 gnrc_netif: introduce L2 address to EUI-64 conversion 2019-01-29 21:52:53 +01:00
Martine Lenders
a2b2f96fe3 gnrc_netif: rename _create_iid_from_short() to emphesize EUI-64 2019-01-29 21:52:53 +01:00
Martine Lenders
9468342e44 eui48: wrap eui48_to_ipv6_iid() around eui48_to_eui64() 2019-01-29 21:52:53 +01:00
Martine Lenders
963b405312 eui48: introduce eui48_to_eui64() function 2019-01-29 21:52:53 +01:00
Federico Pellegrin
409d83e087 sam0 flashpage: minor code style fixes 2019-01-29 20:58:46 +01:00
Marian Buschsieweke
a81d39494f
drivers/w5100: Fix recv() with too small buffer
If netdev_driver_t::recv() is called and the provided buffer is smaller than
the frame then `-ENOBUFS` should be returned, the frame should be dropped, and
no data of the frame should be returned.

Addresses: https://github.com/RIOT-OS/RIOT/issues/10413
2019-01-29 20:38:56 +01:00
Marian Buschsieweke
ea3edef5c7
drivers/w5100: Added missing drop implementation
The netdev_driver_t::recv implementation of the w5100 does not provide the
drop feature. This commit adds it.

Fixes: https://github.com/RIOT-OS/RIOT/issues/10410
2019-01-29 20:36:37 +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
82b2362bc3 core/msg: add assert for problem identified in #10881 2019-01-28 17:14:16 +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
782b181b63
Merge pull request #10887 from aabadie/pr/make/distclean_cleanup
tests: remove leftover test targets in test application makefiles
2019-01-28 16:25:02 +01:00
Martine Lenders
caa1d0b8e5
Merge pull request #10755 from maribu/ltc4150-new
drivers/ltc4150: (Re-)implemented driver for the LTC4150 coulomb counter
2019-01-28 15:05:53 +01:00
Marian Buschsieweke
075ad47bb3
tests/driver_ltc4150: BOARD_INSUFFICIENT_MEMORY 2019-01-28 13:53:47 +01:00
Marian Buschsieweke
2ba57ac00c
tests/driver_ltc4150: Workarround for msp430
The msp430 toolchain is missing an `fputs()` implementation. This commit makes
them use the `printf("%s", str);` instead of `fputs(str, stdout);`, which is
semantically equivalent (but has more overhead).
2019-01-28 13:53:38 +01:00
Marian Buschsieweke
618e2e58d5
tests: Added test for ltc4150 driver 2019-01-28 13:50:42 +01:00