no-OS
Loading...
Searching...
No Matches
iio_adxl355.c File Reference

Implementation of IIO ADXL355 Driver. More...

#include <stdlib.h>
#include <stdio.h>
#include "no_os_error.h"
#include "no_os_util.h"
#include "iio_adxl355.h"
#include "adxl355.h"
#include "no_os_units.h"
#include "no_os_alloc.h"
Include dependency graph for iio_adxl355.c:

Macros

#define ACCEL_AXIS_X   (uint32_t) 0
 
#define ACCEL_AXIS_Y   (uint32_t) 1
 
#define ACCEL_AXIS_Z   (uint32_t) 2
 
#define ADXL355_ACCEL_CHANNEL(index, reg, axis)
 

Enumerations

enum  adxl355_iio_accel_chans {
  chan_x ,
  chan_y ,
  chan_z
}
 

Functions

int adxl355_read_device_data (struct adxl355_dev *dev, uint8_t base_address, uint16_t size, uint8_t *read_data)
 Reads from the device.
 
int adxl355_write_device_data (struct adxl355_dev *dev, uint8_t base_address, uint16_t size, uint8_t *write_data)
 Writes to the device.
 
int adxl355_iio_init (struct adxl355_iio_dev **iio_dev, struct adxl355_iio_dev_init_param *init_param)
 Initializes the ADXL355 IIO driver.
 
int adxl355_iio_remove (struct adxl355_iio_dev *desc)
 Free the resources allocated by adxl355_iio_init().
 

Detailed Description

Implementation of IIO ADXL355 Driver.

Author
RBolboac (ramon.nosp@m.a.bo.nosp@m.lboac.nosp@m.a@an.nosp@m.alog..nosp@m.com)

Copyright 2022(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ ACCEL_AXIS_X

#define ACCEL_AXIS_X   (uint32_t) 0

◆ ACCEL_AXIS_Y

#define ACCEL_AXIS_Y   (uint32_t) 1

◆ ACCEL_AXIS_Z

#define ACCEL_AXIS_Z   (uint32_t) 2

◆ ADXL355_ACCEL_CHANNEL

#define ADXL355_ACCEL_CHANNEL ( index,
reg,
axis )
Value:
{ \
.ch_type = IIO_ACCEL, \
.channel = index, \
.address = reg, \
.modified = true, \
.channel2 = IIO_MOD_##axis, \
.scan_type = &adxl355_iio_accel_scan_type, \
.scan_index = index, \
.attributes = adxl355_iio_accel_attrs, \
.ch_out = false \
}
@ IIO_ACCEL
Definition iio_types.h:39

Enumeration Type Documentation

◆ adxl355_iio_accel_chans

Enumerator
chan_x 
chan_y 
chan_z 

Function Documentation

◆ adxl355_iio_init()

int adxl355_iio_init ( struct adxl355_iio_dev ** iio_dev,
struct adxl355_iio_dev_init_param * init_param )

Initializes the ADXL355 IIO driver.

Parameters
iio_dev- The iio device structure.
init_param- The structure that contains the device initial parameters.
Returns
ret - Result of the initialization procedure.

◆ adxl355_iio_remove()

int adxl355_iio_remove ( struct adxl355_iio_dev * desc)

Free the resources allocated by adxl355_iio_init().

Parameters
desc- The IIO device structure.
Returns
ret - Result of the remove procedure.

◆ adxl355_read_device_data()

int adxl355_read_device_data ( struct adxl355_dev * dev,
uint8_t base_address,
uint16_t size,
uint8_t * read_data )
extern

Reads from the device.

Parameters
dev- The device structure.
base_address- Address of the base register.
size- The number of bytes to be read and returned in read_data.
read_data- The read data buffer
Returns
ret - Result of the reading procedure.

◆ adxl355_write_device_data()

int adxl355_write_device_data ( struct adxl355_dev * dev,
uint8_t base_address,
uint16_t size,
uint8_t * write_data )
extern

Writes to the device.

Parameters
dev- The device structure.
base_address- Address of the base register.
size- The number of bytes to be written. It is the size of the write_data buffer.
write_data- The data which is going to be written.
Returns
ret - Result of the writing procedure.