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

264 Commits

Author SHA1 Message Date
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
Gunar Schorcht
97bb33788b cpu/esp*: changes to use esp_wifi and esp_now 2019-07-31 13:53:48 +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
3726bf62d3
usbus_cdc_ecm: provide auto init integration 2019-06-14 16:00:06 +02:00
ef68827559
auto_init_usb: initial implementation 2019-06-05 16:17:01 +02:00
e697cd5878
sys/auto_init: add auto_init_loramac function 2019-05-29 16:53:52 +02:00
a7f8182249
drivers: sys: add SAUL support for ds75lx sensor 2019-05-22 16:54:20 +02: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
Hauke Petersen
840c8aeba2 cord/epsim: remove standalone submodule 2019-03-27 18:26:37 +01:00
5338d0403f
sys/auto_init: rename lps331ap to lpsxxx unified version 2019-03-20 14:43:36 +01:00
891580aba7
sys/auto_init: add support for periph_temperature 2019-03-08 21:14:22 +01:00
Semjon Kerner
20728c2528 sys/auto_init: add auto_init for nrf52 ieee802.15.4 driver 2019-03-04 13:21:47 +01:00
Leandro Lanzieri
a13ab5ee08 drivers/ad7746: Add SAUL integration 2019-02-15 13:37:45 +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
Michel Rottleuthner
bba4d5b39b drivers/sds011: add saul integration 2019-01-30 13:15:17 +01:00
Marian Buschsieweke
c434c5cd3a
drivers/saul: Integrated ltc4150 2019-01-28 13:44:45 +01:00
Gunar Schorcht
f171f38c3e sys/autoinit: fix alphabetical order 2018-12-20 12:42:44 +01:00
Gunar Schorcht
56c09a088c sys/auto_init: alphabetical order for SHT3x fixed
This commit fixes the alphabetical order in sys/auto_init for the SHT3x driver.
2018-12-10 12:45:27 +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
Schorcht
d1fab30818 sys/auto_init: add SHT3X sensor driver auto init 2018-11-21 08:48:20 +01:00
Hauke Petersen
73534850fa sys/auto_init: add auto init for nimble 2018-11-08 14:40:52 +01:00
Marian Buschsieweke
be6b705b38
sys/auto_init: Improved doc on sht1x auto init
The auto initialization of the sht1x module differs from the initialization of
other sensors, but previously no documentation pointed that out. This lack of
documentation led to a bug being introduced. This commit provides the previously
missing documentation.
2018-10-29 13:20:06 +01:00
Marian Buschsieweke
6e1c50a1e3
sys/auto_init: Fixed initialization of sht1x
- the driver for sht1x is initialized two times
 - the second initialization is done only when SAUL is used, but sht1x needs
   to be initialized in any case. (SAUL registration is also done there, but
   only when SAUL is actually being used.)

This commit fixes both.
2018-10-26 13:08:37 +02: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
danpetry
bed1e22e7d sys/auto_init: Changes to support SAUL
SAUL read functionality implemented only, as described in
tsl4531x_saul.c.
This driver will work with SAUL in both low and high power modes,
with the startup mode configurable in tsl4531x_params.h.
2018-10-23 17:26:28 +02:00
Hauke Petersen
18cc7ee3ed net/rdcli: rename to cord_ep 2018-10-17 15:21:49 +02:00
Hauke Petersen
226b9fa383 net/rdcli_simple: rename to cord_epsim 2018-10-17 15:21:49 +02:00
Hauke Petersen
787524400c net/rdcli_common: rename to cord_common 2018-10-17 09:29:19 +02:00
Kevin "Bear Puncher" Weiss
7187bbf8cf
Merge pull request #9426 from gschorcht/esp32
ESP32 port
2018-10-16 15:24:25 +02:00
22b2306536 sys/auto_init: add saul adaptation for vcnl40x0 2018-10-15 11:44:10 +02:00
Hauke Petersen
49f21b8935 sys/auto_init: added rdcli_standalon initialization 2018-10-12 14:41:40 +02:00
Schorcht
3ac99877ac cpu: add esp32 2018-10-08 12:20:49 +02:00
Schorcht
cef81a102c sys/auto_init/saul: alphabetical order 2018-10-05 19:57:37 +02:00
Michael Andersen
e354824bcf drivers/mma7760: Add initial support 2018-08-02 15:52:58 +02:00
Hauke Petersen
fb184a3b2c sys/auto_init: add init for asymcute 2018-07-05 15:44:16 +02:00
6e6716a1a6
Merge pull request #9317 from maribu/sht1x
drivers/sht11: Major refactoring
2018-06-27 10:10:39 +02:00
Marian Buschsieweke
de9b67bdc2
drivers/sht1x: Major refactoring
- Use RIOT's GPIO interface to access the sensor to increase portability
- Changed API to allow more than one sensor per board
- Added `sht1x_params.h` that specifies how the sensors is connected - each
  board can overwrite default settings by #defining SHT1X_PARAM_CLK and
  SHT1X_PARAM_DATA
- Changed arithmetic to use integer calculations only instead of floating point
  arithmetic
- Added support for checking the CRC sum
- Allow optional skipping of the CRC check to speed up measuring
- Added support for advanced features like reducing the resolution and skipping
  calibration to speed up measuring
- Allow specifying the supply voltage of sensor which heavily influences the
  temperature result (and use that information to calculate the correct
  temperature)
- Reset sensor on initialization to bring it in a well known state
- Support for the obscure heater feature. (Can be useful to check the
  temperature sensor?)
- Updated old SHT11 shell commands to the new driver interface, thus allowing
  more than one SHT10/11/15 sensor to be used
- Added new shell command to allow full configuration of all attached SHT1x
  sensors
- Removed old command for setting the SHT11 temperature offset, as this feature
  is implemented in the new configuration command
2018-06-27 08:58:00 +02:00
Marian Buschsieweke
d208c224b0
drivers: Renamed module sht11 to sht1x
The sensor family SHT10, SHT11 and SHT15 only differ in their accuracy (as in
calibration, not as in resolution). Thus, the same driver can be used for all.
The new driver name better reflects this fact.
2018-06-27 08:57:58 +02:00
Hyungsin
0c5c3d9b77 driver/pir: add pir-based occupancy sensing 2018-06-26 13:46:37 -07:00
47fc4b0749 sys/auto_init: fix doxygen grouping 2018-06-11 19:12:02 +02:00
7d013eb2b6 sys: fix doxygen grouping 2018-06-11 19:12:02 +02:00
Cenk Gündoğan
1fb4789e1b auto_init: add ndn-riot 2018-05-24 10:58:26 +02:00
372aadd626
Merge pull request #8978 from Hyungsin/forupstream_fxos8700
drivers: add driver for FXOS8700 3-axis accelerometer/magnetometer
2018-05-14 08:45:58 +02:00
Hyungsin
beaf08bcb2 drivers: add driver for FXOS8700 3-axis accelerometer/magnetometer 2018-05-12 17:51:58 -07:00
f9c75d0df7
Merge pull request #8915 from ZetaR60/RIOT_ads101x
drivers/ads101x: support for ADCs
2018-05-03 08:31:03 +02:00
Matthew Blue
f5658cd89a drivers/ads101x: auto_init support 2018-04-13 11:38:50 -04:00
Hauke Petersen
108284670c net: added RD client for simplified registration 2018-04-09 10:37:10 +02:00
Hauke Petersen
f12d85d032 net/rdcli: added common rdcli module 2018-04-09 10:37:10 +02:00
Hauke Petersen
6efb06f108 sys/auto_init: added initialization for Skald 2018-04-06 11:18:53 +02:00
5c7cc50698 sys/auto_init/saul: add saul adaptation 2018-03-08 14:07:28 +01:00
Semjon Kerner
22c49e99b5 sys/auto_init/saul: provide saul adaption for bmx055 2018-02-19 14:28:16 +01:00
Gaëtan Harter
934b075f76
Merge pull request #7883 from Hyungsin/hamilton-pushbutton
pulse counter driver: initial SAUL-compatible implementation
2018-01-30 19:35:44 +01:00
Hauke Petersen
bb8ba486d8 sys/auto_init: add SAUL initialization for lis2dh12 2018-01-18 18:39:43 +01:00
Martine Lenders
81ef15287a native: provide socket-based ZEP device 2018-01-18 09:15:37 +01:00
Hyungsin
149914000f sys/auto_init: add SAUL auto init for pulse counter 2018-01-17 06:29:05 -08:00
7727871923 sys/auto_init/saul: provide saul adaption to lis3mdl 2017-12-14 18:18:34 +01:00
40f43671bf sys/auto_init: enable sx127x auto init 2017-12-01 18:09:49 +01:00
Sebastian Meiling
4a828c63aa
Merge pull request #7955 from aabadie/pr/mpu9150_update
drivers/mpu9150: adapt to new parameters initialization scheme + provide saul adaption
2017-11-28 11:41:54 +01:00
8a6d04ce52
Merge pull request #7925 from RIOT-OS/gnrc_netif2_integration/master
gnrc_netif2: gnrc_ipv6_nib: full integration into GNRC
2017-11-27 21:12:14 +01:00
smlng
df2b65a1dd driver, hts221: add SAUL adaption 2017-11-22 11:33:54 +01:00
Martine Lenders
71a7dbf918
gnrc: remove legacy network interface structures 2017-11-17 09:20:29 +01:00
Dylan Laduranty
67048eafa2
Merge pull request #6900 from OTAkeys/pr/init_rtc
periph/rtc: move init from auto_init to periph_init
2017-11-13 21:22:22 +01:00
Vincent Dupont
f2466fb8dc periph/rtc: move init from auto_init to periph_init 2017-11-09 12:56:43 +01:00
ccf704bab8 sys: random: use luid to generate random seed 2017-11-08 17:18:26 +01:00
be9e8614ef sys/auto_init/saul: provide saul adaption to mpu9150 2017-11-08 09:09:21 +01:00
Martine Lenders
861035f22d gnrc: integrate gnrc_netif2
Not link-able, since NDP and NC are missing (intentionally)
2017-11-07 19:08:44 +01:00
Martine Lenders
b74ee8869b slip: port to be used with netdev 2017-10-10 23:14:12 +02:00
Martine Lenders
6a7de28cd1
gnrc: integrate NIB for testing 2017-10-10 10:12:19 +02:00
88433cba2f sys: random: make use of submodules in Makefile 2017-08-30 23:49:30 +02:00
smlng
ca0cc3956d saul: add support for grove ledbar 2017-08-30 09:12:57 +02:00
smlng
addf64349c saul: add mpl3115a2 2017-06-29 09:57:17 +02:00
067231936f Merge pull request #5793 from OTAkeys/pr/can_stack
can: add a CAN stack for RIOT
2017-06-26 16:02:35 +02:00
Martine Lenders
9d3f9f2589 Merge pull request #6402 from OTAkeys/pr/adcxx1c
drivers/adcxx1c: add ADC081C/ADC101C/ADC121C i2c adc support
2017-06-26 10:39:02 +02:00
Vincent Dupont
35056fd647 drivers/adcxx1c: add ADC081C/ADC101C/ADC121C i2c adc support 2017-06-26 09:46:03 +02:00
Vincent Dupont
144a0700f5 can: add autoinit basic support 2017-06-19 15:35:26 +02:00
smlng
054c002960 saul: add support for tmp006 2017-06-14 20:45:01 +02:00
d7543ccf31 sys/auto_init: use new bmx280 implementation for bme280 and bmp280 2017-06-02 14:54:17 +02:00
José Ignacio Alamos
017280db13 pkg/openthread: add OpenThread core 2017-06-01 13:44:05 -04:00
smlng
17e78f7d81 driver, mag3110: add saul auto init 2017-04-13 21:14:44 +02:00
57c26631da sys/auto_init: fix io1_xplained saul integration 2017-04-07 16:59:04 +02:00
Vincent Dupont
73d8149490 drivers: add lsm6dsl imu driver 2017-04-06 10:58:18 +02:00
dylad
2f801bbce9 drivers/adxl345: initial implementation + SAUL adaptation
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2017-03-20 22:52:21 +01:00
Martine Lenders
29842bb5e4 netdev2: rename to netdev and remove gnrc_netdev
With some minor hand-edits I used the following chain of commands:

```sh
git rm sys/include/net/gnrc/netdev.h
git grep --name-only -i netdev2 | \
        xargs sed -i -e 's/^\(NETDEV\)2\(.*\)\( [("]\)/\1\2 \3/g' \
                     -e 's/\(netdev\)2\(.*\)\( \/\*\*<\)/\1\2 \3/I' \
                     -e 's/\(netdev\)2/\1/gI'
git add -p
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
        grep "netdev2" | xargs -I'{}' dirname '{}' | uniq | \
        grep "netdev2" | while read dir; do
                new_dir="$(echo "$dir" | sed "s/netdev2/netdev/g")"
                git mv -f "$dir" "$new_dir"
        done
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
        grep "netdev2" | while read file; do
                new_file="$(echo "$file" | sed "s/netdev2/netdev/g")"
                git mv -f "$file" "$new_file"
        done
git commit --amend
git grep --name-only "\<drivers_netdev_netdev\>" | \
        xargs sed -i "s/\<drivers_netdev_netdev\>/drivers_netdev_api/g"
git add -p
git commit --amend
```
2017-03-15 09:31:20 +01:00
Joakim Nohlgård
0371769e72 devfs: Dynamic file system for device nodes 2017-03-07 17:59:59 +01:00
4474af885a sys/auto_init: add saul support for veml6070 sensor 2017-02-28 13:20:21 +01:00
Hauke Petersen
8e3975fa90 sys/auto_init: remove gpioint initialization 2017-02-22 17:51:45 +01:00
Peter Kietzmann
6ef3abec5c Merge pull request #5570 from aabadie/drivers_tsl2561
drivers/tsl2561: initial support
2017-02-17 10:06:46 +01:00
Martine Lenders
0858a3ea8c Merge pull request #6618 from haukepetersen/opt_tcs37727_saulplusinit
drivers/tcs37727: SAUL support + misc fixes
2017-02-16 16:03:10 +01:00
Hauke Petersen
470f2de771 drivers/tcs37727: SAUL support + misc fixes
- added default parameters file
- let init() function use param struct
- named return values
- simplified init function
- sensor now active after init was called
- simplified return values
2017-02-16 14:46:50 +01:00
Hauke Petersen
6e6a14f449 drivers: remove outdated ltc4150 driver 2017-02-13 14:08:34 +01:00
Hauke Petersen
3afc3eb10b drivers/dht: updated auto-init + some enhancements
- unified auto-init to use same style as other SAUl devices
- make use of named return values
- added some asserts
2017-02-07 09:59:23 +01:00
25ce12f3ef drivers/tsl2561: initial implementation + saul support 2017-01-31 17:49:16 +01:00
672da2c457 drivers/mrf24j40: initial mrf24j40 support 2017-01-26 10:05:20 +01:00
Hauke Petersen
5d8f686cf6 Merge pull request #6031 from MichelRottleuthner/sdcard_spi_testing
add driver for sd-cards (using spi)
2017-01-24 14:18:11 +01:00
Sebastian Meiling
7f7329ea71 Merge pull request #4744 from brummer-simon/devel-gnrc_tcp
gnrc_tcp: initial implementation
2017-01-23 09:32:34 +01:00
Simon Brummer
abd307b89d gnrc_tcp : initial implementation 2017-01-22 09:27:58 +01:00
Martine Lenders
85d8397464 Merge pull request #6117 from kb2ma/gcoap/sock
gcoap: rebase networking on sock
2017-01-21 10:40:13 +01:00
Ken Bannister
342c3f2ed3 gcoap: Remove coap.h include file, which is no longer used.
Also change references in dependencies to the net/gcoap.h include.
2017-01-20 22:00:25 -05:00