-
Notifications
You must be signed in to change notification settings - Fork 2k
Roadmap
Peter Kietzmann edited this page Apr 25, 2017
·
15 revisions
The aim of the roadmap is to identify priority areas of RIOT development & enhancements. For each area, some near-future plans and concrete next steps are indicated. The text and items below are tentative, up for discussion, to be updated on the fly.
(contact/steering: Martine)
- fix lingering NDP issues
- finalize and merge sock API (still missing: emb6), remove conn API
- ICN stack support clean-up
- discuss mid- and long-term plans for network stack maintenance & development (GNRC vs other supported stacks)
- support for CoAP blockwise transfer, observe
- revisit network time synchronization
(contact/steering: Peter)
- BLE link-layer support (below HCI, port from MyNewt?) towards fully open source support of 6LoWPAN over BLE
- LoRa & LoRaWAN driver and MAC layer integration
- Duty Cycling Radio: finalize and merge lwMAC
- Traffic adaptive MAC protocol: finalize and merge iQueue
- Retransmissions by MAC: finalize and merge
netdev_retrans
- Point-to-Point Protocol (PPP): finalize and merge
gnrc_ppp
- Re-integrate and clean-up 802.15.4 TSCH integration
(contact/steering: Hauke)
-
RFC from @gebart for arbitrary freq for xtimerdone -
prototype LPM concept from Kaspar, demoed on PLACE-HOLDER hardware. Basic idea is to define unified/simplified layered LP modes that apply to 99% of IoT hardware. More optimized board-specific LPM wouldprototype done - implement PM interface for existing platforms (-> https://github.com/RIOT-OS/RIOT/issues/6802)
- xtimer use of RTT low-power timer
- concept to fix shell usage issue while LPM activated
- integrate generic power management functions in device driver APIs (netdev, SAUL, ...)
- more advanced LPM concepts:
- potentially get rid of idle thread
- sleeping for short periods (in cases where it is not feasible to switch to the idle thread and back) -> mitigate active waiting
(contact/steering: Hauke)
- remodeling of the
periph/i2c.h
interface and subsequent adaption/rewrite of all existing implementations (-> https://github.com/RIOT-OS/RIOT/issues/6577) - cleanup and unification of low-level timer interfaces (
timer
,rtt
,rtc
) - introduction of
spi_slave
interface - introduction of
i2c_slave
interface
(contact/steering: Paco)
- Prototype of firmware swapping, assuming the internal flash can contain 2 images and the bootloader, demoed on IoT-Lab_M3
- Firmware loading through serial using ethos, when no image is flashed on the node.
- A firmware server can be started with the address and the firmware to flash.
- Firmware update through UDP.
- A module is included on any updatable firmware, able to deal with firmware requests.
- The node asks for a new firmware and the server answers with the correct image.
- Interpreted language support (js and python) with dynamically updatable scripts
- Prototype for secure bootloading enhancements (authentification, integrity, confidentiality, bootstrap of keys)
- Firmware distribution enhancements (firmware metadata refinements, automatic discovery/push/pull from server or nearby node caching newer firmware)
- Partial firmware update (Dynamic linking and loading of ELF files).
(contact/steering: Emmanuel)
-
publish roadmapdone - merge RDMs in doxygen
- develop a way to differentiate more clearly support levels in the documentation "initial support" from "basic support" and "full support"
- revamp RIOT website
(contact/steering: Alex)
- Improved MIPS support
- radio support for TI SensorTag
- radio support for Silab Thunderboard
- improve x86/Quark support (e.g. Arduino 101) via QMSI
- Radio support for Arduino MKR1000
- ST Nucleo support
- LoRa drivers
(contact/steering: Kaspar)
- automated unit tests with hardware in the loop (SAMR21 plugged on CI server?)
- automated network functionality tests (e.g. RPL + UDP/PING tests through border router, multi-hop) in IoTLAB dev sites?
- leverage PiFleet more?
- On-board CI testing in IoT-LAB (as it will provide soon the possibility to add custom nodes)
(contact/steering: Kaspar)
- RNG unified (secure, or basic), seeding
- easy TinyDTLS integration in sock, with CoAP etc.
- RIOT default configuration = secure configuration (that's our goal/motto)
- 802.15.4 link layer security (gaps in RFCs? How to update keys?)