Skip to content

dectnrp_nrf91: first implementation - #1

Merged
nor-bot merged 2 commits into
mainfrom
dectnrp_nrf91-first-shot
Sep 30, 2026
Merged

nor-bot merged 2 commits into
mainfrom
dectnrp_nrf91-first-shot

Conversation

@RainerSchubert

@RainerSchubert RainerSchubert commented Jul 14, 2026 •

Copy link
Copy Markdown
Member

This PR is meant for setup/build/debugging and test of

You can "easily" follow the steps in README.md. The related branch gets automatically checked out by west.

@RainerSchubert

RainerSchubert commented Jul 15, 2026 •

Copy link
Copy Markdown
Member Author

The build job failed because the Zephyr docker image seems to big for the runner. Mysteriously only "error:" is displayed but not the log itself.

/usr/bin/docker --config /home/runner/work/_temp/.docker_b5243fad-5697-46e4-8354-324e8ee31949 pull ghcr.io/zephyrproject-rtos/ci:v0.28.4
v0.28.4: Pulling from zephyrproject-rtos/ci
87838142bbf1: Pulling fs layer
fb359ad007b6: Pulling fs layer
971f0435b33d: Pulling fs layer
87838142bbf1: Verifying Checksum
87838142bbf1: Download complete
Checking docker version
Clean up resources from previous jobs
Create local container network
Starting job container
/usr/bin/docker --config /home/runner/work/_temp/.docker_b5243fad-5697-46e4-8354-324e8ee31949 login ghcr.io -u RainerSchubert --password-stdin
87838142bbf1: Pull complete
fb359ad007b6: Verifying Checksum
fb359ad007b6: Download complete
fb359ad007b6: Pull complete
971f0435b33d: Verifying Checksum
971f0435b33d: Download complete
failed to register layer: write /opt/toolchains/zephyr-sdk-0.17.4/sparc-zephyr-elf/sparc-zephyr-elf/lib/leon3/soft/flat/libc_nano.a: no space left on device
Warning: Docker pull failed with exit code 1, back off 8.8 seconds before retry.
/usr/bin/docker --config /home/runner/work/_temp/.docker_b5243fad-5697-46e4-8354-324e8ee31949 pull ghcr.io/zephyrproject-rtos/ci:v0.28.4
v0.28.4: Pulling from zephyrproject-rtos/ci
87838142bbf1: Pulling fs layer
fb359ad007b6: Pulling fs layer
971f0435b33d: Pulling fs layer
87838142bbf1: Verifying Checksum
87838142bbf1: Download complete
87838142bbf1: Pull complete
fb359ad007b6: Verifying Checksum
fb359ad007b6: Download complete
fb359ad007b6: Pull complete
971f0435b33d: Verifying Checksum
971f0435b33d: Download complete
failed to register layer: write /opt/toolchains/zephyr-sdk-0.17.4/sparc-zephyr-elf/sparc-zephyr-elf/lib/leon3/soft/flat/libc_nano.a: no space left on device
Warning: Docker pull failed with exit code 1, back off 3.197 seconds before retry.
/usr/bin/docker --config /home/runner/work/_temp/.docker_b5243fad-5697-46e4-8354-324e8ee31949 pull ghcr.io/zephyrproject-rtos/ci:v0.28.4
v0.28.4: Pulling from zephyrproject-rtos/ci
87838142bbf1: Pulling fs layer
fb359ad007b6: Pulling fs layer
971f0435b33d: Pulling fs layer
87838142bbf1: Verifying Checksum
87838142bbf1: Download complete
87838142bbf1: Pull complete
fb359ad007b6: Verifying Checksum
fb359ad007b6: Download complete
971f0435b33d: Verifying Checksum

@RainerSchubert
RainerSchubert force-pushed the dectnrp_nrf91-first-shot branch 5 times, most recently from cabe394 to a81fae8 Compare September 3, 2026 10:55
Comment thread samples/west.yml Outdated
repo-path: opener
# Always use git tag or commit hash as a revision
revision: main
revision: dectnrp_nrf91-first-shot

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do NOT merge this change!
Before merging this needs to be reverted after Opener-Initiative/opener#3 has been merged!

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do NOT merge this change!
Before merging this needs to be reverted after Opener-Initiative/opener#4 has been merged!


.. code-block:: bash

nrfutil sdk-manager toolchain launch --ncs-version v3.1.1 --shell

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The usage of nrf tools/ sdk-manager should be documented in top level README.md.

@RainerSchubert
RainerSchubert force-pushed the dectnrp_nrf91-first-shot branch 2 times, most recently from 6df5889 to d559efc Compare September 3, 2026 11:02
@RainerSchubert
RainerSchubert marked this pull request as ready for review September 4, 2026 15:24
@RainerSchubert
RainerSchubert requested a review from a team as a code owner September 4, 2026 15:24
@RainerSchubert
RainerSchubert force-pushed the dectnrp_nrf91-first-shot branch 9 times, most recently from 7ee6817 to 18a5633 Compare September 9, 2026 09:08
Comment thread .github/workflows/clang-format.yml Resolved
@RainerSchubert

Copy link
Copy Markdown
Member Author

I changed (hopefully) every occurrence of nrf91 to nrf91x1 (both lower and upper case).

@RainerSchubert

RainerSchubert commented Sep 14, 2026 •

Copy link
Copy Markdown
Member Author

If you are curious where to find logs where the pipeline just shows error: in red:
There is a gearwheel on the right side and an sub-option "View raw logs".

Can not attach a picture here... :(
But for example here https://github.com/Opener-Initiative/opener-samples/actions/runs/34883104395/job/104106966038

@RainerSchubert
RainerSchubert force-pushed the dectnrp_nrf91-first-shot branch from f10aeeb to 035a789 Compare September 21, 2026 12:00
}

struct dectnrp_event_wrapper *item =
k_malloc(sizeof(struct dectnrp_event_wrapper));

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have chosen the simple solution via k_malloc. A more efficient way should be used.

struct dectnrp_event_wrapper *item =
k_malloc(sizeof(struct dectnrp_event_wrapper));
__ASSERT(item != NULL, "fifo_item == NULL");
memcpy(&item->event, event, sizeof(struct dectnrp_driver_event));

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just noticed, only the event gets copied here but not the pcc and pdc memory.

event->msg_received.pcc and event->msg_received.pdc are used asynchronously within receive.

That of course is not correct as meanwile the modem may re-use that memory and its only by chance that it works now.

We could use net_pkt_rx_alloc_with_buffer or some similar function to allocate a packet and copy the message itself to it.

Comment thread samples/dectnrp-driver/src/dectnrp.c Outdated
* @param dev
* @param event
*/
static void dectnrp_driver_event(const struct device *dev,

@RainerSchubert RainerSchubert Sep 23, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also think that we should provide struct net_if *iface instead of const struct device *dev.

I did stumble over that problem when I wanted to copy pcc and pdc into a netpkt/netbuf.
Then I needed struct net_pkt *pkt = net_pkt_alloc_with_buffer(iface, .

It also is more consistent as other interface functions of the net framework also have iface.
If needed the driver instance can be retrieved from iface using
const struct device *net_if_get_device(struct net_if *iface).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For that change we also need to modify the driver api and the nrf91x1 implementation.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@RainerSchubert
RainerSchubert force-pushed the dectnrp_nrf91-first-shot branch from b0bdf63 to e9e1bae Compare September 23, 2026 19:03
Comment thread sample-linux.code-workspace Resolved
@RainerSchubert
RainerSchubert force-pushed the dectnrp_nrf91-first-shot branch from e9e1bae to 14d3e1a Compare September 24, 2026 07:40

@po3ts po3ts left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be merged from my side once the changes from Opener-Initiative/opener#4 are in (and west.yml points to main).

Comment thread samples/west.yml Resolved
  * implement first samples/dectnrp_driver ping-pong example
  * demonstration get-time and rssi1-scan
  * demonstrating rx and tx with a simple ping-pong synchronization
  and communication
  * add first dectnrp_operation module to manage operations
  * rework ci by using zephyrproject-rtos/action-zephyr-setup
  * improve documentation

Signed-off-by: Rainer Schubert <rainer.schubert@deveritec.com>
Signed-off-by: Rainer Schubert <rainer.schubert@deveritec.com>
@nor-bot
nor-bot force-pushed the dectnrp_nrf91-first-shot branch from 5926ab4 to 09ac2bd Compare September 30, 2026 20:35
@nor-bot
nor-bot merged commit 9ece699 into main Sep 30, 2026
3 checks passed
@nor-bot
nor-bot deleted the dectnrp_nrf91-first-shot branch September 30, 2026 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants