1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

591 Commits

Author SHA1 Message Date
a5785cdf9c
tools/serial.inc.mk: Support miniterm.py
miniterm.py is a simple terminal program that is included with pyserial.
This means that it is available wherever pyterm can work. It allows raw
access, does line translation and passes through special characters.

Co-authored-by: Juan Carrano <j.carrano@fu-berlin.de>
2019-11-19 15:07:32 +01:00
Marian Buschsieweke
1ed1906023
drivers/ws281x: Added driver for RGB LEDs
Added driver for the WS2812/SK6812 RGB LEDs often sold as NeoPixels, which due
to their integrated RGB controller can be chained to arbitrary length and
controlled with a single GPIO.
2019-11-18 22:45:24 +01:00
b4da3b464f make: pass BLOBS to makefiles/application.inc.mk
For regular modules, adding files to BLOBS is sufficient to create the
corresponding headers.

Application modules are different, as they use a minimal makefile
(makefiles.application.inc.mk) to build, thus application level
variables are not available.

This commit makes Makefile.include pass BLOBS to the application
Makefile as APPLICATION_BLOBS, and application.inc.mk use that variable
as value for BLOBS.

The indirection is necessary so submakefiles (e.g., those visited by
DIRS) do not hard override BLOBS.
2019-11-18 17:53:48 +01:00
a100c1c0ea makefiles/blob.inc.mk: introduce blob -> hdr utility makefile 2019-11-18 17:53:47 +01:00
fjmolinas
05782d1495 makefiles/tools/jlink.inc.mk: DEBUG_ADAPTER_ID as JLINK_SERIAL
- export JLINK_SERIAL for required targets
2019-11-18 13:04:42 +01:00
Marian Buschsieweke
135a37a4d1
makefiles/tools: Allow make reset via avrdude
In order to flash AVR devices, avrdude needs the ability to reset them:
Those using a bootloader will only enter it after a reset, and those programmed
via ISP also need a reset to enter ISP mode.

Sadly, avrdude has no option to reset the board. But running it without commands
will read and print the boards identification and fuse settings. For this, as
reset is needed. This commit uses this side-effect reset to implement make reset
for all AVR based boards
2019-11-17 14:46:48 +01:00
27e8caf3f3
Merge pull request #12526 from kaspar030/fix_fe310_default_optimization
cpu/fe310: change default optimization to "-Os"
2019-11-15 13:10:13 +01:00
Francisco
2adc5a23c2
Merge pull request #12361 from haukepetersen/add_nimble_autoconn
pkg/nimble: add simple BLE connection manager: autoconn
2019-11-14 14:02:24 +01:00
Hauke Petersen
004eb5e0b6 pkg/nimble: add 'autoconn' connection manager 2019-11-13 12:59:35 +01:00
Hauke Petersen
ca7578073a drivers: add support for QMC5883L mag sensors 2019-11-13 12:56:26 +01:00
Marian Buschsieweke
327060ca40
makesfiles/boards: Added common programmer config
Added common configuration for the programmer, debugger and serial for STM32
based boards.
2019-11-12 19:43:42 +01:00
Leandro Lanzieri
62b6e5e6ff makefiles/modules: Add note regarding 'IS_USED' macro. 2019-11-11 12:53:18 +01:00
Benjamin Valentin
756cab9385 makefiles/sam0: fix debugging with edbg
OpenOCD should *always* be included for debugging if JLinkExe is not used.

fixes #12652
2019-11-06 15:43:15 +01:00
benpicco
035bac0bf4
Merge pull request #12639 from aabadie/pr/boards/atmega256rfr2
boards/atmega256rfr2-xpro: initial support
2019-11-05 19:03:49 +01:00
fabian18
195379a9b8 drivers/ina3221: INA3221 driver implementation 2019-11-05 12:29:42 +01:00
1a16ee8215
makefiles/avrdude: allow setting debug server interface 2019-11-05 10:40:32 +01:00
Martine S. Lenders
b713413c52 gnrc_sock: provide asynchronous event implementation 2019-11-01 00:21:04 +01:00
Martine Lenders
f0b5eb04c1 sock: initial import of asynchronous event definitions 2019-10-30 13:23:31 +01:00
Marian Buschsieweke
4cf2151248
Merge pull request #12537 from benpicco/at86rfmega
drivers/at86rf2xx: add support for ATmegaRF MCUs
2019-10-28 09:22:02 +01:00
Benjamin Valentin
d45b3d1cd3 makefiles: default-channel.inc.mk -> default-radio-settings.inc.mk
The scope of the file has changed, so change it's name.
2019-10-27 11:55:55 +01:00
Benjamin Valentin
7f1393496b makefiles: clean up default-channel.inc.mk
Clean up `default-channel.inc.mk` to only set the custom CFLAGS
if they are really needed.
This should help avoid cluttering `riotbuild.h`.

The default PAN ID configuration should be just as easy to set
as the default channel, so also add an option for that while we
are at it.
2019-10-27 11:55:55 +01:00
Benjamin Valentin
8f1eaae353 drivers/at86rf2xx: add support for ATmegaRF MCUs
The ATmega128RFA1 and ATmega256RFR2 contain a version of this IP
on the MCU.

The radio core behaves mostly like a at86rf231, but all registers
are mapped to memory and radio states can directly generate interrupts
on the CPU.

The ATmega256RFR2 adds support for automatic retransmissions.
This has not been implemented yet.

Co-authored-by: Josua Arndt <jarndt@ias.rwth-aachen.de>
2019-10-26 23:10:18 +02:00
Francisco Molina
1ae0873769 boards: change PORT used for flash/debug/reset to PROG_DEV 2019-10-24 12:58:12 +02:00
Francisco Molina
7794cce5ee makefiles/tools/serial.inc.mk: set default PROG_DEV to PORT 2019-10-24 12:57:42 +02:00
Francisco Molina
bf25e12602 makefiles/tools/avrdude.inc.mk: migrate to use PROG_DEV
- Move serial.inc.mk in mega-xplained/Makefile.include after
  PROG_DEV so PROG_DEV can still default to PORT
- Add deprecation warning for arduino-leonardo and mega-xplained
2019-10-24 12:57:07 +02:00
Francisco Molina
66e3cf569e makefiles/vars.inc.mk: add PROG_DEV variable
- Introduce new PROG_DEV variable to specify device PORT used by the
  PROGRAMMER or DEBUGGER.
2019-10-24 12:56:43 +02:00
benpicco
80c00339a4
Merge pull request #12477 from francois-berder/mips-refactor
cpu: mips*: Reorganize headers
2019-10-21 15:26:45 +02:00
68922c49d9
Merge pull request #12401 from maribu/llvm-atomic-lib
makefiles: Disable `-Watomic-alignment` on LLVM
2019-10-21 14:39:54 +02:00
benpicco
ee68602b2b
Merge pull request #12525 from benpicco/make_sam0-typo
makefiles/sam0: fix typo
2019-10-21 11:35:25 +02:00
1193b0b1f8 cpu/fe310: change default optimization to "-Os"
Also moves the option to CFLAGS_OPT.
2019-10-21 11:27:21 +02:00
Benjamin Valentin
81fe1b9c9c makefiles/sam0: fix typo
Somehow an additional parenthesis sneaked in. Remove it to fix the Makefile.
2019-10-21 11:04:13 +02:00
5578740fc4
Merge pull request #12397 from fjmolinas/pr_CPU_ARCH_FAM
makefiles/vars.inc.mk: move definition and export of CPU_FAM and CPU_ARCH to vars.inc.mk
2019-10-21 08:23:51 +02:00
Marian Buschsieweke
716fc76f13
makefiles: Disable -Watomic-alignment on LLVM
`-Watomic-alignment` warns when C11 atomics have to be implemented via a to one
of the functions in `core/atomic_c11.c`. Unlike to the context of Desktop or
Server class machines, the performance penalty of this calls is insignificant
(and not existing with LTO). So this is not an issue in our context.

On the other hand: Keeping `-Watomic-alignment` prevents building applications
using C11 atomics on all platforms the atomic operations are not implemented
without calls to `core/atomic_c11.c` (due to `-Werror`), reducing portability.

So not only does the warning is not useful in our context, it actually prevents
portable use of C11 atomics. It is the most sensible thing to just disable it.
2019-10-18 09:18:37 +02:00
Francisco Molina
9f5a090782 makefiles/vars.inc.mk: add and export CPU_FAM 2019-10-18 08:55:33 +02:00
Francisco Molina
5e9b92a326 cpu: remove CPU_ARCH exports 2019-10-18 08:55:33 +02:00
Francisco Molina
160752a4f1 makefiles/vars.inc.mk: add and export CPU_ARCH 2019-10-18 08:55:33 +02:00
Francisco Molina
c010f59b8c Makefile.include: remove repeated OS declaration
- OS := $(shell uname) is already declared in `Makefile.include`
  re-declaring it means it will be re-evalauted multiple times
  uselessly.
2019-10-18 08:46:51 +02:00
Benjamin Valentin
b1ef68abf7 cpu/atmega_common: move periph/cpuid.c to common code
Both atmega128rfa1 and atmega256rfr2 implement it.
2019-10-17 19:20:31 +02:00
Jannes
2df5d6048d driver/mpu9x50: Rename mpu9150 to mpu9x50
Rename all files

Rename all variables, methods and methodcalls

Rename all folders

Add to the makefiles

Add to doc
2019-10-17 12:52:18 +02:00
8a877b58df
Merge pull request #12479 from fjmolinas/pr_ensure_port_is_set
makefiles/tools/serial: ensure PORT is set and fail early.
2019-10-17 10:56:32 +02:00
Juan Carrano
fe9704dbd6 makefiles/tools/serial: ensure PORT is set and fail early.
By ensuring the PORT auto-detection worked, we can give meaningful
error messages and fail earlier.

This uses ensure_value from makefiles/utils/checks.mk. An include was
added to Makefile.include to make this fuction available to all other
makefiles.
2019-10-17 08:54:16 +02:00
Francois Berder
9af14d7eb2 makefiles: arch: mips: Define CPU_MODEL in CFLAGS
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-10-16 20:00:32 +01:00
6c7acf4188
Merge pull request #12453 from aabadie/pr/make/features_blacklisted
make: handle blacklisted features separately from missing requirements
2019-10-15 19:15:10 +02:00
benpicco
10824e1cd0
Merge pull request #12251 from maz3max/bmp-tool
Add helper script for Black Magic Probe
2019-10-15 13:39:08 +02:00
Maximilian Deubel
30f12c9058 Add helper script for Black Magic Probe
This script can detect [Black Magic Probes](https://github.com/blacksphere/blackmagic/wiki) and act as a flashloader (and more).
It is compatible with Linux and macOS.

All important options that can be set via the monitor command are available as arguments.

Makefiles for using `make flash`, `make erase`, `make debug` and `make term` with the script are included.
2019-10-15 12:58:24 +02:00
ba0eb796fb
make: add FEATURES_USED_BLACKLISTED to the build info 2019-10-15 11:40:06 +02:00
a21743a0ac
make: handle blacklisted features in info-boards-supported 2019-10-15 11:39:16 +02:00
8a1e78bf4d
Merge pull request #9081 from kaspar030/add_arch_features
make: add architecture features and feature blacklisting
2019-10-14 16:12:54 +02:00
cc80961b5f make: allow feature based blacklisting (FEATURES_BLACKLIST) 2019-10-13 21:03:41 +02:00
Jose Alamos
77a7aed6e6 netif: introduce descriptor based netif 2019-10-11 10:59:14 +02:00
053dbd1c4a
Merge pull request #12398 from cladmi/pr/cortexm/remove_old_clang_handling
makefiles/arch/cortexm.inc.mk: remove clang 3.6.2 workaround
2019-10-10 13:18:51 +02:00
5ab8d92702
Merge pull request #11818 from kaspar030/suit-pr
sys/suit: initial support for SUIT firmware updates
2019-10-10 10:38:01 +02:00
fb12c4aa8d sys/suit: add SUIT draft v4 firmware upgrade module
This commit adds a sys module implementing SUIT draft v4 compatible
firmware updates.

Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Francisco Molina <femolina@uc.cl>
2019-10-09 11:05:01 +02:00
Dylan Laduranty
cdcdaa63ce
Merge pull request #11725 from benpicco/sam0-jlink
sam0: allow flashing with JLinkExe
2019-10-08 20:59:59 +02:00
Francisco
1c5c027ee7
Merge pull request #12004 from cladmi/pr/make/dependencies/debug_targets
make: add targets to debug dependencies variables
2019-10-08 17:41:34 +02:00
Gaëtan Harter
7416337d4d
makefiles/arch/cortexm.inc.mk: remove clang 3.6.2 workaround
Remove the workaround for clang 3.6.2 that did not support
'cortex-m0plus'.

clang 3.8 was already supporting it according to the PR introducing the check.
clang >=3.8 is avaible since ubuntu-xenial and debian-stretch.
The current ubuntu-bionic has clang 6 and debian-buster clang 7.

This removes overwriting 'CPU_ARCH'.
2019-10-08 16:19:51 +02:00
Gaëtan Harter
58cf46c706
make: add targets to debug dependencies variables
Add a 'dependency-debug' and a 'DEPENDENCY_DEBUG=1' option for
'info-boards-supported' to save some variables used when resolving
dependencies.

Print some some 'sorted' variables to simplify comparing the actual value
when the parsing order changed.

This should help tracking changes introduced when refactoring the
dependency parsing.
2019-10-07 14:45:40 +02:00
Kevin "Tristate Tom" Weiss
4b7c5915ec
Merge pull request #10953 from gschorcht/sys/shell/heap_cmd/pr
sys/shell: add heap command
2019-10-04 13:49:57 +02:00
28c3717911
make/targets: fix typo in message 2019-10-03 15:23:19 +02:00
9148562476
makefiles/vars: document DEBUGDEPS variable 2019-10-03 12:43:49 +02:00
4b53f6b92b
makefiles/targets: add target for setsid 2019-10-03 12:43:49 +02:00
Hauke Petersen
8a69e4ac69 drivers/lis2dh12: added I2C mode 2019-10-02 11:16:39 +02:00
benpicco
5f6065f567
Merge pull request #12338 from cladmi/pr/make/cortexm/do_not_set_cpu_model
makefiles/arch/cortexm.inc.mk: removing setting CPU_MODEL
2019-10-01 15:25:16 +02:00
Gaëtan Harter
3a938d43e7
makefiles/arch/cortexm.inc.mk: removing setting CPU_MODEL
All cortexm boards should now define it on there own.
2019-10-01 11:38:35 +02:00
benpicco
3f0dfc14ac
Merge pull request #11085 from bergzand/pr/usb/cdcacm
usbus: Add CDC-ACM (Serial console) function
2019-10-01 11:22:54 +02:00
49aa83e27e
Merge pull request #12301 from kaspar030/edbg_verify_before_flash
edbg: verify before flash
2019-10-01 10:39:24 +02:00
benpicco
5105a2e54d
Merge pull request #12340 from cladmi/pr/makefiles/board_cpu_macros
makefiles: CFLAGS convert to the uppercase function instead of using the shell
2019-09-30 19:53:28 +02:00
59743aed13
USBUS cdc acm: Add STDIO wrapper for CDC ACM 2019-09-30 18:40:59 +02:00
Gaëtan Harter
0303b96441
makefiles/arch/mips.inc.mk: use makefiles/utils lowercase function
Use the new common 'lowercase' function from makefiles/utils.
2019-09-30 17:35:06 +02:00
Gaëtan Harter
ba55d1d7f5
makefiles/arch/cortexm.inc.mk: use makefiles/utils uppercase
Convert the variables to uppercase using the 'makefiles/utils' function.
2019-09-30 17:25:24 +02:00
Gaëtan Harter
e5278a2364
makefiles/modules.inc.mk: convert uppercase with utils function
Convert the module to uppercase using the 'makefiles/utils' function.
2019-09-30 17:02:12 +02:00
fe6d892969
Merge pull request #12302 from fjmolinas/pr_build_files
Makefile.include: add BUILD_FILES variable that holds all files to be built
2019-09-30 14:26:24 +02:00
Francisco Molina
5790e061c7 makefiles/boot/riotboot.mk: use BUILD_FILES
- Fixes compiling in docker by using BUILD_FILES to define
  extra files to be built
2019-09-30 13:09:58 +02:00
Francisco Molina
ded2ebc8e7 Makefile.include: add BUILD_FILES
- Add BULD_FILES that holds all files that need to be built
  and linked.
2019-09-30 13:00:25 +02:00
Marian Buschsieweke
6cbb7ad1a0
Merge pull request #12327 from benpicco/mrf24j40-pseudomodules
drivers/mrf24j40: add pseudomodules for MRF24J40MA/B/C/D/E
2019-09-29 21:13:23 +02:00
Benjamin Valentin
0bb04cfd27 drivers/mrf24j40: add pseudomodules for MRF24J40MA/C/D/E
Microchip offers ready-to-use modules with the mrf24j40 chip.
All but the MRF24J40MA integrate an external PA/LNA, they also come
with an RF shield.

If the PA/LNA is not enabled, the signal off these modules is really
poor.

This adds pseudomodules so that the PA/LNA is automatically enabled
when the appropriate module is used.
2019-09-28 19:30:52 +02:00
68aae9c848
Merge pull request #12262 from cladmi/pr/cflags/fix_spaces_and_rebuild
makefiles: do not remove defines from CFLAGS
2019-09-28 09:42:56 +02:00
Gaëtan Harter
41d10cf005
makefiles: do not remove defines from CFLAGS
Do not remove the '-D' and '-U' values from CFLAGS.
This prevents issues where a '-D' could contain a space.

Some values way be duplicated from the 'riotbuild.h' header and the
command line but with the same value so without conflict.

To not put too many things in the command line, the -DMODULE_NAME are
only put in CFLAGS_WITH_MACROS.

Also, as now, the deferred value of CFLAGS is used for 'riotbuild.h',
macros set after the inclusion of `Makefile.include` will be taken into
account.
2019-09-27 19:29:06 +02:00
a45d99f741 make/tools/edbg: verify before flash
This commit overrides the default flash recipe with an edbg specific
one.
The new recipe first verifies the flashfile agains the device flash. If
it is already on there, it won't get overridden.
edbg takes care of resetting the device in any case.
2019-09-25 10:14:20 +02:00
1cba611dd9 make/tools/edbg: use long option names 2019-09-25 10:09:19 +02:00
benpicco
50ba48eea6
Merge pull request #9259 from cladmi/pr/pic32/flasher
pic32-wifire: add support for flashing with pic32prog
2019-09-24 18:52:44 +02:00
Gaëtan Harter
be4569e271
pic32prog.inc.mk: add udev rule for pic32 programmer
Copy the udev rule from dist/tools/pic32prog/doc.md
2019-09-24 17:43:12 +02:00
Gaëtan Harter
afdddfda14
pic32prog.inc.mk: add support for pic32prog flasher
Define a RIOT_PIC32PROG to allow setting 'PIC32PROG' globally from environment.

https://github.com/sergev/pic32prog

For PICkit3 it requires having it with scripting mode firware.

Source
------

https://github.com/RIOT-OS/RIOT/pull/6092#issuecomment-261987955
2019-09-24 17:43:12 +02:00
Gaëtan Harter
d852ca2b21
pic32prog: add pic32prog programming tool
pic32prog is a program for flashing pic32 boards from command line on Linux.

It works with:
* Microchip PICkit2
* Microchip PICkit3 with script firmware.
* Other ones: https://github.com/sergev/pic32prog/wiki
2019-09-24 17:43:12 +02:00
Benjamin Valentin
c31e373214 shell_commands: gnrc_netif: only include LoRA options when LoRA PHY is present
If no LoRA module is used, there is no use in compiling in all the config options
for LoRA PHYs.

This saves about 1k of .text
2019-09-24 17:14:03 +02:00
Lars Eggert
cae814c1cb make: docker: Delegate bind mounts to the containers
At least on Docker for Mac, this brings a huge boost in build performance, see
https://docs.docker.com/docker-for-mac/osxfs-caching/:

Before: `real	6m23.003s`
After:  `real	1m57.923s`
2019-09-24 12:04:43 +02:00
Gaëtan Harter
49a78bad0d
makefiles/docker.inc.mk: use 'docker_volume' function
Use 'docker_volume' function for mounting.

When mounting 'localtime' this will only use the 'ro' option and
ignore 'DOCKER_VOLUME_OPTIONS'.
2019-09-16 11:16:14 +02:00
Gaëtan Harter
e5032a611b
makefiles/docker.inc.mk: add a 'docker_volume' function
Refactor the '--volume' mounting handling.
This prepares for using a global 'DOCKER_VOLUME_OPTIONS'.
2019-09-16 11:16:14 +02:00
Gaëtan Harter
d832d78756
makefiles/docker.inc.mk: always use quotes around -e and -v options
Harmonize the '--volumes' and '--env' commands before factorizing them.
Remove extra 'space'.
2019-09-16 11:15:20 +02:00
benpicco
65b7102608
Merge pull request #10195 from jcarrano/thin-archives
Makefile.base: use thin static archives.
2019-09-15 13:04:25 +02:00
Francisco Molina
1caf6610cb sys: add schedstatistics module 2019-09-13 11:37:44 +02:00
Juan I Carrano
7364c913ef
Merge pull request #12207 from cladmi/pr/docker/programmer
makefiles/docker.inc.mk: add PROGRAMMER to the exported variables
2019-09-12 16:45:36 +02:00
Francisco
2d890db6af
Merge pull request #10440 from jcarrano/no-export-ports
makefiles: remove exports so that PORT is not evaluated if it's not needed.
2019-09-12 13:50:24 +02:00
Gaëtan Harter
971b1acdb2
makefiles/docker.inc.mk: add PROGRAMMER to the exported variables
Depending on the PROGRAMMER used, the file used for flashing may be
different, like openocd/jlink, so the file being generated when
compiling should be different.

Because of this, when building in docker, the build system needs to know
for which programmer you are building for.

This manifested for 'nordic_softdevice' applications when using 'openocd'
but is not limited to this case.
2019-09-12 12:38:31 +02:00
Francisco Molina
e325985321
makefiles/tools: pass DEBUG_ADAPTER_ID to pyocd 2019-09-12 08:13:28 +02:00
benpicco
ca6009592f
Merge pull request #11781 from fjmolinas/pr_schedstatistics_refactor
core/schedstatistics: fix call to uninitialized xtimer
2019-09-11 20:11:55 +02:00
benpicco
b14e08cce1
Merge pull request #11877 from OTAkeys/feat/gpio-flashing
makefiles: add support for sysfs gpio debug adapter
2019-09-11 18:00:31 +02:00
Kevin "Tristate Tom" Weiss
d6af98b5b7
Merge pull request #11835 from miri64/gnrc_sixlowpan_frag/new/stats
gnrc_sixlowpan_frag_stats: initial import of frag statistics
2019-09-11 12:01:22 +02:00
Martine Lenders
dca3408167 gnrc_sixlowpan_frag_stats: initial import of frag statistics 2019-09-11 10:30:29 +02:00
Francisco Molina
fc58ebbd97 core/sched: separate sched_cb from schedstatistics 2019-09-10 17:08:21 +02:00