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

305 Commits

Author SHA1 Message Date
MrKevinWeiss
7893158b5a drivers/dev_enums: Remove unused dev_enums.h 2020-09-24 09:27:39 +02:00
chrysn
9295f69da4
Merge pull request #15062 from kaspar030/fix_efm32_16b_timer_set_absolute
cpu/efm32/periph/timer: fix timer_set_absolute() in 16bit case
2020-09-23 11:28:00 +02:00
chrysn
d8d56e5e3a periph/timer: Document that set_absolute is expected to wrap
Most timers are implemented this way already, and keeping (documenting)
it that way allows the generic timer_set implementation to stay as
simple as it is.
2020-09-23 10:59:18 +02:00
MrKevinWeiss
cc1c2ab811 drivers/periph: Remove unused timer enum from dev_enums 2020-09-22 16:26:01 +02:00
Benjamin Valentin
696ddf3dbb drivers/periph/timer: amend documentation for timer_set_periodic()
The function needs the `periph_timer_periodic` feature.
Add a `@note` about that to the documentation.
2020-09-13 19:06:28 +02:00
MrKevinWeiss
bdeb39576e drivers/periph: Remove UART from dev_enums.h 2020-09-09 10:25:38 +02:00
benpicco
6f271b7d3e
Merge pull request #14903 from benpicco/drivers/include/periph/rtc-fix
drivers/periph_common: RTC: fix doxygen
2020-09-01 15:15:55 +02:00
Benjamin Valentin
bd57640d5b drivers/periph_common: RTC: fix doxygen 2020-08-31 14:16:42 +02:00
Gunar Schorcht
147b79169c drivers/periph/gpio: add comparison functions
The expandable GPIO API requires the comparison of structured GPIO types. This means that inline functions must be used instead of direct comparisons. For the migration process, drivers and other modules must first be changed so that they use the inline comparison functions.
2020-08-31 13:10:28 +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
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
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
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
896fcd43b0 drivers/periph/spi: add periph_spi_reconfigure feature 2020-06-21 21:19:17 +02:00
Francisco Molina
8d329942df
drivers/periph/rtt: introduce RTT_MIN_OFFSET 2020-06-11 09:30:25 +02:00
Leandro Lanzieri
48759eccdc
drivers/wdt: Add feature to indicate a configurable warning period
This adds the feature `periph_wdt_warning_period` that indicates that a
platform WDT driver implementation supports a configurable
CONFIG_WDT_WARNING_PERIOD.
2020-06-02 12:54:25 +02:00
Benjamin Valentin
cd107be976 drivers/periph/timer: add timer_set_periodic() 2020-05-28 17:37:41 +02:00
Marian Buschsieweke
568404134a
drivers/periph/cpuid: Fix typo in doc 2020-05-14 16:53:05 +02:00
Francisco
cea0d1c532
Merge pull request #13421 from benpicco/cpu/sam0_common/i2c-deinit
drivers/periph/i2c: add periph_i2c_reconfigure feature & implementation for sam0
2020-05-05 19:09:47 +02:00
Benjamin Valentin
21958ff531 drivers/periph/i2c: add periph_i2c_reconfigure feature
It is often desireable to re-configure the pins of a bus back to GPIO mode,
either to save power when an external peripheral is turned off and current
would leak, or because a device may need a non-standard in-band signal to
be generated on the bus lines.

To serve those use cases, this patch introduces four new functions to the
I2C API:

 - `i2c_init_pins()`    equivalent to spi_init_pins(), restores I2C pin configuration

 - `i2c_deinit_pins()`  to switch the configuration of the I2C pins back to GPIO
                        mode and block access to the bus.

 - `i2c_pin_sda()`      to get the data pin for a given bus

 - `i2c_pin_scl()`      to get the clock pin for a given bus

Since it's unreasonable to expect having implementations for all platforms
already, those functions are only availiable when the periph_i2c_reconfigure
feature is availiable.

Applications should use FEATURES_REQUIRED += periph_i2c_reconfigure or
FEATURES_OPTIONAL if they want to make use of those functions.
2020-05-05 16:12:19 +02:00
Francisco Molina
0c0f8ec98f
drivers/periph/rtt.h: add RTT_FREQUENCY & RTT_MAX_VALUE doc 2020-04-23 22:11:16 +02:00
Francisco Molina
2604971753
drivers/periph/rtt.h: ensure RTT_MAX_VALUE is set 2020-04-23 19:07:18 +02:00
Leandro Lanzieri
00b71a2708
drivers/wdt: Move WDT_WARNING_PERIOD to 'CONFIG_' namespace 2020-03-31 13:39:37 +02:00
Benjamin Valentin
60cc3b8757 periph/rtt: Allow using MOCK_RTT defines from Unit Test 2020-03-19 15:25:14 +01:00
Benjamin Valentin
725311a054 periph_common/rtc: add rtc_tm_valid()
Add a function to verify all members of a struct tm are within
the valid range.
2020-03-03 16:26:14 +01:00
Benjamin Valentin
5b64ae4ef5 periph_common/rtc: add rtc_localtime()
Add function to convert a RTC timestamp (non-UNIX) to a time struct.
2020-03-03 11:01:02 +01:00
Benjamin Valentin
becff61e20 periph_common/rtc: add rtc_mktime()
Add a function to convert a time struct to an unsigned timestamp (non-UNIX).
2020-02-29 17:42:50 +01:00
Francisco
3e0043021b
Merge pull request #13110 from kaspar030/periph_rtt_docimp
periph/rtt: clarify rtt_set_alarm() documentation
2020-01-13 17:12:08 +01:00
4df2827fe1 periph/rtt: clarify rtt_set_alarm() documentation 2020-01-13 15:18:16 +01:00
Marian Buschsieweke
6e39b4d191
drivers/periph: adc_sample() now returns int32_t
Reasoning: This allow support for ADCs with resolution of more than 16 bits on
8 bit and 16 bit platforms.
2020-01-10 14:13:06 +01:00
c87748f563 periph: fix periph/gpio_util.h header guards 2019-11-23 22:39:40 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
abfa73193f
drivers/periph_pwm: define mapping struct for arduino pins 2019-11-15 17:51:45 +01:00
Benjamin Valentin
513a3a7d59 periph_common/rtc: add rtc_tm_compare()
Add an easy way to compare two points in time.
2019-11-05 12:52:45 +01:00
9eee6bc0a1
usbdev: Fix spelling mistakes 2019-10-23 10:36:49 +02:00
Hauke Petersen
7f419f4381 periph/uart: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
0cd8bb47c8 periph/timer: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
4914e6484a periph/spi: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
44c54c2ae0 periph/rtt: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
bf5ad17b9d periph/rtc: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
711af7cc27 periph/hwrng.h: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
3e9ee01103 periph/gpio: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
e71f0bb0c6 periph/flashpage: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
8ef4f0d134 periph/dac.h: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
348b337023 periph/cpuid: add doc on low power implications 2019-10-01 23:09:23 +02:00
Hauke Petersen
f361ebc0bd periph/adc: add doc on low power implications 2019-10-01 23:09:23 +02:00
Gunar Schorcht
02d81b717e
Merge pull request #12063 from maribu/i2c_release
drivers/periph/i2c: Updated i2c_release() to return void
2019-10-01 19:50:38 +02:00
benpicco
d5c272ed86
Merge pull request #12199 from smlng/fix_timer_returns
periph/timer: Fix return codes of timer API
2019-09-17 23:04:46 +02:00
aed12b4853
Merge pull request #11252 from fjmolinas/pr_wdg_stm32
cpu/stm32_common: add watchdog for stm32
2019-09-13 09:16:18 +02:00
Dylan Laduranty
513b767694
Merge pull request #11944 from benpicco/spi_doc-fix
drivers/include/periph/spi: fix documentation
2019-09-12 21:28:21 +02:00
Francisco Molina
cb876297a8 drivers/periph: include periph_cpu.h in wdt.h 2019-09-12 17:45:31 +02:00
Benjamin Valentin
fa9e9064cf periph_common/rtc: add rtc_tm_normalize() 2019-09-12 11:32:08 +02:00
Sebastian Meiling
ed5f085b30 periph/timer: always return 0 for success
Change documentation on return codes in periph/timer API to
return 0 on success and (-1) on error by default.
For timer_init this was already the case, but for timer_set,
timer_set_absolute, and timer_clear this is now changed
from 1 to 0 for success, while error remains (-1).
2019-09-11 13:31:13 +02:00
Marian Buschsieweke
5bba339a7c
drivers/periph/i2c: Fixed i2c_release() signature
i2c_release() should not have a return value, as:

- There is no reasonable error handling possible by the caller, so there is no
  value in indicating success/failure via the return value to the caller
- There is no legitimate reason to fail *unless* an invalid I2C bus was released
  or an I2C bus that was not previously acquired was released
    --> This would indicate a bug in the code and should be tackled by an
        assert()
2019-08-22 12:02:01 +02:00
fabian18
2c001f5a6c drivers/include/periph/eeprom: Changed uint8_t* to void* in API 2019-08-09 17:27:32 +02:00
cf2228e23e
drivers/periph_wdt: cleanup normal mode inline example
Remove a useless blankline
2019-08-05 21:48:10 +02:00
bd1eb6e285
drivers/periph_wdt: fix inline callback example
Function was renamed to wdt_setup_reboot_with_callback
2019-08-05 21:47:25 +02:00
e42307188c
drivers/spi: extend API with updatable gpio mode on pins 2019-08-05 16:46:41 +02:00
Benjamin Valentin
870f5a5a0b drivers/include/periph/spi: fix documentation
spi_transfer_reg() will *always* send out a byte, even if the byte is '0'.

fixes #11763
2019-07-31 13:27:47 +02:00
f8128844b7
Merge pull request #11527 from fjmolinas/pr_wdg_hdr
drivers/include: add header definition for wdt
2019-07-16 14:25:40 +02:00
fjmolinas
541f9ddd20 drivers/include: add header definition for wdt 2019-07-16 13:53:28 +02:00
20b94e9c56
usbdev: fix usbopt argument for getter/setter wrappers 2019-06-05 12:06:10 +02:00
Federico Pellegrin
1779abafb5 periph/i2c: make sure i2c registers is big-endian on all archs 2019-05-29 05:15:23 +02:00
Philipp Blum
9f2ef5e367 drivers/periph_common/gpio_util: introduce gpio_util_shiftin() 2019-04-18 07:09:32 +02:00
Vincent Dupont
74ddf56171 tests/conn_can: build stm32 CAN drivers
Build can_stm32 module on boards which have a stm32 CAN controller.
2019-04-03 11:12:46 +02:00
Vincent Dupont
ae95137f95 can stm32: add a driver for STM32 bxCAN peripheral
This driver is compliant with the candev interface. It has been tested
with STM32F0 and STM32F2 and STM32F413 ONLY at this time but should be
compliant with other STM32Fx devices
2019-03-29 12:03:43 +01:00
Dylan Laduranty
ccf12c57a8
Merge pull request #10884 from fedepell/sam_rwee_support
sam0 flashpage RWWEE flash support
2019-03-28 11:00:25 +01:00
c697a3bfd8
usbdev: extend events with suspend/resume 2019-03-25 21:03:21 +01:00
Federico Pellegrin
5faafac092 sam0 flashpage RWWEE flash support 2019-03-21 04:27:41 +01:00
4d352fc93f
usbdev: Extend with low level initialization functions 2019-03-20 09:12:24 +01:00
9af6c69a93
usbdev: Introduce a common API for USB peripherals
This commit adds usbdev, a common API to interface USB peripheral
devices. The API is split into two parts, one for the USB device itself
and one for the USB endpoint.
2019-03-14 21:44:56 +01:00
Yegor Yefremov
b8ff48cce4 periph/uart: improve documentation
Change description to reflect the configurability of the serial
interface.

Also, fix the uart_mode parameter description as the UART will be
configured and not initialized.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-02-11 09:35:23 +01:00
Yegor Yefremov
ddf19783d7 periph/uart: add support for enhanced serial settings
As suggested in PR#5899 add a routine uart_mode() that will
setup data bits, stop bits and parity at runtime.

uart.h provides a set of enums defining these settings and each
platform will override them to specify values corresponding to
its configuration registers.

The idea behind the enums is to specify default settings i.e. 8N1
through the 0 value item. Invoking uart_mode(uart, 0, 0, 0) will
setup 8N1 mode.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-01-31 14:15:11 +01:00
MrKevinWeiss
0ad94e1b4b drivers/include/i2c: Fix API documentation
The write_reg/s states a repeated start write is used but that is not how the i2c is implemeneted.
Most devices also only use a continuous write so the API should be changed to match implementation and the majority of sensors.
2018-12-10 09:56:40 +01:00
Hauke Petersen
39f0e4d5d3 periph/uart: fix line length in doc header 2018-12-06 10:08:56 +01:00
1008ab4fdf drivers/periph_eeprom: add eeprom_set function 2018-12-04 11:24:57 +01:00
50f19d1d1f drivers/periph_eeprom: add clear and erase functions 2018-12-04 11:24:57 +01:00
Joakim Nohlgård
a867aeaba2 periph/i2c: Add precondition on i2c_acquire for i2c bus access 2018-11-28 08:43:01 +01:00
e9a6ebc409 cpu: drivers/eeprom: refactor periph_eeprom implementation 2018-10-16 10:39:10 +02:00
Martine Lenders
0598d5bcf1 periph_gpio: comment IRQ #endif correctly 2018-10-09 15:11:45 +02:00
Martine Lenders
a95957e513
Merge pull request #9992 from haukepetersen/fix_periph_gpiofeaturesscope
periph/gpio: fix scope of GPIO_IRQ submodule
2018-10-09 15:10:39 +02:00
Hauke Petersen
bd66184eb2 periph/gpio: re-add irq functions to doxygen 2018-09-21 08:31:09 +02:00
Hauke Petersen
abc11c8e23 periph/gpio: fix scope of GPIO_IRQ submodule
Move the gpio_irq_enable() and gpio_irq_disable() functions
into the scope of the PERIPH_GPIO_IRQ submodule.
2018-09-21 08:30:29 +02:00
smlng
a9e848f648 periph/rtt: add missing std header
The periph/rtt.h uses `uintX_t` typedefs but misses the required
standard header file, namely `stdint.h`, which is added here.
2018-09-07 14:54:23 +02:00
Joakim Nohlgård
ace717ee27 drivers: Add dep on periph_gpio_irq in drivers using GPIO IRQ 2018-08-29 08:53:20 +02:00
Francisco Acosta
71d3c14354 drivers/periph_common/eeprom: remove the now unnecessary cpu.h include 2018-08-15 15:27:03 +02:00
smlng
2db2ce2dc7 doc: rename sections in i2c.h 2018-07-25 12:01:40 +02:00
dylad
ef8ed2620c periph_common/i2c: introduce new ret codes scheme 2018-07-25 12:01:34 +02:00
Joakim Nohlgård
872251d011 periph/i2c: Add 10 bit addressing magic number definition 2018-07-25 12:01:34 +02:00
Joakim Nohlgård
f2a2427fcd periph/i2c: Editorial changes to i2c.h 2018-07-25 12:01:34 +02:00
01509b294f drivers/periph_i2c: i2c_init should return void 2018-07-25 12:01:34 +02:00
Joakim Nohlgård
1dfc5f8f52 periph/i2c: Editorial doc changes 2018-07-25 12:01:34 +02:00
6f25886d77 drivers/periph/i2c: fixes issues in API
- non matching doxygen input parameter to i2c_write_reg
- non/matching missing function parameter
- invalid return type to i2c_release
2018-07-25 12:01:34 +02:00
dylad
e11a37df03 drivers/i2c: modify I2C API
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2018-07-25 12:01:34 +02:00
Hauke Petersen
45ab3ea89d drivers/periph: introduced new I2C interface 2018-07-25 12:01:34 +02:00
Vincent Dupont
071614bf04
Merge pull request #8543 from OTAkeys/pr/rtt_clean_up
periph_rtt: remove RTT_NUMOF guard and init from periph_common
2018-07-10 15:00:53 +02:00
9fa58af73b drivers/periph: add API for internal MCU EEPROM 2018-05-24 14:07:55 +02:00