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

Implementation of pulsar_adc Driver. More...

#include "stdio.h"
#include "stdlib.h"
#include "stdbool.h"
#include "string.h"
#include "pulsar_adc.h"
#include "spi_engine.h"
#include "no_os_error.h"
#include "no_os_alloc.h"
#include "no_os_util.h"
Include dependency graph for pulsar_adc.c:

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_read_data (struct pulsar_adc_dev *dev, uint32_t *buf, uint16_t samples)
 
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().
 

Variables

const struct pulsar_adc_dev_info pulsar_adc_devices []
 

Detailed Description

Implementation of 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

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.

Variable Documentation

◆ pulsar_adc_devices

const struct pulsar_adc_dev_info pulsar_adc_devices[]
Initial value:
= {
[ID_AD4000] = {.resolution = 16, .sign = 'u', .max_rate = 2000},
[ID_AD4001] = {.resolution = 16, .sign = 's', .max_rate = 2000},
[ID_AD4002] = {.resolution = 18, .sign = 'u', .max_rate = 2000},
[ID_AD4003] = {.resolution = 18, .sign = 's', .max_rate = 2000},
[ID_AD4004] = {.resolution = 16, .sign = 'u', .max_rate = 1000},
[ID_AD4005] = {.resolution = 16, .sign = 's', .max_rate = 1000},
[ID_AD4006] = {.resolution = 18, .sign = 'u', .max_rate = 1000},
[ID_AD4007] = {.resolution = 18, .sign = 's', .max_rate = 1000},
[ID_AD4008] = {.resolution = 16, .sign = 'u', .max_rate = 500},
[ID_AD4010] = {.resolution = 18, .sign = 'u', .max_rate = 500},
[ID_AD4011] = {.resolution = 18, .sign = 's', .max_rate = 500},
[ID_AD4020] = {.resolution = 20, .sign = 's', .max_rate = 1800},
[ID_AD4021] = {.resolution = 20, .sign = 's', .max_rate = 1000},
[ID_AD4022] = {.resolution = 20, .sign = 's', .max_rate = 500},
[ID_ADAQ4003] = {.resolution = 18, .sign = 's', .max_rate = 2000},
[ID_AD7690] = {.resolution = 18, .sign = 's', .max_rate = 400},
[ID_AD7691] = {.resolution = 18, .sign = 's', .max_rate = 250},
[ID_AD7693] = {.resolution = 16, .sign = 's', .max_rate = 500},
[ID_AD7942] = {.resolution = 14, .sign = 'u', .max_rate = 250},
[ID_AD7944] = {.resolution = 14, .sign = 'u', .max_rate = 2500},
[ID_AD7946] = {.resolution = 14, .sign = 's', .max_rate = 500},
[ID_AD7980] = {.resolution = 16, .sign = 'u', .max_rate = 1000},
[ID_AD7982] = {.resolution = 18, .sign = 's', .max_rate = 1000},
[ID_AD7983] = {.resolution = 16, .sign = 'u', .max_rate = 1330},
[ID_AD7984] = {.resolution = 18, .sign = 's', .max_rate = 1330},
[ID_AD7985] = {.resolution = 16, .sign = 'u', .max_rate = 2500},
[ID_AD7986] = {.resolution = 18, .sign = 's', .max_rate = 2000},
}
@ ID_AD4005
Definition pulsar_adc.h:40
@ ID_AD7942
Definition pulsar_adc.h:53
@ ID_AD4004
Definition pulsar_adc.h:39
@ ID_AD7693
Definition pulsar_adc.h:52
@ ID_AD7946
Definition pulsar_adc.h:55
@ ID_AD7691
Definition pulsar_adc.h:51
@ ID_AD7986
Definition pulsar_adc.h:61
@ ID_AD7982
Definition pulsar_adc.h:57
@ ID_AD4007
Definition pulsar_adc.h:42
@ ID_AD4021
Definition pulsar_adc.h:47
@ ID_AD7983
Definition pulsar_adc.h:58
@ ID_AD7985
Definition pulsar_adc.h:60
@ ID_AD4002
Definition pulsar_adc.h:37
@ ID_AD7984
Definition pulsar_adc.h:59
@ ID_AD4001
Definition pulsar_adc.h:36
@ ID_AD4020
Definition pulsar_adc.h:46
@ ID_AD7980
Definition pulsar_adc.h:56
@ ID_AD4006
Definition pulsar_adc.h:41
@ ID_AD4022
Definition pulsar_adc.h:48
@ ID_AD4011
Definition pulsar_adc.h:45
@ ID_ADAQ4003
Definition pulsar_adc.h:49
@ ID_AD4003
Definition pulsar_adc.h:38
@ ID_AD4008
Definition pulsar_adc.h:43
@ ID_AD4010
Definition pulsar_adc.h:44
@ ID_AD7944
Definition pulsar_adc.h:54
@ ID_AD4000
Definition pulsar_adc.h:35
@ ID_AD7690
Definition pulsar_adc.h:50