no-OS
iio_hmc630x.h
Go to the documentation of this file.
1 /***************************************************************************/
33 #ifndef IIO_HMC630X_H
34 #define IIO_HMC630X_H
35 
36 #include "iio.h"
37 #include "hmc630x.h"
38 
40  struct hmc630x_dev *dev;
42 };
43 
46 };
47 
64 };
65 
66 int32_t hmc630x_iio_init(struct hmc630x_iio_dev **iio_dev,
68 int32_t hmc630x_iio_remove(struct hmc630x_iio_dev *desc);
69 
70 #endif
hmc630x_set_vco
int hmc630x_set_vco(struct hmc630x_dev *dev, uint64_t frequency)
Definition: hmc630x.c:743
HMC6301_IIO_ATTR_BB_ATTN2
@ HMC6301_IIO_ATTR_BB_ATTN2
Definition: iio_hmc630x.h:59
no_os_alloc.h
END_ATTRIBUTES_ARRAY
#define END_ATTRIBUTES_ARRAY
Definition: iio_types.h:116
HMC6301_IIO_ATTR_RF_LNA_GAIN
@ HMC6301_IIO_ATTR_RF_LNA_GAIN
Definition: iio_hmc630x.h:57
IIO_VAL_INT
@ IIO_VAL_INT
Definition: iio_types.h:50
iio_channel
Struct describing the scan type.
Definition: iio_types.h:168
hmc630x_remove
int hmc630x_remove(struct hmc630x_dev *dev)
Definition: hmc630x.c:254
hmc630x_init_param
Definition: hmc630x.h:293
hmc630x_read
int hmc630x_read(struct hmc630x_dev *dev, uint16_t param, uint8_t *value)
Definition: hmc630x.c:430
hmc630x_iio_init
int32_t hmc630x_iio_init(struct hmc630x_iio_dev **iiodev, struct hmc630x_iio_init_param *init_param)
Definition: iio_hmc630x.c:433
HMC630X_IIO_ATTR_VCO_AVAILABLE
@ HMC630X_IIO_ATTR_VCO_AVAILABLE
Definition: iio_hmc630x.h:52
HMC6301_IIO_ATTR_BB_HPC
@ HMC6301_IIO_ATTR_BB_HPC
Definition: iio_hmc630x.h:63
iio_ch_info
Structure holding channel attributess.
Definition: iio_types.h:103
HMC630X_COMMON_ATTRS
#define HMC630X_COMMON_ATTRS
Definition: iio_hmc630x.c:326
HMC630X_IIO_ATTR_VCO
@ HMC630X_IIO_ATTR_VCO
Definition: iio_hmc630x.h:51
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:433
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:324
device
Definition: ad9361_util.h:69
hmc6301_bb_hpc
hmc6301_bb_hpc
Definition: hmc630x.h:263
iio_channel::ch_type
enum iio_chan_type ch_type
Definition: iio_types.h:172
HMC630X_VCO_BANDSEL
#define HMC630X_VCO_BANDSEL
Definition: hmc630x.h:199
hmc6301_bb_lpc
hmc6301_bb_lpc
Definition: hmc630x.h:255
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:54
NO_OS_ARRAY_SIZE
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:49
hmc6301_bb_attn
hmc6301_bb_attn
Definition: hmc630x.h:235
hmc630x_iio_attr_id
hmc630x_iio_attr_id
Definition: iio_hmc630x.h:48
HMC6301_IIO_ATTR_BB_LPC
@ HMC6301_IIO_ATTR_BB_LPC
Definition: iio_hmc630x.h:62
hmc630x_get_temp
int hmc630x_get_temp(struct hmc630x_dev *dev, uint8_t *temp)
Definition: hmc630x.c:538
hmc6301_get_lna_gain
int hmc6301_get_lna_gain(struct hmc630x_dev *dev, enum hmc6301_lna_attn *gain)
Definition: hmc630x.c:878
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:934
HMC630X_IIO_ATTR_VCO_BAND
@ HMC630X_IIO_ATTR_VCO_BAND
Definition: iio_hmc630x.h:53
iio.h
Header file of iio.
no_os_error.h
Error codes definition.
iio_attribute::name
const char * name
Definition: iio_types.h:131
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:982
hmc630x.h
hmc6300 and hmc6301 device driver header.
HMC630X_IIO_ATTR_ENABLED
@ HMC630X_IIO_ATTR_ENABLED
Definition: iio_hmc630x.h:49
hmc630x_get_avail_vco
int hmc630x_get_avail_vco(struct hmc630x_dev *dev, const uint64_t **avail, uint8_t *avail_num)
Definition: hmc630x.c:852
iio_attribute
Structure holding pointers to show and store functions.
Definition: iio_types.h:129
hmc630x_dev
Definition: hmc630x.c:57
hmc630x_get_temp_en
int hmc630x_get_temp_en(struct hmc630x_dev *dev, bool *enable)
Definition: hmc630x.c:506
iio_parse_value
int32_t iio_parse_value(char *buf, enum iio_val fmt, int32_t *val, int32_t *val2)
Definition: iio.c:630
hmc6300_get_rf_attn
int hmc6300_get_rf_attn(struct hmc630x_dev *dev, uint8_t *attn)
Definition: hmc630x.c:730
hmc6300_set_rf_attn
int hmc6300_set_rf_attn(struct hmc630x_dev *dev, uint8_t attn)
Definition: hmc630x.c:715
HMC6301_IIO_ATTR_BB_ATTNI_FINE
@ HMC6301_IIO_ATTR_BB_ATTNI_FINE
Definition: iio_hmc630x.h:60
hmc630x_type
hmc630x_type
Definition: hmc630x.h:221
hmc630x_set_if_attn
int hmc630x_set_if_attn(struct hmc630x_dev *dev, uint8_t attn)
Definition: hmc630x.c:675
hmc6301_bb_attn_fine
hmc6301_bb_attn_fine
Definition: hmc630x.h:243
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:914
hmc630x_get_enable
int hmc630x_get_enable(struct hmc630x_dev *dev, bool *enable)
Definition: hmc630x.c:619
hmc630x_iio_remove
int32_t hmc630x_iio_remove(struct hmc630x_iio_dev *iiodev)
Definition: iio_hmc630x.c:472
hmc630x_iio_init_param::ip
struct hmc630x_init_param * ip
Definition: iio_hmc630x.h:45
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:686
HMC6300
@ HMC6300
Definition: hmc630x.h:222
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:69
hmc630x_get_if_attn
int hmc630x_get_if_attn(struct hmc630x_dev *dev, uint8_t *attn)
Definition: hmc630x.c:695
IIO_TEMP
@ IIO_TEMP
Definition: iio_types.h:69
iio_ch_info::type
enum iio_chan_type type
Definition: iio_types.h:109
HMC630X_LOCKDET
#define HMC630X_LOCKDET
Definition: hmc630x.h:206
hmc630x_set_temp_en
int hmc630x_set_temp_en(struct hmc630x_dev *dev, bool enable)
Definition: hmc630x.c:481
HMC6300_IIO_ATTR_RF_ATTN
@ HMC6300_IIO_ATTR_RF_ATTN
Definition: iio_hmc630x.h:56
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:865
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
iio_device
Structure holding channels and attributes of a device.
Definition: iio_types.h:247
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:1002
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:570
hmc630x_dev::vco
struct hmc630x_vco vco
Definition: hmc630x.c:60
hmc630x_iio_init_param
Definition: iio_hmc630x.h:44
HMC630X_IIO_ATTR_TEMP_EN
@ HMC630X_IIO_ATTR_TEMP_EN
Definition: iio_hmc630x.h:50
hmc630x_iio_dev
Definition: iio_hmc630x.h:39
hmc630x_iio_dev::dev
struct hmc630x_dev * dev
Definition: iio_hmc630x.h:40
hmc630x_init
int hmc630x_init(struct hmc630x_dev **dev, struct hmc630x_init_param *init)
Definition: hmc630x.c:109
HMC6301_IIO_ATTR_BB_ATTN1
@ HMC6301_IIO_ATTR_BB_ATTN1
Definition: iio_hmc630x.h:58
HMC6301_IIO_ATTR_BB_ATTNQ_FINE
@ HMC6301_IIO_ATTR_BB_ATTNQ_FINE
Definition: iio_hmc630x.h:61
no_os_util.h
Header file of utility functions.
HMC630X_IIO_ATTR_IF_ATTN
@ HMC630X_IIO_ATTR_IF_ATTN
Definition: iio_hmc630x.h:55
hmc630x_get_vco
int hmc630x_get_vco(struct hmc630x_dev *dev, uint64_t *frequency)
Definition: hmc630x.c:811
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:891
hmc630x_iio_dev::iio_dev
struct iio_device * iio_dev
Definition: iio_hmc630x.h:41
hmc6301_lna_attn
hmc6301_lna_attn
Definition: hmc630x.h:227
HMC630X_IIO_ATTR_VCO_LOCK
@ HMC630X_IIO_ATTR_VCO_LOCK
Definition: iio_hmc630x.h:54
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:961
hmc630x_write_row
int hmc630x_write_row(struct hmc630x_dev *dev, uint8_t row, uint8_t val)
Definition: hmc630x.c:293
iio_device::attributes
struct iio_attribute * attributes
Definition: iio_types.h:256
hmc630x_iio_remove
int32_t hmc630x_iio_remove(struct hmc630x_iio_dev *desc)
Definition: iio_hmc630x.c:472