1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

2747 Commits

Author SHA1 Message Date
benpicco
a0bae383d7
Merge pull request #14818 from Nishchay-sopho/drivers/sps30/add_sleep_mode
drivers/sps30: Add sleep mode
2020-08-25 23:49:32 +02:00
Nishchay-sopho
a368b0bc36 drivers/sps30: Add sleep mode 2020-08-25 16:20:18 +02:00
Benjamin Valentin
2aa2bf86a3 drivers/at86rf2xx: AES: don't use binary constant
This is a GCC extension. Use hex constant instead.
2020-08-25 14:06:40 +02:00
9b2aa40e03
Merge pull request #14038 from benpicco/mtd_pagewise
mtd: add page addressed operations to allow access > 4GiB on SD cards
2020-08-25 13:10:20 +02:00
Marian Buschsieweke
7b743cda13
drivers/at86rf2xx: Fix address generation
Do not generate address during reset, but during setup. Otherwise the device
will get a new address after every reset. Also: Use common IEEE 802.15.4
setup function for this.
2020-08-23 21:09:21 +02:00
Benjamin Valentin
0f4c5f5b10 drivers/at86rf2xx: fix assert
The assert is reversed. It must check if the config value does not
exceed the maximum address length, not the other way round.

previously this would lead to a crash when setting a short address:

2020-08-23 13:59:56,080 #  ifconfig 7 set addr_short 2
2020-08-23 13:59:56,081 # 0xdcad
2020-08-23 13:59:56,083 # *** RIOT kernel panic:
2020-08-23 13:59:56,085 # FAILED ASSERTION.

With this it works as expected

2020-08-23 14:05:07,988 #  ifconfig 7 set addr_short 2
2020-08-23 14:05:07,992 # success: set (short) address on interface 7 to 2
2020-08-23 14:05:52 +02:00
Marian Buschsieweke
92ae260617
Merge pull request #14778 from benpicco/sys/luid_netdev
sys/luid: add luid_netdev_get_eui48() & luid_netdev_get_eui64()
2020-08-21 21:30:14 +02:00
Benjamin Valentin
9823801cf6 drivers/at86rf215: use netdev_ieee802154_setup() 2020-08-21 15:33:19 +02:00
Benjamin Valentin
d29397cfd8 netdev_ieee802154: add netdev_ieee802154_setup() 2020-08-21 15:33:19 +02:00
6199ada6b5
drivers/sx127x: migrate to ztimer 2020-08-20 13:41:32 +02:00
Benjamin Valentin
02f37b998a drivers/at24cxxx: export page-wise write function
Export the _write_page() function so it can be used by the MTD subsystem.
2020-08-18 17:25:40 +02:00
Benjamin Valentin
7c8fe862ce drivers/at25xxx: export page-wise write function
Export the _write_page() function so it can be used by the MTD subsystem.
2020-08-18 17:25:40 +02:00
Benjamin Valentin
68a47b63e3 drivers/mtd_spi_nor: implement mtd_spi_nor_write_page() 2020-08-18 17:25:39 +02:00
Benjamin Valentin
7d291b5707 drivers/mtd_sdard: implement page-wise read() and write()
SD cards are usually larger than 4 GiB, so using 32 bit addressing will
break once they are filled to a certain extend.

Implement read_page() and write_page() which at a page size of 512
should work for SD cards of up to 2 TiB.

The read() and write() functions will ignore any offset that is not aligned
with the page boundary, so do the same for the new functions, but at least
report an error.
2020-08-18 17:25:39 +02:00
Benjamin Valentin
4034f96169 mtd: add page addressed operations
Currently read(), write() and erase() all use 32 bit addressing.
This is a problem when writing to media > 4 GiB, e.g. SD cards.

The current implementation would wrap around after 4 GiB and corrupt data.

To avoid this, add functions to the MTD subsystem that allow for page-wise
addressing. This is how most of the underling storage drivers and the
file-systems above work anyway.

In the future we should then deprecate the 32-bit functions if all drivers
are converted.
2020-08-18 17:25:39 +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
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
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
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
fabian18
1fca10c486 drivers/at86rf2xx: SPI AES security module 2020-08-12 17:18:00 +02:00
Nishchay-sopho
3245dee8d8 drivers/sps30: Update units of measurement 2020-08-12 12:50:35 +02:00
Leandro Lanzieri
14499e3b7e
drivers/periph_common: Add modules to Kconfig 2020-08-12 12:22:40 +02:00
Leandro Lanzieri
4ad2180f81
kconfig: Add default modules' symbols 2020-08-12 12:22:38 +02:00
Francisco
ad3568be87
Merge pull request #14712 from benpicco/gpio_init_int-clarify
periph/gpio: clarify behavior of gpio_irq_enable()
2020-08-11 11:30:05 +02:00
Benjamin Valentin
7543e714c1 drivers/periph_common: RTC: move RIOT_EPOCH to header, document it. 2020-08-07 13:22:19 +02:00
Benjamin Valentin
8c95198cbb periph/gpio: clarify behavior of gpio_irq_enable()
What happens with events that occured after `gpio_irq_disable()` is
currently not defined.
If they are not cleared, they will generate an interrupt on `gpio_irq_enable()`.

This does not seem like the intended behavior, so make the documentation more
explicit.
2020-08-05 17:41:27 +02:00
d8794d7c5a drivers/cc2420: fix bogus cc2420_set_state(dev, CC2420_GOTO_RX)
It doesn't compile, compiler complains that the enum type of
CC2420_GOTO_RX cannot be converted to netopt_state_t as required by the
function.
The numerical value of CC2420_GOTO_RX would be NETOPT_STATE_IDLE (2), which
makes sense as it puts the device into RX mode.
2020-08-04 13:56:49 +02:00
José Alamos
7967066f51
Merge pull request #14657 from maribu/netdev_doc
drivers/net: Fix netdev_driver_t doc
2020-08-04 10:49:24 +02:00
Marian Buschsieweke
f48147b585
Merge pull request #14663 from benpicco/native-fixes
treewide: compile fixes for native
2020-07-31 14:57:41 +02:00
Benjamin Valentin
492283898e pkg/driver_atwinc15x0: don't be pedantic 2020-07-31 13:38:03 +02:00
Benjamin Valentin
aa0e5e7afa drivers/cc110x: replace binary constants and use unsigned char
binary constants are a GCC extension
2020-07-31 13:38:03 +02:00
Benjamin Valentin
110609195f drivers/encx24j600: use unsigned char 2020-07-31 13:38:03 +02:00
Benjamin Valentin
2e34298265 drivers/nrf24l01p: use unsigned char 2020-07-31 13:38:03 +02:00
Benjamin Valentin
a81c0a544c drivers/kw2xrf: use unsigned char 2020-07-31 13:38:03 +02:00
benpicco
7e4b3d0f40
Merge pull request #14653 from Nishchay-sopho/drivers/sdp3x_#14603
driver/sdp3x: Resolved irq pin code used even if irq pin not connected
2020-07-31 01:22:02 +02:00
Marian Buschsieweke
86513dc97a
drivers/net: Fix netdev_driver_t doc
- Fix indent
- Use @reval instead of @return when referring to a single return value
- Use term "frame" instead of "packet"
2020-07-30 20:22:17 +02:00
nagrawal
7cc4f2b79b driver/sdp3x: Resolved irq pin code used even if irq pin not connected
irq_pin check when multiple sensors connected with or without irq pin
2020-07-30 16:35:35 +02:00
f7882f4f2a
drivers/stmpe811: return touch_dev position relative to top left corner 2020-07-29 14:49:17 +02:00
4b4e9830b0
drivers/touch_dev: clarify touch position coordinates origin 2020-07-29 14:49:17 +02:00
388bbfa008
drivers: add generic screen wrapper around display and touch devices 2020-07-29 14:30:03 +02:00
benpicco
38f62f9678
Merge pull request #14643 from Nishchay-sopho/drivers/sdp3x_#14601
driver/sdp3x: Resolved init condition fail
2020-07-29 13:08:57 +02:00
Leandro Lanzieri
224e2c977d
Merge pull request #14509 from jia200x/pr/lora_implicit_mode
sx127x: add support for implicit header mode
2020-07-29 12:52:00 +02:00
Jose Alamos
84eb2dc30c sx127x: implement NETOPT_PDU_SIZE 2020-07-29 11:57:52 +02:00
nagrawal
cd46360eab driver/sdp3x: Resolved init fail error 2020-07-28 19:35:35 +02:00
benpicco
7acdecb1df
Merge pull request #14447 from Nishchay-sopho/drivers/scd30
driver/scd30 : Add driver for scd30 sensor
2020-07-28 12:41:58 +02:00
benpicco
ecab75b529
Merge pull request #13632 from benpicco/cpu/sam0_common/uart-deinit
drivers/periph/uart: add periph_uart_reconfigure feature & implementation for sam0
2020-07-28 11:12:19 +02:00
nagrawal
900e4b61dc driver/scd30: Add driver for Sensirion SCD30
Created tests for Sensirion scd30 driver

Moved Makefile.dep and Makefile.include as per new spec
2020-07-28 10:38:01 +02:00
Benjamin Valentin
3eb54179ae drivers/periph/uart: add periph_uart_reconfigure feature 2020-07-28 10:10:15 +02:00
Benjamin Valentin
7af8a3e2d3 drivers/periph/timer: add note about TIM_FLAG_RESET_ON_MATCH 2020-07-27 17:17:08 +02:00
Marian Buschsieweke
a7cf50eb03
drivers/stm32_eth: Code style fixes
- Drop incorrect use of `volatile`
- Fix missing spaces and indention
2020-07-24 11:32:20 +02:00
Francisco
d187e83221
Merge pull request #14570 from fjmolinas/pr_fix_mock_rtt_defs
drivers/rtt: override RTT_MAX_VALUE and RTT_FREQUENCY for mock
2020-07-22 16:33:29 +02:00
Leandro Lanzieri
25723267f7
Merge pull request #14567 from akshaim/Kconfig_l2filter
net/l2filter : Expose configurations to Kconfig
2020-07-22 15:11:24 +02:00
37b096562a
drivers/stmpe811: ensure fifo is not empty before reading touch position 2020-07-22 09:59:18 +02:00
Benjamin Valentin
caead7bb75
drivers/stmpe811: always clear interrupt state 2020-07-22 09:59:11 +02:00
Francisco Molina
9dde6ec53d
drivers/rtt: overrite RTT_MAX_VALUE and RTT_FREQUENCY for mock
mock_rtt relies on setting mock values for RTT_MAX_VALUE and
RTT_FREQUENCY. Platforms with a rtt will already define these
values which leads to mock_rtt working with different values than
rtt_rtc.

This commit changes the ifdef logic so that when using mock_rtt
RTT_MAX_VALUE and RTT_FREQUENCY are redefined.
2020-07-22 08:52:54 +02:00
Benjamin Valentin
cbae0186ca
drivers/stmpe811: fix interrupt polarity & type
The Interrupt on the stmpe811 is generated on the falling edge.
By observing the rising edge, we will only get an event if the
interrupt gets cleared.

Also configure the interrupt to be edge triggered instead of
level triggered.
2020-07-21 21:22:42 +02:00
Akshai M
60170971bd net/l2filter : Update documentation 2020-07-22 00:26:09 +05:30
Akshai M
caab4cd8c5 net/l2filter : Move 'L2FILTER_LISTSIZE' to 'CONFIG_' 2020-07-22 00:26:09 +05:30
0c86b72ed6
drivers/Makefile.dep: remove global dependency resolution
Only keep the dependency resolution for drivers declared as pseudo-modules
2020-07-20 14:32:16 +02:00
304bce3724
drivers: configure per driver dependency resolution 2020-07-20 14:32:16 +02:00
f013be5507
Merge pull request #14497 from aabadie/pr/drivers/makefile_dep_cleanup
drivers/Makefile.dep: remove inappropriate use of FEATURES_PROVIDED for rtt_rtc
2020-07-20 13:04:59 +02:00
Martine Lenders
e5d692babe
Merge pull request #14493 from miri64/netopt/cleanup/rm-LINK_CONNECTED
netopt: remove deprecated alias NETOPT_LINK_CONNECTED
2020-07-17 22:35:46 +02:00
87d8124d88
Merge pull request #14536 from HendrikVE/pca9633_fix_copy_pasta
drivers/pca9633: fix wrong enum name
2020-07-17 21:03:25 +02:00
5c3c22f31c
Merge pull request #14489 from benpicco/libc_conflict
drivers/tests: rename private read() and sleep() functions to avoid conflicts with libc
2020-07-17 20:44:02 +02:00
Hendrik van Essen
9d068d582a drivers/pca9633: make enum anonymous 2020-07-17 15:05:32 +02:00
0d9aeba804
Makefile.include: don't include drivers/Makefile.include anymore 2020-07-15 20:36:27 +02:00
490126cfa0
drivers: move USEMODULE_INCLUDES in each driver directories 2020-07-15 20:36:27 +02:00
Benjamin Valentin
b080d3da7a drivers/soft_uart: implement inverted TX & RX
In the current implementation, RX is flank based, so it's entirely level
agnostic.
I still chose to include a SOFT_UART_FLAG_INVERT_RX flag for symmetry and
to allow for a possible future, sampling based implementation.
2020-07-14 23:04:36 +02:00
Benjamin Valentin
96c67b0fa5 drivers/soft_uart: add software based UART implementation 2020-07-14 22:51:59 +02:00
1cf8f0dc45
drivers/Makefile.dep: remove useless FEATURES_PROVIDED for rtc_rtt 2020-07-10 18:12:31 +02:00
Benjamin Valentin
f4e9ede7bc drivers/sps30: fix conflict with libc function name 2020-07-10 17:31:29 +02:00
Benjamin Valentin
5f4838e716 drivers/sht3x: fix conflict with libc function name 2020-07-10 17:31:29 +02:00
Benjamin Valentin
b9ed7e9ffd drivers/bme680: fix conflict with libc function name 2020-07-10 17:31:29 +02:00
Martine S. Lenders
8dba9a9188
netopt: remove deprecated alias NETOPT_LINK_CONNECTED 2020-07-10 16:18:13 +02:00
Daniel Lockau
0d3dc120ef drivers/sdcard_spi: remove auto-init 2020-07-09 08:50:53 +02:00
Leandro Lanzieri
a320181f55
drivers/kw2xrf: Enable TX End IRQ in netdev init
The driver needs this event but gnrc_netif_ieee802154 only enables the
interrupt when MODULE_NETSTATS_L2 is active.
2020-07-06 14:21:58 +02:00
Benjamin Valentin
b5d711da25 drivers/sdcard_spi: document undocumented defines
Murdock enforces these now, so add documentation to make it happy.
2020-07-02 16:33:09 +02:00
Daniel Lockau
e7fbc174bc drivers/sdcard_spi: make retries configurable
- convert count based retry implementation to timeout based
  implementation
- allow user definition of retry parameters
2020-07-02 16:33:09 +02:00
Francisco
325b7a8d8e
Merge pull request #13631 from benpicco/cpu/sam0_common/spi-deinit
drivers/periph/spi: add periph_spi_reconfigure feature & implementation for sam0
2020-06-30 15:34:53 +02:00
Leandro Lanzieri
955efd85ff
drivers/at: Add at_urc_isr module to process URCs upon arrival 2020-06-30 11:41:13 +02:00
benpicco
a92dac5701
Merge pull request #14329 from Nishchay-sopho/drivers/sdp3x
driver/sdp3x : Add driver for sdp3x sensor
2020-06-29 21:16:39 +02:00
Dirk Ehmen
05980765f2 drivers/sdp3x: Driver for sensirion sdp3x sensor 2020-06-29 20:50:41 +02:00
benpicco
f372beb405
Merge pull request #12363 from maribu/dfplayer
drivers/dfplayer: New driver for the DFPlayer Mini MP3 player
2020-06-28 23:24:36 +02:00
Marian Buschsieweke
2f858a2c0a
sys/shell: Added shell command "dfplayer"
Added a shell command that is added if the modules shell_commands and dfplayer
are both used. It allows to control the DFPlayer Mini MP3 player.
2020-06-28 21:06:49 +02:00
Marian Buschsieweke
82bfb66cb8
drivers: Added driver for the DFPlayer MP3 player 2020-06-28 21:06:43 +02:00
Marian Buschsieweke
fa5fa425a1
drivers: Added doc group drivers_multimedia 2020-06-26 13:09:33 +02:00
Gunar Schorcht
660a852935 drivers: add netdev driver for ATWINC15x0 WiFi module 2020-06-26 12:33:38 +02:00
Francisco
a46adc3d44
Merge pull request #13742 from benemorius/pr/kinetis-pm_layered
cpu/kinetis: implement power modes for pm_layered
2020-06-26 10:51:12 +02:00
benpicco
3665e40726
Merge pull request #14242 from HendrikVE/pr/driver/pca9633
driver/pca9633: add new driver
2020-06-26 00:44:24 +02:00
Thomas Stilwell
b8ce88e9a7 drivers/kw41zrf: remove duplicate PM_UN/BLOCK defines 2020-06-25 17:34:39 -05:00
Hendrik van Essen
1430ddca55 driver/pca9633: add new driver 2020-06-25 22:31:15 +02:00
Martine S. Lenders
14afbe1030
xbee: remove NETOPT_IPV6_IID support
This option is handled in the `gnrc_netif`-layer without any access to
the driver's option since 7ae90564d9.
2020-06-25 13:41:20 +02:00
Martine S. Lenders
7777c172dd
netdev_ieee802154: remove NETOPT_IPV6_IID support
This option is handled in the `gnrc_netif`-layer without any access to
the driver's option since 7ae90564d9.
2020-06-25 13:40:48 +02:00
Martine S. Lenders
3a60a78606
netdev_eth: remove NETOPT_IPV6_IID support
This option is handled in the `gnrc_netif`-layer without any access to
the driver's option since 7ae90564d9.
2020-06-25 13:40:30 +02:00