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

4424 Commits

Author SHA1 Message Date
Marian Buschsieweke
1582fdd571
drivers/at25xxx: s/PAGE_SIZE/AT25_PAGE_SIZE/
On musl, PAGE_SIZE has a different meaning. So add an AT25_ prefix
to avoid a name clash.
2024-06-05 21:56:29 +02:00
LP-HAW
8ab2c795e5 drivers/w5500: enable polling in interrupt mode 2024-06-05 16:30:59 +02:00
LP-HAW
134d84401d drivers/w5500: remove Kconfig 2024-06-05 16:30:59 +02:00
Mihai Renea
5a7d553b8e drivers/at: expose some internal API 2024-05-28 12:20:54 +02:00
benpicco
719663f89c
Merge pull request #20675 from benpicco/drivers-i2c_init
drivers: don't call i2c_init()
2024-05-16 14:41:59 +00:00
Benjamin Valentin
85b2decafa drivers: don't call i2c_init()
This is already called by periph_init()
2024-05-16 14:55:30 +02:00
Benjamin Valentin
c1e79c84d0 drivers/at86rf215: port to new netdev API 2024-05-15 17:24:42 +02:00
benpicco
3791db3941
Merge pull request #18427 from maribu/lwip/confirm_send
pkg/lwip: make use of confirm send
2024-05-06 11:05:10 +00:00
Stefan Schmidt
9d62ad4c5c driver/w5500: driver for the W5500 ethernet chip
- driver can be used with interrupt or in polling mode (default)
2024-05-02 22:07:17 +02:00
Marian Buschsieweke
87e242189a
drivers/kw41zrf: kw41zrf implements the legacy netdev API 2024-04-30 08:41:07 +02:00
krzysztof-cabaj
a813e9728b drivers/led: add LEDX_IS_PRESENT defines 2024-04-29 16:25:32 +02:00
Marian Buschsieweke
daa6b9da84
Merge pull request #20587 from Teufelchen1/fix/mtd
drivers/mtd: Add check for interger overflow
2024-04-18 10:59:40 +00:00
Teufelchen1
3bd047a565 drivers/mtd: Add check for interger overflow 2024-04-18 12:23:50 +02:00
Marian Buschsieweke
8cff167a93
Merge pull request #20588 from crasbe/master
drivers/at24cxxx: Add M24C01 device and enhance documentation
2024-04-17 08:40:04 +00:00
Marian Buschsieweke
fc271ea198
Merge pull request #20562 from MrKevinWeiss/pr/saulrgb
drivers/ws281x: Add saul support
2024-04-17 08:00:51 +00:00
crasbe
251b525e7e drivers/at24cxxx: add documentation about driver usage 2024-04-16 18:06:03 +02:00
crasbe
6d1bfd63c6 drivers/at24cxxx: add defines for M24C01 2024-04-16 18:06:03 +02:00
Teufelchen
5bc8ca5318
Merge pull request #18093 from Ollrogge/remove_flashpage_free_funcs
periph/flashpage: remove deprecated flashpage_*_free functions
2024-04-16 08:47:11 +00:00
Marian Buschsieweke
cf6fa4edf0
tree wide: add IWYU pragma: export where needed
We occasionally have some public `foo.h` header that includes a private
`foo_arch.h` header. Users are expected to include the `foo.h` header
and not the `foo_arch.h`. However, clangd will claim that the `#include`
of `foo.h` is unused if only functions / macros/ types / ... from
`foor_arch.h` is used and nothing from `foo.h`.

This adds the `IWYU pragma: export` comment to the include of
`foo_arch.h` in `foo.h`, so that clangd treats functions / macros /
types provided by `foo_arch.h` as if they were instead provided by
`foo.h`, which fixes the false positives.
2024-04-14 14:26:05 +02:00
MrKevinWeiss
0a96e36fb5
drivers/ws281x: Add saul support 2024-04-11 11:43:21 +02:00
Ollrogge
10c987eb66 Revert "periph/flashpage: extend API"
This reverts commit 72d47013dd.
2024-04-04 17:57:40 +02:00
Karl Fessel
9d2dda27ce
Merge branch 'master' into cpu/samd5x-write-CAN-driver 2024-03-28 09:52:26 +01:00
Marian Buschsieweke
04620d471c
Merge pull request #20438 from MrKevinWeiss/pr/kconfig/dep/removal
Remove Kconfig dependency modelling
2024-03-27 16:39:56 +00:00
MrKevinWeiss
e0fdc3c16c
*Kconfig*: Modify Kconfig to remove dep model 2024-03-27 10:28:12 +01:00
MrKevinWeiss
2ace90a8fc
drivers/lsm6dsxx: Allow non-specific variant 2024-03-26 18:13:19 +01:00
Firas Hamdi
74bf01baa8 drivers/mcp2515: load RX mailbox 2024-03-26 15:17:48 +01:00
MrKevinWeiss
7a68fb0d5e
*Kconfig*: Remove dep-only Kconfig files 2024-03-26 14:54:22 +01:00
Mihai Renea
63e057cb50 drivers/at: Fix sync URC handling. at_send_cmd_get_lines() keeps EOL. 2024-03-20 14:32:09 +01:00
Mihai Renea
218d79fee5 drivers/at: refactor for better unit testing of parsing methods 2024-03-20 12:50:07 +01:00
Mihai Renea
b40c9a0366 drivers/at: removed async URC handling. 2024-03-20 12:49:56 +01:00
benpicco
17ec57ee6d
Merge pull request #20488 from dylad/pr/usbus/remove_deprecated_event
periph_usbdev: remove deprecated event flag
2024-03-19 19:49:04 +00:00
benpicco
3ebccd78d4
Merge pull request #20486 from FlapKap/tests/drivers/mtd_flashpage_assert_error
drivers/mtd_flashpage: fix comperror when compiling without asserts
2024-03-19 17:48:41 +00:00
Dylan Laduranty
6fdc00a1b5 drivers/periph/usbdev: remove deprecated event flag
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-03-19 16:41:27 +01:00
kasper
02d86c2a25 drivers/mtd_flashpage: fix comperror when compiling without asserts
the variable cpu_flash_base is only used in asserts. This gives errors if you compile without them.
2024-03-19 14:36:01 +00:00
Teufelchen
de176a8ef3
Merge pull request #20407 from chrysn-pull-requests/drop-rgbled
drivers/rgbled: Remove driver
2024-03-19 11:12:37 +00:00
Kasper Hjort Berthelsen
9ba76c38be drivers/mtd: update docs to match implementation
some parts reported retvals of number of bytes written, when it should be 0 on success.
2024-03-13 14:35:19 +01:00
benpicco
5c9240970e
Merge pull request #18608 from benpicco/mtd_flashpage-aux
drivers/mtd_flashpage: allow to define AUX slot on flash
2024-02-28 12:58:18 +00:00
Benjamin Valentin
e3819ca960 drivers/mtd_flashpage: define mtd_flash_aux_slot device 2024-02-28 11:49:05 +01:00
Benjamin Valentin
e8a4defafd drivers/pcf857x: stop (ab)using gpio_t
The driver only supports addressing GPIOs by their index, (ab)using
`gpio_t` for that will break on platforms that encode GPIO values
differently.
2024-02-27 16:31:59 +01:00
Gilles DOFFE
04c8d442da drivers/pcf857x: fix missing include kernel_defines.h
If not included before, IS_USED macro from modules.h is undefined,
leading to such errors:
  error: missing binary operator before token "("

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2024-02-24 16:55:05 +01:00
Mihai Renea
c58b71b899 drivers/at: parse +CME/+CMS responses and save error value 2024-02-22 12:21:25 +01:00
chrysn
fb2002d84a drivers/rgbled: Remove driver
The driver is largely unused, and redundant with the saul_pwm_rgb_params
functionality of SAUL.
2024-02-21 15:44:05 +01:00
chrysn
756a384442 makefiles, treewide: Remove MCU variable 2024-02-18 20:46:09 +01:00
Marian Buschsieweke
f68f977274
Merge pull request #20312 from maribu/drivers/periph_common/spi/transfer_u16
drivers/periph_spi: Add `spi_transfer_u16_be()`
2024-02-12 16:24:10 +00:00
benpicco
55b6728224
Merge pull request #19738 from benpicco/stdio_dispatch
stdio_dispatch: allow to select multiple stdio methods at the same time
2024-02-09 16:13:27 +00:00
Benjamin Valentin
8d205b496b drivers/slipdev: don't append 0-byte to stdin 2024-02-09 15:31:21 +01:00
Benjamin Valentin
6fdcc56f38 stdio_slipdev: port to new interface 2024-02-09 15:31:21 +01:00
Marian Buschsieweke
6fb369d4fc
drivers/periph/gpio_ll: Add API to switch direction
This adds two functions:

    void gpio_ll_switch_dir_output(gpio_port_t port, uword_t outputs);
    void gpio_ll_switch_dir_input(gpio_port_t port, uword_t inputs);

The first configures GPIO pins specified by a bitmask as output, the
second configures the specified pins as input.

The main use case is to allow bit-banging bidirectional protocols using
more basic GPIO peripherals that do not implement open drain mode, such
as found e.g. on MSP430, ATmega, or SAM0.

It is not intended to implement this feature on modern MCUs with
sophisticated GPIO peripherals.
2024-02-05 10:56:16 +01:00
Marian Buschsieweke
8bf61336a2
Merge pull request #20290 from maribu/drivers/periph/gpio_ll/features
drivers/periph_gpio_ll: Fix GPIO_DISCONNECT handling and add compile time feature checks
2024-02-05 07:30:54 +00:00
Benjamin Valentin
fcd734e10e drivers/ethos: add STDIO_UART_RX_BUFSIZE compat define 2024-02-03 13:09:10 +01:00
Marian Buschsieweke
47280b3a9b
drivers/w5100: make use of spi_transfer_u16_be()
This also fixes a bug, as the free coded byte swap code was incorrect.
2024-02-02 13:05:02 +01:00
Marian Buschsieweke
87abafb13f
drivers/periph_spi: Add spi_transfer_u16_be()
This adds a helper function to exchange a 16 bit number that is to
be transferred in big endian order on the wire.
2024-02-02 13:05:02 +01:00
Martine Lenders
34fcffe37b
Merge pull request #20170 from miquel-b/lsm6dsxx
drivers/lsm6dsxx: refactoring Lsm6dsl into common driver Lsm6dsxx
2024-01-30 19:07:04 +00:00
chrysn
55cbb7bdfa
Merge pull request #20303 from chrysn-pull-requests/rust-updates
treewide: Rust updates
2024-01-29 19:54:32 +00:00
chrysn
3c5a540d01 drivers/lsm303agr: Use version 1.0 of driver 2024-01-27 09:41:26 +01:00
chrysn
96af920a12 drivers/lsm303agr: Use version 0.3 of driver
Note that for the very CPU this driver is used with (nRF52 on the
microbit-v2 board), this currently needs extra workarounds to copy
written data from flash to RAM so that the driver can see it. (Otherwise
it silently writes 00, and then correctly reads 00 from the bus all the
time).
2024-01-27 09:41:26 +01:00
Benjamin Valentin
a774ad935b drivers/w5100: make use of netdev_eui48_get() 2024-01-26 21:42:27 +01:00
MrKevinWeiss
bd64ed460b
drivers/lsm6dsxx: Cleanup style 2024-01-25 09:16:10 +01:00
MrKevinWeiss
ab84f2387b
drivers/saul: replace lsm6dsl->lsm6dsxx 2024-01-24 20:32:03 +01:00
MrKevinWeiss
1d05932bb9
drivers: Fix kconfig error
Even though it is removed just to get this through
2024-01-24 12:23:01 +01:00
Miquel-HAW
71169638ca drivers/lsm6dsxx: Implement common code 2024-01-24 09:57:04 +01:00
Marian Buschsieweke
bd3f54ac8f
drivers/periph_gpio_ll: Add features for compile-time-checks
This adds the features

 - periph_gpio_ll_input_pull_down:
        To indicate support for input mode with internal pull down
 - periph_gpio_ll_input_pull_keep:
        To indicate support for input mode with internal resistor
        pulling towards current level
 - periph_gpio_ll_input_pull_up:
        To indicate support for input mode with internal pull up
 - periph_gpio_ll_disconnect:
        To indicate a GPIO can be disconnected
 - periph_gpio_ll_open_drain:
        To indicate support for open drain mode
 - periph_gpio_ll_open_drain_pull_up:
        To indicate support for open drain mode with internal pull up
 - periph_gpio_ll_open_source:
        To indicate support for open source mode
 - periph_gpio_ll_open_source_pull_down:
        To indicate support for open source mode with internal pull down
2024-01-23 15:03:34 +01:00
Marian Buschsieweke
00cb9668ae
drivers/periph_gpio_ll: Improve documentation
The documentation on the state `GPIO_DISCONNECT` was a bit vague. The
API doc said it should disconnect the GPIO from all peripherals, the
test also tested them for being electrically disconnected.

The documentation in both the test and the API is extended to point out
that a GPIO indeed SHOULD be in high impedance state, but that user
MUST NOT expect that this requested is honored by every implementation
and for every GPIO pin.

In the test it is also pointed out that failing the test for a GPIO
in the `GPIO_DISCONNECT` state being electrically disconnected is for
some pins expected, and that the test should be just run again with
different GPIOs. The test intentionally tests for a feature not provided
by every GPIO pin rather than warning on a failure: The effort to just
flash and run the test again with different GPIOs is relatively low, but
it does confirm correct behavior of the API.
2024-01-22 10:28:35 +01:00
Marian Buschsieweke
922276296e
drivers/periph/gpio_ll: pass gpio_conf_t by value
Now that `gpio_conf_t` is on all implemented platforms no larger than
a register, we can more efficiently pass it by value rather than via
pointer.
2024-01-21 09:19:08 +01:00
Marian Buschsieweke
2a00ec13e5
drivers/periph/gpio_ll: shrink gpio_conf_t
This commit optimizes the `gpio_conf_t` type in the following
regards:

- The "base" `gpio_conf_t` is stripped from members that only some
  platforms support, e.g. drive strength, slew rate, and disabling of
  the Schmitt Trigger are no longer universally available but
  platform-specific extensions
- The `gpio_conf_t` is now crammed into a bit-field that is 8 bit or
  16 bit wide. This allows for storing lots of them e.g. in
  `driver_foo_params_t` or `uart_conf_t` etc.
- A `union` of the `struct` with bit-field members and a `bits` is used
  to allow accessing all bits in a simple C statement and to ensure
  alignment for efficient handling of the type

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2024-01-21 08:38:40 +01:00
Miquel-HAW
c79631c6a5 drivers/lsm6dsxx: Replace all lsm6dsl with lsm6dsxx in the files 2024-01-18 14:20:56 +01:00
Miquel-HAW
ce987ccddd drivers/lsm6dsxx: dir and file renaming 2024-01-18 14:20:56 +01:00
benpicco
d5f1fda70d
Merge pull request #20230 from benpicco/CONFIG_UART_DMA_THRESHOLD_BYTES
cpu/stm32: uart: don't do DMA for small transfers
2024-01-18 12:26:30 +00:00
Marian Buschsieweke
0cffb7f365
Merge pull request #20257 from fzi-haxel/native64-part1
core, sys, drivers: 64-bit support preparations
2024-01-17 15:40:34 +00:00
Frederik Haxel
3feb1a369b drivers: 64 bit compatibility
Fixed compilation errors for pointer casting.
2024-01-17 16:05:12 +01:00
Benjamin Valentin
1e1244042e drivers/mtd_spi_nor: make use of busy_wait() 2024-01-15 14:56:35 +01:00
Frederik Haxel
381cae6eb1 drivers: Added PRIuSIZE print format specifier 2024-01-12 17:17:33 +01:00
Gunar Schorcht
caa31ecbdc drivers/mtd: fix mtd_write_sector
Parameter `num` of `mtd_write_page_raw` is the number of bytes to be written, which is the number of sectors to be written`count` multiplied by the pages per sector `mtd->pages_per_sector` and the page size `mtd->page_size`.
2024-01-07 16:47:11 +01:00
Kevin "Tristate Tom" Weiss
7fef2e4b6f
Merge pull request #20214 from benpicco/CONFIG_SPI_DMA_THRESHOLD_BYTES
cpu/stm32/periph_spi: only perform DMA transfer above threshold
2024-01-04 17:32:02 +00:00
Benjamin Valentin
9710d4a23c drivers/periph: introduce CONFIG_UART_DMA_THRESHOLD_BYTES 2024-01-04 17:33:51 +01:00
benpicco
9b3c39ac76
Merge pull request #18066 from benpicco/slipdev-chunked_rb
drivers/slipdev: make use of chunked ringbuffer
2024-01-04 08:44:43 +00:00
Marian Buschsieweke
f860d96a25
Merge pull request #19891 from chrysn-pull-requests/ws2181x_timer
drivers/ws281x: Add gpio_ll and timer based driver
2024-01-03 09:22:26 +00:00
Benjamin Valentin
1a888fe556 drivers/slipdev: make use of chunked ringbuffer 2024-01-02 14:41:11 +01:00
benpicco
ece8a12f81
Merge pull request #20173 from fabian18/pr/mtd_flashpage_improve_write_page
drivers/mtd_flashpage: improve _write_page
2024-01-02 13:21:51 +00:00
Fabian Hüßler
37c39d0ee0 drivers/mtd_flashpage: improve _write_page 2023-12-31 00:26:40 +01:00
Benjamin Valentin
fbeb1f9a26 drivers/periph/spi: move DMA threshold to common code 2023-12-23 17:35:29 +01:00
Frederik Haxel
ec7fe8d598 drivers: Use size_t print format specifier
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
2023-12-21 12:02:28 +01:00
MrKevinWeiss
7b80348f31
drivers/ws281x: Fix Kconfig
Patch from https://github.com/RIOT-OS/RIOT/pull/19891#pullrequestreview-1753651538
2023-12-19 11:13:43 +01:00
chrysn
d86405cef4
drivers/ws281x: Add timer and gpio_ll based driver 2023-12-19 11:13:43 +01:00
chrysn
02285fd63a
drivers/periph: Add timer_poll feature and timer_poll_channel function 2023-12-19 11:13:41 +01:00
benpicco
208790a5f1
Merge pull request #20108 from benpicco/drivers/dose-uart_ondemand_tx
drivers/periph/uart: add periph_uart_tx_ondemand feature
2023-12-14 20:42:55 +00:00
Benjamin Valentin
9cde80ef36 drivers_dose: enable TX UART on-demand 2023-12-14 18:30:38 +01:00
Benjamin Valentin
fc9669bcfd drivers/periph/uart: add periph_uart_tx_ondemand feature 2023-12-14 18:30:38 +01:00
Gunar Schorcht
aabc331494 drivers/mtd: improve doc consistency for MTDs 2023-12-14 17:27:13 +01:00
Gunar Schorcht
c872f0e18e drivers/sdcard_spi: small changes in doc for consistency 2023-12-14 17:26:29 +01:00
benpicco
d13e6c4e83
Merge pull request #20180 from benpicco/mtd_sdmmc-erase
drivers/mtd_sdmmc: always enable the erase function
2023-12-14 13:42:33 +00:00
Benjamin Valentin
bfe26c68d3 drivers/mtd: introduce mtd_write_sector() 2023-12-14 14:27:19 +01:00
Benjamin Valentin
f57f2a125f drivers/mtd_sdmmc: set MTD_DRIVER_FLAG_DIRECT_WRITE flag 2023-12-14 14:27:08 +01:00
Benjamin Valentin
f34abe88a0 drivers/mtd_sdmmc: always enable the erase function 2023-12-14 14:27:08 +01:00
benpicco
6eac1e1761
Merge pull request #15380 from benpicco/mtd_drop_write
mtd/*: drop .write() if .write_page() is implemented
2023-12-13 20:35:53 +00:00
Benjamin Valentin
9855b02b07 mtd: drop .write() function
All MTD drivers should now implement the .write_page() function instead.
2023-12-13 17:46:43 +01:00
Benjamin Valentin
431afeaa51 drivers/mtd_sdmmc: drop .write() function 2023-12-13 16:58:31 +01:00
Benjamin Valentin
cf123f98d5 drivers/mtd_emulated: drop .write() function 2023-12-13 16:56:51 +01:00
Benjamin Valentin
6c28a7d62c drivers/mtd_mapper: drop .write() function 2023-12-13 16:56:51 +01:00
Benjamin Valentin
ba17c14aef drivers/mtd_sdcard: drop .write()
The old .write() function is only used as a fall-back if .write_page()
is not implemented.
We can drop it.
2023-12-13 16:50:41 +01:00