Skip to content

Minutes from face to face meeting @ FU Berlin on November 12, 2013

Oleg Hahm edited this page Feb 4, 2014 · 1 revision

Minutes from the Face-to-Face Developer Meeting @ FU Berlin on November 12, 2013

Local participants: Oliver, Ludwig, Hauke, Christian, Thomas, for the last minutes: Emmanuel Skype participants: Martine L. Martin L.

Minute taker: Christian, Ludwig

Agenda

everyone agrees

Features for the Next Release

  • new timer
  • network stack rework and POSIX socket wrapper
  • ccnlite is already in the master branch
  • new hardware: econotag, telosB and mbed hardware
  • basic A9 support
  • pthread support ready, needs testing, test case is there, please review! -> pthread is needed for libcppa

Issues to be fixed for the release

  • Checksum calculation for UDP and ICMP with enabled IPHC is broken. Maybe csum implementation from Linux or BSD can be used.
  • all checksum functions should live in sys/checksum as its own module -> should be part of the next release!
  • CoAP support ready in two weeks -> Martine
  • ccnlite header should live in net/ include -> Christian
  • hwtimer buggy on the econotag platform
  • Oleg: clean mbed hardware support for the next release
  • Hauke: alternatives for the third party repository (to many arm related folders)

Schedule for the Next Release

we release as soon as all issues tagged as "NEXT RELEASE" are solved

After Release -> Next Release

  • after this release we do a stabilizing/clean up release -> focus on IoT network stack
  • make code ready for a plug test (sixlowpan + RPL)
  • clean up Makefiles, focus on includes and module dependencies
  • tight binding to boards needs work -> Hauke

Hardware Porting Guide (Next Release)

  • we need one! focus on nice documentation with example code
  • arch/ CPU+board need more documentation
  • arm common folder structure needs rework -> Hauke

Github Alternatives

  • +GitHub: issue system is simple to use

  • -GitHub: lacks a nice filter system (no NOT operator, e.g. "NOT NEXT_MILESTONE")

  • -GitHub: no history

  • +GitHub: is popular in the open source community

  • we will stay with GitHub at least for the next six months

CI and Testing Infrastructure

  • manual testing too time consuming

  • we need a CI system

  • we want a "hardware support table"

  • Martine: CI can create this automatically

  • jenkins needs to get set up + GitHub plugin for auto hooks

  • hosting on our own hardware as we need to connect some embedded boards

  • lint or similar would be a benefit

  • code coverage testing

  • make target buildtest for all platforms (ticket for Ludwig, already done and merged)

  • for every PR: build for all platforms

  • test and run code only on manual request

  • CI should only build the code

  • flash new binary to hardware only on manual comment "flash" in the PR

  • does jenkins provide this functionality?

  • Oleg will provide a PC with active USB hubs, Linux and Tomcat

  • Martine will start setting up Jenkins

  • we need to have at least one test case for every core unit

  • these core tests always need to pass

RIOT Structure

what we want

  • tests folder and

  • examples folder:

    • hello-world,
    • default (if possible sixlowpan) with shell
    • network stack
    • threading + IPC
  • all other projects live in the name space of the related programmer

  • projects git goes in Olegs account

  • delete boards

  • we need to fix the documentation: rework all references to boards

Test Driven Development

  • we need a good presentation and howto for embedded test driven development
  • we agree that every component of RIOT should have its test
  • we need more integration tests

Too Many IFDEFs

  • debug code should live in ifdef because of the bloating nature of unused c functions (functions are always included in the binary)

External Libraries

  1. porting of code to RIOT (integration of code) -> copy paste in RIOT
  2. mostly unchanged libraries -> create Makefile with checkout/download + applying of patches (kind of what http://www.freebsd.org/ports/ does)
  • ccn lite was test case for (1)
  • libcoap is a test case for (2)
Clone this wiki locally