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

30951 Commits

Author SHA1 Message Date
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
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
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
fabian18
1fca10c486 drivers/at86rf2xx: SPI AES security module 2020-08-12 17:18:00 +02:00
Francisco Molina
442b11d0ee
cpu/fe310: add unified rtt configuration 2020-08-12 14:46:59 +02:00
benpicco
02a714e06f
Merge pull request #14747 from Nishchay-sopho/drivers_sps30_update_comments
drivers/sps30: Update units of measurement
2020-08-12 14:04:23 +02:00
benpicco
04f20e5a54
Merge pull request #14748 from fjmolinas/pr_cc2538_32b_timer
cpu/cc2538/timer: fix 32 bit timer reload value
2020-08-12 14:04:17 +02:00
benpicco
e1c6f11fd8
Merge pull request #14742 from kaspar030/fix_timer_msg_tests
tests/[xz]timer_msg: check result of thread_create()
2020-08-12 14:03:42 +02:00
benpicco
dfcc69dcb1
Merge pull request #14193 from aabadie/pr/pkg/lvgl_v7
pkg/lvgl: bump to v7
2020-08-12 14:03:24 +02:00
Nishchay-sopho
3245dee8d8 drivers/sps30: Update units of measurement 2020-08-12 12:50:35 +02:00
Cenk Gündoğan
8f1fd3a5a3
murdock: add test for Kconfig dependency modelling
This adds a list of board/application pairs which should be tested. The
test consists on comparing the binaries generated using dependency
resolution in Makefile and in Kconfig.
2020-08-12 12:22:43 +02:00
Leandro Lanzieri
7dc6639f59
cpu/cortexm_common: add default Kconfig configuration 2020-08-12 12:22:43 +02:00
Leandro Lanzieri
f4e651e26d
cpu/sam0_common: Add default Kconfig configuration
The configuration file is included by samd21 so it is merged when using
Kconfig.
2020-08-12 12:22:42 +02:00
Leandro Lanzieri
180ee6efc9
makefiles: introduce KCONFIG_ADD_CONFIG variable
This holds a list of .config files to be merged. For more details see
kconfig.mk.
2020-08-12 12:22:42 +02:00
Leandro Lanzieri
01454188e8
Makefile.include: introduce TEST_KCONFIG switch
This switch allows to test the module dependency modelling during the
Kconfig migration. When set, it will use the symbols prefixed with
CONFIG_MOD_ defined by Kconfig as the list of modules to compile.
2020-08-12 12:22:41 +02:00
Leandro Lanzieri
e76387911c
sys/pm_layered: Add module to Kconfig 2020-08-12 12:22:41 +02:00