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

2480 Commits

Author SHA1 Message Date
Martine Lenders
cd3f1b89da
Merge pull request #13107 from leandrolanzieri/pr/sock/async_fix_types
sock/async: Fix forward declaration of sock_tcp_queue_t
2020-01-13 14:46:50 +01:00
Leandro Lanzieri
b5c3e32af6
Merge pull request #13108 from MrKevinWeiss/pr/fix/gnrcctcdoc
doc/gnrc/ipv6: Update documentation group for gnrc
2020-01-13 14:02:16 +01:00
Leandro Lanzieri
8e6f6ee460
Merge pull request #13065 from PeterKietzmann/pr_kconf_netif
Kconfig: Expose gnrc/netif configurations
2020-01-13 13:25:17 +01:00
MrKevinWeiss
1e1bf6ed98 doc/gnrc/ipv6: Update documentation group for gnrc
Since the GNRC_IPV6 is part of GNRC it should be a part of the gnrc compile time configuration group.
This adds information on the group to specify it is gnrc and changes the group from config to net_gnrc_conf
2020-01-13 12:34:26 +01:00
PeterKietzmann
fb71ccc098 net/gnrc/netif:GNRC_NETIF_MIN_WAIT_AFTER_SEND_US to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
9e83d12bc0 net/gnrc/netif: Move GNRC_NETIF_IPV6_ADDRS_NUMOF to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
724d58b074 net/gnrc/netif: Move GNRC_NETIF_MSG_QUEUE_SIZE to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
b28a586702 net/gnrc/netif: Move GNRC_NETIF_DEFAULT_HL to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
Leandro Lanzieri
e7ce6914c5 sock/async: Fix forward declaration of sock_tcp_queue_t 2020-01-13 12:19:00 +01:00
MichelRottleuthner
53cb3b087c
Merge pull request #9530 from Hyungsin/forupstream_xtimer
sys: xtimer concurrency/robustness improvement
2020-01-13 08:24:15 +01:00
76cfe2b84c
Merge pull request #13095 from fjmolinas/pr_ccm_doc
sys/include/crypto/modes/ccm: specify implem limits
2020-01-12 18:53:50 +01:00
Francisco Molina
0e4640276c sys/include/crypto/modes/ccm: specify implem limits 2020-01-12 17:57:27 +01:00
benpicco
5f1b09bd2f
Merge pull request #12727 from benpicco/color_util
sys/color: add color_rgb_set_brightness() and color_rgb_shift()
2020-01-10 23:27:45 +01:00
Hyungsin
387344775b sys: xtimer concurrency/robustness improvement 2020-01-10 10:06:16 -08:00
Leandro Lanzieri
7463543e34
Merge pull request #13066 from PeterKietzmann/pr_kconf_ipv6
Kconfig: Expose gnrc/ipv6 configurations
2020-01-10 14:51:23 +01:00
b0d6f5743b
suit/v4: display a progress bar while fetching the image 2020-01-09 11:31:24 +01:00
Francisco
4c4cb8a14f
Merge pull request #12362 from mtausig/ccm_aadlen
Fix CCM mode when length of AAD is > 24
2020-01-07 22:26:24 +01:00
Mathias Tausig
3382a089a8 sys/crypto: Check block size for CCM operations 2020-01-07 21:22:09 +01:00
PeterKietzmann
3f0a19a9bc net/gnrc/ipv6: Move config macros to 'CONFIG_' namespace 2020-01-07 15:36:04 +01:00
Martine S. Lenders
3896145c31
sock: ignore -Wtypedef-redefinition for LLVM where needed
net/sock/async/types.h included by net/sock.h needs to re-typedef the
the sock types to prevent cyclic includes.
2020-01-07 10:13:02 +01:00
Martine S. Lenders
43b1c5c74c
sock_async: fix cyclic dependency with sock_types.h
Typically a stack needs to add the callback for a sock as a member of
its respective `sock` type so `sock_types.h` needs to include
`net/sock/async.h` at the moment. As those however include
`net/sock/<prot>.h`, which in turn include `sock_types.h`, we create a
cyclic dependency.

This fix resolves this cyclic dependency, by putting the callback
definitions in its own header that then in turn can be also included
by `sock_types.h`.
2020-01-07 10:13:01 +01:00
Francisco
dcc5299682
Merge pull request #10667 from miri64/gnrc_sixloenc/enh/6lo-config
gnrc_netif: make 6LoENC dynamically configurable
2020-01-06 13:19:24 +01:00
Francisco
d4c3476669
Merge pull request #12944 from leandrolanzieri/pr/kconfig_migrate/net/sock_util
Kconfig: Expose net/sock/util configurations
2020-01-03 11:41:20 +01:00
PeterKietzmann
091d55a0be sys/puf_sram: extend documentation 2020-01-02 13:22:35 +01:00
Martine Lenders
d03d2b409e net: add ARP hardware type defintions
These are required for DHCPv6 to identify the type of a link-layer
address (for DUID creation).
2020-01-02 11:56:25 +01:00
Martine Lenders
441ca528da timex: add US_PER_CS converter
DHCPv6 operates on centiseconds (hundredth of a second) for some time
values, so for interaction with `xtimer` I require this converter.
2020-01-02 11:56:25 +01:00
Leandro Lanzieri
449da7602d gnrc/lorawan: Express timer drift in per mille instead of percentage 2019-12-20 14:12:43 +01:00
José Alamos
7d4082a6a3
Merge pull request #12922 from leandrolanzieri/pr/kconfig_migrate/gnrc/ipv6_blacklisting
Kconfig: Expose gnrc/ipv6/blacklist configurations
2019-12-20 11:32:46 +01:00
Martine S. Lenders
e1ae44b536
gnrc_sixlowpan_frag_stats: actualize pseudo-module
Having the definitions sit in the `net/gnrc/sixlowpan/frag.h` header
does not make much sense, when using Selective Fragment Forwarding
(and the fragmentation buffer already includes a
`net/gnrc/sixlowpan/frag/stats.h` header), so they are moved to their
own header. Since with this change it makes more sense to have the
statistics stored in their own sub-module, the pseudo-module is also
actualized.
2019-12-18 15:45:03 +01:00
Benjamin Valentin
e4a33ca413 sys/checksum: add crc8 implementation
This moves the crc8 implementation of the sht3x driver to common code.
2019-12-13 14:50:32 +01:00
Leandro Lanzieri
c74fa5367c net/sock/util: Move configuration macros to 'CONFIG_' namespace
Macros that changed:
SOCK_SCHEME_MAXLEN -> CONFIG_SOCK_SCHEME_MAXLEN
SOCK_HOSTPORT_MAXLEN -> CONFIG_SOCK_HOSTPORT_MAXLEN
SOCK_URLPATH_MAXLEN -> CONFIG_SOCK_URLPATH_MAXLEN
2019-12-13 12:04:54 +01:00
Leandro Lanzieri
56e61dac47 net/gnrc/ipv6_blacklist: Move config macros to 'CONFIG_' namespace
Macros that changed:
GNRC_IPV6_BLACKLIST_SIZE -> CONFIG_GNRC_IPV6_BLACKLIST_SIZE
2019-12-11 10:39:16 +01:00
Martine Lenders
d926810e0b
Merge pull request #12893 from leandrolanzieri/pr/kconfig_migrate/gnrc/ipv6_whitelisting
Kconfig: Expose gnrc/ipv6/whitelist configurations
2019-12-10 18:32:34 +01:00
José Alamos
2027efa9f4
Merge pull request #12894 from leandrolanzieri/pr/gnrc_doc_config_group
net/gnrc: Group compile configuration Doxygen groups and add GNRC LoRaWAN
2019-12-09 18:20:35 +01:00
418d00d0ea
Merge pull request #9283 from gebart/pr/frac
sys/frac: Integer fractions
2019-12-09 09:09:10 +01:00
Leandro Lanzieri
15098a8fc2 gnrc/lorawan: Add configurations to GNRC's Doxygen configurations group 2019-12-06 15:19:18 +01:00
Leandro Lanzieri
de2fbeb112 net/gnrc/ipv6_whitelist: Move config macros to 'CONFIG_' namespace
Macros that changed:
GNRC_IPV6_WHITELIST_SIZE -> CONFIG_GNRC_IPV6_WHITELIST_SIZE
2019-12-06 13:57:52 +01:00
Leandro Lanzieri
4ebf34de23 net/gnrc: Move compile configurations to 'net_gnrc_conf' group 2019-12-06 12:23:34 +01:00
Joakim Nohlgård
e4e860a20a frac: Integer fraction scaling library 2019-12-06 09:36:33 +01:00
c7a534e42a
Merge pull request #12878 from haukepetersen/add_fmt_isnumber
sys/fmt: add fmt_is_number()
2019-12-05 20:32:47 +01:00
Hauke Petersen
ab3669294b sys/fmt: add fmt_is_number() 2019-12-05 15:39:24 +01:00
8ae7201962
Merge pull request #12550 from aabadie/pr/sys/progress_bar
sys/progress_bar: add module for managing a progress bar in stdout
2019-12-05 15:03:26 +01:00
Hauke Petersen
d9229af9d9 sys/fmt: move _is_digit and _is_upper to public API 2019-12-05 14:10:49 +01:00
Leandro Lanzieri
0673fce3c4 usbus/cdc/acm: Add configs to compile time configuration Doxygen group 2019-12-04 20:08:02 +01:00
Leandro Lanzieri
f48bd7f9f3 usbus: Add configs to compile time configuration Doxygen group 2019-12-04 20:08:02 +01:00
Leandro Lanzieri
731f27378b usb: Add configs to compile time configuration Doxygen group 2019-12-04 20:08:02 +01:00
Leandro Lanzieri
d835c52a4b usb: Fix VID/PID macros documentation 2019-12-04 20:08:02 +01:00
Jose Alamos
8999528390 net/gnrc_lorawan: add MIB for setting RX2 datarate 2019-12-03 14:48:29 +01:00
Jose Alamos
1e9bb7c175 net/gnrc_lorawan: add MIB for setting L2 address 2019-12-03 14:27:56 +01:00
Jose Alamos
99dbcecc3a net/gnrc_lorawan: remove netdev SAP interface 2019-12-03 14:08:35 +01:00
9f1b84b51d
sys/progress_bar: add module for configurable progress bars 2019-12-02 16:48:16 +01:00
Juan Carrano
bea30c3f89 sys/ubjson: remove module.
The ubjson module has a number of quality defects and is unsafe.
Considering CBOR is popular, standarized and supported in RIOT and that
the ubjson implementation is a home-grown one whose API will likely be
unfamiliar to new users, I propose to delete it.

This removal, of course, dows not have to be NOW. We can deprecate it for
one or two releases before.

What's wrong with this module?

- Unsafe: the parsing is done recursively. This is embedded in the API, so it
  is not possible to fix it without changing the API. A document with too much
  nesting can cause a stack overflow.
- Does not validate writing: it is possible to produce invalid output. From
  the docs:
  > The library won't complain if you write multiple values that are not
  > inside an array or object. The result will just not be properly serialized.
- Poorly tested. As shown by #11702, #11703 the tests were not even detecting
  that a False was stored as True.
- In line with the previous remark, see
  68dc5b0d6e/tests/unittests/tests-ubjson/tests-ubjson.c (L66-L77)
  Why is the following code in the unit tests??
  ```c
    irq_disable();
    sched_set_status(data->main_thread, STATUS_PENDING);
  ```
- #2175 is still unfixed after 3.5 years.
- Code quality. The code has multiline macros that assign variables and
  return. See c332514875/sys/ubjson/ubjson-write.c (L34-L41)

Can we mark it as deprecated this release and sweep it in the following one?
2019-12-01 23:44:39 +01:00
Martine S. Lenders
54a8599170
gnrc_sixlowpan_frag_vrb: call base_rm() with gnrc_sixlowpan_frag_rb
`gnrc_sixlowpan_frag_rb_base_rm()` cleans up the intervals which is part
of `gnrc_sixlowpan_frag_rb`, not `gnrc_sixlowpan_frag`, so when the
`gnrc_sixlowpan_frag` is not compiled in, but `gnrc_sixlowpan_frag_rb`,
the intervals allocated in the reassembly buffer and inherited by the
virtual reassembly buffer are never released.
2019-11-29 17:58:02 +01:00
Francisco
b88e2ecb6d
Merge pull request #12471 from aabadie/pr/sys/suit_shell
sys/suit: sys/shell: examples/suit_update: add shell command for triggering suit updates
2019-11-29 13:32:23 +01:00
Leandro Lanzieri
7746ee0aa1 net/netopt: Fix NETOPT_CHANNEL_PAGE documentation. 2019-11-29 09:34:38 +01:00
2ff3d4cd8d
sys/shell: add suit shell command
This command allows for triggering an update from the device itself
2019-11-28 19:15:34 +01:00
560ee3bac9
suit: add helper function for triggering updates 2019-11-28 19:08:28 +01:00
Ken Bannister
a33c8b1130 net/gcoap: remove gcoap_req_send2() 2019-11-28 11:32:40 -05:00
Hauke Petersen
3fd8357071 net/gcoap: allow to pass user context to requests 2019-11-28 12:50:24 +01:00
Hauke Petersen
383f395af3 net/gcoap: pass memo to resp_handler directly 2019-11-28 12:48:37 +01:00
Leandro Lanzieri
2733ef45d7
Merge pull request #12798 from kb2ma/gcoap/init_delay
net/gcoap: add macro to delay initialization of gcoap
2019-11-28 05:10:43 +01:00
Ken Bannister
e873e5814a net/gcoap: add macro to delay initialization of gcoap 2019-11-27 17:56:55 -05: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
e03f7278bc gnrc_netif.h: add lorawan component 2019-11-26 21:52:05 +01:00
Jose Alamos
a70b1858c4 netopt: add NETOPTs required for gnrc_lorawan 2019-11-26 21:52:05 +01:00
Jose Alamos
e8bf26f7f3 gnrc_nettype: add GNRC_NETTYPE_LORAWAN type 2019-11-26 21:52:05 +01:00
Jose Alamos
845944e092 gnrc_netif_lorawan: add headers 2019-11-26 21:52:05 +01:00
Jose Alamos
4192cd5578 gnrc_lorawan: add public headers 2019-11-26 21:52:05 +01:00
Benjamin Valentin
6d5704307f sys/color: add color_rgb_set_brightness()
Add a function to set the brightness level of a RGB value from 0-255.
2019-11-24 23:27:05 +01:00
Benjamin Valentin
19e8d02715 sys/color: add color_rgb_shift()
Add a function to quickly shift a RGB color up or down.
2019-11-24 23:27:05 +01:00
61db4d9724 sys/include: fix typos 2019-11-23 22:39:37 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
benpicco
d86ca37ed9
Merge pull request #12759 from miri64/bitfield/fix/bitorder
bitfield: unify order
2019-11-22 22:37:39 +01:00
Francisco Molina
fe180daa3b sys/include/net/gnrc/gomach.h: fix cpp preprocessorErrorDirective
Preprocesor fails to evaluate the if condicion on L91-92 because
RTT_FREQUENCY is not defined, and therefore a division by 0 occurs.
TO avoid this replicate the RTT_FREQUENCY undefined warning.
2019-11-21 11:58:07 +01:00
Martine Lenders
a6623f834f bitfield: unify order
Currently the bitfield type mixes up the order of bits: While the byte
order is big-endian (most significant byte first), the bit order of each
single byte within the bitfield is little-endian (most significant bit
last). While this isn't a problem for most applications of the bitfield
type it becomes one when sending the bitfield over the network (as done
e.g. in the [ACKs of Selective Fragment Recovery][SFR-ACKs]).

This change unifies byte order and bit order to both be most
significant bX first.

[SFR-ACKs]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-07
2019-11-20 18:53:11 +01:00
Leandro Lanzieri
4d4f6ae1d6 net/ipv6: Return string pointer when splitting IPv6 interface.
Right now 'ipv6_addr_split_iface' assumes that the interface specifier
will always be a number (based on GNRC way of identifying interfaces),
but this may not be always the case.In order to be able to use the
Network Interface API, interfaces should be referred by their name.

This changes 'ipv6_addr_split_iface' so it returns a pointer to the
string that specifies the interface.
2019-11-15 14:02:50 +01:00
Hauke Petersen
a7d951a0d7 net/ble.h: add custom NDN support service UUID 2019-11-13 11:28:01 +01:00
Martine Lenders
d33548243a
Merge pull request #12698 from miri64/gnrc_sixlowpan_frag_vrb/fix/empty-with-frag
gnrc_sixlowpan_frag_vrb: set src_len to 0 on remove
2019-11-12 18:42:10 +01:00
Martine Lenders
02295ce5c7
Merge pull request #12593 from miri64/gnrc_sixlowpan_frag_rb/enh/deletion-timer
gnrc_sixlowpan_frag_rb: allow for deletion timer after completion
2019-11-12 17:54:15 +01:00
Martine S. Lenders
e4d95c568b gnrc_sixlowpan_frag_vrb: set src_len to 0 on remove
45f7966 made the `src_len` field the "emptiness signifier" for the VRB.
However, when `gnrc_sixlowpan_frag` is compiled in, the remove function
`gnrc_sixlowpan_frag_vrb_rm()` does not set the `src_len` to zero,
resulting in already deleted entry to be recognized as non-empty.
2019-11-12 17:13:45 +01:00
Martine S. Lenders
40138fdce8 gnrc_sixlowpan_frag_rb: allow for deletion timer after completion
This allows to set a timer between the completion of a datagram in the
reassembly buffer and the deletion of the corresponding reassembly
buffer entry. This allows to ignore potentially late incoming link-layer
duplicates of fragments of the datagram that then will have the
reassembly buffer entry be blocked.

This was noted in this [discussion] for classic 6LoWPAN reassembly (and
minimal fragment forwarding) and is recommended in the current
[selective fragment recovery draft][SFR draft].

[discussion]: https://mailarchive.ietf.org/arch/msg/6lo/Ez0tzZDqawVn6AFhYzAFWUOtJns
[SFR draft]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-07#section-6
2019-11-12 17:06:52 +01:00
benpicco
341d23dded
Merge pull request #12504 from bergzand/pr/usbus/descr_terminology
usbus: Unify terminology to use 'descriptor' everywhere
2019-11-12 11:41:10 +01:00
3db4678384
usbus: Unify terminology to use 'descriptor' everywhere 2019-11-12 10:29:19 +01:00
benpicco
9ca9f07c04
Merge pull request #12592 from benpicco/luid-fix
sys/luid: add luid_get_eui48() / luid_get_eui64()
2019-11-07 18:34:37 +01:00
benpicco
c1edee074a
Merge pull request #12661 from benpicco/xtimer_fix_doc
sys/xtimer: fix generation of documentation
2019-11-07 14:27:58 +01:00
Martine Lenders
a132b2b413
Merge pull request #12220 from miri64/gnrc_sixlowpan_frag/feat/srf-config
gnrc_sixlowpan_frag: initial import of SRF parameters
2019-11-07 14:13:15 +01:00
Benjamin Valentin
6add264f6a sys/xtimer: fix generation of documentation
cd1ce6b98d accidentally disabled generating documentation for
`xtimer_msg_*()` functions.

Always define those functions when building the documentation.
2019-11-07 13:34:27 +01:00
Martine S. Lenders
da74936020 gnrc_sixlowpan_frag: initial import of SRF parameters
This imports the protocol parameters for Selective Fragment Recovery
(SFR). For the values I took some educated guesses based on my
experience with previous experimentation with fragment forwarding.

The defines currently are based on [draft v7].

[draft v7]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-07#section-7.1

fixup! gnrc_sixlowpan_frag: initial import of SRF parameters
2019-11-07 12:16:30 +01:00
José Alamos
20ea18637f
Merge pull request #10485 from miri64/gnrc_netif/enh/default-init
gnrc_netif: assume `netif->ops->init()` to be set to at least a default
2019-11-07 11:41:05 +01:00
Martine Lenders
6493a9e69f gnrc_netif: assume netif->ops->init() to be set 2019-11-07 11:00:36 +01:00
Martine Lenders
a1d402e015
Merge pull request #12559 from miri64/gnrc_sixlowpan_frag/enh/factor-out-frag-buf
gnrc_sixlowpan_frag: factor-out and rename fragmentation buffer
2019-11-07 09:47:46 +01:00
Martine Lenders
09b5db28f1 gnrc_netif: expose common init function as default 2019-11-06 18:45:16 +01:00
Marian Buschsieweke
4d279ae76e
Merge pull request #12055 from fabian18/driver-ina3221
Driver for INA3221 current and power and bus voltage monitor
2019-11-05 14:45:03 +01:00
fabian18
7e8cce875a drivers/ina3221: Added SAUL integration 2019-11-05 12:37:41 +01:00
Benjamin Valentin
38e94d09db sys/luid: provide luid_get_eui48() and luid_get_eui64()
The most common use case for luid is to generate those
addresses, so provide helper functions for it.
2019-11-04 21:08:23 +01:00
Benjamin Valentin
9fb01b6d1c eui64: Add address flag helper functions 2019-11-04 20:58:34 +01:00
Martine Lenders
ca37cde142 gnrc_sixlowpan_frag_fb: introduce function to get entry by tag 2019-11-04 20:04:39 +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
Ken Bannister
b354b8bd1a net/gcoap: refine doc for 'obs' link attribute 2019-11-03 09:28:02 -05:00
benpicco
865059fc66
Merge pull request #11230 from maribu/xtimer_msg_deps
sys/xtimer: Remove dependency to core_msg
2019-11-01 15:22:10 +01:00