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

1684 Commits

Author SHA1 Message Date
37bc47e21c
drivers/at: remove deprecated AT_SEND_ECHO define 2022-01-14 09:06:17 +01:00
11f73ea5c9
drivers/ft5x06: add touch panel driver 2022-01-08 15:08:05 +01:00
e0324d5278
drivers/lis2dh12: fix missing stdbool include 2022-01-06 12:07:41 +01:00
0056648581
Merge pull request #17418 from aabadie/pr/drivers/periph_build_enh
drivers/periph_common: build periph module selectively
2022-01-04 14:59:39 +01:00
acd73529a5
drivers/netdev: fix missing and non matching arguments in doc 2022-01-03 09:52:04 +01:00
7ce1894da9
drivers/candev: fix non matching argument in doc 2022-01-03 09:51:40 +01:00
79df157727
sys: move rtc utility functions to their own module 2021-12-20 13:04:20 +01:00
c9e30b01c0
Merge pull request #16333 from fjmolinas/pr_driver_hm3301
drivers/hm330x: initial commit
2021-12-16 17:56:45 +01:00
Francisco Molina
fe38284a3c drivers/hms330x: initial import 2021-12-16 15:19:44 +01:00
Martine Lenders
e062ad78f3
Merge pull request #17265 from miri64/ethos/fix/threadify-state-machine
ethos: move bulk of state machine out of ISR context
2021-12-16 12:24:14 +01:00
Martine Lenders
820a3976ad
ethos: move bulk of state machine out of ISR context
This moves the following parts of ethos' state machine out of ISR
context:

- Sending and replying to HELLO messages
- Byte-unstuffing

Some escape handling is still needed in the ISR handler, due to ethos'
protocol design, to determine if a received byte must go into the
netdev queue (tsrb) or the STDIO queue (isrpipe), but the actual
unstuffing is now done in the STDIO and netdev handler threads,
respectively.
2021-12-15 16:15:30 +01:00
Martine Lenders
568be105f2
stdio_ethos: move to ethos_stdio 2021-12-15 16:15:29 +01:00
benpicco
e8cbf1ea90
Merge pull request #16681 from benpicco/drivers/dose-collision
drivers/dose: make use of UART collision detection feature
2021-12-08 20:48:28 +01:00
Gunar Schorcht
499cbb9062 drivers/mcp47xx: add driver for MCP47xx DAC devices 2021-12-08 05:42:07 +01:00
2e0c02b25d
Merge pull request #17340 from gschorcht/driver/fix_css811_read_status
driver/css811: fix read status
2021-12-04 17:41:02 +01:00
benpicco
0646862421
Merge pull request #10430 from gschorcht/drivers_pcf857x
drivers: add PCF857X I2C I/O expander driver
2021-12-04 16:57:01 +01:00
Gunar Schorcht
7eb599e765 drivers: add PCF857X I/O expander driver 2021-12-04 14:11:04 +01:00
Gunar Schorcht
6bdc590516 drivers/ccs811: small cleanups in documentation 2021-12-04 13:43:31 +01:00
Gunar Schorcht
27265095cd drivers/ccs811: fix the data ready check
When the measurement results are read from the `ALG_RESULT_DATA` register set including the STATUS register, the `DATA_RDY` flag in the STATUS register is already cleared during reading. Therefore it is not possible to check this flag after the `ALG_RESULT_DATA` has been read. Therefore the function `ccs811_read_iaq` always returned `CCS811_ERROR_NO_NEW_DATA` although the data were valid either after checking for new data with the function `ccs811_data_ready` or after triggering the Data Ready interrupt.
2021-12-04 13:43:31 +01:00
8329112c45
Merge pull request #17088 from fjmolinas/pr_stmpe811_spi
drivers/stmpe811: add spi mode
2021-12-03 21:37:46 +01:00
Francisco Molina
e17fe0aee2 drivers/stmpe811: add spi mode 2021-12-03 17:12:03 +01:00
b6cc07009f
Merge pull request #17284 from fjmolinas/pr_ztimer_no_periph_rtt
sys/ztimer: add 'ztimer_no_periph_rtt'
2021-12-02 11:02:24 +01:00
Francisco Molina
7c3360e4d6 sys/ztimer: add 'ztimer_no_periph_rtt'
This is a temporary fix for Issue #17060. It allows to disable
auto inclusion of `ztimer_periph_rtt` in cases where another
module or application requires direct access.

Limitations:
- as ifeq are involved order of inclusion matters, therefore
  these modules should be included early in the build at application
  level and not in modules `Makefile.dep`
- this does not disallow direct inclusions of `ztimer_periph_rtt`,
  since this only disables auto inclusion of these modules

This is a temporary solution since this is already possible with
Kconfig, but not in make.
2021-12-02 07:54:38 +01:00
Francisco Molina
1ef9ca8a6f drivers/soft_spi: remove nanosleep 2021-11-30 10:31:22 +01:00
Gunar Schorcht
3d93b2bcf0 drivers/periph/i2c: i2c_acquire() returns void
Since all implementations simply return 0 and most drivers do not check the return value, it is better to return void and use an assert to ensure that the given device identifier and given device parameters are correct.
2021-11-29 06:35:25 +01:00
Wouter Symons
5055d0993e drivers/dht: correct interpreting raw values 2021-11-20 14:55:02 +01:00
Benjamin Valentin
1768e93710 drivers/periph: use uint_fast8_t as default type
The default driver type is just an index into a device array defined
by the board.

If a platform wants to encode additional information in the device type,
it can define a custom type.

This means we can just set the default type to whatever fits the target
CPU best.

On ARM this will still be a 32 bit word, but on AVR it will by a 8 bit byte.
2021-11-18 10:29:50 +01:00
f8e7e2f557
usbdev_mock: Adapt to xmit API
Includes the adaptations needed in the test application
2021-11-16 20:16:59 +01:00
597f1d19aa
usbdev: Refactor to xmit API
This API change refactors the usbdev API to supply buffers via the
usbdev_ep_xmit function. This changes from the usbdev_ep_ready call to allow
separate buffers per call. An usbdev_ep_buf_t pseudotype is available and must
be used when defining buffers used for endpoints to adhere to the DMA alignment
restrictions often required with usb peripherals.

Main advantage is that the usbdev peripherals no longer have to allocate
oversized buffers for the endpoint data, potentially saving multiple KiB
of unused buffer space. These allocations are now the responsibility of
the individual USB interfaces in the firmware
2021-11-16 11:21:07 +01:00
59e85cf921
usbdev: Refactor to xmit API
This API change refactors the usbdev API to supply buffers via the
usbdev_ep_xmit function. This changes from the usbdev_ep_ready call to allow
separate buffers per call. An usbdev_ep_buf_t pseudotype is available and must
be used when defining buffers used for endpoints to adhere to the DMA alignment
restrictions often required with usb peripherals.

Main advantage is that the usbdev peripherals no longer have to allocate
oversized buffers for the endpoint data, potentially saving multiple KiB
of unused buffer space. These allocations are now the responsibility of
the individual USB interfaces in the firmware
2021-11-16 11:21:00 +01:00
Benjamin Valentin
b34b67feee drivers/dose: reduce struct padding
By moving all the single byte struct elements to the end, we can reduce
padding inside `dose_t` and ensure that `recv_buf` is always aligned.

This saves some RAM:

master
------
   text	   data	    bss	    dec	    hex	filename
  36384	    136	  12944	  49464	   c138 tests/driver_dose/bin/samr21-xpro/tests_driver_dose.e

this patch
----------
   text	   data	    bss	    dec	    hex	filename
  36484	    136	  12936	  49556	   c194	tests/driver_dose/bin/samr21-xpro/tests_driver_dose.elf
2021-11-12 16:19:20 +01:00
Francisco
b609646961
Merge pull request #17138 from fjmolinas/pr_sx126x_fixes
drivers/sx126x: fix sync word and TX PA configuration
2021-11-11 10:59:08 +01:00
Benjamin Valentin
f89d0c7c25 drivers/periph/uart: add periph_uart_collision feature 2021-11-10 15:57:45 +01:00
benpicco
026d6cfba1
Merge pull request #16768 from benpicco/drivers/dose-timeout_bytes
drivers/dose: calculate timeout based on symbol rate
2021-11-10 12:40:13 +01:00
Francisco
035ee0a595
Merge pull request #17172 from kaspar030/drivers_ds18_missing_stdint.h
drivers/ds18.h: add missing stdint.h include
2021-11-10 08:42:03 +01:00
5d3a4d63d8 drivers/ds18.h: add missing stdint.h include 2021-11-09 21:48:48 +01:00
benpicco
12ade5a8b5
Merge pull request #16752 from benpicco/drivers/dose-standby
drivers/dose: enable standby pin
2021-11-09 18:20:17 +01:00
Benjamin Valentin
6c1481b6ee drivers/dose: enable standby pin
Some CAN transceivers have a standby pin that has to be pulled low
in order to use it.
If the interface is disabled we can set it to high again to save some
power.
2021-11-09 15:19:35 +01:00
Francisco Molina
e17e3254e1 drivers/sx126x: add tx_pa_mode
BOARDs with RF switch might only support one of the TX modes, and
on init the BOARD needs to be configured accordingly and the correct
mode selected on TX.
2021-11-08 18:42:05 +01:00
Marian Buschsieweke
5e75047a2b
drivers/lis3dh: fix unaligned memory access
The bogus packed attribute added to lis3dh_data_t resulted in the
structure being aligned two 1 byte. It was later casted to an
uint16_t pointer (which is aligned two 2 bytes). By dropping the
packed attribute the alignment mismatch is fixed.
2021-11-06 20:05:05 +01:00
26346188b9
Merge pull request #17105 from aabadie/pr/drivers/ata8520e_ztimer
drivers/ata8520e: migrate to ztimer
2021-11-05 16:22:59 +01:00
baa1ed38cc
drivers/ata8520e: migrate to ztimer 2021-11-05 12:49:37 +01:00
benpicco
bfb8d1d3fd
Merge pull request #17014 from benpicco/periph/gpio-cb_not_NULL
drivers/periph/gpio: state that interrupt callback must not be NULL
2021-11-05 12:47:16 +01:00
295092bc29
drivers/rn2xx3: migrate to ztimer 2021-11-04 10:39:36 +01:00
Francisco Molina
472f6495a8 drivers/xbee: migrate to ztimer_msec 2021-11-02 21:46:19 +01:00
Francisco Molina
9a2c880a60 drivers/stmpe811: use errno 2021-10-30 23:25:50 +02:00
Ollrogge
c6e94aa6be periph/flashpage.h: add comment about riotboot impact on flashpage layout 2021-10-26 14:35:33 +02:00
Francisco
7f3344870d
Merge pull request #16972 from Ollrogge/flashpage_pr
periph/flashpage: extend API
2021-10-26 12:51:05 +02:00
9f8aee4e95
usbdev: Deprecate USBDEV_EVENT_TR_FAIL 2021-10-24 19:33:29 +02:00
Ollrogge
72d47013dd periph/flashpage: extend API 2021-10-19 22:33:09 +02:00
Benjamin Valentin
f624eb473a drivers/periph/gpio: state that interrupt callback must not be NULL
This allows us to use `assert(cb != NULL)` inside `gpio_init_int()`
and save a few cycles of interrupt latency.
2021-10-19 21:26:50 +02:00
Gunar Schorcht
62dd51d8ba drivers: add anchor to doc to allow stable references 2021-10-13 17:37:16 +02:00
Jose Alamos
503f5a9ddb
netdev: add netdev_register_signal 2021-10-05 14:35:07 +02:00
benpicco
7bfcda979b
Merge pull request #16906 from benpicco/rtt_rtc.h-doxfix
rtt_rtc: clarify documentation about epoch
2021-09-28 16:11:34 +02:00
Benjamin Valentin
928c593bca rtt_rtc: clarify documentation about epoch
`epoch` in this context refers to `RIOT_EPOCH`, not Unix Epoch.
Clarify the documentation to avoid confusion.
2021-09-28 15:12:14 +02:00
Vera Clemens
06359e05ad drivers/lpsxxx: add support for lps22hh 2021-09-22 17:54:02 +02:00
Francisco
2d0a6874c7
Merge pull request #16763 from benpicco/drivers/lm75-saul
drivers/lm75: add SAUL integration
2021-09-21 10:41:58 +02:00
benpicco
b6a2d08afc
Merge pull request #15915 from fabian18/ina3221-fixes
drivers/ina3221: style fixes and improvements
2021-09-16 22:22:33 +02:00
benpicco
c98c488559
Merge pull request #16746 from jia200x/pr/hal/fb_lock
ieee802154/submac: reimplement using FSM
2021-09-03 18:13:58 +02:00
Jose Alamos
8f97f73453
ieee802154/submac: reimplement using FSM 2021-09-03 15:00:47 +02:00
Benjamin Valentin
0ee0c5e40e drivers/periph: define periph_rtc_mem 2021-09-03 11:43:42 +02:00
Francisco
a1cbcc9ede
Merge pull request #15902 from maribu/spi-api-change-1
drivers/periph_spi: let spi_acquire return void
2021-09-02 08:50:56 +02:00
benpicco
9294a31856
Merge pull request #16781 from benpicco/flashpage_page-const
drivers/flashpage: flashpage_page() takes a const argument
2021-08-31 10:22:46 +02:00
Jean Pierre Dudey
719a18ca8b
Merge pull request #16773 from jeandudey/ili9341-flip
drivers/ili9341: add rotation mode to ili9341_params_t
2021-08-27 14:21:56 +02:00
Benjamin Valentin
f903ec90d4 drivers/flashpage: flashpage_page() takes a const argument
All addresses to flashpage_page() must be in flash. Flash memory is
`const`, therefore this function must also take `const` pointers.
2021-08-27 14:08:25 +02:00
Jean-Pierre De Jesus DIAZ
e6cce1a15f drivers/ili9341: add rotation mode to ili9341_params_t
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-08-26 10:45:05 +02:00
Benjamin Valentin
3399a6476a drivers/dose: calculate timeout based on symbol rate
A fixed timeout is either too long for high symbol rates or too short
for low symbol rates.

To fix this, calculate the timeout based on the symbol rate.

For this, the old 5ms timeout is equivalent to 58 bytes being transmitted
at 115200 baud (8 data bit + start & stop bit).

I rounded this to 50 bytes which should yield 4340 µs.
2021-08-25 20:48:54 +02:00
benpicco
025770968b
Merge pull request #16036 from bergzand/pr/gd32vf103/initial
gd32v/seeedstudio-gd32: Initial support
2021-08-25 00:38:00 +02:00
Benjamin Valentin
fc457459bf drivers/lm75: cleanup 2021-08-24 14:34:52 +02:00
Benjamin Valentin
75e2a65681 drivers/flashpage: add missing include 2021-08-24 14:30:23 +02:00
benpicco
be85777cd1
Merge pull request #16678 from viktorbatista/modules/lm75
drivers/lm75: driver for the lm75 sensor and derivatives
2021-08-20 18:04:12 +02:00
Vitor Batista
9267fa2670 drivers/lm75: driver for the lm75 sensor and derivatives 2021-08-20 17:09:40 +02:00
benpicco
71953c984c
Merge pull request #16534 from jia200x/pr/detach_radio_hal_descriptor
ieee802154/radio_hal: detach hal descriptor from driver
2021-08-18 18:15:51 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver 2021-08-18 15:24:10 +02:00
Jose Alamos
8c0c603146
drivers/at86rf215: remove msg queue dependency 2021-08-16 15:28:06 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
Marian Buschsieweke
7aab478678
drivers/soft_spi: update API to match periph_spi 2021-08-06 12:47:00 +02:00
Marian Buschsieweke
9e5f7b6797
drivers/periph_spi: make spi_acquire() return void
There is no way to properly handle incorrect SPI parameters at run time, so
just having an assertion blow up is the better choice here.

As most instances of `spi_acquire()` don't check the return value anyway, this
will improve debugging experience quite a bit. Some implementation of
spi_acquire() don't even check parameters anyway.
2021-08-06 12:46:57 +02:00
benpicco
feac187d54
Merge pull request #16506 from benpicco/drivers/dose-rx_start
drivers/dose: make use of start condition received interrupt
2021-07-28 17:21:29 +02:00
Benjamin Valentin
d48f673597 drivers/dose: make use of periph_uart_rx_start feature 2021-07-28 16:19:04 +02:00
Benjamin Valentin
0964a217b5 rtt_rtc: add rtc_settimeofday() & rtc_gettimeofday() 2021-07-27 22:12:25 +02:00
Benjamin Valentin
9194440ead drivers/periph/uart: add periph_uart_rx_start feature 2021-07-27 16:29:30 +02:00
benpicco
07b3e19d01
Merge pull request #16632 from maribu/periph/uart
periph/uart: Fix doc, use errno for return values
2021-07-21 00:12:24 +02:00
Jose Alamos
b299299ad3
drivers/sx126x: fix NETOPT_RX_SYMBOL_TIMEOUT 2021-07-14 14:11:15 +02:00
Jose Alamos
c6da77a454
Revert "drivers/sx127x: fix size of rx symbol timeout"
This reverts commit 26ead7b5be.
2021-07-13 21:14:28 +02:00
Marian Buschsieweke
e7cacf6f60
periph/uart: Fix doc, use errno for return values
Some terminology issues are fixed. (The speed of an UART interface is
the symbol rate. The unit it is measured in is baud, which is symbols
per second. There is no such thing as baudrate or even baud/s.)

The return codes are changed to use negative errno constants on error
to match the driver design rules. For backward compatibility, the
enum was updated to match the error codes. Unless an application
depends on the exact numerical value (which would be insane), this is
not breaking any code.
2021-07-09 17:06:01 +02:00
Akshai M
17ad0fc5a7 driver/sx126x : Add set_rf_mode interface 2021-07-09 11:16:41 +02:00
Akshai M
8870a885cb drivers/sx126x : Add stm32wl variant 2021-07-09 11:16:41 +02:00
Akshai M
8d43dbf67f drivers/sx126x : Update NETOPT_RX_xx
r/NETOPT_RX_TIMEOUT/NETOPT_RX_SYMBOL_TIMEOUT
Use sx126x_symbol_to_msec() to calculate the RX timeout in ms.
2021-07-08 12:19:36 +02:00
Akshai M
a3ed19e0ee drivers/sx126x.h : Add sx126x_symbol_to_msec() 2021-07-08 12:19:36 +02:00
Fabian Hüßler
c50149e488 drivers/ina3221: refactor 2021-07-07 08:40:02 +02:00
Francisco
ccfd3ee980
Merge pull request #16597 from jia200x/pr/sx126x_kconfig
sx126x: add support for multiple simultaneous variants
2021-07-06 13:19:15 +02:00
benpicco
8f9233f329
Merge pull request #16232 from maribu/drivers/cc110x
drivers/cc110x: add power off (sleep) functions
2021-07-06 12:24:26 +02:00
Francisco
daeac91aea
Merge pull request #16604 from jia200x/pr/lora/fix_rx_timeout_size
netdev/lora: fix size of NETOPT_RX_SYMBOL_TIMEOUT
2021-07-06 12:15:00 +02:00
Marian Buschsieweke
3d76875f38
drivers/cc110x: style fixes 2021-07-06 10:12:21 +02:00
Francisco Acosta
0efc13602f
drivers/cc110x: add power off (sleep) functions 2021-07-06 10:11:55 +02:00
Jose Alamos
2e5b7f9e31
sx126x: add support for multiple simultaneous variants 2021-07-05 16:02:15 +02:00
Jose Alamos
26ead7b5be
drivers/sx127x: fix size of rx symbol timeout 2021-07-01 11:58:34 +02:00
Kevin "Tristate Tom" Weiss
25c871ed9a
Merge pull request #16576 from jia200x/pr/netdev/migrate_dst_filter
ieee802154: migrate `netdev_ieee802154_dst_filter` to a common ieee802154
2021-06-29 10:50:08 +02:00
Jose Alamos
dfeb57b7f8
netdev_ieee802154: deprecate netdev_ieee802154_dst_filter 2021-06-23 16:44:07 +02:00