LibDriver AD9833
Loading...
Searching...
No Matches
ad9833 basic driver function

ad9833 basic driver modules More...

Collaboration diagram for ad9833 basic driver function:

Data Structures

struct  ad9833_handle_s
 ad9833 handle structure definition More...
struct  ad9833_info_s
 ad9833 information structure definition More...

Typedefs

typedef struct ad9833_handle_s ad9833_handle_t
 ad9833 handle structure definition
typedef struct ad9833_info_s ad9833_info_t
 ad9833 information structure definition

Enumerations

enum  ad9833_bool_t { AD9833_BOOL_FALSE = 0x00 , AD9833_BOOL_TRUE = 0x01 }
 ad9833 bool enumeration definition More...
enum  ad9833_number_t { AD9833_NUMBER_0 = 0x00 , AD9833_NUMBER_1 = 0x01 }
 ad9833 number enumeration definition More...
enum  ad9833_output_mode_t { AD9833_OUTPUT_MODE_SIN = 0x00 , AD9833_OUTPUT_MODE_TRI = 0x02 , AD9833_OUTPUT_MODE_DAC_HALF = 0x04 , AD9833_OUTPUT_MODE_DAC = 0x05 }
 ad9833 output mode enumeration definition More...

Functions

uint8_t ad9833_info (ad9833_info_t *info)
 get chip's information
uint8_t ad9833_init (ad9833_handle_t *handle)
 initialize the chip
uint8_t ad9833_deinit (ad9833_handle_t *handle)
 close the chip
uint8_t ad9833_set_used_frequency_register (ad9833_handle_t *handle, ad9833_number_t number)
 set the used frequency register
uint8_t ad9833_set_used_phase_register (ad9833_handle_t *handle, ad9833_number_t number)
 set the used phase register
uint8_t ad9833_set_frequency (ad9833_handle_t *handle, ad9833_number_t number, uint32_t freq)
 set the frequency
uint8_t ad9833_set_frequency_lsb (ad9833_handle_t *handle, ad9833_number_t number, uint16_t freq)
 set the frequency lsb
uint8_t ad9833_set_frequency_msb (ad9833_handle_t *handle, ad9833_number_t number, uint16_t freq)
 set the frequency msb
uint8_t ad9833_frequency_convert_to_register (ad9833_handle_t *handle, double hz, uint32_t *reg)
 convert the frequency to the register raw data
uint8_t ad9833_frequency_convert_to_data (ad9833_handle_t *handle, uint32_t reg, double *hz)
 convert the register raw data to frequency
uint8_t ad9833_set_phase (ad9833_handle_t *handle, ad9833_number_t number, uint16_t phase)
 set the phase
uint8_t ad9833_phase_convert_to_register (ad9833_handle_t *handle, double rad, uint16_t *reg)
 convert the phase to the register raw data
uint8_t ad9833_phase_convert_to_data (ad9833_handle_t *handle, uint16_t reg, double *rad)
 convert the register raw data to phase
uint8_t ad9833_reset (ad9833_handle_t *handle)
 reset the chip
uint8_t ad9833_set_dac_power_down (ad9833_handle_t *handle, ad9833_bool_t enable)
 enable or disable dac power down
uint8_t ad9833_set_internal_clock_disable (ad9833_handle_t *handle, ad9833_bool_t enable)
 enable or disable internal clock disable
uint8_t ad9833_set_output_mode (ad9833_handle_t *handle, ad9833_output_mode_t mode)
 set output mode

Detailed Description

ad9833 basic driver modules

Typedef Documentation

◆ ad9833_handle_t

ad9833 handle structure definition

◆ ad9833_info_t

typedef struct ad9833_info_s ad9833_info_t

ad9833 information structure definition

Enumeration Type Documentation

◆ ad9833_bool_t

ad9833 bool enumeration definition

Enumerator
AD9833_BOOL_FALSE 

disable function

AD9833_BOOL_TRUE 

enable function

Definition at line 63 of file driver_ad9833.h.

◆ ad9833_number_t

ad9833 number enumeration definition

Enumerator
AD9833_NUMBER_0 

number 0

AD9833_NUMBER_1 

number 1

Definition at line 72 of file driver_ad9833.h.

◆ ad9833_output_mode_t

ad9833 output mode enumeration definition

Enumerator
AD9833_OUTPUT_MODE_SIN 

sinusoid

AD9833_OUTPUT_MODE_TRI 

triangle

AD9833_OUTPUT_MODE_DAC_HALF 

dac half data

AD9833_OUTPUT_MODE_DAC 

dac data

Definition at line 81 of file driver_ad9833.h.

Function Documentation

◆ ad9833_deinit()

uint8_t ad9833_deinit ( ad9833_handle_t * handle)

close the chip

Parameters
[in]*handlepointer to an ad9833 handle structure
Returns
status code
  • 0 success
  • 1 spi deinit failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 power down failed
Note
none

Definition at line 165 of file driver_ad9833.c.

◆ ad9833_frequency_convert_to_data()

uint8_t ad9833_frequency_convert_to_data ( ad9833_handle_t * handle,
uint32_t reg,
double * hz )

convert the register raw data to frequency

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]regregister raw data
[out]*hzpointer to a freq hz buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 790 of file driver_ad9833.c.

◆ ad9833_frequency_convert_to_register()

uint8_t ad9833_frequency_convert_to_register ( ad9833_handle_t * handle,
double hz,
uint32_t * reg )

convert the frequency to the register raw data

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]hzfreq in hz
[out]*regpointer to a register raw buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 763 of file driver_ad9833.c.

◆ ad9833_info()

uint8_t ad9833_info ( ad9833_info_t * info)

get chip's information

Parameters
[out]*infopointer to an ad9833 info structure
Returns
status code
  • 0 success
  • 2 handle is NULL
Note
none

Definition at line 903 of file driver_ad9833.c.

◆ ad9833_init()

uint8_t ad9833_init ( ad9833_handle_t * handle)

initialize the chip

Parameters
[in]*handlepointer to an ad9833 handle structure
Returns
status code
  • 0 success
  • 1 spi initialization failed
  • 2 handle is NULL
  • 3 linked functions is NULL
  • 4 reset failed
Note
none

Definition at line 85 of file driver_ad9833.c.

◆ ad9833_phase_convert_to_data()

uint8_t ad9833_phase_convert_to_data ( ad9833_handle_t * handle,
uint16_t reg,
double * rad )

convert the register raw data to phase

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]regregister raw data
[out]*radpointer to a phase rad buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 844 of file driver_ad9833.c.

◆ ad9833_phase_convert_to_register()

uint8_t ad9833_phase_convert_to_register ( ad9833_handle_t * handle,
double rad,
uint16_t * reg )

convert the phase to the register raw data

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]radphase in rad
[out]*regpointer to a register raw buffer
Returns
status code
  • 0 success
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 817 of file driver_ad9833.c.

◆ ad9833_reset()

uint8_t ad9833_reset ( ad9833_handle_t * handle)

reset the chip

Parameters
[in]*handlepointer to an ad9833 handle structure
Returns
status code
  • 0 success
  • 1 reset failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 589 of file driver_ad9833.c.

◆ ad9833_set_dac_power_down()

uint8_t ad9833_set_dac_power_down ( ad9833_handle_t * handle,
ad9833_bool_t enable )

enable or disable dac power down

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]enablebool value
Returns
status code
  • 0 success
  • 1 set dac power down failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 637 of file driver_ad9833.c.

◆ ad9833_set_frequency()

uint8_t ad9833_set_frequency ( ad9833_handle_t * handle,
ad9833_number_t number,
uint32_t freq )

set the frequency

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]numberregister number
[in]freqfrequency of output
Returns
status code
  • 0 success
  • 1 set frequency failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 freq > 0x0FFFFFFF
Note
none

Definition at line 296 of file driver_ad9833.c.

◆ ad9833_set_frequency_lsb()

uint8_t ad9833_set_frequency_lsb ( ad9833_handle_t * handle,
ad9833_number_t number,
uint16_t freq )

set the frequency lsb

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]numberregister number
[in]freqfrequency of output
Returns
status code
  • 0 success
  • 1 set frequency lsb failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 freq > 0x3FFF
Note
none

Definition at line 385 of file driver_ad9833.c.

◆ ad9833_set_frequency_msb()

uint8_t ad9833_set_frequency_msb ( ad9833_handle_t * handle,
ad9833_number_t number,
uint16_t freq )

set the frequency msb

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]numberregister number
[in]freqfrequency of output
Returns
status code
  • 0 success
  • 1 set frequency msb failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 freq > 0x3FFF
Note
none

Definition at line 457 of file driver_ad9833.c.

◆ ad9833_set_internal_clock_disable()

uint8_t ad9833_set_internal_clock_disable ( ad9833_handle_t * handle,
ad9833_bool_t enable )

enable or disable internal clock disable

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]enablebool value
Returns
status code
  • 0 success
  • 1 set internal clock disable failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 677 of file driver_ad9833.c.

◆ ad9833_set_output_mode()

uint8_t ad9833_set_output_mode ( ad9833_handle_t * handle,
ad9833_output_mode_t mode )

set output mode

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]modeoutput mode
Returns
status code
  • 0 success
  • 1 set output mode failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 717 of file driver_ad9833.c.

◆ ad9833_set_phase()

uint8_t ad9833_set_phase ( ad9833_handle_t * handle,
ad9833_number_t number,
uint16_t phase )

set the phase

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]numberregister number
[in]phasephase of output
Returns
status code
  • 0 success
  • 1 set phase failed
  • 2 handle is NULL
  • 3 handle is not initialized
  • 4 phase > 0x0FFF
Note
none

Definition at line 529 of file driver_ad9833.c.

◆ ad9833_set_used_frequency_register()

uint8_t ad9833_set_used_frequency_register ( ad9833_handle_t * handle,
ad9833_number_t number )

set the used frequency register

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]numberregister number
Returns
status code
  • 0 success
  • 1 set used frequency register failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 214 of file driver_ad9833.c.

◆ ad9833_set_used_phase_register()

uint8_t ad9833_set_used_phase_register ( ad9833_handle_t * handle,
ad9833_number_t number )

set the used phase register

Parameters
[in]*handlepointer to an ad9833 handle structure
[in]numberregister number
Returns
status code
  • 0 success
  • 1 set used phase register failed
  • 2 handle is NULL
  • 3 handle is not initialized
Note
none

Definition at line 254 of file driver_ad9833.c.