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

Implementation of ADXRS290 Driver. More...

#include <stdint.h>
#include <string.h>
#include "no_os_error.h"
#include "no_os_alloc.h"
#include "adxrs290.h"
Include dependency graph for adxrs290.c:

Functions

int32_t adxrs290_reg_read (struct adxrs290_dev *dev, uint8_t address, uint8_t *data)
 Read device register.
 
int32_t adxrs290_reg_write (struct adxrs290_dev *dev, uint8_t address, uint8_t data)
 Write device register.
 
int32_t adxrs290_set_op_mode (struct adxrs290_dev *dev, enum adxrs290_mode mode)
 Set device operation mode.
 
int32_t adxrs290_get_lpf (struct adxrs290_dev *dev, enum adxrs290_lpf *lpf)
 Get the low-pass filter pole location.
 
int32_t adxrs290_set_lpf (struct adxrs290_dev *dev, enum adxrs290_lpf lpf)
 Set the low-pass filter pole location.
 
int32_t adxrs290_get_hpf (struct adxrs290_dev *dev, enum adxrs290_hpf *hpf)
 Get the high-pass filter pole location.
 
int32_t adxrs290_set_hpf (struct adxrs290_dev *dev, enum adxrs290_hpf hpf)
 Set the low-pass filter pole location.
 
int32_t adxrs290_get_rate_data (struct adxrs290_dev *dev, enum adxrs290_channel ch, int16_t *rate)
 Get the Gyro data channels.
 
int32_t adxrs290_get_temp_data (struct adxrs290_dev *dev, int16_t *temp)
 Get the temperature data.
 
int32_t adxrs290_get_burst_data (struct adxrs290_dev *dev, int16_t *burst_data, uint8_t *ch_cnt)
 Get the burst data.
 
int32_t adxrs290_set_active_channels (struct adxrs290_dev *dev, uint32_t mask)
 Set the ADXRS290 active channels.
 
int32_t adxrs290_get_data_ready (struct adxrs290_dev *dev, bool *rdy)
 Get the state of data ready.
 
int32_t adxrs290_init (struct adxrs290_dev **device, const struct adxrs290_init_param *init_param)
 
int32_t adxrs290_remove (struct adxrs290_dev *dev)
 Free memory allocated by adxrs290_setup().
 

Detailed Description

Implementation of ADXRS290 Driver.

Author
Kister Genesis Jimenez (kiste.nosp@m.r.ji.nosp@m.menez.nosp@m.@ana.nosp@m.log.c.nosp@m.om)

Copyright 2020(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ adxrs290_get_burst_data()

int32_t adxrs290_get_burst_data ( struct adxrs290_dev * dev,
int16_t * burst_data,
uint8_t * ch_cnt )

Get the burst data.

Parameters
dev- Device handler.
burst_data- Pointer to data value.
ch_cnt- Number of active channels.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_get_data_ready()

int32_t adxrs290_get_data_ready ( struct adxrs290_dev * dev,
bool * rdy )

Get the state of data ready.

Parameters
dev- Device handler.
rdy- Pointer to state of data.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_get_hpf()

int32_t adxrs290_get_hpf ( struct adxrs290_dev * dev,
enum adxrs290_hpf * hpf )

Get the high-pass filter pole location.

Parameters
dev- Device handler.
hpf- Pointer to high-pass pole location container.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_get_lpf()

int32_t adxrs290_get_lpf ( struct adxrs290_dev * dev,
enum adxrs290_lpf * lpf )

Get the low-pass filter pole location.

Parameters
dev- Device handler.
lpf- Pointer to Low-pass pole location container.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_get_rate_data()

int32_t adxrs290_get_rate_data ( struct adxrs290_dev * dev,
enum adxrs290_channel ch,
int16_t * rate )

Get the Gyro data channels.

Parameters
dev- Device handler.
ch- Channel to read.
rate- Pointer to rate value.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_get_temp_data()

int32_t adxrs290_get_temp_data ( struct adxrs290_dev * dev,
int16_t * temp )

Get the temperature data.

Parameters
dev- Device handler.
temp- Pointer to temperature value.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_init()

int32_t adxrs290_init ( struct adxrs290_dev ** device,
const struct adxrs290_init_param * init_param )

Initialize the device.

Parameters
device- The device structure.
init_param- The structure that contains the device initial parameters.
Returns
0 in case of success, negative error code otherwise.

◆ adxrs290_reg_read()

int32_t adxrs290_reg_read ( struct adxrs290_dev * dev,
uint8_t address,
uint8_t * data )

Read device register.

Parameters
dev- Device handler.
address- Register address.
data- Pointer to the register value container.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_reg_write()

int32_t adxrs290_reg_write ( struct adxrs290_dev * dev,
uint8_t address,
uint8_t data )

Write device register.

Parameters
dev- Device handler.
address- Register address.
data- New register value.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_remove()

int32_t adxrs290_remove ( struct adxrs290_dev * dev)

Free memory allocated by adxrs290_setup().

Parameters
dev- Device handler.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_set_active_channels()

int32_t adxrs290_set_active_channels ( struct adxrs290_dev * dev,
uint32_t mask )

Set the ADXRS290 active channels.

Parameters
dev- Device handler.
mask- Mask for active channels.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_set_hpf()

int32_t adxrs290_set_hpf ( struct adxrs290_dev * dev,
enum adxrs290_hpf hpf )

Set the low-pass filter pole location.

Parameters
dev- Device handler.
hpf- High-pass pole location.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_set_lpf()

int32_t adxrs290_set_lpf ( struct adxrs290_dev * dev,
enum adxrs290_lpf lpf )

Set the low-pass filter pole location.

Parameters
dev- Device handler.
lpf- Low-pass pole location.
Returns
0 in case of success, -1 otherwise.

◆ adxrs290_set_op_mode()

int32_t adxrs290_set_op_mode ( struct adxrs290_dev * dev,
enum adxrs290_mode mode )

Set device operation mode.

Parameters
dev- Device handler.
mode- mode of operation.
Returns
0 in case of success, -1 otherwise.