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

30964 Commits

Author SHA1 Message Date
843cd78a63
b-l072z-lrwan1: remove obsolete spi_divtable 2020-08-18 16:55:01 +02:00
9d49a30560
stm32: Remove obsolete spi_divtable tool 2020-08-18 16:55:01 +02:00
c01a8cabc5
gh-actions: remove stm32 spi_divtable tool from build 2020-08-18 16:55:01 +02:00
b9d62e47d3
stm32: Add support for arbitrary SPI clock rates 2020-08-18 16:55:01 +02:00
99365873fd
Merge pull request #14355 from kaspar030/develhelp_stack_guard
cpu/cortexm_common: use mpu stack guard if DEVELHELP is enabled
2020-08-18 14:32:22 +02:00
8a0fc9daf1
Merge pull request #14775 from benpicco/pkg/tinycbor-v0.5.3
pkg/tinycbor: bump to v0.5.3
2020-08-18 11:41:45 +02:00
b93b972074
Merge pull request #14753 from fjmolinas/pr_info_boards_supported_conflicts
makefiles/info-global.inc.mk: include FEATURES_CONFLICTS
2020-08-18 10:37:20 +02:00
43d6c4147a features_modules: cortexm_mpu -> mpu_stack_guard 2020-08-18 10:26:21 +02:00
2f30aaaf06 cpu/cortexm_common: use mpu stack guard if DEVELHELP is enabled 2020-08-18 10:26:21 +02:00
Francisco
f4a2148642
Merge pull request #14776 from leandrolanzieri/pr/makefiles/openocd/use_jtag_iotlab
makefiles/openocd-adapters/iotlab: default to JTAG transport
2020-08-18 09:32:21 +02:00
Francisco
d665546d6f
Merge pull request #14464 from benpicco/python3
Convert remaining Python2 users to Python3
2020-08-18 09:11:23 +02:00
benpicco
e80407e17e
Merge pull request #13746 from benpicco/netdev-id
netdev: add netdev_register() to keep track of netdev IDs
2020-08-17 23:22:59 +02:00
Benjamin Valentin
1582b105d3 drivers/at86rf2xx: fix typo 2020-08-17 22:53:51 +02:00
Benjamin Valentin
decadc41a0 drivers/dose: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
4f19b54b7b drivers/at86rf215: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
53eedc283b drivers/at86rf2xx: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
7ceb3f0a68 netdev: add netdev_register() to keep track if netdev IDs
It is desireable to have a way to identify network devices.
This should be independent from the type of netdev, so a common identifier is needed.

Base this on the driver ID and the index in the configuration struct.
This way we achive unique IDs that stay consistent for any firmware flashed on a board.
2020-08-17 22:50:18 +02:00
benpicco
22d3bf7c51
Merge pull request #14594 from maribu/stm32-eth-cleanup
cpu/stm32: Clean up / fix periph_eth
2020-08-17 21:16:27 +02:00
Marian Buschsieweke
90c59b1c6f
Merge pull request #14733 from benpicco/cpu/lpc23xx/rtc_cleanup
cpu/lpc23xx: RTC: cleanup
2020-08-17 20:34:30 +02:00
Marian Buschsieweke
4fcf37c162
cpu/stm32/periph_eth: Handle lost & spurious IRQs
Fixes https://github.com/RIOT-OS/RIOT/issues/13496
2020-08-17 20:30:16 +02:00
Marian Buschsieweke
8d8af31e39
driver/stm32_eth: Integrate into periph_eth
The stm32_eth driver was build on top of the internal API periph_eth, which
was unused anywhere. (Additionally, with two obscure exceptions, no functions
where declared in headers, making them pretty hard to use anyway.)

The separation of the driver into two layers incurs overhead, but does not
result in cleaner structure or reuse of code. Thus, this artificial separation
was dropped.
2020-08-17 20:29:33 +02:00
Marian Buschsieweke
28ed07d6e3
cpu/stm32/periph_eth: zero-copy TX (-6 KiB RAM)
The Ethernet DMA is capable of collecting a frame from multiple chunks, just
like the send function of the netdev interface passes. The send function was
rewritten to just set up the Ethernet DMA up to collect the outgoing frame
while sending. As a result, the send function blocks until the frame is
sent to keep control over the buffers.

This frees 6 KiB of RAM previously used for TX buffers.
2020-08-17 20:29:33 +02:00
Marian Buschsieweke
51fe77afa4
cpu/stm32/periph_eth: configurable buffer size
1. Move buffer configuration from boards to cpu/stm32
2. Allow overwriting buffer configuration
    - If the default configuration ever needs touching, this will be due to a
      use case and should be done by the application rather than the board
3. Reduce default RX buffer size
    - Now that handling of frames split up into multiple DMA descriptors works,
      we can make use of this

Note: With the significantly smaller RX buffers the driver will now perform
much worse when receiving data at maximum throughput. But as long as frames
are small (which is to be expected for IoT or boarder gateway scenarios) the
performance should not be affected.
2020-08-17 20:29:29 +02:00
Marian Buschsieweke
932c311ee2
cpu/stm32/periph_eth: Fix RX logic
If any incoming frame is bigger than a single DMA buffer, the Ethernet DMA will
split the content and use multiple DMA buffers instead. But only the DMA
descriptor of the last Ethernet frame segment will contain the frame length.

Previously, the frame length calculation, reassembly of the frame, and the
freeing of DMA descriptors was completely broken and only worked in case the
received frame was small enough to fit into one DMA buffer. This is now fixed,
so that smaller DMA buffers can safely be used now.

Additionally the interface was simplified: Previously two receive flavors were
implemented, with only one ever being used. None of those function was
public due to missing declarations in headers. The unused interface was
dropped and the remaining was streamlined to better fit the use case.
2020-08-17 20:28:49 +02:00
Leandro Lanzieri
3c7174cfc5
makefiles/openocd-adapters/iotlab: default to JTAG transport 2020-08-17 17:47:24 +02:00
Benjamin Valentin
0eed7a7715 pkg/tinycbor: bump to v0.5.3 2020-08-17 16:29:48 +02:00
benpicco
916d960b1a
Merge pull request #14774 from maribu/cpu_sched_active
cpu: Use thread_getpid() and thread_get_active() instead of sched_active_*
2020-08-17 15:21:46 +02:00
Marian Buschsieweke
b657ebc39a
cpu/native: Don't access sched_active_*
Replaced accesses to sched_active_* with API calls in C files
2020-08-17 12:16:08 +02:00
Marian Buschsieweke
c01ef33ccc
cpu/msp430_common: Don't access sched_active_*
Replaced accesses to sched_active_* with API calls in C files
2020-08-17 12:16:07 +02:00
Marian Buschsieweke
ac394ce826
cpu/mips32r2_common: Don't access sched_active_*
Replaced accesses to sched_active_* with API calls in C files
2020-08-17 12:16:07 +02:00
Marian Buschsieweke
346fb432ed
cpu/fe310: Don't access sched_active_*
Replaced accesses to sched_active_* with API calls in C files
2020-08-17 12:16:07 +02:00
Marian Buschsieweke
aeedb3ad16
cpu/cortexm_common: Don't access sched_active_*
Replaced accesses to sched_active_* with API calls in C files
2020-08-17 11:27:52 +02:00
Marian Buschsieweke
fa12d9ad52
cpu/atmega_common: Don't access sched_active_*
Replaced accesses to sched_active_* with API calls in C files
2020-08-17 11:26:19 +02:00
Marian Buschsieweke
da4979963d
cpu/arm7_common: Don't access sched_active_*
Replaced accesses to sched_active_* with API calls in C files
2020-08-17 11:22:03 +02:00
Marian Buschsieweke
0a905b1e49
Merge pull request #14769 from benpicco/tests/driver_at86rf2xx_aes-whitelist
tests/driver_at86rf2xx_aes: only run CI test on whitelisted boards
2020-08-17 10:27:09 +02:00
Benjamin Valentin
66f1cd5b60 tests/driver_at86rf2xx_aes: only run CI test on whitelisted boards
The test needs a at86rf2xx device attached to the board, otherwise
it will always fail.
2020-08-16 21:59:04 +02:00
Benjamin Valentin
a5043540f4 dist/tools/compile_test: use Python3 2020-08-16 20:00:54 +02:00
Benjamin Valentin
b8e2d14164 gen_esp32part.py: use Python3 2020-08-16 19:48:04 +02:00
benpicco
7abcc4242b
Merge pull request #14761 from maribu/byteorder_64bit
core/byteorder: Add byteorder_bebuftohll() and inverse
2020-08-14 15:14:02 +02:00
Marian Buschsieweke
81d40d3f66
core/byteorder: Add byteoder_htobebufll & inverse
- Add `byteorder_bebuftohll()` to read an 64 bit value from a big endian buffer
- Add `byteorder_htobebufll()` to write an 64 bit value into a big endian buffer
2020-08-14 13:36:40 +02:00
Marian Buschsieweke
030e0af985
sys/unaligned: Add 64 bit version
Add helper function to access `uint64_t` values with possibly unaligned
pointers.
2020-08-14 12:21:24 +02:00
Cenk Gündoğan
f64511ddb5
Merge pull request #14626 from leandrolanzieri/pr/kconfig/test_modules_kconfig
kconfig: introduce migration test in CI
2020-08-13 14:11:00 +02:00
Marian Buschsieweke
5f9718525b
Merge pull request #14751 from benpicco/tests/periph_gpio-auto_test
tests/periph_gpio: add automatic GPIO test cmd
2020-08-13 10:36:41 +02:00
Benjamin Valentin
53e292569d tests/periph_gpio: add automatic GPIO test cmd
This adds the `auto_test <port> <pin> <port> <pin>` command.

Specify two GPIOs that are electrically connected e.g. via jumper or wire.

The command will automatically conduct several tests to ensure that the
GPIO implemenation behaves according to the specification.
2020-08-13 10:12:21 +02:00
Benjamin Valentin
2509c206ee cpu/lm4f120: GPIO: clear stale interrupt 2020-08-13 10:12:21 +02:00
Francisco Molina
8ab8d04e9b
makefiles/info-global.inc.mk: include FEATURES_CONFLICTS
If there are FEATURES_CONFLICTING consider the application not
supported for the BOARD.
2020-08-13 09:29:34 +02:00
benpicco
add10b5fab
Merge pull request #14113 from fabian18/at86rf2xx_spi_security_module
drivers/at86rf2xx; spi security module (AES)
2020-08-12 23:14:12 +02:00
Martine Lenders
834b1f4b6a
Merge pull request #14740 from miri64/gh-actions/enh/release-test-artifacts
gh-actions: rename release test artifacts
2020-08-12 19:48:44 +02:00
fabian18
74eec8274e tests/driver_at86rf2xx_aes: Test for at86rf2xx AES security module 2020-08-12 18:54:23 +02:00
7e411ec1b0
Merge pull request #14741 from fjmolinas/pr_fe310_configurable_rtt
cpu/fe310: add unified rtt configuration
2020-08-12 18:36:15 +02:00