no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
adgs5412.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef ADGS5412_H_
34#define ADGS5412_H_
35
36#include <stdint.h>
37#include "no_os_spi.h"
38
39#define ADGS5412_REG_SW_DATA 0x01
40#define ADGS5412_REG_ERR_CONFIG 0x02
41#define ADGS5412_REG_ERR_FLAGS 0x03
42#define ADGS5412_REG_BURST_EN 0x05
43#define ADGS5412_REG_SOFT_RESETB 0x0B
44
45/* ADGS5412_REG_SW_DATA for ADGS5412 */
46#define ADGS5412_SW4_EN (1 << 3)
47#define ADGS5412_SW3_EN (1 << 2)
48#define ADGS5412_SW2_EN (1 << 1)
49#define ADGS5412_SW1_EN (1 << 0)
50
51/* ADGS5412_REG_SW_DATA for ADGS5414 */
52#define ADGS5414_SW7_EN (1 << 7)
53#define ADGS5414_SW6_EN (1 << 6)
54#define ADGS5414_SW5_EN (1 << 5)
55#define ADGS5414_SW4_EN (1 << 4)
56#define ADGS5414_SW3_EN (1 << 3)
57#define ADGS5414_SW2_EN (1 << 2)
58#define ADGS5414_SW1_EN (1 << 1)
59#define ADGS5414_SW0_EN (1 << 0)
60
61/* ADGS5412_REG_ERR_CONFIG */
62#define ADGS5412_RW_ERR_EN (1 << 2)
63#define ADGS5412_SCLK_ERR_EN (1 << 1)
64#define ADGS5412_CRC_ERR_EN (1 << 0)
65
66/* ADGS5412_REG_ERR_FLAGS */
67#define ADGS5412_RW_ERR_FLAG (1 << 2)
68#define ADGS5412_SCLK_ERR_FLAG (1 << 1)
69#define ADGS5412_CRC_ERR_FLAG (1 << 0)
70#define ADGS5412_CLR_1 0x6C
71#define ADGS5412_CLR_2 0xA9
72
73/* ADGS5412_REG_BURST_EN */
74#define ADGS5412_BURST_MODE_EN (1 << 0)
75
76/* ADGS5412_REG_SOFT_RESETB */
77#define ADGS5412_SOFT_RESETB(x) (((x) & 0xFF) << 0)
78#define ADGS5412_RESET_1 0xA3
79#define ADGS5412_RESET_2 0x05
80
81#define ADGS5412_DAISY_CHAIN_1 0x25
82#define ADGS5412_DAISY_CHAIN_2 0x00
83
84#define ADGS5412_ALIGNMENT 0x25
85
86#define ADGS5412_CRC8_POLY 0x07
87
92
101
110
111/* Compute CRC8 checksum. */
112uint8_t adgs5412_compute_crc8(uint8_t *data,
113 uint8_t data_size);
114/* SPI register read from device. */
116 uint8_t reg_addr,
117 uint8_t *reg_data);
118/* SPI register write to device. */
120 uint8_t reg_addr,
121 uint8_t reg_data);
122/* SPI register read from device using a mask. */
124 uint8_t reg_addr,
125 uint8_t mask,
126 uint8_t *data);
127/* SPI internal register write to device using a mask. */
129 uint8_t reg_addr,
130 uint8_t mask,
131 uint8_t data);
132/* Do a software reset. */
134/* Clear the Error Flags Register. */
136/* Enter Daisy-Chain Mode. */
138/* Send Daisy-Chain commands. */
140 uint8_t *cmds,
141 uint8_t cmds_size);
142/* Initialize the device. */
145/* Free the resources allocated by adgs5412_init(). */
146int32_t adgs5412_remove(adgs5412_dev *dev);
147#endif // ADGS5412_H_
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int32_t adgs5412_enter_daisy_chain(adgs5412_dev *dev)
Definition adgs5412.c:264
int32_t adgs5412_spi_reg_read(adgs5412_dev *dev, uint8_t reg_addr, uint8_t *reg_data)
Definition adgs5412.c:74
int32_t adgs5412_clear_err_flags(adgs5412_dev *dev)
Definition adgs5412.c:236
int32_t adgs5412_spi_reg_write_mask(adgs5412_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Definition adgs5412.c:184
int32_t adgs5412_spi_reg_write(adgs5412_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Definition adgs5412.c:119
uint8_t adgs5412_compute_crc8(uint8_t *data, uint8_t data_size)
Definition adgs5412.c:46
int32_t adgs5412_init(adgs5412_dev **device, adgs5412_init_param init_param)
Definition adgs5412.c:313
int32_t adgs5412_send_daisy_chain_cmds(adgs5412_dev *dev, uint8_t *cmds, uint8_t cmds_size)
Definition adgs5412.c:289
int32_t adgs5412_spi_reg_read_mask(adgs5412_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t *data)
Definition adgs5412.c:156
int32_t adgs5412_remove(adgs5412_dev *dev)
Free the resources allocated by adgs5412_init().
Definition adgs5412.c:366
adgs5412_state
Definition adgs5412.h:88
@ ADGS5412_DISABLE
Definition adgs5412.h:90
@ ADGS5412_ENABLE
Definition adgs5412.h:89
int32_t adgs5412_do_soft_reset(adgs5412_dev *dev)
Definition adgs5412.c:211
Header file of SPI Interface.
Definition adgs5412.h:93
struct no_os_spi_desc * spi_desc
Definition adgs5412.h:95
adgs5412_state daisy_chain_en
Definition adgs5412.h:99
adgs5412_state crc_en
Definition adgs5412.h:97
adgs5412_state burst_mode_en
Definition adgs5412.h:98
Definition adgs5412.h:102
adgs5412_state crc_en
Definition adgs5412.h:106
struct no_os_spi_init_param spi_init
Definition adgs5412.h:104
adgs5412_state daisy_chain_en
Definition adgs5412.h:108
adgs5412_state burst_mode_en
Definition adgs5412.h:107
Definition ad9361_util.h:63
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128