-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gcoap: Provide link encoder #47
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
chrysn
force-pushed
the
gcoap-link-encoder
branch
from
February 22, 2023 14:16
feafb3e
to
dfb651f
Compare
Now fixed to use the libc:: types from the C signature, and not the signature I copied out from the error message -- because the latter resolved type aliases in a platform dependent way (char -> i8 while it could also be u8). |
chrysn
force-pushed
the
gcoap-link-encoder
branch
from
February 22, 2023 15:02
dfb651f
to
3dd98df
Compare
chrysn
added a commit
to chrysn-pull-requests/RIOT
that referenced
this pull request
Apr 24, 2023
This pulls in several fixes from these repositories: * riot-sys: * Add `random` module to `riot-headers` (RIOT-OS/rust-riot-sys#26) * README: fix 2 typos (RIOT-OS/rust-riot-sys#31) * bindgen: Use 0.64 (RIOT-OS/rust-riot-sys#30) * wolfSSL support added (RIOT-OS/rust-riot-sys#28) * extern-types: Generate replacement types dynamically (RIOT-OS/rust-riot-sys#27) * Extern types: Add netq_t, make them large (RIOT-OS/rust-riot-sys#25) * doc: Suppress warnings about things C2Rust does not uphold (RIOT-OS/rust-riot-sys#23) * export macro_DAC_LINE (RIOT-OS/rust-riot-sys#22) * Add BINDGEN_OUTPUT_FILE export (RIOT-OS/rust-riot-sys#21) * riot-wrappers: * DAC: Add wrapper around RIOTs DAC-interface (RIOT-OS/rust-riot-wrappers#36) * saul: Compatibly rename G* variants (RIOT-OS/rust-riot-wrappers#50) * tests: Add test for auto-init when auto-init debug is active (RIOT-OS/rust-riot-wrappers#48) * gcoap: Provide link encoder (RIOT-OS/rust-riot-wrappers#47) * Drop SUIT support in riot-wrappers (RIOT-OS/rust-riot-wrappers#44) * Add an auto init module (RIOT-OS/rust-riot-wrappers#45) * gcoap: Allow registration without scope for 'static listeners (RIOT-OS/rust-riot-wrappers#43) Through direct dependency changes (the bindgen update), the number of transitive dependencies could be reduced.
bors bot
added a commit
to RIOT-OS/RIOT
that referenced
this pull request
Apr 24, 2023
19495: Rust: Update dependencies r=maribu a=chrysn ### Contribution description This updates both the RIOT-specific and generic dependencies of Rust examples and modules. ### Testing procedure * Green CI should do ### Issues/PRs references Copying from one of the commits with some sed: * riot-sys: * RIOT-OS/rust-riot-sys#26 * RIOT-OS/rust-riot-sys#31 * RIOT-OS/rust-riot-sys#30 * RIOT-OS/rust-riot-sys#28 * RIOT-OS/rust-riot-sys#27 * RIOT-OS/rust-riot-sys#25 * RIOT-OS/rust-riot-sys#23 * RIOT-OS/rust-riot-sys#22 * RIOT-OS/rust-riot-sys#21 * riot-wrappers: * RIOT-OS/rust-riot-wrappers#36 * RIOT-OS/rust-riot-wrappers#50 * RIOT-OS/rust-riot-wrappers#48 * RIOT-OS/rust-riot-wrappers#47 * RIOT-OS/rust-riot-wrappers#44 * RIOT-OS/rust-riot-wrappers#45 * RIOT-OS/rust-riot-wrappers#43 ### How to do similar PRs Updating the RIOT-related dependencies (which here also updated bindgen because the dependency of riot-sys changed): ``` $ for x in **/Cargo.lock; do cargo update --manifest-path=${x%.lock}.toml --package riot-sys --package riot-wrappers; done ``` Updating everything (should never really be needed, b/c if something has a concrete dependency change it'd say so, but dependencies generally get better over time): ``` $ for x in **/Cargo.lock; do cargo update --manifest-path=${x%.lock}.toml; done ``` Creating the commit message: ``` $ git log --first-parent --format='%s (%b)' 9c29faf55d4c14d2d7f55f8df5059c52af4e5317..e4973a6ee88427f702dac41b3dce4fd6b6b9689e | sed 's/Merges: //' | sed 's/^/ * /' ``` git shortlog unfortunately doesn't show the merges the way I prefer linking them. The versions in the command line can be taken from `git diff --text` and looking for the riot-sys or riot-wrappers line, respectively. Co-authored-by: chrysn <chrysn@fsfe.org>
bors bot
added a commit
to RIOT-OS/RIOT
that referenced
this pull request
Apr 25, 2023
19495: Rust: Update dependencies r=chrysn a=chrysn ### Contribution description This updates both the RIOT-specific and generic dependencies of Rust examples and modules. It also follows a deprecation from the G unit renaming originally done in #19292. ### Testing procedure * Green CI should do ### Issues/PRs references Copying from one of the commits with some sed: * riot-sys: * RIOT-OS/rust-riot-sys#26 * RIOT-OS/rust-riot-sys#31 * RIOT-OS/rust-riot-sys#30 * RIOT-OS/rust-riot-sys#28 * RIOT-OS/rust-riot-sys#27 * RIOT-OS/rust-riot-sys#25 * RIOT-OS/rust-riot-sys#23 * RIOT-OS/rust-riot-sys#22 * RIOT-OS/rust-riot-sys#21 * riot-wrappers: * RIOT-OS/rust-riot-wrappers#36 * RIOT-OS/rust-riot-wrappers#50 * RIOT-OS/rust-riot-wrappers#48 * RIOT-OS/rust-riot-wrappers#47 * RIOT-OS/rust-riot-wrappers#44 * RIOT-OS/rust-riot-wrappers#45 * RIOT-OS/rust-riot-wrappers#43 * (later, when the mistake became apparent) RIOT-OS/rust-riot-wrappers#55 ### How to do similar PRs Updating the RIOT-related dependencies (which here also updated bindgen because the dependency of riot-sys changed): ``` $ for x in **/Cargo.lock; do cargo update --manifest-path=${x%.lock}.toml --package riot-sys --package riot-wrappers; done ``` Updating everything (should never really be needed, b/c if something has a concrete dependency change it'd say so, but dependencies generally get better over time): ``` $ for x in **/Cargo.lock; do cargo update --manifest-path=${x%.lock}.toml; done ``` Creating the commit message: ``` $ git log --first-parent --format='%s (%b)' 9c29faf55d4c14d2d7f55f8df5059c52af4e5317..e4973a6ee88427f702dac41b3dce4fd6b6b9689e | sed 's/Merges: //' | sed 's/^/ * /' ``` git shortlog unfortunately doesn't show the merges the way I prefer linking them. The versions in the command line can be taken from `git diff --text` and looking for the riot-sys or riot-wrappers line, respectively. Co-authored-by: chrysn <chrysn@fsfe.org>
maribu
pushed a commit
to maribu/RIOT
that referenced
this pull request
Apr 25, 2023
This pulls in several fixes from these repositories: * riot-sys: * Add `random` module to `riot-headers` (RIOT-OS/rust-riot-sys#26) * README: fix 2 typos (RIOT-OS/rust-riot-sys#31) * bindgen: Use 0.64 (RIOT-OS/rust-riot-sys#30) * wolfSSL support added (RIOT-OS/rust-riot-sys#28) * extern-types: Generate replacement types dynamically (RIOT-OS/rust-riot-sys#27) * Extern types: Add netq_t, make them large (RIOT-OS/rust-riot-sys#25) * doc: Suppress warnings about things C2Rust does not uphold (RIOT-OS/rust-riot-sys#23) * export macro_DAC_LINE (RIOT-OS/rust-riot-sys#22) * Add BINDGEN_OUTPUT_FILE export (RIOT-OS/rust-riot-sys#21) * riot-wrappers: * DAC: Add wrapper around RIOTs DAC-interface (RIOT-OS/rust-riot-wrappers#36) * saul: Compatibly rename G* variants (RIOT-OS/rust-riot-wrappers#50) * tests: Add test for auto-init when auto-init debug is active (RIOT-OS/rust-riot-wrappers#48) * gcoap: Provide link encoder (RIOT-OS/rust-riot-wrappers#47) * Drop SUIT support in riot-wrappers (RIOT-OS/rust-riot-wrappers#44) * Add an auto init module (RIOT-OS/rust-riot-wrappers#45) * gcoap: Allow registration without scope for 'static listeners (RIOT-OS/rust-riot-wrappers#43) Through direct dependency changes (the bindgen update), the number of transitive dependencies could be reduced. (cherry picked from commit de41031)
bors bot
added a commit
to RIOT-OS/RIOT
that referenced
this pull request
Apr 28, 2023
19505: Rust: Update dependencies [backport 2023.04] r=maribu a=maribu # Backport of #19495 ### Contribution description This updates both the RIOT-specific and generic dependencies of Rust examples and modules. It also follows a deprecation from the G unit renaming originally done in #19292. ### Testing procedure * Green CI should do ### Issues/PRs references Copying from one of the commits with some sed: * riot-sys: * RIOT-OS/rust-riot-sys#26 * RIOT-OS/rust-riot-sys#31 * RIOT-OS/rust-riot-sys#30 * RIOT-OS/rust-riot-sys#28 * RIOT-OS/rust-riot-sys#27 * RIOT-OS/rust-riot-sys#25 * RIOT-OS/rust-riot-sys#23 * RIOT-OS/rust-riot-sys#22 * RIOT-OS/rust-riot-sys#21 * riot-wrappers: * RIOT-OS/rust-riot-wrappers#36 * RIOT-OS/rust-riot-wrappers#50 * RIOT-OS/rust-riot-wrappers#48 * RIOT-OS/rust-riot-wrappers#47 * RIOT-OS/rust-riot-wrappers#44 * RIOT-OS/rust-riot-wrappers#45 * RIOT-OS/rust-riot-wrappers#43 * (later, when the mistake became apparent) RIOT-OS/rust-riot-wrappers#55 ### How to do similar PRs Updating the RIOT-related dependencies (which here also updated bindgen because the dependency of riot-sys changed): ``` $ for x in **/Cargo.lock; do cargo update --manifest-path=${x%.lock}.toml --package riot-sys --package riot-wrappers; done ``` Updating everything (should never really be needed, b/c if something has a concrete dependency change it'd say so, but dependencies generally get better over time): ``` $ for x in **/Cargo.lock; do cargo update --manifest-path=${x%.lock}.toml; done ``` Creating the commit message: ``` $ git log --first-parent --format='%s (%b)' 9c29faf55d4c14d2d7f55f8df5059c52af4e5317..e4973a6ee88427f702dac41b3dce4fd6b6b9689e | sed 's/Merges: //' | sed 's/^/ * /' ``` git shortlog unfortunately doesn't show the merges the way I prefer linking them. The versions in the command line can be taken from `git diff --text` and looking for the riot-sys or riot-wrappers line, respectively. Co-authored-by: chrysn <chrysn@fsfe.org>
bors bot
added a commit
to RIOT-OS/RIOT
that referenced
this pull request
Apr 28, 2023
19505: Rust: Update dependencies [backport 2023.04] r=maribu a=maribu # Backport of #19495 ### Contribution description This updates both the RIOT-specific and generic dependencies of Rust examples and modules. It also follows a deprecation from the G unit renaming originally done in #19292. ### Testing procedure * Green CI should do ### Issues/PRs references Copying from one of the commits with some sed: * riot-sys: * RIOT-OS/rust-riot-sys#26 * RIOT-OS/rust-riot-sys#31 * RIOT-OS/rust-riot-sys#30 * RIOT-OS/rust-riot-sys#28 * RIOT-OS/rust-riot-sys#27 * RIOT-OS/rust-riot-sys#25 * RIOT-OS/rust-riot-sys#23 * RIOT-OS/rust-riot-sys#22 * RIOT-OS/rust-riot-sys#21 * riot-wrappers: * RIOT-OS/rust-riot-wrappers#36 * RIOT-OS/rust-riot-wrappers#50 * RIOT-OS/rust-riot-wrappers#48 * RIOT-OS/rust-riot-wrappers#47 * RIOT-OS/rust-riot-wrappers#44 * RIOT-OS/rust-riot-wrappers#45 * RIOT-OS/rust-riot-wrappers#43 * (later, when the mistake became apparent) RIOT-OS/rust-riot-wrappers#55 ### How to do similar PRs Updating the RIOT-related dependencies (which here also updated bindgen because the dependency of riot-sys changed): ``` $ for x in **/Cargo.lock; do cargo update --manifest-path=${x%.lock}.toml --package riot-sys --package riot-wrappers; done ``` Updating everything (should never really be needed, b/c if something has a concrete dependency change it'd say so, but dependencies generally get better over time): ``` $ for x in **/Cargo.lock; do cargo update --manifest-path=${x%.lock}.toml; done ``` Creating the commit message: ``` $ git log --first-parent --format='%s (%b)' 9c29faf55d4c14d2d7f55f8df5059c52af4e5317..e4973a6ee88427f702dac41b3dce4fd6b6b9689e | sed 's/Merges: //' | sed 's/^/ * /' ``` git shortlog unfortunately doesn't show the merges the way I prefer linking them. The versions in the command line can be taken from `git diff --text` and looking for the riot-sys or riot-wrappers line, respectively. 19509: cpu/cc26xx_cc13xx: Fix bogus array-bound warning [backport 2023.04] r=maribu a=maribu # Backport of #19504 ### Contribution description GCC 12 create a bogus array out of bounds warning as it assumes that because there is special handling for `uart == 0` and `uart == 1`, `uart` can indeed be `1`. There is an `assert(uart < UART_NUMOF)` above that would blow up prior to any out of bounds access. In any case, optimizing out the special handling of `uart == 1` for when `UART_NUMOF == 1` likely improves the generated code and fixes the warning. /home/maribu/Repos/software/RIOT/cc2650/cpu/cc26xx_cc13xx/periph/uart.c:88:8: error: array subscript 1 is above array bounds of 'uart_isr_ctx_t[1]' [-Werror=array-bounds] 88 | ctx[uart].rx_cb = rx_cb; | ~~~^~~~~~ /home/maribu/Repos/software/RIOT/cc2650/cpu/cc26xx_cc13xx/periph/uart.c:52:23: note: while referencing 'ctx' 52 | static uart_isr_ctx_t ctx[UART_NUMOF]; | ^~~ /home/maribu/Repos/software/RIOT/cc2650/cpu/cc26xx_cc13xx/periph/uart.c:89:8: error: array subscript 1 is above array bounds of 'uart_isr_ctx_t[1]' [-Werror=array-bounds] 89 | ctx[uart].arg = arg; | ~~~^~~~~~ /home/maribu/Repos/software/RIOT/cc2650/cpu/cc26xx_cc13xx/periph/uart.c:52:23: note: while referencing 'ctx' 52 | static uart_isr_ctx_t ctx[UART_NUMOF]; | ^~~ ### Testing procedure The actual change is a pretty obvious one-liner, so that code review and a green CI should be sufficient. If not, running any UART example app without regression should do. ### Issues/PRs references None 19510: tools/openocd: Fix handling of OPENOCD_CMD_RESET_HALT [backport 2023.04] r=maribu a=maribu # Backport of #19506 ### Contribution description The OPENOCD_CMD_RESET_HALT was not longer correctly passed to the script. This fixes the issue. ### Testing procedure Flashing of e.g. the `cc2650-launchpad` with upstream OpenOCD should work again. ### Issues/PRs references The change was added to #19050 after testing the PR and before merging. I'm not sure if the fix never worked because of this, or if behavior of `target-export-variables` or GNU Make changed. Co-authored-by: chrysn <chrysn@fsfe.org> Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
zhaolanhuang
pushed a commit
to zhaolanhuang/RIOT
that referenced
this pull request
Dec 6, 2023
This pulls in several fixes from these repositories: * riot-sys: * Add `random` module to `riot-headers` (RIOT-OS/rust-riot-sys#26) * README: fix 2 typos (RIOT-OS/rust-riot-sys#31) * bindgen: Use 0.64 (RIOT-OS/rust-riot-sys#30) * wolfSSL support added (RIOT-OS/rust-riot-sys#28) * extern-types: Generate replacement types dynamically (RIOT-OS/rust-riot-sys#27) * Extern types: Add netq_t, make them large (RIOT-OS/rust-riot-sys#25) * doc: Suppress warnings about things C2Rust does not uphold (RIOT-OS/rust-riot-sys#23) * export macro_DAC_LINE (RIOT-OS/rust-riot-sys#22) * Add BINDGEN_OUTPUT_FILE export (RIOT-OS/rust-riot-sys#21) * riot-wrappers: * DAC: Add wrapper around RIOTs DAC-interface (RIOT-OS/rust-riot-wrappers#36) * saul: Compatibly rename G* variants (RIOT-OS/rust-riot-wrappers#50) * tests: Add test for auto-init when auto-init debug is active (RIOT-OS/rust-riot-wrappers#48) * gcoap: Provide link encoder (RIOT-OS/rust-riot-wrappers#47) * Drop SUIT support in riot-wrappers (RIOT-OS/rust-riot-wrappers#44) * Add an auto init module (RIOT-OS/rust-riot-wrappers#45) * gcoap: Allow registration without scope for 'static listeners (RIOT-OS/rust-riot-wrappers#43) Through direct dependency changes (the bindgen update), the number of transitive dependencies could be reduced.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
gcoap takes a link encoder to allow listeners customization of what they write into .well-known/core. So far, this has not been exercised by the RIOT wrappers, resulting in the use of the default handler (which just emits the path). This fell short when the resource had metadata, or when multiple resources were dispatched through Rust mechanisms under any given path.
This adds two things:
This is all falling a bit short due to the lack of block-wise transfer in Gcoap's .well-known/core, but hey, it's a start.