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

1365 Commits

Author SHA1 Message Date
e27a0be577
Merge pull request #13328 from bergzand/pr/docs/display_group
drivers: Add display device doxygen group
2020-02-10 20:19:16 +01:00
Benjamin Valentin
11d77271cf drivers/ws281x: introduce WS281X_HAVE_INIT
This brings the backend-dependant init() function in line with
`WS281X_HAVE_PREPARE_TRANSMISSION` and `WS281X_HAVE_END_TRANSMISSION`.
2020-02-10 14:45:26 +01:00
6b2478953c
pcd8544: move to display devices doxygen group 2020-02-10 14:11:17 +01:00
7ade31ad5b
ili9341: move to display devices doxygen group 2020-02-10 14:11:05 +01:00
d070f2924d
hd44780: move to display devices doxygen group 2020-02-10 14:10:46 +01:00
965a0f9c9a
dsp0401: move to display devices doxygen group 2020-02-10 14:10:18 +01:00
e573d8b57f
drivers/ili9341: cleanup doxygen documentation 2020-02-10 11:46:01 +01:00
e126599928
drivers/ili9341: use const qualifier where possible 2020-02-02 18:55:46 +01:00
Sebastian Meiling
a4c4c25b3b
Merge pull request #12866 from jia200x/pr/gnrc_lorawan_remove_netdev
net/gnrc_lorawan: remove netdev layer from MAC
2020-01-30 14:02:59 +01:00
Marian Buschsieweke
fdc87ae30d
drivers/cc110x: Fixed typo in doc 2020-01-23 18:27:04 +01:00
cab8729e32 drivers/ili9341: add number of lines parameter 2020-01-15 15:36:21 +01:00
cfbab79398
Merge pull request #13105 from bergzand/pr/ili9341_add_config
ili9341: Add color mode and inversion parameters
2020-01-13 21:07:25 +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
146137ef72
ili9341: Add color mode and inversion parameters 2020-01-13 17:09:02 +01:00
Leandro Lanzieri
434309a9e2
Merge pull request #13106 from MrKevinWeiss/pr/fix/mpudoc
drivers/mpu9x50: Fix prameter placement for docs
2020-01-13 15:51:00 +01:00
4df2827fe1 periph/rtt: clarify rtt_set_alarm() documentation 2020-01-13 15:18:16 +01:00
Francisco
1977423e9b
Merge pull request #13048 from maribu/adc-int32_t
periph/adc: Change return type of `adc_sample()` to `int32_t`
2020-01-13 12:56:09 +01:00
MrKevinWeiss
e19091541f drivers/mpu9x50: Fix prameter placement for docs
When generating the doxygen output the temp sens and offset are in the config group.
Since they are internal parameters not to be accessed by users they are placed in the mpu9x650_internal.h file.
2020-01-13 12:50:13 +01:00
benpicco
1c148ba2f2
Merge pull request #10092 from gschorcht/drivers_itg320x
drivers: add driver for InvenSense ITG-320X 3-axis gyroscope
2020-01-11 17:37:48 +01:00
Schorcht
71772cc3b3 drivers: add driver for ITG320X 3-axis gyroscope 2020-01-11 08:02:34 +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
Marian Buschsieweke
e03615fd38
drivers/dht: Worked around doxygen bug
Markdown in @retval values is currently broken in Doxygen. This removes use
of markdown there
2020-01-09 17:08:05 +01:00
benpicco
87f86c4c08
Merge pull request #12924 from daexel/shtc1_bugfix
drivers/shtc1: Initial support for the SHTC1 temperature and humidity sensor
2019-12-16 18:21:48 +01:00
steffen
fa05cf0c5d Driver/shtc1: add saul integration
- add saul integration
- uncrustified
- SAUL/DRIVER tests
2019-12-16 15:29:04 +01:00
Jue
bc46c7478f drivers: add Differentially Operated Serial Ethernet driver 2019-12-16 10:43:13 +01:00
35737a24e4
drivers/ili9341: add spi mode configuration option 2019-12-11 16:18:40 +01:00
ef4dcb8eec
ili9341: Initial include
This commit adds support for the ili9341 display
2019-12-11 16:18:37 +01:00
Jose Alamos
99dbcecc3a net/gnrc_lorawan: remove netdev SAP interface 2019-12-03 14:08:35 +01:00
Yegor Yefremov
87d8f29af2 drivers/ws281x: improve documentation
Replace 'to' with 'too' and remove the space between '8 MHz'.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-29 11:24:29 +01:00
Jannes
0acf55af53 drivers/ncv7356: Add documentation 2019-11-27 13:35:57 +01:00
MichelRottleuthner
bf676d4728
Merge pull request #11022 from jia200x/pr/gnrc_lorawan
gnrc_lorawan: add support for GNRC based LoRaWAN stack
2019-11-27 09:25:20 +01:00
Jose Alamos
523d1af490 netdev: add netdev types for GNRC_LORAWAN 2019-11-26 21:52:05 +01:00
Marian Buschsieweke
2d81738cb9
drivers/pulse_counter: Use C11 atomics & bugfix
- Previously the pulse counter used GCC's built-in functions for atomic memory
  access. This PR changes this to use C11 atomics instead:
    - Use of C11 atomics instead of atomic build-in functions makes the code
      more portable and readable.
- Previously pulse_counter_reset() did not use an atomic function, so that
  resets would be racy. (E.g. on the 8-bit AVR platform an 16-bit store is
  not atomic, unless special care (like using C11 atomics) is taken.)
2019-11-26 14:04:42 +01:00
benpicco
ffe208a3a4
Merge pull request #11394 from maribu/saul_stringification
drivers/saul: Improved stringification
2019-11-26 13:53:59 +01:00
benpicco
af0c6e9319
Merge pull request #12772 from daexel/bme280_bugfix
drivers/bmx280: add temp_measurement to methods
2019-11-25 18:26:50 +01:00
benpicco
a21fe4ae87
Merge pull request #12259 from daexel/dcf77
drivers/dcf77:Inital Support DCF77
2019-11-25 16:20:51 +01:00
Michel Gerlach
973d9fd54b driver/bme280: add dependencies on temperature for pressure and humidity 2019-11-25 13:13:24 +01:00
Marian Buschsieweke
3264106a2f
Merge pull request #12704 from benpicco/AT86RFR2_smart_idle
drivers/at86rf2xx: enable Smart Reduced Power Consumption for AT86RFR2
2019-11-25 11:57:44 +01:00
Marian Buschsieweke
837e9c1ddc
drivers/saul: Improved stringification
- Changed declaration of SAUL classes (while keeping the format)
    - Termed "class of SAUL classes" category of SAUL classes in the doc to
      avoid confusion. (E.g. a SAUL class will now be in category sensor or
      actuator.)
    - Separate enums for SAUL category and intra-category ID. Numbers will now
      but auto-assigned by the compiler
- Use constant look-up tables for stringification (one table per SAUL category).
  ==> This saves 512B in .data section of AVR
2019-11-25 10:09:11 +01:00
benpicco
ce1f383f90
Merge pull request #12606 from maribu/at86rf2xx-addr-endianess
drivers/at86rf2xx: Updated address API
2019-11-24 16:33:16 +01:00
c87748f563 periph: fix periph/gpio_util.h header guards 2019-11-23 22:39:40 +01:00
eeca0e3752 drivers/include: fix typos 2019-11-23 22:39:40 +01:00
5ebe48ce42 drivers/sht3x: fix typos 2019-11-23 22:39:39 +01:00
1d2dd2efdd drivers/sdcard_spi: fix typos 2019-11-23 22:39:39 +01:00
a90a192648 drivers/pca9685: fix typos 2019-11-23 22:39:39 +01:00
541596c893 drivers/nrf24l01p: fix typos 2019-11-23 22:39:39 +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
Marian Buschsieweke
f0317c50f2
drivers/at86rf2xx: Updated address API
Changed the address getter and setter functions to avoid byte order
confusion.
2019-11-23 19:40:09 +01:00
Marian Buschsieweke
16ee7aed32
Merge pull request #11350 from maribu/ina2xx
drivers/ina220: Changed to comply with RIOT's driver design goals & SAUL adaption
2019-11-22 23:36:50 +01:00
benpicco
09f647eee2
Merge pull request #12693 from maribu/neopixel-atmega
drivers: Added WS281x RGB LED driver for ATmega platform
2019-11-22 22:36:36 +01:00
Marian Buschsieweke
3ebbec84c7
drivers/saul: Fixed documentation
There is no need to distinguish between sensors for electrical power or other
types of power.
2019-11-22 20:29:53 +01:00
Marian Buschsieweke
a6476bd813
drivers/ina2xx: Match RIOT's driver design goals
- Use standard RIOT style `ina2xx_params_t` on initialization as explained in
  [1] instead of a custom API
- Provided a default configuration via `ina2xx_params_t` as required by [1] that
  works fine for the INA219 breakout board and with an optimal resolution that
  still covers the whole range of USB high-power devices (500 mA @ 5V) with a
  comfortable safe margin.
- Changed initialization procedure to include a device reset and connectivity
  test, as required by [1]
- The calibration value is now calculated by the driver
    - This simplifies using the driver a lot
    - The user can still choose a trade-off between range and resolution that
      matches the application requirements, but now among predefined values
    - This allows the driver to easily convert the raw data into meaningful
      physical data, as the resolution of the raw data is known
- All measurements are provided as meaningful physical data as required by [1]

[1]: https://github.com/RIOT-OS/RIOT/wiki/Guide:-Writing-a-device-driver-in-RIOT
2019-11-22 20:28:57 +01:00
Marian Buschsieweke
f424421f79
drivers: Renamed ina220 --> ina2xx
The INA219 has the exact same interface as the INA220 (including values and
semantics of the configuration register). Thus, this driver can be used for
both. The ina220 has been renamed to ina2xx to reflect this and pseudo modules
for the ina220 and ina219 have been added.
2019-11-22 19:53:51 +01:00
Hauke Petersen
9f5f6f4215 drivers/bmx280: improved documentation 2019-11-22 14:04:38 +01:00
Hauke Petersen
b7f33bd84f drivers/bmx280: significant driver rework
bugs fixed:
- move global variables into device descriptor
- guard bus access (use acquire and release)

added functionality:
- enable SPI mode

structural improvements:
- reduce stack usage
- simplify the driver's structure
- centralize bus access code
- use assertions
- cleanup includes
- use shortcuts for bus access

style changes:
- fix line length
- cleanup and improve doxygen
- unify pointer notation (char *var over char* var)
- unify (error) return messages
- use `#ifdef MODULE_BME280` instead of `#if defined(BME..)`
- unify debug messages -> using `[bmx28] x: msg` scheme
2019-11-22 14:04:37 +01:00
Michel Gerlach
2a14b6ceb8 Drivers/DCF77:First implementation 2019-11-22 10:27:01 +01:00
Gunar Schorcht
a05027cdba
Merge pull request #12523 from aabadie/pr/sys/arduino_pwm
sys/arduino: add implementation for analogWrite
2019-11-21 15:08:10 +01:00
benpicco
8836f225e6
Merge pull request #12586 from aabadie/pr/drivers/tmp00x_scan_build
drivers/tmp00x: cleanup return codes and fix potential use of uninitialized parameter
2019-11-20 20:10:17 +01:00
Marian Buschsieweke
1ed1906023
drivers/ws281x: Added driver for RGB LEDs
Added driver for the WS2812/SK6812 RGB LEDs often sold as NeoPixels, which due
to their integrated RGB controller can be chained to arbitrary length and
controlled with a single GPIO.
2019-11-18 22:45:24 +01:00
abfa73193f
drivers/periph_pwm: define mapping struct for arduino pins 2019-11-15 17:51:45 +01:00
Benjamin Valentin
528cb27395 drivers/at86rf2xx: enable Smart Reduced Power Consumption for AT86RFR2
"Smart Reduced Power Consumption Techniques" [0] are supported by AT86RF233,
ATmega2564/1284/644RFR2 and ATmega256/128/64RFR2 devices.

Functionality is the same as on AT86RF233, so we can just enable it.

[0] http://ww1.microchip.com/downloads/en/Appnotes/Atmel-42356-Smart-Reduced-Power-Consumption-Techniques_ApplicationNote_AT02594.pdf
2019-11-13 23:35:40 +01:00
Hauke Petersen
ca7578073a drivers: add support for QMC5883L mag sensors 2019-11-13 12:56:26 +01:00
Marian Buschsieweke
107b50ca04
drivers/net/netdev: Use consistent code formatting 2019-11-11 13:03:50 +01:00
c062d74b84
drivers/tmp00x: cleanup return codes
This also fixes a scan-build warning about a potential use of uninitialized parameter to the call of tmp0xx_read function
2019-11-08 22:17:44 +01:00
6c56972dba
drivers/include/hd44780: avoid use of magic numbers 2019-11-06 16:25:27 +01:00
Marian Buschsieweke
4d279ae76e
Merge pull request #12055 from fabian18/driver-ina3221
Driver for INA3221 current and power and bus voltage monitor
2019-11-05 14:45:03 +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
fabian18
7e8cce875a drivers/ina3221: Added SAUL integration 2019-11-05 12:37:41 +01:00
fabian18
195379a9b8 drivers/ina3221: INA3221 driver implementation 2019-11-05 12:29:42 +01:00
8e70cfb2e4
driver/hd44780: cleanup param definition and HD44780_RW_OFF
There's already a macro for undefined gpios: GPIO_UNDEF
2019-10-29 10:58:26 +01:00
Benjamin Valentin
8f1eaae353 drivers/at86rf2xx: add support for ATmegaRF MCUs
The ATmega128RFA1 and ATmega256RFR2 contain a version of this IP
on the MCU.

The radio core behaves mostly like a at86rf231, but all registers
are mapped to memory and radio states can directly generate interrupts
on the CPU.

The ATmega256RFR2 adds support for automatic retransmissions.
This has not been implemented yet.

Co-authored-by: Josua Arndt <jarndt@ias.rwth-aachen.de>
2019-10-26 23:10:18 +02:00
9eee6bc0a1
usbdev: Fix spelling mistakes 2019-10-23 10:36:49 +02:00
5db4310b45
Merge pull request #12481 from aabadie/pr/driver/rn2xx3_fix_sleep
drivers/rn2xx3: fix sleep function
2019-10-20 08:00:40 +02:00
Jannes
fdd34499ac drivers/mpu9x50: Correct read_temperature
Change msbiot Makefile.dep back to mpu9150
2019-10-17 14:04:43 +02:00
Jannes
2df5d6048d driver/mpu9x50: Rename mpu9150 to mpu9x50
Rename all files

Rename all variables, methods and methodcalls

Rename all folders

Add to the makefiles

Add to doc
2019-10-17 12:52:18 +02:00
76267bdfea
drivers/rn2xx3: cleanup sleep function 2019-10-17 10:02:11 +02:00
Kevin "Tristate Tom" Weiss
e20ffd7f7c
Merge pull request #11738 from OTAkeys/feat/add_cme_cms_error
driver/at: add return code for CME/CMS errors
2019-10-15 12:55:40 +02:00
Leandro Lanzieri
0e0b6f8231
Merge pull request #12221 from benpicco/mrf24j40-init_check
drivers/mrf24j40: allow for basic self-test on init
2019-10-14 15:36:52 +02:00
Benjamin Valentin
38b35c513c drivers/mrf24j40: allow for basic self-test on init
During production it is often desirable for devices to perform
some kind of basic self-test to isolate defects.

For this it is necessary for the initialization not to hang if a
component is faulty / not connected.

This moves an already exising self-test that was previously enabled
as a debug option to an independent compile-time configurable.

It is necessary to call this in _init() before mrf24j40_hardware_reset()
as the reset function uses xtimer_usleep() which will cause another
thread to get scheduled.
If this thread (e.g. rpl or ipv6) then tries to access the netdev, RIOT
will crash.
2019-10-14 14:50:06 +02:00
benpicco
0778774656
Merge pull request #12260 from JannesVolkens/opt3001
drivers/opt3001: Initial support for the Opt3001 sensor
2019-10-02 12:11:47 +02:00
benpicco
69d274d87b
Merge pull request #12290 from benpicco/opt_driver_lis2dh12i2c
drivers/lis2dh12: add I2C mode
2019-10-02 12:06:40 +02:00
Hauke Petersen
8a69e4ac69 drivers/lis2dh12: added I2C mode 2019-10-02 11:16:39 +02:00
Jannes
33a98100a9 drivers/opt3001: Initial support 2019-10-02 10:06:28 +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
benpicco
6c95081e42
Merge pull request #10556 from gschorcht/drivers_pca9685
drivers: support for NXP PCA9685 I2C 16-channel, 12-bit PWM controller
2019-09-15 19:20:29 +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
Schorcht
f93f9b7790 drivers: support for PCA9685 PWMs 2019-09-12 19:11:52 +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
Francisco Acosta
092f8e8d46
Merge pull request #8774 from OTAkeys/pr/flashpage_mtd
drivers: add mtd wrapper for periph_flashpage
2019-09-11 16:59:15 +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
Vincent Dupont
7c8a3eae71 drivers/mtd: improve mtd API doc 2019-09-10 13:26:05 +02:00
Vincent Dupont
f3d2f53287 drivers: add mtd_flashpage driver
This is a MTD wrapper for flashpage internal flash
2019-09-10 13:26:05 +02:00
Marian Buschsieweke
bb739907a2
drivers/cc110x: Allow setting the default channel
This (re-)introduces the `CC110X_DEFAULT_CHANNEL` preprocessor macro to set the
default channel of the `cc110x` at compile time. The same macro has been used
in the previous version of the driver, so some users might still expect it to
work.
2019-09-10 10:04:51 +02:00
Leandro Lanzieri
563a053bc1
Merge pull request #10983 from skullbox305/driver_ph_oem
drivers/ph_oem: support for Atlas Scientific pH OEM sensor
2019-09-09 10:18:49 +02:00
Igor Knippenberg
61d0970939 drivers/saul: Added pH
- added device class SAUL_SENSE_PH in saul.h
- added stringification SAUL_SENSE_PH in saul_str.c
2019-09-05 12:47:10 +02:00
Igor Knippenberg
ead03d4a08 drivers/ph_oem: Initial implementation of the pH OEM sensor
The Atlas Scientific pH OEM sensor is a small circuit to be embedded in
end products to measure the pH value with any commercially available pH
electrode
2019-09-05 12:47:10 +02:00
Marian Buschsieweke
3da3280930
driver/cc110x: Fixed indent/alignment in doc
The Doxygen documentation blocks have not been correctly aligned. This commit
fixes this.
2019-09-04 13:15:15 +02:00
Rotzbua
5a8bac399c
drivers/ccs811: sys/hashes: fix typo usefull -> useful 2019-08-25 21:27:55 +02:00
Kevin "Tristate Tom" Weiss
1b1c902dd3
Merge pull request #12022 from JannesVolkens/tmp00x
driver/tmp00x: make tmp006 more generic
2019-08-23 13:26:09 +02:00
Jannes
90c4ef04ef driver/tmp00x: Change tmp006 to tmp00x and add tmp007
Rename TMP006 to TMP00x
Add TMP007 sensor support to TMP00X
Change uint8_t reg to uint16_t
Add to doxygen documentation group
Expose compile time configurations
Move defines from .c to .h
Change double to float, because double is not needed
Add TMP007 register information
2019-08-23 12:11:16 +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
Vincent Dupont
42c5c40da9 ncv7356: add driver for ncv7356 SW CAN transceiver 2019-08-21 11:05:51 +02:00
Marian Buschsieweke
972367432a
drivers/cc110x: Rewrite of the cc110x driver
The cc110x driver has been re-written from scratch to overcome the limitations
of the old driver. The main motivation of the rewrite was to achieve better
maintainability by a detailed documentation, reduce the complexity and the
overhead of the SPI communication with the device, and to allow to
simultaneously use transceivers with different configuration regarding the used
base band, the channel bandwidth, the modulation rate, and the channel map.

Features of this driver include:

- Support for the CC1100, CC1101, and the CC1100e sub-gigahertz transceivers.
- Detailed documentation of every aspect of this driver.
- An easy to use configuration API that allows setting the transceiver
  configuration (modulation rate, channel bandwidth, base frequency) and the
  channel map.
- Fast channel hopping by pre-calibration of the channels during device
  configuration (so that no calibration is needed during hopping).
- Simplified SPI communication: Only during start-up the MCU has to wait
  for the transceiver to be ready (for the power regulators and the crystal
  to stabilize). The old driver did this for every SPI transfer, which
  resulted in complex communication code. This driver will wait on start up
  for the transceiver to power up and then use RIOT's SPI API like every other
  driver. (Not only the data sheet states that this is fine, it also proved to
  be reliable in practise.)
- Greatly reduced latency: The RTT on the old driver (@150 kbps data rate) was
  about 16ms, the new driver (@250 kbps data rate) has as RTT of ~3ms
  (depending on SPI clock and on CPU performance) (measured with ping6).
- Increased reliability: The preamble size and the sync word size have been
  doubled compared to the old driver (preamble: 8 bytes instead of 4,
  sync word: 4 byte instead of 2). The new values are the once recommended by
  the data sheet for reliable communication.
- Basic diagnostic during driver initialization to detect common issues as
  SPI communication issues and GDO pin configuration/wiring issues.
- TX power configuration with netdev_driver_t::set() API-integration
- Calls to netdev_driver_t::send() block until the transmission has completed
  to ease the use of the API (implemented without busy waiting, so that the
  MCU can enter lower power states or other threads can be executed).
2019-08-20 16:32:11 +02:00
Marian Buschsieweke
615e25f319
drivers: Removed driver for CC110x transceivers
- Removed cc110x driver
- Updated all makefiles
- Kept both board specific configurations and support for it in RIOT's
  upper layers, so re-implementations don't need to start from zero
2019-08-19 12:56:47 +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
Marian Buschsieweke
579a67be03
drivers/dht: Move hold logic from SAUL to driver
The DHT11/DHT21/DHT22 cannot be sampled more than once a second. Previously,
a global cache was added to the SAUL adaption of the dht driver to answer with
stored values for one second after the last read. This however had two
disadvantages:

- The global cache was shared for all DHTXX devices connected. As a result
  incorrect values were delivered when reading out multiple sensors over SAUL
  with less than 1 second delay in between
- A user of the low level API will had to implement the same caching strategy,
  resulting in code duplication

By moving the hold logic to the driver, both limitations can be overcome.
2019-07-29 10:39:50 +02:00
Marian Buschsieweke
c75bacceba
drivers/dht: Added error handling
Previously the DHT11/DHT21/DHT22 driver ended up in an infinite loop locking up
RIOT when a communication error occurred. This commit adds a simple timeout to
the communication in order to prevent these lock ups.
2019-07-19 15:57:49 +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
Leandro Lanzieri
cb57c6ff1a
Merge pull request #11798 from jia200x/pr/remove_sx127x_multi
sx127x: remove MULTIDIO and fix missing interrupt handling
2019-07-05 11:33:42 +02:00
Robin
4729bea46e
stm32_eth: Multiple Improvements of the original codebase
stm32eth: Move to stm32_common periph
cpu/stm32_periph_eth: Rebase to current master branch

- Update DMA to use new vendor headers
- Update send to use iolist. It looks like the packet headers are now transfered as seperate iolist entries which results in the eth periph sending each header as own packet. To fix this a rather ugly workaround is used where the whole iolist content is first copied to a static buffer. This will be fixed soon in another commit
- If MAC is set to zero use luid to generate one
- Small code style fixes

cpu/stm312f7: Add periph config for on-board ethernet
boards/nucleo-f767zi: Add config for on board ethernet
tests/stm32_eth_lwip: Remove board restriction
boards/common/nucleo: Add luid module if stm32 ethernet is used
tests/stm32_eth_gnrc: Add Testcase for gnrc using the stm32 eth periph
stm32_eth: Rework netdev driver layour
tests/stm32_eth_*: Use netdev driver header file for prototypes
stm32_eth: Add auto init for stm32 eth netdev driver
boards/stm32: Enable ethernet conf for nucleo boards
stm32_eth_auto_init: Add dont be pendantic flag
stm32_eth: Remove dma specific stuff from periph_cpu.h

Looks like this was implemented in PR #9171 and 021697ae94 with the same interface.

stm32_eth: Remove eth feature from stm32f4discovery boards
stm32_eth: Migrate to stm32 DMA API
stm32_eth: Add iolist to module deps
stm32_eth: Rework send function to use iolist
stm32_eth: Fix ci build warnings
stm32_eth: Fix bug introduced with iolist usage
stm32_eth: Remove redundant static buffer
stm32_eth: Fix feature dependencies
stm32_eth: Fix wrong header guard name
stm32_eth: Implement correct l2 netstats interface
stm32_eth: Rename public functions to stm32_eth_*
stm32_eth: Fix doccheck
stm32_eth: Move register DEFINE to appropriate header file
stm32_eth: remove untested configuration for f446ze boards
stm32_eth: Move periph configuration struct to stm32_common
stm32_eth: Fix naming of eth_phy_read and eth_phy_write
stm32_eth: Remove obsolete test applications
2019-07-04 15:27:26 +02:00
Victor Arino
e206087d65
stm32_eth: Initial implementation by Victor Arino
drivers/eth-phy: add generic Ethernet PHY iface
cpu/stm32f4: implement eth driver peripheral

This implements the ethernet (MAC) peripheral of the stm32f4 as a
netdev driver.
boards/stm32f4discovery: add eth configuration
boards/stm32f4discovery: add feature stm32_eth
tests/stm32_eth_lwip: add test application
2019-07-04 15:04:01 +02:00
Jose Alamos
d94d587e5e sx127x: remove DIOMULTI 2019-07-04 14:23:48 +02:00
Toon Stegen
331c0db5cf driver/at: add return code for CME/CMS errors
in case of CME or CMS errors, the error codes or human readable strings
are in the response buffer. We want to indicate to the AT driver user
that when tihs case occurrs so he can extract the error codes.
2019-06-25 09:59:27 +02:00
f52d5ebde7
drivers: sys: replace USE_ETHOS_FOR_STDIO macro by MODULE_STDIO_ETHOS 2019-06-23 22:16:03 +02:00
Martine Lenders
abf4d60286
Merge pull request #11718 from jia200x/pr/netdev_ieee802154_pib
netdev_ieee802154: add txpower and page
2019-06-19 18:24:13 +02:00
Jose Alamos
302fa1467f netdev_ieee802154: add txpower to descriptor 2019-06-18 13:51:31 +02:00
Jose Alamos
c33d5f744b netdev_ieee802154: add channel page to descriptor 2019-06-18 13:51:31 +02:00
Martine Lenders
f3ab285362 slipdev: make rxmem buffer uint8_t
`tsrb` changed to that type, so there is no reason for us, to keep the
internally used buffer as a `char` (especially since the rest of the
driver already uses `uint8_t`)
2019-06-05 21:24:38 +02:00
20b94e9c56
usbdev: fix usbopt argument for getter/setter wrappers 2019-06-05 12:06:10 +02:00
Kevin "Bear Puncher" Weiss
4922321f1f
Merge pull request #11585 from fedepell/i2c_reg_endianess_2
periph/i2c: handle i2c register write/read helper function correctly in big endian
2019-05-29 11:54:24 +02:00
Kevin "Bear Puncher" Weiss
772dcd189b
Merge pull request #11532 from leandrolanzieri/pr/drivers/at_rcv-functions
drivers/at: Add 'at_recv_bytes_until_string' function
2019-05-29 09:55:33 +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
Carton
886a29311e drivers/mrf24j40 : support of NETOPT_LAST_ED_LEVEL 2019-05-23 15:45:03 +02:00
Benjamin Valentin
477938e46e drivers/mrf24j40: add external PA/LNA control on MC/MD/ME devices
The MRF24J40MC/MD/ME modules contain an external power amplifier &
low noise amplifier that has to be enabled manually by setting three bits
in the TESTMODE register.
On MRF24J40MC the power amplifier is powered by a separate voltage regualtor
that has to be enabled by setting GPIO3 to HIGH.

During Sleep and CCA the PA should be disabled.

Co-authored-by: Carton <joel.carron@eeproperty.ch>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2019-05-23 11:07:04 +02:00
a7f8182249
drivers: sys: add SAUL support for ds75lx sensor 2019-05-22 16:54:20 +02:00
35a3c4ddfe
drivers/ds75lx: add basic driver 2019-05-22 16:54:19 +02:00
Leandro Lanzieri
b5171f4d48 tests/driver_at: Add receive until string test 2019-05-16 14:45:53 +02:00
Leandro Lanzieri
5b04fb1713 drivers/at: Add function to receive until string 2019-05-16 14:45:53 +02:00
MichelRottleuthner
c754f3c4c7
Merge pull request #11451 from fhessel/pcd8544
drivers/pcd8544: Use uint8_t instead of char for byte represenatation
2019-04-30 21:47:50 +02:00
Frank Hessel
70ac451a2b
drivers/sdcard_spi: Use uint8_t for byte values 2019-04-29 19:25:34 +02:00
Frank Hessel
827868a7a0
drivers/pcd8544: replace char by uint8_t for bytes 2019-04-25 23:42:30 +02:00
Philipp Blum
9f2ef5e367 drivers/periph_common/gpio_util: introduce gpio_util_shiftin() 2019-04-18 07:09:32 +02:00
c1547efb3a
Merge pull request #11316 from fjmolinas/pr_sx127x_switch
drivers/sx127x: add support for rx and tx switch pin
2019-04-10 18:40:37 +02:00
francisco
c62d9feff7 drivers/sx127x: add support for rx and tx switch pin 2019-04-10 08:18:01 +02:00
Sebastian Meiling
4dd09eaa06
Merge pull request #6178 from OTAkeys/pr/can_stm32
can stm32: add a driver for STM32 bxCAN peripheral
2019-04-08 08:50:08 +02:00
Dylan Laduranty
a81dbf0037
Merge pull request #11152 from ibr-cm/petersen/l3g4200d-fix-pr
l3g4200d: Fixes conversion bug
2019-04-05 15:49:13 +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
Torben Petersen
506e208ffd drivers/l3g4200d: fixes driver conversion 2019-03-30 10:32:43 +01: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
14f47bf220
Merge pull request #10695 from aabadie/pr/drivers/lpsxxx
drivers/lpsxxx: refactor lps331ap and add support for lps25hb + lps22hb
2019-03-29 10:54:08 +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
Martine Lenders
664763bb29 netdev: add doc group for network device types 2019-03-26 21:37:20 +01:00
Kevin "Bear Puncher" Weiss
268d3e926c
Merge pull request #10826 from ranbe1/at_driver_uart_initialize_status
drivers/at: make at_dev_init() return uart initialize status
2019-03-26 14:07:05 +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
7c285eb186
drivers/lpsxxx: add support for lps22hb 2019-03-20 14:43:37 +01:00
1f4dee90a1
drivers/lpsxxx: unify lps331ap and lps25h drivers 2019-03-20 14:43:36 +01:00
4d352fc93f
usbdev: Extend with low level initialization functions 2019-03-20 09:12:24 +01:00
Martine Lenders
51626a48d4 netdev: document valid values for iolist in send() 2019-03-15 11:34:19 +01:00
71204d1d70
Merge pull request #9830 from bergzand/pr/usb/usbdev
usbdev: Introducing a generic USB device driver API
2019-03-14 22:48:47 +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
Leandro Lanzieri
e98de1a91a drivers/ds3234: Fix doxygen group 2019-03-14 14:32:28 +01:00
Leandro Lanzieri
94a10e9e10
Merge pull request #11132 from MichelRottleuthner/pr_sx127x_add_gpio_pull_config
drivers/sx127x: add gpio pull config define for DIO pins
2019-03-14 14:05:56 +01:00
Gilles DOFFE
dd6a37517b drivers: add motor_driver API
This driver API aims to control DC motors.
It handles :
 * motor controller associated to a PWM device
 * several motors by controller
 * motor rotation direction
 * brake capability
 * enable/disable motor individually

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2019-03-11 01:44:22 +01:00
Jose Alamos
893707a590 netdev/lora: add netdev_lora_rx_info structure 2019-03-08 17:45:08 +01:00
Michel Rottleuthner
389d258627 drivers/sx127x: add gpio pull config define for DIO pins 2019-03-07 16:09:38 +01:00
Semjon Kerner
c2a40be458 drivers/netdev_ieee802154: add mac header filter 2019-03-04 13:21:43 +01:00
Martine Lenders
2d6a557d83 netdev: introduce test device type 2019-02-26 16:46:21 +01:00
Joakim Nohlgård
a6f430b4b5 drivers/ds3234: Minimal driver for DS3234 extremely accurate RTC
This driver currently only supports the SPI connected DS3234, and only
for initializing 1 Hz square wave output on the SQW pin, nothing else.
2019-02-19 11:57:40 +01:00
Yegor Yefremov
0dedf979f3 drivers/sx127x: fix dead links
URLs of the datasheets have been changed.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-02-15 21:16:42 +01:00
Leandro Lanzieri
85e75cf9f8 drivers/saul: Add capacitance and voltage types 2019-02-15 13:37:45 +01:00
Leandro Lanzieri
50dc5b7528 drivers: Add driver for AD7746 capacitance sensor 2019-02-15 13:31:18 +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
6bf185855b drivers/bmx280: fix dead links
URLs have been changed to:

https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BMP280-DS001.pdf
https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280-DS002.pdf)

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-02-08 09:01:20 +01:00
Kees Bakker
50ec5130d6 drivers: add support for SHT2x (I2C temp and humidity sensor)
Several parts were inspired by a driver written by:
  George Psimenos (gp7g14@soton.ac.uk)
  Steffen Robertz (steffen.robertz@rwth-aachen.de)
2019-02-05 22:17:30 +01:00
Silke Hofstra
3cf3742f8c hdc1000: fix documentation for HDC1000_PARAM_RENEW_INTERVAL
The documentation refers to the `HDC1000_PARAM_RENEW_INTERVAL` as
`HDC1000_RENEW_INTERVAL`.
2019-02-04 11:28:31 +01:00
smlng
03698502e3 netstats_l2: remove obsolete struct from xbee_t 2019-02-01 11:25:27 +02:00
smlng
b8d9610316 netstats_l2: remove obsolete struct from netdev_t 2019-02-01 11:25:27 +02:00
Kevin "Bear Puncher" Weiss
1d693403b6
Merge pull request #10743 from yegorich/uart-enhanced-settings
RFC: UART enhanced settings
2019-01-31 17:11:28 +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
Michel Rottleuthner
6cffa07ed1 drivers/saul: add sensor type for particulate matter 2019-01-30 13:15:17 +01:00
Michel Rottleuthner
f5dc2524d0 drivers: add driver for SDS011 active laser dust sensor 2019-01-30 13:15:17 +01:00
Marian Buschsieweke
db0c66e07f
drivers/ltc4150: Allow tracking last minute charge
Implemented an example `ltc4150_recorder_t` implementation as a proof of concept
for the recorder API.
2019-01-28 13:45:45 +01:00
Marian Buschsieweke
c00886ac39
drivers/ltc4150: (Re-)implemented LTC4150 driver
The LTC4150 is a coulomb counter (a.k.a. battery sensor or bidirectional
current sensor) that is used in the MSBA2 board and available for little money
as easy to use break out board.
2019-01-28 13:44:16 +01:00
Marian Buschsieweke
ac98c98a0d
drivers/saul: Added coulomb counter & ammeter 2019-01-28 13:33:18 +01:00
Ran Berant
59416fc6ce drivers/at: make at_dev_init() return uart initialize status
in case there's an error uart_init() returns an error value,
this value indicates the reason for the error thus we should
return it from at_dev_init() so the user will be able to identify
whether the init succeded or failed.
2019-01-23 19:02:14 +02:00
Leandro Lanzieri
d9be249144
Merge pull request #10578 from MrKevinWeiss/pr/i2capi
drivers/i2c: Fix i2c api issues
2019-01-16 11:07:10 +01:00
Sebastian Meiling
501f8fddf8
Merge pull request #10716 from keestux/refactor-prototypes-pulse-counter
drivers/pulse_counter: refactor the prototypes of read funcs
2019-01-11 11:43:36 +01:00
Martine Lenders
6a8808c511
Merge pull request #10638 from maribu/gnrc_netif_cc1xxx
net/gnrc/netif: Added CC1xxx adaption layer
2019-01-10 11:45:53 +01:00
Marian Buschsieweke
ae7024b9a3
net/gnrc/netif: Added CC1xxx adaption layer
This adaption layer is intended to be used by a rewrite of the CC110x driver and
a new CC1200 driver that is currently being developed for RIOT.
2019-01-10 10:54:36 +01:00
Sebastian Meiling
6767caea5f
Merge pull request #10709 from keestux/eliminate-cast-ds18
drivers/ds18: refactor functions with const dev pointer
2019-01-10 09:17:53 +01:00
steffen
2ff2b2c1d7 drivers: Initial support for TPS6274x converter
drivers/tps6274x: initial support step-down converter
tests/driver_tps6274x: Added testcase for the step-down converter
boards/jiminy-mega256rfr2: Added TPS6274x config
2019-01-10 00:00:02 +01:00
Kees Bakker
8991c21d30 drivers/pulse_counter: refactor the prototypes of read funcs
This change makes it more clear that the dev is modified in some of the
read functions. Only pulse_counter_read_without_reset gets a const
pointer argument.

Also, use pulse_counter_t pointers instead of void pointers where
possible.
2019-01-09 23:06:54 +01:00
Peter Kietzmann
3cf8b4de38
Merge pull request #9887 from smlng/pr/driver/enc28j60
driver/enc28j60: cleanup
2019-01-09 10:31:43 +01:00
Kees Bakker
9ed7d2dc18 drivers/ds18: refactor functions with const dev pointer
All DS18 functions have a dev argument. All except the init function use
it as an IN parameter, so we can prototype it as const ds18_t*.

As a consequence we can drop the cast in read_temperature() in ds18_saul.c
which was the primary trigger for the changes.

The commit also follows the preferred convention that "params" is a field
in the device struct. Only the init function needs to write it.
2019-01-08 19:25:13 +01:00
Kees Bakker
1d5a67dcce drivers/bh1750fvi: change prototype of bh1750fvi_init
The params argument is now a const pointer. This eliminates the need for
a type cast that converts a const to a non-const.
2019-01-07 21:37:02 +01:00
Kees Bakker
5265edcd26 drivers/adxk345: include copy of params in dev struct
This follows the usual convention of having the whole params in the device
struct instead of a pointer-to. This also eliminates the need to cast a
const to a non-const pointer in the init function.
2019-01-06 17:24:24 +01:00
MrKevinWeiss
b870dbb3b9 drivers/bh1750: Fix mislabeled i2c address
The i2c address when the pin is high/low are swapped.
This swaps them to match the datasheet and changes the default to low.
2019-01-03 09:08:31 +01:00
Martine Lenders
fa3d617e2e
Merge pull request #10657 from maribu/netdev_driver_pre
netdev_driver_t::recv(): Clarified documentation
2018-12-29 14:34:42 +01:00
Marian Buschsieweke
58f496de47
netdev_driver_t::recv: Extend doc on size feature
Some drivers return on netdev_driver_t::recv() not the actual frame size, but
an upper bound estimation of it. The upper layer code is already prepared to
handle that. This brings the doc in sync with the code.
2018-12-29 13:59:58 +01:00
Marian Buschsieweke
e81b6191aa
netdev_driver_t::recv: Clarified small buf case
Clarified in the documentation how netdev_driver_t::recv() should behave in case
the size of the buffer in parameter buf (indicated by parameter len) is to small
to fit the received frame.
2018-12-28 20:23:19 +01:00
Marian Buschsieweke
87055d7b6d
netdev_driver_t::recv: Added drop and size to doc
netdev_driver_t::recv does on of three things:
 - Receive the frame
 - Drop it
 - Get (an estimation of) the size of the frame

The brief section of the documentation was changed to reflect this. (And it
starts with the least obvious thing in the hope readers of the API stumble upon
it...)
2018-12-28 20:23:11 +01:00
Marian Buschsieweke
b6069eb5f5
netdev_driver_t::recv: Fixed preconditions in doc
Removed the invalid precondition in netdev_driver_t::recv that the buffer never
NULL and the length positive. (In the "get message size" case both is wrong, in
the drop message case the first part is wrong.)
2018-12-28 20:22:57 +01:00
Martine Lenders
e13bc4285b
Merge pull request #10191 from fedepell/at_recv_bytes_1
drivers/at: add function to read raw data bytes from modem
2018-12-28 12:09:35 +01:00
Gunar Schorcht
3181a2faa7 drivers/ccs811: nWAKE and nRESET moved to base 2018-12-20 12:42:44 +01:00
Gunar Schorcht
d513e9d3d3 drivers/ccs811: fix build issues on AVR platform 2018-12-20 12:42:44 +01:00
Schorcht
74e1ab220c drivers: add driver for CCS811 gas sensor 2018-12-20 12:42:44 +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
Marian Buschsieweke
003c04bd4c
Merge pull request #10012 from gschorcht/drivers_sht3x
drivers: sht3x temperature and humidity sensor
2018-12-03 10:43:16 +01:00
Federico Pellegrin
e34d46e096 drivers/at: add function to read raw data bytes from modem 2018-11-30 14:59:00 +01:00
Martine Lenders
03b91cbcb8 esp_now: use NETDEV_TYPE_ESP_NOW as device type 2018-11-29 13:35:20 +01:00
Sebastian Meiling
4eaf1d8135
Merge pull request #10384 from bergzand/pr/netdev/ref_nid
netdev_ieee802154/radios: refactor PAN ID reset to generic ieee802154 reset
2018-11-28 12:15:45 +01:00
52e68735c3
kw2xrf: Remove PAN ID initialization from reset 2018-11-28 11:31:03 +01:00
d2ddc4ef2e
cc2420: Remove PAN ID initialization from reset 2018-11-28 11:31:02 +01:00
6306308ef5
at86rf2xx: Remove PAN ID initialization from reset 2018-11-28 11:31:02 +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
059af13933
Merge pull request #10306 from aabadie/pr/drivers/mma8x5x_update
drivers/mma8x5x: remove useless type from initialization parameters
2018-11-22 10:18:43 +01:00
Hauke Petersen
7af516a618 netdev: add funcs for declaring get/set as notsup
This commit adds two convenience functions that allow to declare
get() and/or set() as not supported when declaring a
netdev_driver struct.
2018-11-21 14:33:22 +01:00
Schorcht
9d59e27d41 drivers: add SHT3X humidity/temperature sensor 2018-11-21 08:48:20 +01:00
a63d76b346 drivers/mma8x5x: remove use of type param
Driver now accepts all variants of the driver
2018-11-20 10:41:45 +01:00
836fe3dbba
Merge pull request #9890 from bergzand/pr/ethos/sync
ethos: Only accept frame if previous frame is read
2018-11-14 22:41:52 +01:00
c4608ca0eb
ethos: Only accept frame if previous frame is read 2018-11-14 22:16:04 +01:00
Marian Buschsieweke
3cc6c7f465
drivers/saul: Added sensor type RSSI 2018-11-06 11:07:13 +01:00
danpetry
99ae495226
Merge pull request #10011 from leandrolanzieri/pr/drivers/ds18
drivers/ds18: Add Maxim Integrated 1-Wire temperature sensor driver
2018-10-25 17:26:10 +02:00
Frits Kuipers
8b8790c18f drivers/ds18: Add Maxim Integrated ds18 driver
tests/driver_ds18: Add test application for DS18B20 sensor.

tests/driver_ds18: Add whitelist of boards
2018-10-24 16:02:05 +02:00
PeterKietzmann
1bcb521469 drivers/at86rf233: extend doc for smart idle listening feature 2018-10-23 20:02:39 +02:00
Peter Kietzmann
f5379c05a3
Merge pull request #8971 from Hyungsin/forupstream_smart_idle_listening
drivers/at86rf2xx: add smart idle listening feature
2018-10-23 19:34:21 +02:00
danpetry
a1a834a726 drivers/tsl4531x: Add power modes; redesign
Changes include:
- Implementation of two power modes for the driver: low and high
- Redesign and API change to the description in tsl4531x.h
- Full documentation
- Changing file structure and implementation to fit best practices as
  described in
  https://github.com/RIOT-OS/RIOT/wiki/Guide%3A-Writing-a-device-driver-in-RIOT
- Including I2C addresses for the rest of the range
2018-10-23 17:26:28 +02:00
Juan Carrano
5604abcedc drivers/tsl4531x: Add SAUL driver. 2018-10-23 17:26:28 +02:00
Juan Carrano
63dcc18c55 drivers/tsl4531x: Add driver for TSL45315 illuiminance sensor.
Missing run modes and power saving configurations, but otherwise
functional.
2018-10-23 17:26:28 +02:00
José Alamos
b3ec93d957
Merge pull request #10088 from unwireddevices/riot-fix-adxl345
drivers/adxl345: fix ADXL345 driver
2018-10-16 16:34:41 +02:00
e9a6ebc409 cpu: drivers/eeprom: refactor periph_eeprom implementation 2018-10-16 10:39:10 +02:00
Gunar Schorcht
7fde6fc258
Merge pull request #6712 from aabadie/driver_vcnl4010
drivers/vcnl4010: initial implementation
2018-10-15 16:12:45 +02:00
Oleg Artamonov
631c16fdb1 drivers/adxl345: fix range values 2018-10-15 14:57:55 +02:00
Oleg Artamonov
fb65067d3a drivers/adxl345: fix ADXL345 driver 2018-10-15 14:57:55 +02:00
1ca44cf072 drivers/vcnl40x0: initial implementation 2018-10-15 11:44: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
0c53bebe1b
Merge pull request #10094 from silkeh/enable-bme280-doc
drivers/bmx280: improve documentation
2018-10-04 10:56:16 +02:00
Martine Lenders
aba75be827 netdev: fix return value and precondition doc
While reviewing #9942 I noticed that the documentation on the netdev
driver API is unclear and in some cases outright contradicting itself:

> ```
> @return              number of bytes used from @p value
> @return              `< 0` on error, 0 on success
> ```

IMHO this is unacceptable for such a central API where communication

This fixes a few things and also clarifies preconditions:

- Specifies negative `errno`s clearly so all drivers return the same
  when required
- Re-iterates parameter preconditions and special cases within the
  parameter documentation itself (might also help towards #9805?)
- Fixes contradictions within return value documentation
- Adds missing parameter documentation on `init()`.
2018-10-03 16:09:42 +02:00
Silke Hofstra
2fb2776012 drivers/bmx280: improve documentation
- Add minimal usage instructions
- Ensure that the `bme_280_read_humidity` function (only available on
  the BME280) is included in the documentation.
- Fix a typo
2018-10-01 21:28:11 +02:00
6dfc07b076 drivers/sx127x: remove useless rx timeout setter 2018-09-25 22:22:13 +02:00
Joakim Nohlgård
c4016fcf3b
Merge pull request #9978 from haukepetersen/fix_periph_gpiofeaturescopeanddoc
periph/gpio: fix doc of `periph_gpio_irq` submodule
2018-09-21 13:15:19 +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
Semjon Kerner
b24de4a22a drivers/srf04: initial driver implementation 2018-09-20 15:18:49 +02:00
Leandro Lanzieri
5cc7b6711f drivers/sx127x: add preliminar multi interrupt pin support
drivers/sx127x: add option to use or not multi dio
2018-09-18 14:02:31 +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
smlng
f35e4786f3 drivers/enc28j60: always set memory bank, if valid
Simplify handling of memory banks, ie. remove check if current bank
is target bank and set it explicitly every time.
2018-09-05 13:26:08 +02:00
smlng
4759f691fc drivers/enc28j60: cleanup
Simplify usage of params via MACROs and copy params struct instead
of (re)assigning values to driver struct. Overall code cleanup.
2018-09-05 13:26:08 +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
9f8386c215 drivers*: add saul doc group to related drivers 2018-08-27 11:32:20 +02:00
Martine Lenders
0f91735280
Merge pull request #9129 from OTAkeys/pr/mtd_spi_nor_4byte
mtd_spi_nor: add 4-byte address flash support
2018-08-24 22:22:52 +02:00
608e92e0be drivers/ata8520e: small improvements
- move ata8520e_status from public interface to private implementation
- add useful references to the datasheet
2018-08-24 15:47:24 +02:00
Hauke Petersen
c2184f3454 boards/cpu/drivers/sys: use generic stdio_ if 2018-08-22 10:54:25 +02:00
463b04aa74
Merge pull request #7067 from dylad/adxl345_fix
drivers/adxl345: fixes & cleanup
2018-08-22 10:23:46 +02:00
d94d1854ec
Merge pull request #9234 from kYc0o/move_eeprom_to_periph
drivers/periph_common/eeprom: move EEPROM definitions to periph_cpu.
2018-08-21 10:25:44 +02:00
7425ac92aa
Merge pull request #9581 from bergzand/pr/at86rf2xx/flag_refactor
at86rf2xx: Move flags from netdev to radio
2018-08-17 10:51:23 +02:00
Francisco Acosta
71d3c14354 drivers/periph_common/eeprom: remove the now unnecessary cpu.h include 2018-08-15 15:27:03 +02:00
Hyungsin
e0d3f5b552 drivers/at86rf2xx: add smart idle listening feature 2018-08-06 13:56:42 -07:00
Hyungsin
88895bbed9 drivers/hdc1000: change renew_interval to a parameter 2018-08-06 12:33:53 -07:00
dylad
d114e2852c drivers/adxl345: fixes & cleanup
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2018-08-03 11:12:25 +02:00
Michael Andersen
e354824bcf drivers/mma7760: Add initial support 2018-08-02 15:52:58 +02:00
smlng
76d3a4e30a driver/srf08: remove leftover doc
Remove doc for params and return values which are not used
    anymore after I2C API rework.
2018-07-25 12:01:40 +02:00
smlng
2db2ce2dc7 doc: rename sections in i2c.h 2018-07-25 12:01:40 +02:00
Michel Rottleuthner
2e6ff0f197 drivers/ds1307: remove unused clock param 2018-07-25 12:01:40 +02:00
Michel Rottleuthner
df52d6b1b8 drivers/bh1750fvi: remove unused clock param 2018-07-25 12:01:40 +02:00
0b78a1bec5 drivers/isl29020: rework driver API and params definition 2018-07-25 12:01:39 +02:00
Matthew Blue
bc9b3ecaae */ads101x: copyright notice update 2018-07-25 12:01:39 +02:00
95a4d8d4e7 drivers/tsl2561: rework API for consistency 2018-07-25 12:01:39 +02:00
MrKevinWeiss
d0f86d0611 drivers/srf02: Update to new i2c API 2018-07-25 12:01:38 +02:00
MrKevinWeiss
0c0ae1855d drivers/srf08: cleanup and fixes for new api 2018-07-25 12:01:38 +02:00
Michel Rottleuthner
e5976ad497 drivers/isl29125: update parameter definition scheme 2018-07-25 12:01:38 +02:00
Bas Stottelaar
a8a9283f7a drivers: si70xx: adapt to new I2C api. 2018-07-25 12:01:38 +02:00
Bas Stottelaar
76b1200460 drivers: bmx280: adapt to new I2C api. 2018-07-25 12:01:38 +02:00
a85fbd2c75 sys/auto_init: update tcs37727 auto_init 2018-07-25 12:01:38 +02:00
a48a90f234 drivers/tcs37727: use new driver params scheme 2018-07-25 12:01:38 +02:00
2ace1a2dfe drivers/l3g4200d: rework driver API and params definition 2018-07-25 12:01:38 +02:00
d81cf561b0 drivers/lsm303dlhc: rework driver API and params definition 2018-07-25 12:01:38 +02:00
d1a19db350 drivers/lps331ap: adapt to new I2C api 2018-07-25 12:01:38 +02:00
71d8b80512 drivers/lps331ap: rework driver API and params definition 2018-07-25 12:01:38 +02:00
a2d1558922 drivers/bmp180: adapt to new I2C api 2018-07-25 12:01:38 +02:00
7a12293eb1 drivers/at30tse75x: adapt to new I2C api 2018-07-25 12:01:38 +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