no-OS
Loading...
Searching...
No Matches
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().
 

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.

SPDX-License-Identifier: BSD-3-Clause

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.

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

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

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

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

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

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

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