Commit Graph

110 Commits

Author SHA1 Message Date
Jiuzhu Dong
24040250f5 driver/sensor: support multi users to access device
1.Allow multi users to access the same sensor device simultaneously.
2.Get real state of sensor device by cmd SNIOC_GET_STATE for users.
3.Get update state since last read by poll without timeout for users.
4.Sensor device will be activated when first user open and will close when
  last user closed.
5.When multi users to access device, driver always set the minimum
  sampling interval and latency to the sensor device and allow
  downsampled for users above the minimum sampling interval.
6.The circbuffer will overwrite old data when buffer is full, so if users
  don't read data soon, data will be lost, and the oldest data in circbuffer
  are returned to the users.
7.Always read the last data in the circbuffer as initial value for new
  users when the sensor device has not yet generated new data.
8.when user uses poll, if subscription interval is satisfied, the POLLIN
  events is returned for each users.
9.When new user generate or the state of sensor device changed, the POLLPRI
  will notify to all users.
10.Support multi advertisers to subscribe their own data as loop test.

Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-26 10:40:21 +08:00
Jiuzhu Dong
b3ea6522f4 driver/usensor: support register user sensor
1.cmd:SNIOC_REGISTER with struct sensor_reginfo_s to register user sensor
2.cmd:SNIOC_UNREGISTER to unregister user sensor

Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-26 10:40:21 +08:00
raiden00pl
0570704cdc sensors: use the INA226 driver also for INA230 chips 2022-07-23 16:48:13 -03:00
AuroraRAS
cd88ad3539 Make sensor mpu60x0 more configurable in menuconfig
Signed-off-by: AuroraRAS <chplee@gmail.com>
2022-06-30 09:43:29 +08:00
zouboan
cb8c992914 drivers/sensors: add driver for as5048a magnetic encoder 2022-06-13 12:21:35 +03:00
SPRESENSE
bf332cf888 drivers/sensors: Add new driver for scd41 sensor module
Add Sensirion's SCD41 CO2, temperature and humidity sensor driver.
2022-04-11 13:29:35 +03:00
Alin Jerpelea
660da04204 drivers: sensors: exclude BSD components from build
Unless ALLOW_BSD_COMPONENTS is enabled support will not be built

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2022-02-24 22:48:47 +08:00
Xiang Xiao
1d1bdd85a3 Remove the double blank line from source files
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-20 20:10:14 +01:00
chao.an
c50d39060b drivers/sensors: fix Kconfig warning
drivers/sensors/Kconfig:590:warning: defaults for choice values not supported

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-01-24 23:52:56 +08:00
Alan C. Assis
d8163803d1 sensors: Add support to MS5611 Barometer 2022-01-24 10:23:45 +08:00
Petro Karashchenko
51a2db6ffc Kconfig: improve uniformity
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-14 07:32:48 -06:00
daviepeng
c7cda607f4 Adds driver for msa301 sensore module 2021-08-30 02:52:30 +08:00
raiden00pl
b30f5e146d drivers/sensors: add an upper half 3-phase Hall effect sensor driver 2021-08-19 08:19:38 -07:00
Marco Krahl
9f9d266f68 drivers/sensors: Adds new driver for ds18b20 sensore module
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2021-04-14 02:49:28 -05:00
Marco Krahl
7e8424903a drivers/sensors: Adds driver for hyt271 sensore module
This adds a sensor driver for the hyt271, hyt221, and hyt939 sensor module from
vendor iST (Innovative Sensor Technology). This sensor type is connected via i2c
bus and allows the measurement of relative humidity and temperature.

Each driver instance supports two different character device for each type
(/dev/sensor/tempX and /dev/sensor/humiX).

This driver also supports changing the i2c address of one connected sensor on
the bus. This requires a callback to the platform-specific board logic which
must ensure a power-on reset.

Optional the driver allows setting up a read interval for fetching sensor data.
This is done by a worker thread and can be useful when watching several sensors
via poll() by the userspace application.

Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
2021-04-07 21:29:51 -05:00
buyuer
a2c79bed20 Add fakesensor driver.
This driver can read sensor data from csv file.

Signed-off-by: buyuer <dingddding@163.com>
2021-02-11 09:28:55 -08:00
Matias N
1b8e9312dc bmp280: minor fixes
Fixed a minor typo, a missing break in switch (gave error while
actually did the right thing) and added settable I2C frequency
2021-01-18 17:36:10 -03:00
dongjiuzhu
8f9ca79ffc driver/sensor rc: use mm/circbuf manage intermediate buffer
N/A

Change-Id: Ifdd8117da9d20ac2f48f04b7b383449e6dd03f06
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-11-20 05:33:03 -08:00
dongjiuzhu
60d1755e04 drivers: l3gd20 supports the sensor driver model
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-11-19 18:13:17 -08:00
dongjiuzhu
2cda16b606 driver/sensor: add new feature about sensor driver
1.support for multi-user access
2.support special cmd to control sensor
3.support userspace to set size of intermediate buffer
  by ioctl: SNOIC_SET_BUFFER_SIZE

Change-Id: I9ce3a65b88b12c28388ec397431f1a277b120c2a
Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-11-11 18:25:22 -08:00
dongjiuzhu
a3f978da02 sensor/driver: wtgahrs2 by serial interface follow sensor.c/sensor.h
Wtgahrs2 integrates multiple sensor: accel, gyro, mag, baro and gps.

Signed-off-by: dongjiuzhu <dongjiuzhu1@xiaomi.com>
2020-10-22 10:17:36 -03:00
Philippe Coval
cafe24528c sensors: Support fxos8700cq motion I2C sensor
Device is composed of
3-axis, linear accelerometer and 3-axis, magnetometer

It is onboarded in NXP FRDM-K64F SBC.

Change-Id: I405a12cbf2c9994f3bd66e108d2eb8faeee00e18
Bug: https://github.com/apache/incubator-nuttx/issues/1988
Relate-to: https://www.nxp.com/docs/en/data-sheet/FXOS8700CQ.pdf
Forwarded: https://github.com/apache/incubator-nuttx/pull/1989
Signed-off-by: Philippe Coval <rzr@users.sf.net>
2020-10-16 10:10:35 +08:00
Ouss4
701100f6f9 drivers/sensors/mpu60x0: Add I2C support. 2020-06-24 23:30:34 -03:00
Pelle
8a0b2bc14e Added driver for the hdc1008 temperature/humidity sensor. 2020-05-05 12:20:53 -06:00
Gregory Nutt
21aef0dd68 drivers/*/Kconfig: Consolidate driver Kconfig Files.
This commit does two things:

1. First, it reorganizes the driver Kconfig files so that each is self contained.  Before, a part of the driver configuration was in drivers/Kconfig and the rest was in in drivers/xyz/Konfig.  Now, all of the driver configuration is consolitated in the latter.

2. Second, this commit correct numerous serious errors introduced in a previous reorganization of the driver Kconfig files.  This was first noted by Nicholas Chin in PR270 for the case of the drivers/i2c/Kconfig but some examination indicates that the error was introduced into several other Kconfig files as well.

The nature of the introduced error was basically this:

- Nothing must intervene between the menuconfig selection and the following conditional configuration otpions.
- A previous PR erroneously introduced unconditional options between the menuconfig and the following confditional logic, thus corrupting the driver menus.

This error was easy to make because the driver Kconfig files were not well modularized.  Making them fully self-contained should eliminate this kind of error in the future.
2020-02-15 15:19:11 +01:00
Xiang Xiao
3cb259daa6 drivers/Kconfig: Move if/endif to subfolder Kconfig
Move if/endif to subfolder Kconfig and make ARCH_HAVE_XXX option always selectable by moving out of if/endif
2020-02-08 08:04:05 -06:00
kyChu
db49e62118 Merged in kyChuGit/nuttx/aht10_sensor (pull request #1084)
add new driver support for the ASAIR AHT10 temperature and humidity sensor

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-12-02 14:36:09 +00:00
Xiang Xiao
3bc62f1ccc Change space to tab and help to ---help--- in Kconfig files. 2019-10-05 21:39:12 -06:00
Matous Pokorny
925d16b7b8 drivers/sensors/isl29023.c: Add basic driver of ISL29023 ambient light sensor. The basic driver can set operational mode, range, and resolution. It can also read lux value in continuous mode. Interrupt and the alarm is not implemented. 2019-09-04 11:26:26 -06:00
Augusto Fraga Giachero
d6ad7ebd47 drivers/sensors/adt7320.c: Add support for the ADT7320 temperature sensor. 2019-08-28 15:35:43 -06:00
Alin Jerpelea
a91d86523c Merged in alinjerpelea/nuttx (pull request #1018)
boards: cxd56xx: add SCU sensors

* drivers: platform: add Avago APDS9930 Proximity and Ambient light Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm BH1721FVC Ambient Light Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm BH1745NUC Color Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm BM1383GLV/BM1383AGLV Pressure Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm BM1422GMV/BM1422AGMV Magnetic Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Bosch BMI160 Sensor support

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Bosch BMP280 Barometic Pressure Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Kionix KX022/KX122 Acceleration Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Murata LT1PA01 Proximity and Ambient light Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: spresense: add Rohm RPR0521RS Proximity and Ambient light Sensor

    This sensor is connected to the SCU on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: sensors: bmi160: add optional I2C address

    Add a menu option for the case when the SDO pin is pulled to VDDIO

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-22 12:49:05 +00:00
Markus Bernet
1e0987a729 drivers/sensors/sht3x.c: Add Sensirion SHT3x driver. 2019-08-08 07:34:15 -06:00
Juan Flores
d2e884f43c drivers/sensors/vl53l1x.c: Added support for VL53L1X TOF sensor. 2019-07-10 07:58:20 -06:00
Alin Jerpelea
ffb4f00da9 Merged in alinjerpelea/nuttx (pull request #944)
drivers: sensors: add I2C Bosch BMP280 and I2C Asahi AK09911/AK09912 Compass Sensor

* drivers: sensors: add Bosch BMP280 Barometic Pressure Sensor

    add driver for the Bosch BMP280 barometic pressure sensor
    This sensor is connected over I2C bus

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* drivers: sensors: add Asahi AK09911/AK09912 Compass Sensor

    add driver for AK09911/AK09912 Compass sensor over I2C bus

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-07-10 11:31:36 +00:00
Gregory Nutt
c2a383ef6d drivers/sensors/vl53l1x.c: Remove the VL53L1x driver. It does not compile. 2019-06-29 06:26:49 -06:00
Gregory Nutt
4083d89244 configs/olimex-stm32-e407: Add VL53L1 support. drivers/sensors/vl53l1x.c: A few compiler errors fixed, possibly incorrectly. DRIVER DOES NOT COMPILE. Marked EXPERIMENTAL in the Kconfig file. 2019-06-28 15:45:00 -06:00
Juan Flores
f466d054a1 drivers/sensors/vl53l1x.c: Add support for VL53L1X TOF sensor. 2019-06-28 08:17:35 -06:00
Alin Jerpelea
977893d5a7 Merged in alinjerpelea/nuttx (pull request #912)
configs: spresense: enable BMI160_I2C sensor

* drivers: sensors: add BMI160 driver

    Enable driver support for the Bosch BMI160 Inertial
    Measurement sensor

    This driver can be used with the BMI160 sensor connected over
    SPI or I2C bus

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

* configs: spresense: enable BMI160_I2C sensor

    Enable BMI160 sensor connected over I2C on spresense board

    Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-06-20 13:32:36 +00:00
Fabian Justi
ff5f1945ec Merged in Justifa/nuttx (pull request #883)
Add support for AS726X spectral sensor

* configs/nucleo-l476rg/src/stm32_appinit.c Add I2C tool to board init

* configs/nucleo-l476rg/src/stm32_bmp180.c Fix comment

* configs/stm32f103-minimum/src/stm32_veml6070.c Fix name in error message

* drivers/sensor, include/nuttx/sensors and configs/nucleo-l476rg: Add support for AS726X spectral sensor

    Implement driver for AS726X spectral

    read as726x V,B,G,Y,O,R channel

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-06-05 12:50:03 +00:00
Gregory Nutt
47b6f7876e Remove spaces from Kconfig 2019-03-25 11:16:21 -06:00
Bill Gatliff
a8744defe2 drivers/sensors/mpu60x0.c: Initial support for TDK InvenSense MPU6000 and MPU6050 6-axis gyroscope and accelerometers. This commit supports SPI media only. 2019-03-07 16:50:37 -06:00
Jussi Kivilinna
d4a38a8974 Merged in jussi_kivilinna/nuttx/sensirion_drivers (pull request #809)
Drivers for Sensirion SCD30, SGP30 and SPS30 sensors

* drivers/sensors: add driver for Sensirion SCD30 CO2 sensor

* drivers/sensors: add driver for Sensirion SGP30 gas sensor

* drivers/sensors: add driver for Sensirion SPS30 particulate matter sensor

Approved-by: GregoryN <gnutt@nuttx.org>
2019-01-09 13:35:44 +00:00
Alan Carvalho de Assis
9689448d2a drivers/sensors/mlx90614.c: Add support for the Infrared Thermometer MLX90614 2018-10-28 15:58:14 -06:00
Daniel P. Carvalho
3abe871a80 drivers/sensors/ina226.c: Add INA226 device driver. 2018-10-19 09:04:56 -06:00
Ouss4
adda352b15 drivers/sensors/dhtxx.c: Driver for DHTxx sensor. 2018-09-01 07:25:30 -06:00
DisruptiveNL
cd2ced4d9a drivers/sensors and configs/nucleo-l476g: Add support for LSM303AGR and LSM6DSL sensors 2018-08-25 08:19:31 -06:00
Gregory Nutt
b8665996d5 Revert 0eff3d530f: This removes the kx224, bh1749nuc and bh1790glc. These are very nicely written drivers, but they are based on some external sequencer logic which is not available to everyone. Hence, these are inapropriate to carry in the NuttX repository. 2018-07-11 15:36:33 -06:00
Gregory Nutt
235d580984 drivers/sensors/bh1749nuc.c, bh1790glc.c, and x224.c: From review of commit 0eff3d530f, remove dependency on the CXD56_SCU, modify inclusions and some naming for compatibility with other sensor drivers. 2018-07-10 16:16:15 -06:00
Juho Valkama
0eff3d530f Merged in jutava/nuttx (pull request #673)
Master

* drivers/sensors: added drivers for kx224, bh1749nuc and bh1790glc

    They are reliant on the cxd56_scu.

* drivers/sensors: Added drivers for kx224, bh1749nuc and bh1790glc

    They are reliant on the cxd56_scu.

* drivers/sensors: Added drivers for kx224, bh1749nuc and bh1790glc

    They are reliant on the cxd56_scu.

* drivers/sensors: Added drivers for kx224, bh1749nuc and bh1790glc

    They are reliant on the cxd56_scu.

* drivers/sensors: Added drivers for kx224, bh1749nuc and bh1790glc

    They are reliant on the cxd56_scu.

* drivers/sensors: Added drivers for kx224, bh1749nuc and bh1790glc

    They are reliant on the cxd56_scu.

* bh1790glc.h created online with Bitbucket

* bh1790glc.h deleted online with Bitbucket

* drivers/sensors: Added drivers for kx224, bh1749nuc and bh1790glc

    They are reliant on the cxd56_scu.

* drivers/sensors: Added drivers for kx224, bh1749nuc and bh1790glc

    They are reliant on the cxd56_scu.

* README.txt: minor typo fix

* Minor typo fix

Approved-by: GregoryN <gnutt@nuttx.org>
2018-07-10 12:38:25 +00:00
Juha Niskanen
5b899b76c4 drivers/sensors: Add support for Telair T6713 carbon dioxide sensor 2018-06-15 06:52:16 -06:00