no-OS
Loading...
Searching...
No Matches
pulsar_adc.h File Reference

Header file for pulsar_adc Driver. More...

#include <stdbool.h>
#include "spi_engine.h"
#include "clk_axi_clkgen.h"
#include "no_os_pwm.h"
#include "no_os_gpio.h"
Include dependency graph for pulsar_adc.h:

Classes

struct  pulsar_adc_dev_info
 
struct  pulsar_adc_dev
 
struct  pulsar_adc_init_param
 

Macros

#define PULSAR_ADC_READ_COMMAND   0x54
 
#define PULSAR_ADC_WRITE_COMMAND   0x14
 
#define PULSAR_ADC_RESERVED_MSK   0xE0
 
#define PULSAR_ADC_TURBO_MODE(x)
 
#define PULSAR_ADC_HIGH_Z_MODE(x)
 
#define PULSAR_ADC_SPAN_COMPRESSION(x)
 
#define PULSAR_ADC_EN_STATUS_BITS(x)
 

Enumerations

enum  pulsar_adc_supported_dev_ids {
  ID_AD4000 ,
  ID_AD4001 ,
  ID_AD4002 ,
  ID_AD4003 ,
  ID_AD4004 ,
  ID_AD4005 ,
  ID_AD4006 ,
  ID_AD4007 ,
  ID_AD4008 ,
  ID_AD4010 ,
  ID_AD4011 ,
  ID_AD4020 ,
  ID_AD4021 ,
  ID_AD4022 ,
  ID_ADAQ4003 ,
  ID_AD7690 ,
  ID_AD7691 ,
  ID_AD7693 ,
  ID_AD7942 ,
  ID_AD7944 ,
  ID_AD7946 ,
  ID_AD7980 ,
  ID_AD7982 ,
  ID_AD7983 ,
  ID_AD7984 ,
  ID_AD7985 ,
  ID_AD7986
}
 

Functions

int32_t pulsar_adc_spi_reg_read (struct pulsar_adc_dev *dev, uint8_t *reg_data)
 
int32_t pulsar_adc_spi_reg_write (struct pulsar_adc_dev *dev, uint8_t reg_data)
 
int32_t pulsar_adc_init (struct pulsar_adc_dev **device, struct pulsar_adc_init_param *init_param)
 
int32_t pulsar_adc_remove (struct pulsar_adc_dev *dev)
 Free the resources allocated by pulsar_adc_init().
 
int32_t pulsar_adc_read_data (struct pulsar_adc_dev *dev, uint32_t *buf, uint16_t samples)
 

Detailed Description

Header file for pulsar_adc 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

Macro Definition Documentation

◆ PULSAR_ADC_EN_STATUS_BITS

#define PULSAR_ADC_EN_STATUS_BITS ( x)
Value:
(((x) & 0x1) << 4)

◆ PULSAR_ADC_HIGH_Z_MODE

#define PULSAR_ADC_HIGH_Z_MODE ( x)
Value:
(((x) & 0x1) << 2)

◆ PULSAR_ADC_READ_COMMAND

#define PULSAR_ADC_READ_COMMAND   0x54

◆ PULSAR_ADC_RESERVED_MSK

#define PULSAR_ADC_RESERVED_MSK   0xE0

◆ PULSAR_ADC_SPAN_COMPRESSION

#define PULSAR_ADC_SPAN_COMPRESSION ( x)
Value:
(((x) & 0x1) << 3)

◆ PULSAR_ADC_TURBO_MODE

#define PULSAR_ADC_TURBO_MODE ( x)
Value:
(((x) & 0x1) << 1)

◆ PULSAR_ADC_WRITE_COMMAND

#define PULSAR_ADC_WRITE_COMMAND   0x14

Enumeration Type Documentation

◆ pulsar_adc_supported_dev_ids

Enumerator
ID_AD4000 
ID_AD4001 
ID_AD4002 
ID_AD4003 
ID_AD4004 
ID_AD4005 
ID_AD4006 
ID_AD4007 
ID_AD4008 
ID_AD4010 
ID_AD4011 
ID_AD4020 
ID_AD4021 
ID_AD4022 
ID_ADAQ4003 
ID_AD7690 
ID_AD7691 
ID_AD7693 
ID_AD7942 
ID_AD7944 
ID_AD7946 
ID_AD7980 
ID_AD7982 
ID_AD7983 
ID_AD7984 
ID_AD7985 
ID_AD7986 

Function Documentation

◆ pulsar_adc_init()

int32_t pulsar_adc_init ( struct pulsar_adc_dev ** device,
struct pulsar_adc_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.

◆ pulsar_adc_read_data()

int32_t pulsar_adc_read_data ( struct pulsar_adc_dev * dev,
uint32_t * buf,
uint16_t samples )

Read conversion results from device.

Parameters
dev- The device structure.
buf- Buffer to hold the conversion results data
samples- number of samples to read
Returns
0 in case of success, negative error code otherwise.

◆ pulsar_adc_remove()

int32_t pulsar_adc_remove ( struct pulsar_adc_dev * dev)

Free the resources allocated by pulsar_adc_init().

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

◆ pulsar_adc_spi_reg_read()

int32_t pulsar_adc_spi_reg_read ( struct pulsar_adc_dev * dev,
uint8_t * reg_data )

Read from device.

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

◆ pulsar_adc_spi_reg_write()

int32_t pulsar_adc_spi_reg_write ( struct pulsar_adc_dev * dev,
uint8_t reg_data )

Write to device.

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