RIOT Hackathon 2024

Agenda

TBD, times might still be subject to change

Time Event
08:30 Room opens & Setup
09:00 Kickoff & Form Teams
12:00 Lunch
15:30 Hackathon stops, start preparing short slide deck
16:00 Presentation of results
17:00 Hackathon ends & Teardown

Hackathon Material

Before final presentation, please upload your slides to TBD.

Projects

Template, DO NOT OVERRIDE

  • Champion: Your Name
  • Project description:
    • Quick summary on your project
    • Is there anything you want to reference?
  • Interested:
    • Who wants to join the champion in their endevour?

Lingua-Franca on Riot

  • Champion: tassilo
  • Project description:
    • Lingua-Franca is an execution scheme that allows determinisitic execution on multicores and distributed environments.
    • The goal of this projects is to use functionality out of the lf-runtime and instead use features of the riot-kernel.
  • Interested:
    • Lasse Rosenow

Extending & Improving CoAP

  • Champions: Carl, Martine, chrysn
  • Project description:
  • Interested:
    • Mikolai

A CoAP based RIOT shell

  • Champion: Teufelchen
  • Project description:
    • The current shell is simple but limited, especially the user experience could be better
    • My idea is to build a new shell which operates on top of CoAP
    • CoAP adds benefitial properties to a shell:
      • Request & Response matching: No more guessing which output relates to your command
      • Asynchrous execution: One can set timers in the shell or wait for events
      • Status codes: Did your command succeed?
      • Machine Readable interactions: Want autocomplete via tab? Just query /.well-known/core in the background and get a list of all commands
      • Great binary transportation, no more base64 workarounds
    • Using SLIPMUX to transport CoAP via UART/serial, even somewhat backwards compatible to the classic shell
  • Demo
  • Interested:
    • Oleg
    • chrysn
    • Mikolai

RIOT on my watch

RIOT networking papercuts

  • Champion: benpicco
  • Project description:
    • fix parsing DNS response from DNS64 server (#20355)
      • problem might be related to the AAAA record’s hostname being larger than the device name that was requested (CNAME redirect)
      • #20857 provides a fix
    • cache out oldest neighbor information base (nib) entry if nib is full so multicast address resolution does not fail if nib is full (#18164, #18189) fixed in master
    • coap_block2_finish() leaves CoAP header in corrupted state if block2 option size ended up smaller than dummy value set by coap_opt_add_block2() (#20686, #20688) fix provied in #20855
    • gnrc_sixlowpan_frag always assumes worst case layer 2 PDU (#19132, #19150, #19189)
  • Interested:

Multi-hop bulk data (firmware) multicast via CoAP

  • Champion: benpicco
  • Project description:
    • goal is to distribute a large data object (e.g. firmware update) to many nodes in a wireless multi-hop network
    • proposal to introduce a page option to CoAP
      • multiple blocks form a page
      • some blocks can be error correction blocks
      • nodes send bitmap of missed blocks (with nanorq could just be number of missed blocks)
      • sender keeps re-transmitting lost blocks
      • when a forwareder has a complete page, it starts to send it out
    • clean up current implementation
    • try to switch from Reed-Solomon codes to Fountain Codes (nanorq - try to get decode support working)
  • Interested:

Rust hacking

  • Champion: Kaspar
  • Project description:
    • We’ll do some RIOT-rs hacking
    • Ideas:
      • port RIOT-rs to Koen’s keyboard
      • integrate some http client
      • hack together an sntp client
      • build a multicast blinky demo
  • *Interested:

Improving the Docs

  • Champion: AnnsAnn
  • Project description:
    • Try to find ways to improve the docs
    • Improve Searchbar
    • Improve Theme
RIOT Hackathon 2024 Agenda TBD, times might still be subject to change Time Event 08:30 Room opens & Setup 09:00 Kickoff & Form Teams 12:00 Lunch 15:30 Hackathon stops, start preparing short slide deck 16:00 Presentation of results 17:00 Hackathon ends & Teardown Hackathon Material Before final presentation, please upload your slides to TBD. Projects Template, DO NOT OVERRIDE Champion: Your Name Project description: Quick summary on your project Is there anything you want to reference? Interested: Who wants to join the champion in their endevour? Lingua-Franca on Riot Champion: tassilo Project description: Lingua-Franca is an execution scheme that allows determinisitic execution on multicores and distributed environments. The goal of this projects is to use functionality out of the lf-runtime and instead use features of the riot-kernel. Interested: Lasse Rosenow Extending & Improving CoAP Champions: Carl, Martine, chrysn Project description: Testing/integrating/extending unicoap https://github.com/RIOT-OS/RIOT/issues/20792 libOSCORE integration CoAP-over-TCP Sketching EDHOC roadmap, eg. using coapcore from RIOT-rs Interested: Mikolai A CoAP based RIOT shell Champion: Teufelchen Project description: The current shell is simple but limited, especially the user experience could be better My idea is to build a new shell which operates on top of CoAP CoAP adds benefitial properties to a shell: Request & Response matching: No more guessing which output relates to your command Asynchrous execution: One can set timers in the shell or wait for events Status codes: Did your command succeed? Machine Readable interactions: Want autocomplete via tab? Just query /.well-known/core in the background and get a list of all commands Great binary transportation, no more base64 workarounds … Using SLIPMUX to transport CoAP via UART/serial, even somewhat backwards compatible to the classic shell Demo I bring a working prototype with a shiny TUI for you to explore, test and evaluate! Maybe of interest: https://files.teufelchen.eu/CoAP-Shell.pdf Interested: Oleg chrysn Mikolai RIOT on my watch Champion: Mikolai Project description: RIOT currently boots on the PineTime with a demo app by Koen and some work on supporting Bangle.js2 has been done by nica, including demo app We could try to bring both up-to-date and consolidate app code to work on either hardware I will bring a PineTime DevKit and a Bangle.js2, more hardware is welcome Interested: RIOT networking papercuts Champion: benpicco Project description: fix parsing DNS response from DNS64 server (#20355) problem might be related to the AAAA record’s hostname being larger than the device name that was requested (CNAME redirect) #20857 provides a fix cache out oldest neighbor information base (nib) entry if nib is full so multicast address resolution does not fail if nib is full (#18164, #18189) fixed in master coap_block2_finish() leaves CoAP header in corrupted state if block2 option size ended up smaller than dummy value set by coap_opt_add_block2() (#20686, #20688) fix provied in #20855 gnrc_sixlowpan_frag always assumes worst case layer 2 PDU (#19132, #19150, #19189) Interested: … Multi-hop bulk data (firmware) multicast via CoAP Champion: benpicco Project description: goal is to distribute a large data object (e.g. firmware update) to many nodes in a wireless multi-hop network proposal to introduce a page option to CoAP multiple blocks form a page some blocks can be error correction blocks nodes send bitmap of missed blocks (with nanorq could just be number of missed blocks) sender keeps re-transmitting lost blocks when a forwareder has a complete page, it starts to send it out clean up current implementation try to switch from Reed-Solomon codes to Fountain Codes (nanorq - try to get decode support working) Interested: … Rust hacking Champion: Kaspar Project description: We’ll do some RIOT-rs hacking Ideas: port RIOT-rs to Koen’s keyboard integrate some http client hack together an sntp client build a multicast blinky demo *Interested: … Improving the Docs Champion: AnnsAnn Project description: Try to find ways to improve the docs Improve Searchbar Improve Theme
{}