By running make compile-commands a `compile_commands.json` in the RIOT base
directory. With the environment variable `COMPILE_COMMANDS` the path of
this file can be changed to a custom location.
The `compile_commands.json` will contain the exact compile command, but
as additional flag `-I/usr/$(TARGET)/include` is added to work around
`clangd` not being able to locate the newlib system headers. The
additional includes can be overwritten using the environment variable
`COMPILE_COMMANDS_EXTRA_INCLUDES`.
In analogy to the existing GPIO mappings, this provides (write-only)
SAUL entries for PWM'd LEDs in a single-LED (as SAUL_ACT_DIMMER) and an
RGB (as SAUL_ACT_RGB_LED) mode.
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
The previous favicon was a 35x40 png file. Some (if not all) browsers
stretch the icon to a square. This stretched the original favicon
without keeping the aspect ratio. This commit replaces the favicon with
a square 128x128 png image.
This extends the 'Advanced build system tricks' section with a make
script to select the board debugger and serial based on the USB serial
number as reported by the device. This solution is different from the
udev-rule solution as it doesn't require administrative permissions.
Change driver guide to expect drivers to return negative errno codes instead of
enums for error codes. Those have the following advantages:
- More efficient implementation of POSIX compatibility wrappers:
- In case of error, just an `errno = -retval; return -1` is needed
- Better interoperability
- A lot of code within RIOT and in external code is doing so already.
Applying this consistently allows passing error codes through, rather
than translating between errno codes and custom enum values
- Not reinventing the wheel
- Defining and documenting custom error codes for each driver is unneeded
effort
- The error classes that device driver have to report are largely the same.
There is no reason to have dozens of error codes for an input/output
error, each with a unique spelling a programmer needs to memorize
This changes the prefixes of the symbols generated from USEMODULE and
USEPKG variables. The changes are as follow:
KCONFIG_MODULE_ => KCONFIG_USEMODULE_
KCONFIG_PKG_ => KCONFIG_USEPKG_
MODULE_ => USEMODULE_
PKG_ => USEPKG_
- Add libstdcpp feature to indicate a platform is providing a libstdc++
implementation ready for use
- The existing cpp feature now only indicates a working C++ toolchain without
libstdc++. (E.g. still useful for the Arduino compatibility layer.)
- Added libstdcpp as required feature were needed
- Added some documentation on C++ on RIOT
move and resize results if they are not within the document-window
modify the search result display with some javascript patching
(in page grease(tamper)monkey approach)
Added a new section, Appendix D, to describe a few key aspects
while exposing a macro to Kconfig.
Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
- Add the new EXTERNAL_BOARD_DIRS variable that can contain a space separated
list of folders containing external boards
- Introduce $(BOARDDIR) as shortcut for $(BOARDSDIR)/$(BOARD)
- Map the existing BOARDSDIR to the new approach
- If BOARDSDIR is provided by the user, it will be added to
EXTERNAL_BOARD_DIRS for backward compatibility. (And a warning is issued
to encourage users migrating to EXTRA_BOARDS.)
- BOARDSDIR is updated after the board is found to "$(BOARDDIR)/..".
- Useful for `include $(BOARDSDIR)/common/external_common/Makefile.dep`
- Provides backward compatibility
An application/test/module that requires one feature out of a set of
alternatives (let's say either periph_uart, periph_spi, or periph_i2c) can
request this now using:
FEATURES_REQUIRED_ANY += periph_uart|periph_spi|periph_i2c