no-OS
Functions
adgs1408.c File Reference

Implementation of ADGS1408 Driver. More...

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include "adgs1408.h"
#include "no_os_error.h"
#include "no_os_alloc.h"
Include dependency graph for adgs1408.c:

Functions

uint8_t adgs1408_compute_crc8 (uint8_t *data, uint8_t data_size)
 
int32_t adgs1408_spi_reg_read (struct adgs1408_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
 
int32_t adgs1408_spi_reg_write (struct adgs1408_dev *dev, uint8_t reg_addr, uint8_t reg_data)
 
int32_t adgs1408_spi_reg_write_mask (struct adgs1408_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
 
int32_t adgs1408_do_soft_reset (struct adgs1408_dev *dev)
 
int32_t adgs1408_clear_err_flags (struct adgs1408_dev *dev)
 
int32_t adgs1408_enter_daisy_chain (struct adgs1408_dev *dev)
 
int32_t adgs1408_send_daisy_chain_cmds (struct adgs1408_dev *dev, uint8_t *cmds, uint8_t cmds_size)
 
int32_t adgs1408_enter_round_robin (struct adgs1408_dev *dev)
 
int32_t adgs1408_configure_round_robin (struct adgs1408_dev *dev, uint8_t cnv_polarity)
 
int32_t adgs1408_exit_round_robin (struct adgs1408_dev *dev)
 
int32_t adgs1408_init (struct adgs1408_dev **device, struct adgs1408_init_param init_param)
 
int32_t adgs1408_remove (struct adgs1408_dev *dev)
 Free the resources allocated by adgs1408_init(). More...
 

Detailed Description

Implementation of ADGS1408 Driver.

Author
Mircea Caprioru (mirce.nosp@m.a.ca.nosp@m.prior.nosp@m.u@an.nosp@m.alog..nosp@m.com)

Copyright 2018(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

◆ adgs1408_clear_err_flags()

int32_t adgs1408_clear_err_flags ( struct adgs1408_dev dev)

Clear the Error Flags Register.

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.

◆ adgs1408_compute_crc8()

uint8_t adgs1408_compute_crc8 ( uint8_t *  data,
uint8_t  data_size 
)

Compute CRC8 checksum.

Parameters
data- The data buffer.
data_size- The size of the data buffer.
Returns
CRC8 checksum.
Here is the caller graph for this function:

◆ adgs1408_configure_round_robin()

int32_t adgs1408_configure_round_robin ( struct adgs1408_dev dev,
uint8_t  cnv_polarity 
)

Configure Round Robin Mode.

Parameters
dev- The device structure.
cnv_polarity- The CNV pin polarity.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ adgs1408_do_soft_reset()

int32_t adgs1408_do_soft_reset ( struct adgs1408_dev dev)

Do a software reset.

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ adgs1408_enter_daisy_chain()

int32_t adgs1408_enter_daisy_chain ( struct adgs1408_dev dev)

Enter Daisy-Chain Mode.

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ adgs1408_enter_round_robin()

int32_t adgs1408_enter_round_robin ( struct adgs1408_dev dev)

Enter Round Robin Mode.

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ adgs1408_exit_round_robin()

int32_t adgs1408_exit_round_robin ( struct adgs1408_dev dev)

Exit Round Robin Mode.

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.

◆ adgs1408_init()

int32_t adgs1408_init ( struct adgs1408_dev **  device,
struct adgs1408_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.

◆ adgs1408_remove()

int32_t adgs1408_remove ( struct adgs1408_dev dev)

Free the resources allocated by adgs1408_init().

Parameters
dev- The device structure.
Returns
0 in case of success, negative error code otherwise.

◆ adgs1408_send_daisy_chain_cmds()

int32_t adgs1408_send_daisy_chain_cmds ( struct adgs1408_dev dev,
uint8_t *  cmds,
uint8_t  cmds_size 
)

Send Daisy-Chain commands.

Parameters
dev- The device structure.
cmds- The commands to be sent.
cmds_size- The number of commands.
Returns
0 in case of success, negative error code otherwise.

◆ adgs1408_spi_reg_read()

int32_t adgs1408_spi_reg_read ( struct adgs1408_dev dev,
uint8_t  reg_addr,
uint8_t *  reg_data 
)

SPI register read from device.

Parameters
dev- The device structure.
reg_addr- The register address.
reg_data- The register data.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ adgs1408_spi_reg_write()

int32_t adgs1408_spi_reg_write ( struct adgs1408_dev dev,
uint8_t  reg_addr,
uint8_t  reg_data 
)

SPI register write to device.

Parameters
dev- The device structure.
reg_addr- The register address.
reg_data- The register data.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ adgs1408_spi_reg_write_mask()

int32_t adgs1408_spi_reg_write_mask ( struct adgs1408_dev dev,
uint8_t  reg_addr,
uint8_t  mask,
uint8_t  data 
)

SPI internal register write to device using a mask.

Parameters
dev- The device structure.
reg_addr- The register address.
mask- The mask.
data- The register data.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function: