Ejemplo n.º 1
0
	/*OPTICAL_CHANNELS( 
            IIO_PROXIMITY,
            0,
            IIO_MOD_X,
            16,
            REGS_PS1_DATA0
            ),
	OPTICAL_CHANNELS( 
            IIO_LIGHT,
            1,
            IIO_MOD_X,
            16,
            REGS_ALS_VIS_DATA0
            ),*/
	IIO_CHAN(IIO_PROXIMITY, 1, 0, 0, NULL, 0, IIO_MOD_X,
		 (1 << IIO_CHAN_INFO_SCALE_SEPARATE),
		 REGS_PS1_DATA0,L1PH03_SCAN_PROX_X, IIO_ST('s', 16, 16, 0), 0),

	IIO_CHAN(IIO_LIGHT, 1, 0, 0, NULL, 0, IIO_MOD_X,
		 (1 << IIO_CHAN_INFO_SCALE_SEPARATE),
		 REGS_ALS_VIS_DATA0, L1PH03_SCAN_LIGHT_X , IIO_ST('s', 16, 16, 0), 0),
	IIO_CHAN_SOFT_TIMESTAMP(2)
};


static const struct optical_sensors_list optical_sensors[] = //co 1 sensor su dung lam heartRate
{
    {
        .wai = { 0x43 },
        .sensors_supported = {
            [0] = OPTICAL_DEV_NAME,
Ejemplo n.º 2
0
/* Applies to max1363 */
static const enum max1363_modes max1363_mode_list[] = {
	_s0, _s1, _s2, _s3,
	s0to1, s0to2, s0to3,
	d0m1, d2m3, d1m0, d3m2,
	d0m1to2m3, d1m0to3m2,
};

#define MAX1363_EV_M						\
	(IIO_EV_BIT(IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING)	\
	 | IIO_EV_BIT(IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING))
#define MAX1363_INFO_MASK (1 << IIO_CHAN_INFO_SCALE_SHARED)

static struct iio_chan_spec max1363_channels[] = {
	IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 0, 0, MAX1363_INFO_MASK,
		 _s0, 0, IIO_ST('u', 12, 16, 0), MAX1363_EV_M),
	IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 1, 0, MAX1363_INFO_MASK,
		 _s1, 1, IIO_ST('u', 12, 16, 0), MAX1363_EV_M),
	IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 2, 0, MAX1363_INFO_MASK,
		 _s2, 2, IIO_ST('u', 12, 16, 0), MAX1363_EV_M),
	IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 3, 0, MAX1363_INFO_MASK,
		 _s3, 3, IIO_ST('u', 12, 16, 0), MAX1363_EV_M),
	IIO_CHAN(IIO_IN_DIFF, 0, 1, 0, NULL, 0, 1, MAX1363_INFO_MASK,
		 d0m1, 4, IIO_ST('s', 12, 16, 0), MAX1363_EV_M),
	IIO_CHAN(IIO_IN_DIFF, 0, 1, 0, NULL, 2, 3, MAX1363_INFO_MASK,
		 d2m3, 5, IIO_ST('s', 12, 16, 0), MAX1363_EV_M),
	IIO_CHAN(IIO_IN_DIFF, 0, 1, 0, NULL, 1, 0, MAX1363_INFO_MASK,
		 d1m0, 6, IIO_ST('s', 12, 16, 0), MAX1363_EV_M),
	IIO_CHAN(IIO_IN_DIFF, 0, 1, 0, NULL, 3, 2, MAX1363_INFO_MASK,
		 d3m2, 7, IIO_ST('s', 12, 16, 0), MAX1363_EV_M),
	IIO_CHAN_SOFT_TIMESTAMP(8)
Ejemplo n.º 3
0
#include <linux/sysfs.h>
#include <linux/spi/spi.h>
#include <linux/regulator/consumer.h>
#include <linux/err.h>
#include <linux/delay.h>

#include "../iio.h"
#include "../sysfs.h"
#include "../ring_generic.h"
#include "adc.h"

#include "ad7298.h"

static struct iio_chan_spec ad7298_channels[] = {
    IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0,
    (1 << IIO_CHAN_INFO_SCALE_SEPARATE),
    9, AD7298_CH_TEMP, IIO_ST('s', 32, 32, 0), 0),
    IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 0, 0,
    (1 << IIO_CHAN_INFO_SCALE_SHARED),
    0, 0, IIO_ST('u', 12, 16, 0), 0),
    IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 1, 0,
    (1 << IIO_CHAN_INFO_SCALE_SHARED),
    1, 1, IIO_ST('u', 12, 16, 0), 0),
    IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 2, 0,
    (1 << IIO_CHAN_INFO_SCALE_SHARED),
    2, 2, IIO_ST('u', 12, 16, 0), 0),
    IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 3, 0,
    (1 << IIO_CHAN_INFO_SCALE_SHARED),
    3, 3, IIO_ST('u', 12, 16, 0), 0),
    IIO_CHAN(IIO_IN, 0, 1, 0, NULL, 4, 0,
    (1 << IIO_CHAN_INFO_SCALE_SHARED),