Please add your agenda items to our pad for the meeting minutes, so we know beforehand if there is anything to discuss (some people decide their attendance on that).
Please add your agenda items to our pad for the meeting minutes, so we know beforehand if there is anything to discuss (some people decide their attendance on that).
Most of the people from TU Dresden and HAW Hamburg will be not be able to join, but please, feel free to organize among you.
Please add your agenda items to our pad for the meeting minutes, so we know beforehand if there is anything to discuss (some people decide their attendance on that).
MCR asks: recent addition discussion about new maintainer (EF)⌠did something go wrong here?
CS asks: static const in headers
CS asks: SPI API
Notes
static const in headers
Carl: seems like black magic, just used to be optimized out
Karl: just works because never actually put in binary
Carl: is this a coding convention? are we sure optimizing out always works
crasbe: can we just try if linker is smart enough
Karl: compiler works per definition, linker might depend on implementation
mikolai: first step: document why we are using static const in headers
SPI API
Carl: API broken: meaning of SPI_DEV(x) not defined in documentation, physical peripherals not always defined as available, why are pins combined with peripherals
Karl: same with UART and I2C
carl: why?
karl: portability to other boards, I2C âjust worksâ
crasbe: peripheral instances might differ quite a lot, different configuration etc, pins as defined on board
carl: concrete board: adafruit-feather-nrf52840-sense, why second SPI?
crasbe: second for flash. speciality for nrf52: you can freely configure pins for peripherals
Karl: most boards / MCUs have hard-wired peripherals anyways
carl: so again, missing documentation
carl: but still, not very beginner-friendly to need to change random headers
(some discussion about more user-friendly macro interface, but concerns about compiler optimizations)
Marian: number of workers was quite depleted, dropping mobi6 resulted in PRs no longer mergable
Marian: Leandro added new workers, now CI time is acceptable again
Marian: might be worth to consider other strategies than throwing more hardware on the problem, specifically improvments in the build system to reduce the number of compilation taks
Marian: Currently 164,323 builds each compiles core/init.c, but only a few hand ful of different objects are expected
Marian: ccache can improve things, but needs to have 164,323 mostly identical copies of core/init.o due to -DRIOT_BOARD=...-DRIOT_APPLICATION=..., etc.
Marian: even if our compilation jobs would be fully cachable, a build system supporting dependencies and multiple outputs could reduce the compilation to just the actually different init.o objects, and link the same object into different outputs. That would be faster than ccache
Marian: Josh did sketch how th is could be done with some invasive changes in our build system, but sticking with GNU Make as build system and limited to no user facing changes
Marian: We might also look for other solutions. Looking into our build system makes it pretty apparent, that expertise on how to write good Makefiles is pretty scarce within our community. Probably Josh is the only one of us actually knowing how to write proper Makefiles.
Karl: Effort of changing the build system would be relatively large, optimizing ccache cachability would be a much faster way to reduce the pressure
Karl: We could provide board and app name as extern const char * instead, reducing the impact of them on the cachability
Marian: We could also still add flags for preprocessor stuff that is only available with #include "buildinfo/board.h" or #include "buildinfo/app.h". But still, even 99% identical boards such wemos-zero and arduino-zero differ in their module set. We would also need #include "buildinfo/modules.h" for that to have any impact.
Karl: That seems like a lot less effort than changing the build system
Marian: Miri NACKed on #include "buildinfo/modules.h" hard
Please add your agenda items to our pad for the meeting minutes, so we know beforehand if there is anything to discuss (some people decide their attendance on that).
Please add your agenda items to our pad for the meeting minutes, so we know beforehand if there is anything to discuss (some people decide their attendance on that).
Please add your agenda items to our pad for the meeting minutes, so we know beforehand if there is anything to discuss (some people decide their attendance on that).
Please add your agenda items to our pad for the meeting minutes, so we know beforehand if there is anything to discuss (some people decide their attendance on that).