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

Implementation of ADAQ8092 Driver. More...

#include <stdlib.h>
#include <errno.h>
#include "adaq8092.h"
#include "no_os_delay.h"
#include "no_os_alloc.h"
Include dependency graph for adaq8092.c:

Functions

int adaq8092_read (struct adaq8092_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
 Read device register.
 
int adaq8092_write (struct adaq8092_dev *dev, uint8_t reg_addr, uint8_t reg_data)
 Write device register.
 
int adaq8092_update_bits (struct adaq8092_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t reg_data)
 Update specific register bits.
 
int adaq8092_init (struct adaq8092_dev **device, struct adaq8092_init_param init_param)
 Initialize the device.
 
int adaq8092_remove (struct adaq8092_dev *dev)
 Remove the device and release resources.
 
int adaq8092_set_pd_mode (struct adaq8092_dev *dev, enum adaq8092_powerdown_modes mode)
 Set the device powerodown mode.
 
enum adaq8092_powerdown_modes adaq8092_get_pd_mode (struct adaq8092_dev *dev)
 Get the device powerdown mode.
 
int adaq8092_set_clk_pol_mode (struct adaq8092_dev *dev, enum adaq8092_clk_invert mode)
 Set the clock polarity mode.
 
enum adaq8092_clk_invert adaq8092_get_clk_pol_mode (struct adaq8092_dev *dev)
 Get the clock polarity mode.
 
int adaq8092_set_clk_phase_mode (struct adaq8092_dev *dev, enum adaq8092_clk_phase_delay mode)
 Set the clock phase delay mode.
 
enum adaq8092_clk_phase_delay adaq8092_get_clk_phase_mode (struct adaq8092_dev *dev)
 Get the clock phase delay mode.
 
int adaq8092_set_clk_dc_mode (struct adaq8092_dev *dev, enum adaq8092_clk_dutycycle mode)
 Set the clock duty cycle stabilizer mode.
 
enum adaq8092_clk_dutycycle adaq8092_get_clk_dc_mode (struct adaq8092_dev *dev)
 Get the clock duty cycle stabilizer mode.
 
int adaq8092_set_lvds_cur_mode (struct adaq8092_dev *dev, enum adaq8092_lvds_out_current mode)
 Set the LVDS output current mode.
 
enum adaq8092_lvds_out_current adaq8092_get_lvds_cur_mode (struct adaq8092_dev *dev)
 Get the LVDS output current mode.
 
int adaq8092_set_lvds_term_mode (struct adaq8092_dev *dev, enum adaq8092_internal_term mode)
 Set the LVDS internal temination mode.
 
enum adaq8092_internal_term adaq8092_get_lvds_term_mode (struct adaq8092_dev *dev)
 Get the LVDS internal temination device mode.
 
int adaq8092_set_dout_en (struct adaq8092_dev *dev, enum adaq8092_dout_enable mode)
 Set digital outputs.
 
enum adaq8092_dout_enable adaq8092_get_dout_en (struct adaq8092_dev *dev)
 Get digital outputs.
 
int adaq8092_set_dout_mode (struct adaq8092_dev *dev, enum adaq8092_dout_modes mode)
 Set the digital output mode.
 
enum adaq8092_dout_modes adaq8092_get_dout_mode (struct adaq8092_dev *dev)
 Get the digital output mode.
 
int adaq8092_set_test_mode (struct adaq8092_dev *dev, enum adaq8092_out_test_modes mode)
 Set digital output test pattern mode.
 
enum adaq8092_out_test_modes adaq8092_get_test_mode (struct adaq8092_dev *dev)
 Get digital output test pattern mode.
 
int adaq8092_set_alt_pol_en (struct adaq8092_dev *dev, enum adaq8092_alt_bit_pol mode)
 Set the alternate bit polarity mode.
 
enum adaq8092_alt_bit_pol adaq8092_get_alt_pol_en (struct adaq8092_dev *dev)
 Get the alternate bit polarity mode.
 
int adaq8092_set_data_rand_en (struct adaq8092_dev *dev, enum adaq8092_data_rand mode)
 Set the data output randomizer mode.
 
enum adaq8092_data_rand adaq8092_get_data_rand_en (struct adaq8092_dev *dev)
 Get the data output randomizer mode.
 
int adaq8092_set_twos_comp (struct adaq8092_dev *dev, enum adaq8092_twoscomp mode)
 Set the Tows Complement mode.
 
enum adaq8092_twoscomp adaq8092_get_twos_comp (struct adaq8092_dev *dev)
 Get the Tows Complement mode.
 

Detailed Description

Implementation of ADAQ8092 Driver.

Author
Antoniu Miclaus (anton.nosp@m.iu.m.nosp@m.iclau.nosp@m.s@an.nosp@m.alog..nosp@m.com)

Copyright 2022(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ adaq8092_get_alt_pol_en()

enum adaq8092_alt_bit_pol adaq8092_get_alt_pol_en ( struct adaq8092_dev * dev)

Get the alternate bit polarity mode.

Parameters
dev- The device structure.
Returns
alternate bit polarity mode.

◆ adaq8092_get_clk_dc_mode()

enum adaq8092_clk_dutycycle adaq8092_get_clk_dc_mode ( struct adaq8092_dev * dev)

Get the clock duty cycle stabilizer mode.

Parameters
dev- The device structure.
Returns
clock duty cycle stabilizer mode.

◆ adaq8092_get_clk_phase_mode()

enum adaq8092_clk_phase_delay adaq8092_get_clk_phase_mode ( struct adaq8092_dev * dev)

Get the clock phase delay mode.

Parameters
dev- The device structure.
Returns
clock phase delay mode.

◆ adaq8092_get_clk_pol_mode()

enum adaq8092_clk_invert adaq8092_get_clk_pol_mode ( struct adaq8092_dev * dev)

Get the clock polarity mode.

Parameters
dev- The device structure.
Returns
clock polarity mode.

◆ adaq8092_get_data_rand_en()

enum adaq8092_data_rand adaq8092_get_data_rand_en ( struct adaq8092_dev * dev)

Get the data output randomizer mode.

Parameters
dev- The device structure.
Returns
data output randomizer mode.

◆ adaq8092_get_dout_en()

enum adaq8092_dout_enable adaq8092_get_dout_en ( struct adaq8092_dev * dev)

Get digital outputs.

Parameters
dev- The device structure.
Returns
digital outputs.

◆ adaq8092_get_dout_mode()

enum adaq8092_dout_modes adaq8092_get_dout_mode ( struct adaq8092_dev * dev)

Get the digital output mode.

Parameters
dev- The device structure.
Returns
digital output mode.

◆ adaq8092_get_lvds_cur_mode()

enum adaq8092_lvds_out_current adaq8092_get_lvds_cur_mode ( struct adaq8092_dev * dev)

Get the LVDS output current mode.

Parameters
dev- The device structure.
Returns
LVDS output current mode.

◆ adaq8092_get_lvds_term_mode()

enum adaq8092_internal_term adaq8092_get_lvds_term_mode ( struct adaq8092_dev * dev)

Get the LVDS internal temination device mode.

Parameters
dev- The device structure.
Returns
LVDS internal temination device mode.

◆ adaq8092_get_pd_mode()

enum adaq8092_powerdown_modes adaq8092_get_pd_mode ( struct adaq8092_dev * dev)

Get the device powerdown mode.

Parameters
dev- The device structure.
Returns
powerdown mode.

◆ adaq8092_get_test_mode()

enum adaq8092_out_test_modes adaq8092_get_test_mode ( struct adaq8092_dev * dev)

Get digital output test pattern mode.

Parameters
dev- The device structure.
Returns
digital output test pattern mode.

◆ adaq8092_get_twos_comp()

enum adaq8092_twoscomp adaq8092_get_twos_comp ( struct adaq8092_dev * dev)

Get the Tows Complement mode.

Parameters
dev- The device structure.
Returns
Tows Complement mode.

◆ adaq8092_init()

int adaq8092_init ( struct adaq8092_dev ** device,
struct adaq8092_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.

◆ adaq8092_read()

int adaq8092_read ( struct adaq8092_dev * dev,
uint8_t reg_addr,
uint8_t * reg_data )

Read device register.

Parameters
dev- The device structure.
reg_addr- The register address.
reg_data- The data read from the register.
Returns
0 in case of success, negative error code otherwise.

◆ adaq8092_remove()

int adaq8092_remove ( struct adaq8092_dev * dev)

Remove the device and release resources.

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

◆ adaq8092_set_alt_pol_en()

int adaq8092_set_alt_pol_en ( struct adaq8092_dev * dev,
enum adaq8092_alt_bit_pol mode )

Set the alternate bit polarity mode.

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

◆ adaq8092_set_clk_dc_mode()

int adaq8092_set_clk_dc_mode ( struct adaq8092_dev * dev,
enum adaq8092_clk_dutycycle mode )

Set the clock duty cycle stabilizer mode.

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

◆ adaq8092_set_clk_phase_mode()

int adaq8092_set_clk_phase_mode ( struct adaq8092_dev * dev,
enum adaq8092_clk_phase_delay mode )

Set the clock phase delay mode.

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

◆ adaq8092_set_clk_pol_mode()

int adaq8092_set_clk_pol_mode ( struct adaq8092_dev * dev,
enum adaq8092_clk_invert mode )

Set the clock polarity mode.

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

◆ adaq8092_set_data_rand_en()

int adaq8092_set_data_rand_en ( struct adaq8092_dev * dev,
enum adaq8092_data_rand mode )

Set the data output randomizer mode.

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

◆ adaq8092_set_dout_en()

int adaq8092_set_dout_en ( struct adaq8092_dev * dev,
enum adaq8092_dout_enable mode )

Set digital outputs.

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

◆ adaq8092_set_dout_mode()

int adaq8092_set_dout_mode ( struct adaq8092_dev * dev,
enum adaq8092_dout_modes mode )

Set the digital output mode.

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

◆ adaq8092_set_lvds_cur_mode()

int adaq8092_set_lvds_cur_mode ( struct adaq8092_dev * dev,
enum adaq8092_lvds_out_current mode )

Set the LVDS output current mode.

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

◆ adaq8092_set_lvds_term_mode()

int adaq8092_set_lvds_term_mode ( struct adaq8092_dev * dev,
enum adaq8092_internal_term mode )

Set the LVDS internal temination mode.

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

◆ adaq8092_set_pd_mode()

int adaq8092_set_pd_mode ( struct adaq8092_dev * dev,
enum adaq8092_powerdown_modes mode )

Set the device powerodown mode.

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

◆ adaq8092_set_test_mode()

int adaq8092_set_test_mode ( struct adaq8092_dev * dev,
enum adaq8092_out_test_modes mode )

Set digital output test pattern mode.

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

◆ adaq8092_set_twos_comp()

int adaq8092_set_twos_comp ( struct adaq8092_dev * dev,
enum adaq8092_twoscomp mode )

Set the Tows Complement mode.

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

◆ adaq8092_update_bits()

int adaq8092_update_bits ( struct adaq8092_dev * dev,
uint8_t reg_addr,
uint8_t mask,
uint8_t reg_data )

Update specific register bits.

Parameters
dev- The device structure.
reg_addr- The register address.
mask- Specific bits mask.
reg_data- The data to be written.
Returns
0 in case of success, negative error code otherwise.

◆ adaq8092_write()

int adaq8092_write ( struct adaq8092_dev * dev,
uint8_t reg_addr,
uint8_t reg_data )

Write device register.

Parameters
dev-The device structure.
reg_addr- The register address.
reg_data- The data to be written.
Returns
0 in case of success, negative error code otherwise.