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

518 Commits

Author SHA1 Message Date
Sören Tempel
5ef5ab7e4b Add CPU feature for stack smash protections 2020-01-22 15:59:02 +01:00
Sebastian Meiling
48fbd446fe
Merge pull request #8796 from miri64/dhcpv6c-pd/feat/initial
dhcpv6: Initial implementation of a client (with IA_PD support)
2020-01-16 13:32:51 +01:00
Martine Lenders
15c828cf92
gnrc_dhcpv6_client: provide GNRC-specific DHCPv6 parts 2020-01-16 12:36:10 +01:00
Martine Lenders
1048d67c76
dhcpv6: provide initial client implementation
This implements a client for DHCPv6 IA_PD (Identity Association for
Prefix Delegation). Goal was to have a IETF-compliant alternative to
UHCP. The implementation was based on RFC 8415.
2020-01-16 12:36:03 +01:00
Martine S. Lenders
a3bf3ef95b Makefile.dep: disable stdio_rtt with any other STDIO than stdio_rtt
f5cbe00118 disables `stdio_rtt` when `stdio_uart` is used. However,
if a board has `periph_usbdev` in `FEATURES_PROVIDED` and
`stdio_cdc_acm` is used by the application, linking fails, as now both
`stdio_rtt` and `stdio_cdc_acm` implement the STDIO functions.

This fix excludes `stdio_rtt` if any STDIO but `stdio_rtt` is provided.
If no STDIO is provided the fall-back is used as before.
2020-01-15 22:12:02 +01:00
Francisco
43d2ca4771
Merge pull request #12602 from miri64/sock_async_event/feat/initial
sock_async: initial import of event-based implementation
2020-01-15 14:32:05 +01:00
Martine Lenders
e46ad92cd3
sock_async_event: initial import of event-based implementation 2020-01-15 09:56:11 +01:00
f5cbe00118
Makefile.dep: disable stdio_rtt when stdio_uart is used 2020-01-14 07:48:08 +01:00
Martine S. Lenders
0957b6301b
stdio_native: initial import 2019-12-18 14:15:40 +01:00
Gunar Schorcht
ff506ccf07 pkg/lwip: start DHCP for a netif with lwip_dhcp
The NETDEV_EVENT_LINK_UP is used to start DHCP for a network interface
2019-12-18 07:16:41 +01:00
Gaëtan Harter
90692ac92b
makefiles: use 'BOARDSDIR' for the boards directory in compilation
Replace uses of 'RIOTBOARD' by 'BOARDSDIR' during the compilation.
2019-12-16 15:35:04 +01:00
Francisco
20d89af043
Merge pull request #12755 from aabadie/pr/application_dep
make: add possibility to provide board specific application dependencies in a separate Makefile
2019-12-09 16:52:19 +01:00
Martine Lenders
7b13781cd2
Merge pull request #12625 from miri64/gnrc_sock/enh/async-support
gnrc_sock: provide asynchronous event implementation
2019-12-09 12:39:58 +01:00
Hauke Petersen
3ffe08d07a shell/sc_nimble_netif: allow connect using name 2019-12-09 10:12:44 +01:00
a131ea7576
Makefile.dep: include board specific application dependency file
This commit allows to add a Makefile.dep file in an application directory to finely tune application dependencies, based on a board.
Using this mechanism, if an application has dependencies pulled-in based on a board, info-boards-supported, will take this into account to determine the boards supported by an application
2019-12-06 21:18:21 +01:00
bd254dfc63
Merge pull request #10741 from basilfx/feature/stdio_null
sys: stdio_null: add null driver
2019-12-03 18:08:26 +01:00
Benjamin Valentin
0d977b3b3c cpu/sam0_common/periph/uart: implement buffered write
Implement interrupt based uart_write() using a tsrb for the TX buffer.

To enable it, add

    USEMODULE += periph_uart_nonblocking

to your Makefile.
2019-11-27 19:01:00 +01:00
MichelRottleuthner
bf676d4728
Merge pull request #11022 from jia200x/pr/gnrc_lorawan
gnrc_lorawan: add support for GNRC based LoRaWAN stack
2019-11-27 09:25:20 +01:00
Jose Alamos
2edaead13e gnrc_netif: add gnrc_lorawan adaption layer 2019-11-26 21:52:06 +01:00
Jose Alamos
39951b8f70 gnrc_lorawan: add initial support for LoRaWAN stack 2019-11-26 21:52:06 +01:00
Bas Stottelaar
810a06903a sys: stdio_null: add null driver 2019-11-26 21:12:41 +01:00
0845cac3b8
sys/arduino: provide implementation for analogWrite 2019-11-15 17:51:45 +01:00
Francisco
9352b88da4
Merge pull request #12417 from cladmi/pr/make/boards/cpu_cpu_model_to_features
Makefile.features: assert CPU is defined by BOARD/Makefile.features
2019-11-12 10:09:23 +01:00
Martine Lenders
8c3dc66ad8 gnrc_sixlowpan_frag: factor-out and rename fragmentation buffer
The name `fragment_msg` or `frag_msg`/`msg_frag` always to me was a bit
misplaced, as it basically implements an asynchronous fragmentation
buffer and doesn't necessarily have anything to do with messages.
This change

1. changes the name to `fb` (for fragmentation buffer)
2. factors its code out to its own sub-module so it can be re-used by
   other 6LoWPAN fragmentation schemes like [Selective Fragment
   Recovery]

[Selective Fragment Recovery]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-05
2019-11-04 20:04:37 +01:00
Martine S. Lenders
b713413c52 gnrc_sock: provide asynchronous event implementation 2019-11-01 00:21:04 +01:00
benpicco
afecb9aa7a
Merge pull request #12562 from kaspar030/pr/suit_v4_nanocbor
sys/suit/v4: switch to nanocbor
2019-10-24 19:15:25 +02:00
4ccb4e5995 sys/suit/v4: switch to nanocbor
Co-authored-by: Francisco <femolina@uc.cl>
2019-10-24 16:48:00 +02:00
Francisco Molina
5ae7a5270d sys/suit: use c25519 instead of hacl 2019-10-16 09:53:46 +02:00
ebf43616b7 cpu: add arch_* features 2019-10-13 21:03:41 +02:00
cladmi
a37ce12fa3
Makefile.features: assert CPU is defined by BOARD/Makefile.features
CPU must now be defined by `$(RIOTBOARD)/$(BOARD)/Makefile.features` or
one of its common included Makefile.features file.
The cpu `Makefile.dep` file can now automatically be included when it exists.
2019-10-10 12:54:19 +02:00
5ab8d92702
Merge pull request #11818 from kaspar030/suit-pr
sys/suit: initial support for SUIT firmware updates
2019-10-10 10:38:01 +02:00
fb12c4aa8d sys/suit: add SUIT draft v4 firmware upgrade module
This commit adds a sys module implementing SUIT draft v4 compatible
firmware updates.

Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Francisco Molina <femolina@uc.cl>
2019-10-09 11:05:01 +02:00
c4bb2a2e17
sys/arduino: make ADC feature optional 2019-10-08 10:26:23 +02:00
59743aed13
USBUS cdc acm: Add STDIO wrapper for CDC ACM 2019-09-30 18:40:59 +02:00
852b7c8d0a
usbus: Add cdc acm function 2019-09-30 18:40:59 +02:00
Martine S. Lenders
ec495528fe gnrc_sixlowpan_frag: move private RB functions to RB module 2019-09-28 11:51:18 +02:00
Martine Lenders
5aae638bfd
Merge pull request #12318 from miri64/gnrc_sixlowpan_frag/enh/rbuf-rework201
gnrc_sixlowpan_frag: move public rbuf functions to their own module
2019-09-27 21:49:16 +02:00
Martine S. Lenders
1f7770da5c gnrc_sixlowpan_frag: move public rbuf functions to their own module 2019-09-27 19:09:52 +02:00
Martine S. Lenders
395987a7ea gnrc_sixlowpan_frag_vrb: add xtimer dependency
The VRB uses xtimer for its garbage collection but doesn't list it as a
dependency. The only reason it worked so far is because it was always
compiled with `gnrc_sixlowpan_frag` and other modules that pull in
`xtimer` as a dependency on their own.
2019-09-27 19:04:58 +02:00
Hauke Petersen
df15033148 ble/skald: cleanup dependency to nrfble 2019-09-26 22:15:15 +02:00
Martine Lenders
f4b8ba32f3 gnrc_ipv6_ext_frag: Initial import of IPv6 reassembly 2019-09-16 19:13:18 +02:00
benpicco
ca6009592f
Merge pull request #11781 from fjmolinas/pr_schedstatistics_refactor
core/schedstatistics: fix call to uninitialized xtimer
2019-09-11 20:11:55 +02:00
Francisco Molina
fc58ebbd97 core/sched: separate sched_cb from schedstatistics 2019-09-10 17:08:21 +02:00
Vincent Dupont
9207e6b446 can: use memarray for pkt and router allocation 2019-09-10 13:01:28 +02:00
Hauke Petersen
ce3fedfed4 Makefile.dep: add dep for nimble submodules 2019-08-28 16:48:42 +02:00
Hauke Petersen
a3b8c87ab5 sys/shell: add 'ble' shell cmd for nimble_netif 2019-08-28 16:48:42 +02:00
Aiman Ismail
fed72571ec sys/net/sock: add sock_dtls API 2019-08-27 16:41:39 +02:00
Marian Buschsieweke
972367432a
drivers/cc110x: Rewrite of the cc110x driver
The cc110x driver has been re-written from scratch to overcome the limitations
of the old driver. The main motivation of the rewrite was to achieve better
maintainability by a detailed documentation, reduce the complexity and the
overhead of the SPI communication with the device, and to allow to
simultaneously use transceivers with different configuration regarding the used
base band, the channel bandwidth, the modulation rate, and the channel map.

Features of this driver include:

- Support for the CC1100, CC1101, and the CC1100e sub-gigahertz transceivers.
- Detailed documentation of every aspect of this driver.
- An easy to use configuration API that allows setting the transceiver
  configuration (modulation rate, channel bandwidth, base frequency) and the
  channel map.
- Fast channel hopping by pre-calibration of the channels during device
  configuration (so that no calibration is needed during hopping).
- Simplified SPI communication: Only during start-up the MCU has to wait
  for the transceiver to be ready (for the power regulators and the crystal
  to stabilize). The old driver did this for every SPI transfer, which
  resulted in complex communication code. This driver will wait on start up
  for the transceiver to power up and then use RIOT's SPI API like every other
  driver. (Not only the data sheet states that this is fine, it also proved to
  be reliable in practise.)
- Greatly reduced latency: The RTT on the old driver (@150 kbps data rate) was
  about 16ms, the new driver (@250 kbps data rate) has as RTT of ~3ms
  (depending on SPI clock and on CPU performance) (measured with ping6).
- Increased reliability: The preamble size and the sync word size have been
  doubled compared to the old driver (preamble: 8 bytes instead of 4,
  sync word: 4 byte instead of 2). The new values are the once recommended by
  the data sheet for reliable communication.
- Basic diagnostic during driver initialization to detect common issues as
  SPI communication issues and GDO pin configuration/wiring issues.
- TX power configuration with netdev_driver_t::set() API-integration
- Calls to netdev_driver_t::send() block until the transmission has completed
  to ease the use of the API (implemented without busy waiting, so that the
  MCU can enter lower power states or other threads can be executed).
2019-08-20 16:32:11 +02:00
Gunar Schorcht
82e020fb81 sys/irq_handler: single interrupt handler thread
Single thread for handling interrupts that may trigger blocking  functions and therefore may only be called in thread context.
2019-08-13 14:49:10 +02:00
0791174c1f
Merge pull request #11769 from haukepetersen/opt_softdevice_feature
ble/softdevice: add ble_nordic_softdevice feature
2019-07-04 11:23:30 +02:00