LibDriver MCP3421
Loading...
Searching...
No Matches
driver_mcp3421_basic.c
Go to the documentation of this file.
1
36
38
39static mcp3421_handle_t gs_handle;
40
48uint8_t mcp3421_basic_init(void)
49{
50 uint8_t res;
51
52 /* link interface function */
60
61 /* mcp3421 init */
62 res = mcp3421_init(&gs_handle);
63 if (res != 0)
64 {
65 mcp3421_interface_debug_print("mcp3421: init failed.\n");
66
67 return 1;
68 }
69
70 /* set default pag */
72 if (res != 0)
73 {
74 mcp3421_interface_debug_print("mcp3421: set pga failed.\n");
75 (void)mcp3421_deinit(&gs_handle);
76
77 return 1;
78 }
79
80 /* set default adc bit */
82 if (res != 0)
83 {
84 mcp3421_interface_debug_print("mcp3421: set adc bit failed.\n");
85 (void)mcp3421_deinit(&gs_handle);
86
87 return 1;
88 }
89
90 /* start continuous read */
91 res = mcp3421_start_continuous_read(&gs_handle);
92 if (res != 0)
93 {
94 mcp3421_interface_debug_print("mcp3421: start continues read mode failed.\n");
95 (void)mcp3421_deinit(&gs_handle);
96
97 return 1;
98 }
99
100 return 0;
101}
102
111uint8_t mcp3421_basic_read(double *s)
112{
113 int32_t raw;
114
115 /* read data */
116 if (mcp3421_continuous_read(&gs_handle, (int32_t *)&raw, s) != 0)
117 {
118 return 1;
119 }
120
121 return 0;
122}
123
132{
133 uint8_t res;
134
135 /* stop continuous read */
136 res = mcp3421_stop_continuous_read(&gs_handle);
137 if (res != 0)
138 {
139 return 1;
140 }
141
142 /* deinit mcp3421 */
143 res = mcp3421_deinit(&gs_handle);
144 if (res != 0)
145 {
146 return 1;
147 }
148
149 return 0;
150}
driver mcp3421 basic header file
uint8_t mcp3421_set_pga(mcp3421_handle_t *handle, mcp3421_pga_t pga)
set the adc pga
uint8_t mcp3421_set_adc_bit(mcp3421_handle_t *handle, mcp3421_bit_t adc_bit)
set the adc bit
uint8_t mcp3421_start_continuous_read(mcp3421_handle_t *handle)
start the chip reading
uint8_t mcp3421_init(mcp3421_handle_t *handle)
initialize the chip
uint8_t mcp3421_deinit(mcp3421_handle_t *handle)
close the chip
uint8_t mcp3421_stop_continuous_read(mcp3421_handle_t *handle)
stop the chip reading
uint8_t mcp3421_continuous_read(mcp3421_handle_t *handle, int32_t *raw, double *v)
read data from the chip continuously
struct mcp3421_handle_s mcp3421_handle_t
mcp3421 handle structure definition
#define MCP3421_BASIC_DEFAULT_BIT
mcp3421 basic example default definition
uint8_t mcp3421_basic_read(double *s)
basic example read
uint8_t mcp3421_basic_deinit(void)
basic example deinit
#define MCP3421_BASIC_DEFAULT_PGA
uint8_t mcp3421_basic_init(void)
basic example init
uint8_t mcp3421_interface_iic_deinit(void)
interface iic bus deinit
uint8_t mcp3421_interface_iic_init(void)
interface iic bus init
uint8_t mcp3421_interface_iic_write_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus write command
uint8_t mcp3421_interface_iic_read_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus read command
void mcp3421_interface_delay_ms(uint32_t ms)
interface delay ms
void mcp3421_interface_debug_print(const char *const fmt,...)
interface print format data