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

42180 Commits

Author SHA1 Message Date
bors[bot]
de3241e90f
Merge #18962 #18999 #19034
18962: pkg/lwip: Force loglevel when using log module r=maribu a=yarrick



18999: Paho: Allow building for 8 and 16 bit platforms r=maribu a=OlegHahm

### Contribution description

Providing a patch to Paho upstream which uses fixed size integers (int32_t) instead of plain int whenever it is used to represent a size of an object.

This patch will allow to build the Paho package for platforms where an integer has a width of less than 32 bit.

This patch is also provided as a PR to the upstream version of Paho (https://github.com/eclipse/paho.mqtt.embedded-c/pull/238) but unfortunately the upstream seems to be unmaintained.

### Testing procedure

Build for a 8 or 16 bit platform that has enough memory for the example, e.g., https://api.riot-os.org/group__boards__atxmega-a1u-xpro.html:
BUILD_IN_DOCKER=1 BOARD=atxmega-a1u-xpro make clean all

Without this PR this build will fail, with the patches applied it will succeed.

### Issues/PRs references

This PR makes #18997 obsolete and thus reverts the change.


19034: boards/nucleo-l496zg: doc improvement r=maribu a=krzysztof-cabaj

### Contribution description

This PR adds to nucleo-l496zg documentation MCU table - similar to those, for example for, Nucleo F103RB, F302R8 or F446RE.

### Testing procedure

```
make doc
xdg-open doc/doxygen/html/group__boards__nucleo-l496zg.html
```

### Issues/PRs references

None

Co-authored-by: Erik Ekman <eekman@google.com>
Co-authored-by: Oleg Hahm <oleg@hobbykeller.org>
Co-authored-by: krzysztof-cabaj <kcabaj@gmail.com>
2022-12-11 12:03:28 +00:00
bors[bot]
7c7aede939
Merge #19026
19026: riscv: Reduce reset trampoline code size by 2 bytes r=maribu a=jnohlgard

`addi` with 20 bit immediate does not have a compressed representation, so using `jalr` with immediate offset uncompressed is smaller than using `addi`+`c.jr`

Co-authored-by: Joakim Nohlgård <joakim@nohlgard.se>
2022-12-11 10:17:39 +00:00
krzysztof-cabaj
185c44e42d boards/nucleo-l496zg: doc improvement 2022-12-10 11:41:45 -05:00
bors[bot]
bc0dcb9a36
Merge #19032
19032: sys/analog_util/dac_util: fix truncation bug r=maribu a=Enoch247

### Contribution description

From the commit message:

>  In `dac_util_map(...)` the expression `((value - min) * UINT16_MAX)` was cast to a 16 bit unsigned, then divided by `(max - min)`. This means that anytime `(value - min) != 0` the numerator was truncated prior to being divided and then returned.
> 
>  This patch modifies the expression so that the downcast to 16 bits is performed as the last operation.


### Testing procedure

Should be verifiable by simply analyzing the code.

### Issues/PRs references

none known


Co-authored-by: Joshua DeWeese <jdeweese@primecontrols.com>
2022-12-10 15:27:39 +00:00
Joshua DeWeese
86d751d4d3 sys/analog_util/dac_util: fix truncation bug
In `dac_util_map(...)` the expression `((value - min) * UINT16_MAX)` was
cast to a 16 bit unsigned, then divided by `(max - min)`. This means
that anytime `(value - min) != 0` the numerator was truncated prior to
being divided and then returned.

This patch modifies the expression so that the downcast to 16 bits is
performed as the last operation.
2022-12-09 13:58:12 -05:00
bors[bot]
ff2ebcfce0
Merge #19028
19028: CI: bors.toml: set cut_body_after r=aabadie a=kaspar030



Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2022-12-09 09:03:13 +00:00
bors[bot]
20ddfb7e86
Merge #18803
18803: dist/tools: Add compile_like_murdock r=benpicco a=MrKevinWeiss




### Contribution description

Helper script to pre-test murdock build conditions.

This is intended to compile like murdock giving control for only a subset of boards or applications. One can use this if only a limited change should be build tested. Defaults boards and apps are selected to be an early warning if something is wrong.

This should be used before triggering much larger murdock builds.

The following use cases are:

I made a change to something in the stm32 clocks... ./compile_like_murdock.py -c stm32

I changed a driver the DHT driver
./compile_like_murdock.py -a tests/driver_dht tests/saul

I changed a nucleo-f103rb board...
./compile_like_murdock.py -a tests/driver_dht tests/saul

### Testing procedure

View the help...
```
./dist/tools/compile_test/compile_like_murdock.py -h
```

Do a dry run of the cpu...
```
./dist/tools/compile_test/compile_like_murdock.py -c stm -d
```

Play with each of the args, try adding a module to hello-world to get a module mismatch.

### Issues/PRs references

<!--
Examples: Fixes #1234. See also #5678. Depends on PR #9876.

Please use keywords (e.g., fixes, resolve) with the links to the issues you
resolved, this way they will be automatically closed when your pull request
is merged. See https://help.github.com/articles/closing-issues-using-keywords/.
-->


Co-authored-by: MrKevinWeiss <weiss.kevin604@gmail.com>
2022-12-08 18:40:30 +00:00
bors[bot]
e3b92f70e8
Merge #19029
19029: check-pr.yml: Fail when `State: waiting for CI update` is set r=miri64 a=miri64

<!--
The RIOT community cares a lot about code quality.
Therefore, before describing what your contribution is about, we would like
you to make sure that your modifications are compliant with the RIOT
coding conventions, see https://github.com/RIOT-OS/RIOT/blob/master/CODING_CONVENTIONS.md.
-->

### Contribution description
See https://github.com/RIOT-OS/RIOT/pull/18956#issuecomment-1342781762
<!--
Put here the description of your contribution:
- describe which part(s) of RIOT is (are) involved
- if it's a bug fix, describe the bug that it solves and how it is solved
- you can also give more information to reviewers about how to test your changes
-->


### Testing procedure
I've set the label in question, so the test should fail in the beginning.
<!--
Details steps to test your contribution:
- which test/example to compile for which board and is there a 'test' command
- how to know that it was not working/available in master
- the expected success test output
-->


### Issues/PRs references
See https://github.com/RIOT-OS/RIOT/pull/18956
<!--
Examples: Fixes #1234. See also #5678. Depends on PR #9876.

Please use keywords (e.g., fixes, resolve) with the links to the issues you
resolved, this way they will be automatically closed when your pull request
is merged. See https://help.github.com/articles/closing-issues-using-keywords/.
-->


Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2022-12-08 17:46:09 +00:00
Martine Lenders
c27ec66629
check-pr.yml: Fail when State: waiting for CI update is set 2022-12-08 18:06:53 +01:00
7972407666 CI: bors.toml: set cut_body_after 2022-12-08 16:58:36 +01:00
MrKevinWeiss
53d266e5a6
dist/tools: Add compile_like_murdock
Helper script to pre-test murdock build conditions.

This is intended to compile like murdock giving control for only a subset of
boards or applications. One can use this if only a limited change should be
build tested. Defaults boards and apps are selected to be an early warning
if something is wrong.

This should be used before triggering much larger murdock builds.

The following use cases are:

I made a change to something in the stm32 clocks...
./compile_like_murdock.py -c stm32

I changed a driver the DHT driver
./compile_like_murdock.py -a tests/driver_dht tests/saul

I changed a nucleo-f103rb board...
./compile_like_murdock.py -a tests/driver_dht tests/saul
2022-12-08 16:52:54 +01:00
bors[bot]
a28f4383da
Merge #19024
19024: pkg/paho-mqtt: add support for DNS r=aabadie a=benpicco

<!--
The RIOT community cares a lot about code quality.
Therefore, before describing what your contribution is about, we would like
you to make sure that your modifications are compliant with the RIOT
coding conventions, see https://github.com/RIOT-OS/RIOT/blob/master/CODING_CONVENTIONS.md.
-->

### Contribution description

This is pretty straightforward, we only need to hook up `dns_query()`.

Since paho supports both IPv4 and IPv6 we use `AF_UNSPEC` in the query.
This can however give us a A record if we only have IPv6 enabled, so translate the request based on what IP address module is enabled in `dns_query()`.
### Testing procedure

connecting by name works

```
> con test.mosquitto.org 1883
mqtt_example: Connecting to MQTT Broker from test.mosquitto.org 1883
mqtt_example: Trying to connect to test.mosquitto.org , port: 1883
user: clientId: password:
mqtt_example: Connection successfully
```

connecting by IP still works

```
> con 2001:41d0:1:925e::1 1883
mqtt_example: Connecting to MQTT Broker from 2001:41d0:1:925e::1 1883
mqtt_example: Trying to connect to 2001:41d0:1:925e::1 , port: 1883
user: clientId: password:
mqtt_example: Connection successfully
```

<!--
Details steps to test your contribution:
- which test/example to compile for which board and is there a 'test' command
- how to know that it was not working/available in master
- the expected success test output
-->


### Issues/PRs references

<!--
Examples: Fixes #1234. See also #5678. Depends on PR #9876.

Please use keywords (e.g., fixes, resolve) with the links to the issues you
resolved, this way they will be automatically closed when your pull request
is merged. See https://help.github.com/articles/closing-issues-using-keywords/.
-->


Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
2022-12-08 15:38:32 +00:00
bors[bot]
fd5a6de2e9
Merge #18956
18956: CI: implement quick build logic r=kaspar030 a=kaspar030

<!--
The RIOT community cares a lot about code quality.
Therefore, before describing what your contribution is about, we would like
you to make sure that your modifications are compliant with the RIOT
coding conventions, see https://github.com/RIOT-OS/RIOT/blob/master/CODING_CONVENTIONS.md.
-->

### Contribution description

This PR implements "quick builds" (subset builds).

The logic is as following (checkmark for what was tested):

- [x] if the "CI: full build" label is set, [result](https://ci.riot-os.org/details/15e489f7a3f346bdb49a84080329f3d6)
- [x]   or NIGHTLY=1 [result](https://ci.riot-os.org/details/d741a174bbbc437eb1972e87688098fb)
- [x]   or if building bors' ~~"trying"~~"staging" branch, do a full build. [result](https://ci.riot-os.org/details/692362fd0e594bdeb190ea99a6de2479)
- [x] otherwise, if BOARDS was supplied, build those: [result](https://ci-staging.riot-os.org/details/2034f3ed656c4b37b573732517334cfd) (ci-staging hard-sets BOARDS="samr21-xpro native")
- [x] otherwise, if can_fast_ci_build.py figured out boards that have changes, build those [result](https://ci.riot-os.org/details/ab92ec61cb7040b18d9789c05831eb86)
- [x] otherwise, only consider boards listed in QUICKBUILD_BOARDS [result](https://ci.riot-os.org/details/fca366441e0341d79af52200365d298d)

<!--
Put here the description of your contribution:
- describe which part(s) of RIOT is (are) involved
- if it's a bug fix, describe the bug that it solves and how it is solved
- you can also give more information to reviewers about how to test your changes
-->

TBD: actual list of QUICKBUILD_BOARDS

### Testing procedure

<!--
Details steps to test your contribution:
- which test/example to compile for which board and is there a 'test' command
- how to know that it was not working/available in master
- the expected success test output
-->


### Issues/PRs references

bors tracking issue: https://github.com/RIOT-OS/RIOT/issues/18911
<!--
Examples: Fixes #1234. See also #5678. Depends on PR #9876.

Please use keywords (e.g., fixes, resolve) with the links to the issues you
resolved, this way they will be automatically closed when your pull request
is merged. See https://help.github.com/articles/closing-issues-using-keywords/.
-->


Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2022-12-08 13:45:09 +00:00
Joakim Nohlgård
b3d04d8270 riscv: Reduce reset trampoline code size by 2 bytes
`addi` with 20 bit immediate does not have a compressed representation,
so using `jalr` with immediate offset uncompressed is smaller than using
`addi`+`c.jr`
2022-12-08 13:26:07 +01:00
bors[bot]
bf20287229
Merge #18910
18910: CI: add bors.toml r=kaspar030 a=kaspar030

<!--
The RIOT community cares a lot about code quality.
Therefore, before describing what your contribution is about, we would like
you to make sure that your modifications are compliant with the RIOT
coding conventions, see https://github.com/RIOT-OS/RIOT/blob/master/CODING_CONVENTIONS.md.
-->

### Contribution description

This adds configuration for [bors](https://bors.tech).

This has been discussed in CI meetings. The intended workflow is:

1. regular PR commits get built by CI as usual, but doing a quick-build (building only a subset of all boards), unless "CI: full build" is set
2. once that passes and the PR is ACKed, instead of merging using the merge button, we use bors to merge by typing "bors merge".
3. bors takes the PR, pushes it to the "testing" branch
4. CI does a full build of "testing"
5. on success, bors merges testing into master

The main benefits are

1. a quickbuild / full build scheme ("regular" PR builds will be <5 minutes, but only fully built branches get merged into master)
2. bors does "rollups", meaning, if multiple PRs are to be "bors merged", bors merges them together, tests them together and merges them together. That's more efficient than doing this sequentially, and prevents semantic merge conflicts (e.g., PR a and b pass CI individually, but fail when both merged, breaking master).

Once fully implemented, using bors will be a workflow change (no more "pressing the green button", but typing "bors merge" instead). But we've been using bors for RIOT-OS/riotdocker for a long time now, the experience was good (as opposed to disruptive).

This PR just adds the necessary bors configuration, and once merged will allow using bors to merge PRs using "bors merge", but the previous workflow is still in place (manual merging can be done, and "regular" PR builds are still full builds).

<!--
Put here the description of your contribution:
- describe which part(s) of RIOT is (are) involved
- if it's a bug fix, describe the bug that it solves and how it is solved
- you can also give more information to reviewers about how to test your changes
-->


### Testing procedure

<!--
Details steps to test your contribution:
- which test/example to compile for which board and is there a 'test' command
- how to know that it was not working/available in master
- the expected success test output
-->


### Issues/PRs references

bors tracking issue: #18911 
<!--
Examples: Fixes #1234. See also #5678. Depends on PR #9876.

Please use keywords (e.g., fixes, resolve) with the links to the issues you
resolved, this way they will be automatically closed when your pull request
is merged. See https://help.github.com/articles/closing-issues-using-keywords/.
-->


Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2022-12-08 10:17:09 +00:00
Marian Buschsieweke
88d840f796
Merge pull request #18963 from maribu/tests/periph_timer
tests/periph_timer: also test for spurious IRQs
2022-12-08 11:11:47 +01:00
benpicco
154b1d6397
Merge pull request #18836 from benpicco/gnrc_border_router-native
examples/gnrc_border_router: add option to re-use existing TAP interface
2022-12-07 22:34:01 +01:00
Benjamin Valentin
42b7530ae5 examples/paho-mqtt: remove superflous space 2022-12-07 22:32:19 +01:00
Benjamin Valentin
fa6566ae2e examples/paho-mqtt: add support for DNS 2022-12-07 22:26:51 +01:00
Benjamin Valentin
3206ac80cf pkg/paho-mqtt: add support for DNS 2022-12-07 22:26:51 +01:00
Benjamin Valentin
2a5bc04a16 pkg/paho-mqtt: don't copy addr_ip
ipvX_addr_from_str() takes a const pointer, it won't modify the address.
2022-12-07 22:26:51 +01:00
Benjamin Valentin
5986d8f371 sys/dns: select appropriate address family if AF_UNSPEC 2022-12-07 22:26:51 +01:00
Marian Buschsieweke
eea954cc22
Merge pull request #18995 from kfessel/p-cleanup-pufsram
sys/puf_sram: cleanup header
2022-12-07 20:39:17 +01:00
4fb5978fa9 CI: set higher bors timeout 2022-12-07 15:22:10 +01:00
a32ebac535 CI: make static-tests and tools-build workflows run on bors branches 2022-12-07 15:22:10 +01:00
7c9c06d977 .github/labeler.yml: add bors.toml to CI list 2022-12-07 15:22:10 +01:00
fe0ccf28c9 CI: add bors.toml 2022-12-07 15:22:09 +01:00
2274a56fef
Merge pull request #19022 from kaspar030/update_murdock_yml
CI: update murdock yml
2022-12-07 14:54:04 +01:00
benpicco
2e50d5e448
Merge pull request #18988 from jia200x/pr/at86rf2xx/isolate_netdev
drivers/at86rf2xx: isolate netdev logic
2022-12-07 13:50:37 +01:00
385d82023f CI: use regex for branches in .murdock.yml 2022-12-07 12:53:40 +01:00
6557339bd9 CI: update skip_keywords in .murdock.yml 2022-12-07 12:53:40 +01:00
Juergen Fitschen
71a606a1db
Merge pull request #17607 from jue89/feature/ztimer-ondemand
ztimer: add ztimer_ondemand module for implicit power management
2022-12-06 18:30:16 +01:00
Jose Alamos
1d60301599
doccheck: update AT86RF2XX macros 2022-12-06 17:53:14 +01:00
Jose Alamos
42af1f0f59
drivers/at86rf2xx: move CSMA/CA seed init to netdev init 2022-12-06 17:53:11 +01:00
benpicco
0d64cc2fa5
Merge pull request #19006 from gschorcht/pkg/tinyusb_board_reset
pkg/tinyusb: add usb_board_reset support
2022-12-06 17:16:18 +01:00
benpicco
b0da17b4ef
Merge pull request #19007 from gschorcht/pkg/tinyusb_stdio_kconfig
pkg/tinyusb: add Kconfig support for stdio_tinyusb_cdc_acm
2022-12-06 17:16:09 +01:00
benpicco
64c49df9d5
Merge pull request #18983 from gschorcht/pkg/tinyusb_multiple_config_descriptors
pkg/tinyusb: support for multiple configuration descriptors
2022-12-06 17:15:57 +01:00
benpicco
86141cfa2b
Merge pull request #19016 from Teufelchen1/fix/uri_parser_port
sys/uri_parser: fixing potential out of bounds read when consuming ports
2022-12-06 17:11:25 +01:00
Jose Alamos
c26365c9fb
drivers/at86rf2xx: merge configure_phy and set_txpower functions 2022-12-06 15:40:45 +01:00
Jose Alamos
bc1043921d
drivers/at86rf2xx: move TX power logic to netdev 2022-12-06 15:40:43 +01:00
Jose Alamos
4708478e98
drivers/at86rf2xx: move security logic to netdev 2022-12-06 15:40:21 +01:00
Jose Alamos
99d490a3c1
drivers/at86rf2xx: move at86rf2xx_setup to netdev 2022-12-06 15:40:21 +01:00
Jose Alamos
5a46bba376
drivers/at86rf2xx: move TX_STARTED logic to netdev 2022-12-06 15:40:21 +01:00
Jose Alamos
fc43cec430
drivers/at86rf2xx: remove unused send function 2022-12-06 15:40:20 +01:00
Jose Alamos
72c3f9192a
drivers/at86rf2xx: move netdev logic out of reset function 2022-12-06 15:40:20 +01:00
Jose Alamos
5207a82e03
drivers/at86rf2xx: simplify channel-page logic 2022-12-06 15:40:18 +01:00
Karl Fessel
4753ae382c sys/puf_sram: cleanup header 2022-12-05 16:13:21 +01:00
Teufelchen1
cc6327bf1b sys/uri_parser: fixing potential out of bounds read when consuming ports 2022-12-05 15:41:33 +01:00
benpicco
3b23cb6171
Merge pull request #19011 from maribu/dist/tools/usb-serial/ttys.py
dist/tools/usb-serial: fix exception on missing entries
2022-12-05 14:27:42 +01:00
benpicco
9684c75ecd
Merge pull request #19009 from ant9000/pr/sam0_common_i2c_size_t_issue
sam0_common: use size_t len for I2C transfers (fixes #19008)
2022-12-05 13:51:55 +01:00