no-OS
Classes | Macros | Typedefs | Functions
ad9208.h File Reference

Header file of AD9208 Driver. More...

#include <stdbool.h>
#include <stddef.h>
#include <string.h>
#include "ad9208_api.h"
#include "ad9208_reg.h"
#include "no_os_gpio.h"
#include "no_os_spi.h"
#include "no_os_delay.h"
Include dependency graph for ad9208.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ad9208_ddc
 
struct  ad9208_dev
 
struct  ad9208_state
 
struct  ad9208_init_param
 

Macros

#define AD9208_FULL_BANDWIDTH_MODE   0
 
#define AD9208_1_DDC_MODE   1
 
#define AD9208_2_DDC_MODE   2
 
#define AD9208_4_DDC_MODE   4
 
#define AD9208_SYSREF_NONE   0 /* No SYSREF Support */
 
#define AD9208_SYSREF_ONESHOT   1 /* ONE-SHOT SYSREF */
 
#define AD9208_SYSREF_CONT   2 /* Continuous Sysref Synchronisation */
 
#define AD9208_SYSREF_MON   3 /* SYSREF monitor Mode */
 
#define AD9208_NCO_MODE_VIF   0 /* Variable IF Mode */
 
#define AD9208_NCO_MODE_ZIF   1 /* Zero IF Mode */
 
#define AD9208_NCO_MODE_TEST   3 /* Test Mode*/
 
#define AD9208_BUFF_CURR_400_UA   0x4 /* Buffer Current set to 400 uA */
 
#define AD9208_BUFF_CURR_500_UA   0x9 /* Buffer Current set to 500 uA */
 
#define AD9208_BUFF_CURR_600_UA   0x1E /* Buffer Current set to 600 uA */
 
#define AD9208_BUFF_CURR_700_UA   0x23 /* Buffer Current set to 700 uA */
 
#define AD9208_BUFF_CURR_800_UA   0x28 /* Buffer Current set to 800 uA */
 
#define AD9208_BUFF_CURR_1000_UA   0x32 /* Buffer Current set to 1000 uA */
 
#define AD9208_CHIP_TYPE   0x03
 
#define AD9208_CHIP_ID   0xDF
 

Typedefs

typedef struct ad9208_dev ad9208_dev
 
typedef struct ad9208_init_param ad9208_init_param
 

Functions

int32_t ad9208_initialize (ad9208_dev **device, ad9208_init_param *init_param)
 
int32_t ad9208_remove (ad9208_dev *device)
 

Detailed Description

Header file of AD9208 Driver.

AD9208 API interface header file.

Author
Stefan Popa (stefa.nosp@m.n.po.nosp@m.pa@an.nosp@m.alog.nosp@m..com)

Copyright 2019(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, 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.

This file contains all the publicly exposed methods and data structures to interface with the AD9208 API.

Release 1.0.X

Copyright(c) 2017 Analog Devices, Inc. All Rights Reserved. This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

Macro Definition Documentation

◆ AD9208_1_DDC_MODE

#define AD9208_1_DDC_MODE   1

◆ AD9208_2_DDC_MODE

#define AD9208_2_DDC_MODE   2

◆ AD9208_4_DDC_MODE

#define AD9208_4_DDC_MODE   4

◆ AD9208_BUFF_CURR_1000_UA

#define AD9208_BUFF_CURR_1000_UA   0x32 /* Buffer Current set to 1000 uA */

◆ AD9208_BUFF_CURR_400_UA

#define AD9208_BUFF_CURR_400_UA   0x4 /* Buffer Current set to 400 uA */

◆ AD9208_BUFF_CURR_500_UA

#define AD9208_BUFF_CURR_500_UA   0x9 /* Buffer Current set to 500 uA */

◆ AD9208_BUFF_CURR_600_UA

#define AD9208_BUFF_CURR_600_UA   0x1E /* Buffer Current set to 600 uA */

◆ AD9208_BUFF_CURR_700_UA

#define AD9208_BUFF_CURR_700_UA   0x23 /* Buffer Current set to 700 uA */

◆ AD9208_BUFF_CURR_800_UA

#define AD9208_BUFF_CURR_800_UA   0x28 /* Buffer Current set to 800 uA */

◆ AD9208_CHIP_ID

#define AD9208_CHIP_ID   0xDF

◆ AD9208_CHIP_TYPE

#define AD9208_CHIP_TYPE   0x03

◆ AD9208_FULL_BANDWIDTH_MODE

#define AD9208_FULL_BANDWIDTH_MODE   0

◆ AD9208_NCO_MODE_TEST

#define AD9208_NCO_MODE_TEST   3 /* Test Mode*/

◆ AD9208_NCO_MODE_VIF

#define AD9208_NCO_MODE_VIF   0 /* Variable IF Mode */

◆ AD9208_NCO_MODE_ZIF

#define AD9208_NCO_MODE_ZIF   1 /* Zero IF Mode */

◆ AD9208_SYSREF_CONT

#define AD9208_SYSREF_CONT   2 /* Continuous Sysref Synchronisation */

◆ AD9208_SYSREF_MON

#define AD9208_SYSREF_MON   3 /* SYSREF monitor Mode */

◆ AD9208_SYSREF_NONE

#define AD9208_SYSREF_NONE   0 /* No SYSREF Support */

◆ AD9208_SYSREF_ONESHOT

#define AD9208_SYSREF_ONESHOT   1 /* ONE-SHOT SYSREF */

Typedef Documentation

◆ ad9208_dev

typedef struct ad9208_dev ad9208_dev

◆ ad9208_init_param

Function Documentation

◆ ad9208_initialize()

int32_t ad9208_initialize ( ad9208_dev **  device,
ad9208_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.
Here is the caller graph for this function:

◆ ad9208_remove()

int32_t ad9208_remove ( ad9208_dev device)
Here is the caller graph for this function: