no-OS
iio_hmc630x.h
Go to the documentation of this file.
1 /***************************************************************************/
39 #ifndef IIO_HMC630X_H
40 #define IIO_HMC630X_H
41 
42 #include "iio.h"
43 #include "hmc630x.h"
44 
46  struct hmc630x_dev *dev;
48 };
49 
52 };
53 
70 };
71 
72 int32_t hmc630x_iio_init(struct hmc630x_iio_dev **iio_dev,
74 int32_t hmc630x_iio_remove(struct hmc630x_iio_dev *desc);
75 
76 #endif
hmc630x_set_vco
int hmc630x_set_vco(struct hmc630x_dev *dev, uint64_t frequency)
Definition: hmc630x.c:749
HMC6301_IIO_ATTR_BB_ATTN2
@ HMC6301_IIO_ATTR_BB_ATTN2
Definition: iio_hmc630x.h:65
no_os_alloc.h
END_ATTRIBUTES_ARRAY
#define END_ATTRIBUTES_ARRAY
Definition: iio_types.h:122
HMC6301_IIO_ATTR_RF_LNA_GAIN
@ HMC6301_IIO_ATTR_RF_LNA_GAIN
Definition: iio_hmc630x.h:63
IIO_VAL_INT
@ IIO_VAL_INT
Definition: iio_types.h:56
iio_channel
Struct describing the scan type.
Definition: iio_types.h:174
hmc630x_remove
int hmc630x_remove(struct hmc630x_dev *dev)
Definition: hmc630x.c:260
hmc630x_init_param
Definition: hmc630x.h:299
hmc630x_read
int hmc630x_read(struct hmc630x_dev *dev, uint16_t param, uint8_t *value)
Definition: hmc630x.c:436
hmc630x_iio_init
int32_t hmc630x_iio_init(struct hmc630x_iio_dev **iiodev, struct hmc630x_iio_init_param *init_param)
Definition: iio_hmc630x.c:439
HMC630X_IIO_ATTR_VCO_AVAILABLE
@ HMC630X_IIO_ATTR_VCO_AVAILABLE
Definition: iio_hmc630x.h:58
HMC6301_IIO_ATTR_BB_HPC
@ HMC6301_IIO_ATTR_BB_HPC
Definition: iio_hmc630x.h:69
iio_ch_info
Structure holding channel attributess.
Definition: iio_types.h:109
HMC630X_COMMON_ATTRS
#define HMC630X_COMMON_ATTRS
Definition: iio_hmc630x.c:332
HMC630X_IIO_ATTR_VCO
@ HMC630X_IIO_ATTR_VCO
Definition: iio_hmc630x.h:57
hmc630x_iio_init
int32_t hmc630x_iio_init(struct hmc630x_iio_dev **iio_dev, struct hmc630x_iio_init_param *init_param)
Definition: iio_hmc630x.c:439
no_os_delay.h
Header file of Delay functions.
hmc630x_read_row
int hmc630x_read_row(struct hmc630x_dev *dev, uint8_t row, uint8_t *val)
Definition: hmc630x.c:330
device
Definition: ad9361_util.h:75
hmc6301_bb_hpc
hmc6301_bb_hpc
Definition: hmc630x.h:269
iio_channel::ch_type
enum iio_chan_type ch_type
Definition: iio_types.h:178
HMC630X_VCO_BANDSEL
#define HMC630X_VCO_BANDSEL
Definition: hmc630x.h:205
hmc6301_bb_lpc
hmc6301_bb_lpc
Definition: hmc630x.h:261
no_os_calloc
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:60
NO_OS_ARRAY_SIZE
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:55
hmc6301_bb_attn
hmc6301_bb_attn
Definition: hmc630x.h:241
hmc630x_iio_attr_id
hmc630x_iio_attr_id
Definition: iio_hmc630x.h:54
HMC6301_IIO_ATTR_BB_LPC
@ HMC6301_IIO_ATTR_BB_LPC
Definition: iio_hmc630x.h:68
hmc630x_get_temp
int hmc630x_get_temp(struct hmc630x_dev *dev, uint8_t *temp)
Definition: hmc630x.c:544
hmc6301_get_lna_gain
int hmc6301_get_lna_gain(struct hmc630x_dev *dev, enum hmc6301_lna_attn *gain)
Definition: hmc630x.c:884
hmc6301_set_bb_attn_fine
int hmc6301_set_bb_attn_fine(struct hmc630x_dev *dev, enum hmc6301_bb_attn_fine attn_i, enum hmc6301_bb_attn_fine attn_q)
Definition: hmc630x.c:940
HMC630X_IIO_ATTR_VCO_BAND
@ HMC630X_IIO_ATTR_VCO_BAND
Definition: iio_hmc630x.h:59
iio.h
Header file of iio.
no_os_error.h
Error codes definition.
iio_attribute::name
const char * name
Definition: iio_types.h:137
hmc6301_set_bb_lpc_hpc
int hmc6301_set_bb_lpc_hpc(struct hmc630x_dev *dev, enum hmc6301_bb_lpc lpc, enum hmc6301_bb_hpc hpc)
Definition: hmc630x.c:988
hmc630x.h
hmc6300 and hmc6301 device driver header.
HMC630X_IIO_ATTR_ENABLED
@ HMC630X_IIO_ATTR_ENABLED
Definition: iio_hmc630x.h:55
hmc630x_get_avail_vco
int hmc630x_get_avail_vco(struct hmc630x_dev *dev, const uint64_t **avail, uint8_t *avail_num)
Definition: hmc630x.c:858
iio_attribute
Structure holding pointers to show and store functions.
Definition: iio_types.h:135
hmc630x_dev
Definition: hmc630x.c:63
hmc630x_get_temp_en
int hmc630x_get_temp_en(struct hmc630x_dev *dev, bool *enable)
Definition: hmc630x.c:512
iio_parse_value
int32_t iio_parse_value(char *buf, enum iio_val fmt, int32_t *val, int32_t *val2)
Definition: iio.c:616
hmc6300_get_rf_attn
int hmc6300_get_rf_attn(struct hmc630x_dev *dev, uint8_t *attn)
Definition: hmc630x.c:736
hmc6300_set_rf_attn
int hmc6300_set_rf_attn(struct hmc630x_dev *dev, uint8_t attn)
Definition: hmc630x.c:721
HMC6301_IIO_ATTR_BB_ATTNI_FINE
@ HMC6301_IIO_ATTR_BB_ATTNI_FINE
Definition: iio_hmc630x.h:66
hmc630x_type
hmc630x_type
Definition: hmc630x.h:227
hmc630x_set_if_attn
int hmc630x_set_if_attn(struct hmc630x_dev *dev, uint8_t attn)
Definition: hmc630x.c:681
hmc6301_bb_attn_fine
hmc6301_bb_attn_fine
Definition: hmc630x.h:249
hmc6301_get_bb_attn
int hmc6301_get_bb_attn(struct hmc630x_dev *dev, enum hmc6301_bb_attn *attn1, enum hmc6301_bb_attn *attn2)
Definition: hmc630x.c:920
hmc630x_get_enable
int hmc630x_get_enable(struct hmc630x_dev *dev, bool *enable)
Definition: hmc630x.c:625
hmc630x_iio_remove
int32_t hmc630x_iio_remove(struct hmc630x_iio_dev *iiodev)
Definition: iio_hmc630x.c:478
hmc630x_iio_init_param::ip
struct hmc630x_init_param * ip
Definition: iio_hmc630x.h:51
iio_format_value
int iio_format_value(char *buf, uint32_t len, enum iio_val fmt, int32_t size, int32_t *vals)
Definition: iio.c:667
HMC6300
@ HMC6300
Definition: hmc630x.h:228
no_os_free
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:75
hmc630x_get_if_attn
int hmc630x_get_if_attn(struct hmc630x_dev *dev, uint8_t *attn)
Definition: hmc630x.c:701
IIO_TEMP
@ IIO_TEMP
Definition: iio_types.h:75
iio_ch_info::type
enum iio_chan_type type
Definition: iio_types.h:115
HMC630X_LOCKDET
#define HMC630X_LOCKDET
Definition: hmc630x.h:212
hmc630x_set_temp_en
int hmc630x_set_temp_en(struct hmc630x_dev *dev, bool enable)
Definition: hmc630x.c:487
HMC6300_IIO_ATTR_RF_ATTN
@ HMC6300_IIO_ATTR_RF_ATTN
Definition: iio_hmc630x.h:62
NULL
#define NULL
Definition: wrapper.h:64
hmc6301_set_lna_gain
int hmc6301_set_lna_gain(struct hmc630x_dev *dev, enum hmc6301_lna_attn gain)
Definition: hmc630x.c:871
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
iio_device
Structure holding channels and attributes of a device.
Definition: iio_types.h:253
hmc6301_get_bb_lpc_hpc
int hmc6301_get_bb_lpc_hpc(struct hmc630x_dev *dev, enum hmc6301_bb_lpc *lpc, enum hmc6301_bb_hpc *hpc)
Definition: hmc630x.c:1008
iio_hmc630x.h
Header file of hmc6300 and hmc6301 driver extension for IIOD.
hmc630x_set_enable
int hmc630x_set_enable(struct hmc630x_dev *dev, bool enable)
Definition: hmc630x.c:576
hmc630x_dev::vco
struct hmc630x_vco vco
Definition: hmc630x.c:66
hmc630x_iio_init_param
Definition: iio_hmc630x.h:50
HMC630X_IIO_ATTR_TEMP_EN
@ HMC630X_IIO_ATTR_TEMP_EN
Definition: iio_hmc630x.h:56
hmc630x_iio_dev
Definition: iio_hmc630x.h:45
hmc630x_iio_dev::dev
struct hmc630x_dev * dev
Definition: iio_hmc630x.h:46
hmc630x_init
int hmc630x_init(struct hmc630x_dev **dev, struct hmc630x_init_param *init)
Definition: hmc630x.c:115
HMC6301_IIO_ATTR_BB_ATTN1
@ HMC6301_IIO_ATTR_BB_ATTN1
Definition: iio_hmc630x.h:64
HMC6301_IIO_ATTR_BB_ATTNQ_FINE
@ HMC6301_IIO_ATTR_BB_ATTNQ_FINE
Definition: iio_hmc630x.h:67
no_os_util.h
Header file of utility functions.
HMC630X_IIO_ATTR_IF_ATTN
@ HMC630X_IIO_ATTR_IF_ATTN
Definition: iio_hmc630x.h:61
hmc630x_get_vco
int hmc630x_get_vco(struct hmc630x_dev *dev, uint64_t *frequency)
Definition: hmc630x.c:817
hmc6301_set_bb_attn
int hmc6301_set_bb_attn(struct hmc630x_dev *dev, enum hmc6301_bb_attn attn1, enum hmc6301_bb_attn attn2)
Definition: hmc630x.c:897
hmc630x_iio_dev::iio_dev
struct iio_device * iio_dev
Definition: iio_hmc630x.h:47
hmc6301_lna_attn
hmc6301_lna_attn
Definition: hmc630x.h:233
HMC630X_IIO_ATTR_VCO_LOCK
@ HMC630X_IIO_ATTR_VCO_LOCK
Definition: iio_hmc630x.h:60
hmc6301_get_bb_attn_fine
int hmc6301_get_bb_attn_fine(struct hmc630x_dev *dev, enum hmc6301_bb_attn_fine *attn_i, enum hmc6301_bb_attn_fine *attn_q)
Definition: hmc630x.c:967
hmc630x_write_row
int hmc630x_write_row(struct hmc630x_dev *dev, uint8_t row, uint8_t val)
Definition: hmc630x.c:299
iio_device::attributes
struct iio_attribute * attributes
Definition: iio_types.h:262
hmc630x_iio_remove
int32_t hmc630x_iio_remove(struct hmc630x_iio_dev *desc)
Definition: iio_hmc630x.c:478