no-OS
Functions
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. More...
 
int32_t adxrs290_reg_write (struct adxrs290_dev *dev, uint8_t address, uint8_t data)
 Write device register. More...
 
int32_t adxrs290_set_op_mode (struct adxrs290_dev *dev, enum adxrs290_mode mode)
 Set device operation mode. More...
 
int32_t adxrs290_get_lpf (struct adxrs290_dev *dev, enum adxrs290_lpf *lpf)
 Get the low-pass filter pole location. More...
 
int32_t adxrs290_set_lpf (struct adxrs290_dev *dev, enum adxrs290_lpf lpf)
 Set the low-pass filter pole location. More...
 
int32_t adxrs290_get_hpf (struct adxrs290_dev *dev, enum adxrs290_hpf *hpf)
 Get the high-pass filter pole location. More...
 
int32_t adxrs290_set_hpf (struct adxrs290_dev *dev, enum adxrs290_hpf hpf)
 Set the low-pass filter pole location. More...
 
int32_t adxrs290_get_rate_data (struct adxrs290_dev *dev, enum adxrs290_channel ch, int16_t *rate)
 Get the Gyro data channels. More...
 
int32_t adxrs290_get_temp_data (struct adxrs290_dev *dev, int16_t *temp)
 Get the temperature data. More...
 
int32_t adxrs290_get_burst_data (struct adxrs290_dev *dev, int16_t *burst_data, uint8_t *ch_cnt)
 Get the burst data. More...
 
int32_t adxrs290_set_active_channels (struct adxrs290_dev *dev, uint32_t mask)
 Set the ADXRS290 active channels. More...
 
int32_t adxrs290_get_data_ready (struct adxrs290_dev *dev, bool *rdy)
 Get the state of data ready. More...
 
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(). More...
 

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.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

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.
Here is the caller graph for this function:

◆ 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.
Here is the caller graph for this function:

◆ 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.
Here is the caller graph for this function:

◆ 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.
Here is the caller graph for this function:

◆ 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.
Here is the caller graph for this function:

◆ 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.