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
4347f720f5
drivers/at86rf2xx: Update to new ATmega API
...
Replace __enter_isr() with atmega_enter_isr() and __exit_isr() with
atmega_exit_isr()
2019-11-23 12:27:13 +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
f08df428fa
drivers/bmx280: Fix incorrect endian conversion
...
The binary shift operators in C are defined via the change of their values, not
the change of the memory representation of them. When reading a value from
little endian out of buffer `buf`, `((uint16_t)buf[1] << 8) | buf[0]` will
thus work regardless of the byte order of the host system.
2019-11-22 20:58:31 +01:00
Marian Buschsieweke
0a0c1697d7
drivers/ina2xx: Added SAUL integration
2019-11-22 20:29:53 +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
79943cb0de
drivers/pca9685: blacklist efm32 arch
...
The CPU doesn't support PWM_RIGHT
2019-11-16 14:08:49 +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
Benjamin Valentin
d213bbc6f5
Revert "drivers/hd44780: add short delay after each character"
...
This reverts commit cf01c743a8
.
Adding an unexplained delay seemed wrong in the first place, but it fixed
the display on the MCB2388.
Turns out the display was erroneously operating in 8-bit mode due to the
uninitialized flag register.
Why the delay helped here I don't know.
But with #12634 fixing this, this hack is not needed anymore.
2019-11-07 22:40:01 +01:00
Martine Lenders
14a2f6bc18
gnrc: use gnrc_netif_default_init() for all implementations
2019-11-07 11:00:36 +01:00
62d299459f
drivers/hd44780: optimize detection of 4 and 8 bit modes
...
The driver can only be used with either 4 or 8 bit modes. Checking if the 5th pin is set in the configuration is enough the determine if 8bit mode should be used or not
2019-11-06 16:27:39 +01:00
6c56972dba
drivers/include/hd44780: avoid use of magic numbers
2019-11-06 16:25:27 +01:00
c7fac09d42
drivers/hd44780: fix potential hardfault on initialization
...
Co-authored-by Benjamin Valentin <benpicco@googlemail.com>
2019-11-06 16:14:39 +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
Marian Buschsieweke
bf54c56420
Merge pull request #12501 from maribu/NETOPT_MAX_PACKET_SIZE
...
drivers: Replaced NETOPT_MAX_PACKET_SIZE by NETOPT_MAX_PDU_SIZE
2019-10-30 10:51:32 +01:00
Benjamin Valentin
cf01c743a8
drivers/hd44780: add short delay after each character
...
On the LCD display connected to the MCB2300 board, the
display would not light up.
Adding a 1µs delay after each byte of data seems to fix it.
2019-10-29 11:09:56 +01:00
bfe1a84991
drivers/hd44780: change default pin params
...
Remove the use of arduino dependent macros. The default pins are for the Arduino Zero board
2019-10-29 11:09:56 +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
04dc65f6ad
drivers/hd44780: move params header at the right place
2019-10-29 10:58:26 +01:00
808e44243e
drivers/nrf24l01p: fix potentially undefined return value
2019-10-28 14:46:57 +01:00
Marian Buschsieweke
4cf2151248
Merge pull request #12537 from benpicco/at86rfmega
...
drivers/at86rf2xx: add support for ATmegaRF MCUs
2019-10-28 09:22:02 +01:00
Gunar Schorcht
f4a16e6b81
Merge pull request #12568 from aabadie/pr/drivers/bmp180_scan-build_fix
...
drivers/bmp180: fix potential use of uninitialized variable
2019-10-27 09:48:07 +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
Francisco
f68ad2ae6c
Merge pull request #12569 from aabadie/pr/drivers/ata8520e_fix_scan_build
...
drivers/ata8520e: fix potentially unused variables
2019-10-25 10:16:41 +02:00
9eee6bc0a1
usbdev: Fix spelling mistakes
2019-10-23 10:36:49 +02:00
679a07833b
drivers/bmp180: fix potentially use of uninitialized variable
...
This was reported by scan-build
2019-10-22 19:30:12 +02:00
07a2696f5d
drivers/ata8520e: fix potentially unused variables
...
This was reported by scan-build
2019-10-22 19:19:36 +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
Marian Buschsieweke
cf9c84a00d
drivers/cc110x: Use NETOPT_MAX_PDU_SIZE
...
Replaced deprecated NETOPT_MAX_PACKET_SIZE by NETOPT_MAX_PDU_SIZE
2019-10-18 17:57:36 +02:00
Benjamin Valentin
d92e2b25ac
drivers/nrf24l01p: rename CMD_NOP -> CMD_NOOP
...
This prevents a conflict with an unrelated Atmel header file.
2019-10-17 19:20:31 +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
bfd81c1d72
Merge pull request #12431 from benpicco/mrf24j40-fix_reset
...
drivers/mrf24j40: don't loop in mrf24j40_reset_state_machine()
2019-10-14 17:21:17 +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
Benjamin Valentin
853bbaf5a5
drivers/mrf24j40: don't loop in mrf24j40_reset_state_machine()
...
When hooking up the mrf24j40 to a bluepill board, the driver would
always get stuck on init.
Debugging revealed that it would get stuck in the mrf24j40_reset_state_machine()
function because it expects the RFSTATE to have a special value after reset.
However, the data sheet does not mention this in section 3.1 Reset.
Waiting 192µs should be enough - the value of the RFSTATE is not specified.
The Linux driver also does not wait for the RFSTATE register.
And even without the loop, the driver is functioning fine.
2019-10-11 23:01:54 +02:00
63a6bcd513
drivers/sx127x: skip reset sequence if pin is undefined
2019-10-09 15:07:23 +02:00
Peter Kietzmann
ed75d639d5
Merge pull request #12287 from Ilmu011/kw2xrf_tmr3_acktmout
...
drivers/kw2xrf: Use TMR3 instead TMR4 to detect ACK timeout
2019-10-02 23:10:11 +08:00
Adem-Can Agdas
d74570fae3
drivers/kw2xrf: use TMR3 instead TMR4 to detect ACK timeout
2019-10-02 15:09:18 +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
Benjamin Valentin
0bb04cfd27
drivers/mrf24j40: add pseudomodules for MRF24J40MA/C/D/E
...
Microchip offers ready-to-use modules with the mrf24j40 chip.
All but the MRF24J40MA integrate an external PA/LNA, they also come
with an RF shield.
If the PA/LNA is not enabled, the signal off these modules is really
poor.
This adds pseudomodules so that the PA/LNA is automatically enabled
when the appropriate module is used.
2019-09-28 19:30:52 +02:00
Benjamin Valentin
c31e373214
shell_commands: gnrc_netif: only include LoRA options when LoRA PHY is present
...
If no LoRA module is used, there is no use in compiling in all the config options
for LoRA PHYs.
This saves about 1k of .text
2019-09-24 17:14:03 +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
8bd34c4ba3
drivers/periph_common: init wdt if HAS_WDT_INIT
2019-09-12 17:45:31 +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
Marian Buschsieweke
b87ab96d17
Merge pull request #10661 from miri64/gnrc_netif_hdr/enh/netif_setter
...
gnrc_netif_hdr: add setter for netif
2019-09-10 16:14:28 +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
Marian Buschsieweke
84acc746dc
drivers/cc110x: Added missing Doxygen comments
...
The current stable Doxygen release should no longer complain now
2019-09-06 09:10:38 +02:00
Marian Buschsieweke
b389a9c5fa
drivers/cc110x: Fixed broken Doxygen grouping
...
The header files of the CC110x contained two Doxygen "end of doc group" (@})
commands. This PR makes sure they are balanced again.
2019-09-06 08:53:40 +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
fabian18
2edf153cf8
drivers/at86rf2xx: do not hang on no dev
2019-09-02 10:27:24 +02:00
Martine Lenders
69eb7069e9
gnrc_xbee: use gnrc_netif_hdr_set_netif()
2019-08-29 14:51:45 +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