140 views
 owned this note
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? <!-- ### BTHome Implementation - **Champion:** maribu - **Project description:** - BTHome is a BLE beacon format that allows to quickly integrate sensors in the Home Assistant - This should match perfectly with SAUL and should allow integrating sensors attached to, say an nRF52 board, into Home Assistant - https://lwn.net/Articles/925125/ - https://www.home-assistant.io/integrations/bthome - **Interested:** - chrysn - ... --> ### 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](https://doc.riot-os.org/group__boards__pinetime.html) with a [demo app by Koen](https://github.com/bosmoment/PineTime-apps) and some work on [supporting Bangle.js2 has been done by nica](https://github.com/nica-f/RIOT-Digitaluhr/tree/b2), including [demo app](https://github.com/nica-f/RIOT-Digitaluhr-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](https://github.com/RIOT-OS/RIOT/issues/20355))~~ - ~~problem might be related to the AAAA record's hostname being larger than the device name that was requested (CNAME redirect)~~ - [#20857](https://github.com/RIOT-OS/RIOT/pull/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](https://github.com/RIOT-OS/RIOT/issues/18164), [#18189](https://github.com/RIOT-OS/RIOT/pull/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](https://github.com/RIOT-OS/RIOT/issues/20686), [#20688](https://github.com/RIOT-OS/RIOT/pull/20688))~~ fix provied in [#20855](https://github.com/RIOT-OS/RIOT/pull/20855) - `gnrc_sixlowpan_frag` always assumes worst case layer 2 PDU ([#19132](https://github.com/RIOT-OS/RIOT/issues/19132), [#19150](https://github.com/RIOT-OS/RIOT/pull/19150), [#19189](https://github.com/RIOT-OS/RIOT/pull/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](https://github.com/benpicco/RIOT/tree/nanocoap_non_block) - try to switch from Reed-Solomon codes to Fountain Codes ([nanorq](https://github.com/sleepybishop/nanorq/tree/dev) - try to get [decode support](https://github.com/sleepybishop/nanorq/issues/11) 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