Skip to content
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

pkg/lwip: use sys/event for handling ISR and bhp #18359

Merged
merged 1 commit into from
Apr 29, 2024

Conversation

maribu
Copy link
Member

@maribu maribu commented Jul 22, 2022

Contribution description

This is many providing infrastructure for later use, specifically for making use of the netdev_driver_t::confirm_send(). However, as a positive side-effect, this should prevent lost IRQs. (E.g. consider one netdev saturating the message queue. If now a second netdev would
also need its ISR being run, it cannot enqueue its message and the IRQ is lost.)

Testing procedure

The expected failure mode is that no network operation is possible when the ISRs are not being run correctly. I ran make LWIP=1 BOARD=nucleo-f767zi -C examples/gcoap and could still successfully ping the board.

Issues/PRs references

Contains #18357

@maribu maribu requested a review from miri64 as a code owner July 22, 2022 12:19
@maribu maribu requested a review from yarrick July 22, 2022 12:20
@github-actions github-actions bot added Area: network Area: Networking Area: pkg Area: External package ports labels Jul 22, 2022
@maribu maribu added Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation State: waiting for other PR State: The PR requires another PR to be merged first Area: network Area: Networking Area: pkg Area: External package ports and removed Area: network Area: Networking Area: pkg Area: External package ports labels Jul 22, 2022
@maribu maribu removed the State: waiting for other PR State: The PR requires another PR to be merged first label Aug 3, 2022
@maribu
Copy link
Member Author

maribu commented Aug 3, 2022

Rebased to include the whitespace only style fixes. This no longer depends on other PRs.

@maribu maribu mentioned this pull request Aug 22, 2022
2 tasks
@benpicco
Copy link
Contributor

This needs a rebase.

@maribu
Copy link
Member Author

maribu commented Sep 19, 2022

@jia200x: This now largely reverts #18465 and replaces the bhp_msg with bhp_event.

From a quick look into the bhp code, I think this should be correctly wired up to just work. But I do not have the hardware to actually test this.

@maribu maribu changed the title pkg/lwip: use sys/event for handling ISR pkg/lwip: use sys/event for handling ISR and bhp Sep 19, 2022
@jia200x
Copy link
Member

jia200x commented Sep 19, 2022

@jia200x: This now largely reverts #18465 and replaces the bhp_msg with bhp_event.

this is definitely the way to go, thanks!

Note that you could also just use event directly, as proposed during the RIOT summit (@kaspar030). The idea of the BHP module was to provide mechanism-agnostic BHP processing. However, we agreed that there's no reason to process IRQ events with a mechanism other than event, so we will likely remove the bhp_xxx modules anyway.

@yarrick
Copy link
Contributor

yarrick commented Sep 19, 2022

This breaks RX for me (both wired and wireless) when applied on top of 4b87a30

I use BOARD=esp32-ethernet-kit-v1_2 LWIP_IPV4=1 make -C examples/paho-mqtt/ flash

@maribu
Copy link
Member Author

maribu commented Sep 21, 2022

OK, I just rebased to see if the issue is a result of changes to master being incompatible. However, it works just fine on ARM. I assume that there are some peculiarities in ESP that cause trouble. I will see if I can track them down.

@benpicco
Copy link
Contributor

Hm any news on this?

@benpicco benpicco requested a review from jia200x October 19, 2022 21:57
@maribu
Copy link
Member Author

maribu commented Oct 20, 2022

Hm any news on this?

I'm still having trouble to get OpenOCD up an running to be able to properly debug the issue on ESP. (I even gave up on using upstream OpenOCD and used openocd-esp32. Unlike upstream OpenOCD this could indeed flash the ESP32 Ethernet Kit via the FTDI bit-banging JTAG interface. But debugging shows the same errors as the upstream version. Did I mention that the state of the software on ESP is extremely frustrating?)

@benpicco
Copy link
Contributor

@gschorcht might know more about how to debug esp32

@maribu
Copy link
Member Author

maribu commented Oct 20, 2022

OK, then let me provide some details on the problem first:

$ USEMODULE=esp_jtag make BOARD=esp32-ethernet-kit-v1_2 BUILD_IN_DOCKER=1 PROGRAMMER=openocd OPENOCD=openocd-esp32 -C examples/default/ flash debug
[...]
### Starting Debugging ###
Open On-Chip Debugger v0.11.0-snapshot (2022-10-17-17:23)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Reading symbols from /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf...
Remote debugging using :3333
Remote 'g' packet reply is too long (expected 180 bytes, got 420 bytes): 00040040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000004004096fec51c2500060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
(gdb) start
Temporary breakpoint 1 at 0x400d0024: file /data/riotbuild/riotbase/examples/default/main.c, line 37.
Starting program: /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf 
warning: Selected architecture xtensa is not compatible with reported target architecture i386:x86-64
warning: Target-supplied registers are not supported by the current architecture
Warning:
Cannot insert breakpoint 1.
Cannot access memory at address 0x400d0024
Full log output
$ USEMODULE=esp_jtag make BOARD=esp32-ethernet-kit-v1_2 BUILD_IN_DOCKER=1 PROGRAMMER=openocd OPENOCD=openocd-esp32 -C examples/default/ flash debug
make: Entering directory '/home/maribu/Repos/software/RIOT/examples/default'
printf: ‘’: Invalid argument
Launching build container using image "docker.io/riot/riotbuild:latest".
podman run --rm --tty --userns keep-id -v '/etc/zoneinfo/Europe/Berlin:/etc/localtime:ro' -v '/home/maribu/Repos/software/RIOT:/data/riotbuild/riotbase:delegated' -v '/home/maribu/.cargo/registry:/data/riotbuild/.cargo/registry:delegated' -v '/home/maribu/.cargo/git:/data/riotbuild/.cargo/git:delegated' -e 'RIOTBASE=/data/riotbuild/riotbase' -e 'CCACHE_BASEDIR=/data/riotbuild/riotbase' -e 'BUILD_DIR=/data/riotbuild/riotbase/build' -e 'RIOTPROJECT=/data/riotbuild/riotbase' -e 'RIOTCPU=/data/riotbuild/riotbase/cpu' -e 'RIOTBOARD=/data/riotbuild/riotbase/boards' -e 'RIOTMAKE=/data/riotbuild/riotbase/makefiles'    -v '/home/maribu/Repos/software/boards/riot:/data/riotbuild/external/riot:delegated' -v '/home/maribu/Repos/software/miot-pcbs/RIOT/boards:/data/riotbuild/external/boards:delegated'  -e 'BOARD=esp32-ethernet-kit-v1_2' -e 'PROGRAMMER=openocd' -e 'DISABLE_MODULE=' -e 'DEFAULT_MODULE=' -e 'FEATURES_REQUIRED=' -e 'FEATURES_BLACKLIST=' -e 'FEATURES_OPTIONAL=periph_rtc' -e 'USEMODULE=esp_jtag ps saul_default shell shell_cmds_default' -e 'USEPKG='  -w '/data/riotbuild/riotbase/examples/default/' 'docker.io/riot/riotbuild:latest' make 'BOARD=esp32-ethernet-kit-v1_2' 'PROGRAMMER=openocd'  'EXTERNAL_BOARD_DIRS=/data/riotbuild/external/riot /data/riotbuild/external/boards'  
Building application "default" for "esp32-ethernet-kit-v1_2" with MCU "esp32".

"make" -C /data/riotbuild/riotbase/pkg/esp32_sdk/ 
"make" -C /data/riotbuild/riotbase/boards/common/init
"make" -C /data/riotbuild/riotbase/boards/esp32-ethernet-kit-v1_2
"make" -C /data/riotbuild/riotbase/boards/esp32-ethernet-kit-v1_0
"make" -C /data/riotbuild/riotbase/boards/common/esp32
"make" -C /data/riotbuild/riotbase/core
"make" -C /data/riotbuild/riotbase/core/lib
"make" -C /data/riotbuild/riotbase/cpu/esp32
"make" -C /data/riotbuild/riotbase/cpu/esp32/bootloader
esptool.py v3.2-dev
Merged 1 ELF section
"make" -C /data/riotbuild/riotbase/cpu/esp32/esp-idf
"make" -C /data/riotbuild/riotbase/cpu/esp32/esp-idf/common
"make" -C /data/riotbuild/riotbase/cpu/esp32/esp-idf/efuse
"make" -C /data/riotbuild/riotbase/cpu/esp32/esp-idf/gpio
"make" -C /data/riotbuild/riotbase/cpu/esp32/esp-idf-api
"make" -C /data/riotbuild/riotbase/cpu/esp32/freertos
"make" -C /data/riotbuild/riotbase/cpu/esp32/periph
"make" -C /data/riotbuild/riotbase/cpu/esp_common
"make" -C /data/riotbuild/riotbase/cpu/esp_common/esp-xtensa
"make" -C /data/riotbuild/riotbase/cpu/esp_common/freertos
"make" -C /data/riotbuild/riotbase/cpu/esp_common/periph
"make" -C /data/riotbuild/riotbase/cpu/esp_common/vendor
"make" -C /data/riotbuild/riotbase/cpu/esp_common/vendor/xtensa
"make" -C /data/riotbuild/riotbase/drivers
"make" -C /data/riotbuild/riotbase/drivers/periph_common
"make" -C /data/riotbuild/riotbase/drivers/rtt_rtc
"make" -C /data/riotbuild/riotbase/drivers/saul
"make" -C /data/riotbuild/riotbase/drivers/saul/init_devs
"make" -C /data/riotbuild/riotbase/sys
"make" -C /data/riotbuild/riotbase/sys/auto_init
"make" -C /data/riotbuild/riotbase/sys/div
"make" -C /data/riotbuild/riotbase/sys/fmt
"make" -C /data/riotbuild/riotbase/sys/isrpipe
"make" -C /data/riotbuild/riotbase/sys/libc
"make" -C /data/riotbuild/riotbase/sys/luid
"make" -C /data/riotbuild/riotbase/sys/newlib_syscalls_default
"make" -C /data/riotbuild/riotbase/sys/phydat
"make" -C /data/riotbuild/riotbase/sys/pm_layered
"make" -C /data/riotbuild/riotbase/sys/preprocessor
"make" -C /data/riotbuild/riotbase/sys/ps
"make" -C /data/riotbuild/riotbase/sys/random
"make" -C /data/riotbuild/riotbase/sys/rtc_utils
"make" -C /data/riotbuild/riotbase/sys/saul_reg
"make" -C /data/riotbuild/riotbase/sys/shell
"make" -C /data/riotbuild/riotbase/sys/shell/cmds
"make" -C /data/riotbuild/riotbase/sys/stdio_uart
"make" -C /data/riotbuild/riotbase/sys/tsrb
esptool.py v3.2-dev
Merged 1 ELF section
Parsing CSV input...
   text	  data	   bss	   dec	   hex	filename
  61307	 14068	  7142	 82517	 14255	/data/riotbuild/riotbase/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf
/home/maribu/Repos/software/RIOT/dist/tools/openocd/openocd.sh flash /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf.bin
### Flashing Target ###
Binfile detected, adding ROM base address: 0x00000000
Flashing with IMAGE_OFFSET: 0x00010000
Open On-Chip Debugger v0.11.0-snapshot (2022-10-17-17:23)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi tdo_sample_edge falling"
Info : clock speed 20000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : starting gdb server for esp32.cpu0 on 0
Info : Listening on port 37955 for gdb connections
Info : [esp32.cpu0] Target halted, PC=0x40000400, debug_reason=00000001
Info : [esp32.cpu0] Reset cause (3) - (Software core reset)
Info : Set GDB target to 'esp32.cpu0'
Error: Exception reading cpenable!
Info : [esp32.cpu1] Target halted, PC=0x00000000, debug_reason=00000000
Info : [esp32.cpu1] Reset cause (14) - (CPU1 reset by CPU0)
    TargetName         Type       Endian TapName            State       
--  ------------------ ---------- ------ ------------------ ------------
 0  esp32.cpu0         esp32      little esp32.cpu0         halted
 1* esp32.cpu1         esp32      little esp32.cpu1         halted

Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : [esp32.cpu0] requesting target halt and executing a soft reset
Info : [esp32.cpu0] Debug controller was reset.
Info : [esp32.cpu0] Core was reset.
Info : [esp32.cpu0] Target halted, PC=0x500000CF, debug_reason=00000000
Info : [esp32.cpu0] Reset cause (3) - (Software core reset)
Info : [esp32.cpu1] requesting target halt and executing a soft reset
Info : [esp32.cpu0] Core was reset.
Info : [esp32.cpu0] Target halted, PC=0x40000400, debug_reason=00000000
Info : [esp32.cpu1] Debug controller was reset.
Info : [esp32.cpu1] Core was reset.
Error: Exception reading cpenable!
Info : [esp32.cpu1] Target halted, PC=0x00000000, debug_reason=00000000
Info : [esp32.cpu1] Reset cause (14) - (CPU1 reset by CPU0)
Info : [esp32.cpu0] Reset cause (3) - (Software core reset)
Installing Bootloader at 0x1000
Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001
Info : Flash mapping 0: 0x10020 -> 0x3f400020, 10 KB
Info : Flash mapping 1: 0x20020 -> 0x400d0020, 41 KB
Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001
Info : Auto-detected flash bank 'esp32.cpu1.flash' size 4096 KB
Info : Using flash bank 'esp32.cpu1.flash' size 4096 KB
Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001
Info : PROF: Erased 20480 bytes in 339.303 ms
Info : PROF: Compressed 20480 bytes to 11768 bytes in 1.164000ms
Info : PROF: Data transferred in 42.812 ms @ 268.434 KB/s
Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001
Info : PROF: Wrote 20480 bytes in 752.042 ms (data transfer time included)
auto erase enabled
wrote 20480 bytes from file /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/esp_bootloader/bootloader.bin in 1.331497s (15.021 KiB/s)

Installing partition table at 0x8000
Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001
Info : PROF: Erased 4096 bytes in 151.619 ms
Info : PROF: Compressed 4096 bytes to 82 bytes in 0.213000ms
Info : PROF: Data transferred in 12.564 ms @ 6.37362 KB/s
Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001
Info : PROF: Wrote 4096 bytes in 680.696 ms (data transfer time included)
auto erase enabled
wrote 4096 bytes from file /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/partitions.bin in 0.832787s (4.803 KiB/s)

Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001
Info : PROF: Erased 110592 bytes in 1362.1 ms
Info : PROF: Compressed 110592 bytes to 50543 bytes in 5.447000ms
Info : PROF: Data transferred in 392.83 ms @ 125.648 KB/s
Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001
Info : PROF: Wrote 110592 bytes in 1220.37 ms (data transfer time included)
auto erase enabled
wrote 110592 bytes from file /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf.bin in 2.588321s (41.726 KiB/s)

Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : [esp32.cpu0] requesting target halt and executing a soft reset
Info : [esp32.cpu0] Debug controller was reset.
Info : [esp32.cpu0] Core was reset.
Info : [esp32.cpu0] Target halted, PC=0x500000CF, debug_reason=00000000
Info : [esp32.cpu0] Reset cause (3) - (Software core reset)
Info : [esp32.cpu1] requesting target halt and executing a soft reset
Info : [esp32.cpu0] Core was reset.
Info : [esp32.cpu1] Debug controller was reset.
Info : [esp32.cpu1] Core was reset.
Info : [esp32.cpu0] Target halted, PC=0x4000921A, debug_reason=00000000
Info : [esp32.cpu0] Reset cause (3) - (Software core reset)
Error: Exception reading cpenable!
Info : [esp32.cpu1] Target halted, PC=0x00000000, debug_reason=00000000
Info : [esp32.cpu1] Reset cause (14) - (CPU1 reset by CPU0)
shutdown command invoked
Done flashing
/home/maribu/Repos/software/RIOT/dist/tools/openocd/openocd.sh debug /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf
### Starting Debugging ###
Open On-Chip Debugger v0.11.0-snapshot (2022-10-17-17:23)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Reading symbols from /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf...
Remote debugging using :3333
Remote 'g' packet reply is too long (expected 180 bytes, got 420 bytes): 00040040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000004004096fec51c2500060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
(gdb) start
Temporary breakpoint 1 at 0x400d0024: file /data/riotbuild/riotbase/examples/default/main.c, line 37.
Starting program: /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf 
warning: Selected architecture xtensa is not compatible with reported target architecture i386:x86-64
warning: Target-supplied registers are not supported by the current architecture
Warning:
Cannot insert breakpoint 1.
Cannot access memory at address 0x400d0024

@gschorcht
Copy link
Contributor

gschorcht commented Oct 20, 2022

OK, then let me provide some details on the problem first:

I don't have any problem on esp32-wrover-kit board to flash the board and to start the debugger with openocd in current master:

USEMODULE=esp_jtag PROGRAMMER=openocd BOARD=esp32-wrover-kit make -C tests/shell flash debug
[...]
### Flashing Target ###
Binfile detected, adding ROM base address: 0x00000000
Flashing with IMAGE_OFFSET: 0x00010000
Open On-Chip Debugger  v0.11.0-esp32-20211220 (2021-12-20-15:42)
[...]
### Starting Debugging ###
Open On-Chip Debugger  v0.11.0-esp32-20211220 (2021-12-20-15:42)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Reading symbols from /home/gs/src/RIOT-Xtensa-ESP.esp-idf-4.4/tests/shell/bin/esp32-wrover-kit/tests_shell.elf...
Remote debugging using :3333
0x40000400 in ?? ()

Did you use the toolchain and the openocd-esp32 version that are pulled by the install script dist/tools/epstools/install.sh?

The following message in your log indicates an incompatibility between the openocd-esp32 and the gdb you are using:

Remote 'g' packet reply is too long (expected 180 bytes, got 420 bytes): 00040040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000004004096fec51c2500060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 26, 2024
@github-actions github-actions bot added the Area: tests Area: tests and testing framework label Apr 26, 2024
@maribu
Copy link
Member Author

maribu commented Apr 26, 2024

@jia200x: Could you give this a spin on either the kw2xrf or the mrf24j40 to see if I got the rebase in regard to the bottom half processor correct? Specifically, this now ditches bhp_msg in favor of bhp_event, as there now is an event queue anyway.

I sadly have neither radio at hands.

@github-actions github-actions bot added Area: tests Area: tests and testing framework and removed Area: tests Area: tests and testing framework labels Apr 26, 2024
@github-actions github-actions bot removed the Area: tests Area: tests and testing framework label Apr 27, 2024
@benpicco
Copy link
Contributor

Turns out 6LoWPAN with LWIP is broken anyway (I tested examples/gcoap with LWIP_IPV6=1 and mrf24j40 on master)

image

This works fine with GNRC.

Please squash.

@maribu
Copy link
Member Author

maribu commented Apr 29, 2024

Then let's get this in and fix lwIP afterwards.

@maribu maribu added this pull request to the merge queue Apr 29, 2024
pkg/lwip/contrib/netdev/lwip_netdev.c Outdated Show resolved Hide resolved
@yarrick yarrick removed this pull request from the merge queue due to a manual request Apr 29, 2024
@maribu maribu requested a review from yarrick April 29, 2024 17:12
This is directly useful for the two driver using the bhp API, but also
other drivers profit from not loosing IRQs.

The main selling point is that this paves the way for implementing
netdev_driver_t::confirm_send().

Co-authored-by: benpicco <benpicco@googlemail.com>
Co-authored-by: Erik Ekman <eekman@google.com>
Copy link
Contributor

@yarrick yarrick left a comment

Choose a reason for hiding this comment

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

I am not that sure how the event loop thing works but it looks reasonable now

@benpicco benpicco enabled auto-merge April 29, 2024 17:48
@benpicco benpicco added this pull request to the merge queue Apr 29, 2024
Merged via the queue into RIOT-OS:master with commit 5ad4354 Apr 29, 2024
27 checks passed
@maribu maribu deleted the lwip/evloop branch April 30, 2024 05:06
@maribu
Copy link
Member Author

maribu commented Apr 30, 2024

Thx :)

@mguetschow mguetschow added this to the Release 2024.07 milestone Jul 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: network Area: Networking Area: pkg Area: External package ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants