LibDriver UVIS25
Loading...
Searching...
No Matches
driver_uvis25_basic.c
Go to the documentation of this file.
1
37
38#include "driver_uvis25_basic.h"
39
40static uvis25_handle_t gs_handle;
41
51{
52 uint8_t res;
53
54 /* link functions */
67
68 /* set interface */
69 res = uvis25_set_interface(&gs_handle, interface);
70 if (res != 0)
71 {
72 uvis25_interface_debug_print("uvis25: set interface failed.\n");
73
74 return 1;
75 }
76
77 /* uvis25 init */
78 res = uvis25_init(&gs_handle);
79 if (res != 0)
80 {
81 uvis25_interface_debug_print("uvis25: init failed.\n");
82
83 return 1;
84 }
85
86 /* set default iic */
88 if (res != 0)
89 {
90 uvis25_interface_debug_print("uvis25: set iic failed.\n");
91 (void)uvis25_deinit(&gs_handle);
92
93 return 1;
94 }
95
96 /* set default spi wire */
98 if (res != 0)
99 {
100 uvis25_interface_debug_print("uvis25: set spi wire failed.\n");
101 (void)uvis25_deinit(&gs_handle);
102
103 return 1;
104 }
105
106 /* set default boot */
108 if (res != 0)
109 {
110 uvis25_interface_debug_print("uvis25: set boot failed.\n");
111 (void)uvis25_deinit(&gs_handle);
112
113 return 1;
114 }
115
116 /* set default block data update */
118 if (res != 0)
119 {
120 uvis25_interface_debug_print("uvis25: set block data update failed.\n");
121 (void)uvis25_deinit(&gs_handle);
122
123 return 1;
124 }
125
126 /* set default interrupt */
127 res = uvis25_set_interrupt(&gs_handle, UVIS25_BOOL_FALSE);
128 if (res != 0)
129 {
130 uvis25_interface_debug_print("uvis25: set interrupt failed.\n");
131 (void)uvis25_deinit(&gs_handle);
132
133 return 1;
134 }
135
136 /* start continuous read */
137 res = uvis25_start_continuous_read(&gs_handle);
138 if (res != 0)
139 {
140 uvis25_interface_debug_print("uvis25: start continuous read failed.\n");
141 (void)uvis25_deinit(&gs_handle);
142
143 return 1;
144 }
145
146 return 0;
147}
148
157uint8_t uvis25_basic_read(float *uv)
158{
159 uint8_t raw;
160
161 /* continuous read */
162 if (uvis25_continuous_read(&gs_handle, (uint8_t *)&raw, uv) != 0)
163 {
164 return 1;
165 }
166 else
167 {
168 return 0;
169 }
170}
171
180{
181 uint8_t res;
182
183 /* stop continuous read */
184 res = uvis25_stop_continuous_read(&gs_handle);
185 if (res != 0)
186 {
187 return 1;
188 }
189
190 /* close uvis25 */
191 if (uvis25_deinit(&gs_handle) != 0)
192 {
193 return 1;
194 }
195 else
196 {
197 return 0;
198 }
199}
driver uvis25 basic header file
uvis25_interface_t
uvis25 interface enumeration definition
uint8_t uvis25_set_boot(uvis25_handle_t *handle, uvis25_boot_mode_t mode)
set the boot mode
uint8_t uvis25_set_spi_wire(uvis25_handle_t *handle, uvis25_spi_wire_t wire)
set the spi wire
uint8_t uvis25_init(uvis25_handle_t *handle)
initialize the chip
uint8_t uvis25_set_iic(uvis25_handle_t *handle, uvis25_bool_t enable)
enable or disable the chip iic
uint8_t uvis25_continuous_read(uvis25_handle_t *handle, uint8_t *raw, float *uv)
read data continuously
uint8_t uvis25_deinit(uvis25_handle_t *handle)
close the chip
uint8_t uvis25_set_interface(uvis25_handle_t *handle, uvis25_interface_t interface)
set the chip interface
struct uvis25_handle_s uvis25_handle_t
uvis25 handle structure definition
uint8_t uvis25_set_block_data_update(uvis25_handle_t *handle, uvis25_bool_t enable)
enable or disable blocking data update
uint8_t uvis25_start_continuous_read(uvis25_handle_t *handle)
start reading
uint8_t uvis25_stop_continuous_read(uvis25_handle_t *handle)
stop reading
@ UVIS25_BOOL_FALSE
#define UVIS25_BASIC_DEFAULT_BLOCK_DATA_UPDATE
#define UVIS25_BASIC_DEFAULT_IIC
uvis25 basic example default definition
#define UVIS25_BASIC_DEFAULT_BOOT_MODE
uint8_t uvis25_basic_init(uvis25_interface_t interface)
basic example init
uint8_t uvis25_basic_read(float *uv)
basic example read
uint8_t uvis25_basic_deinit(void)
basic example deinit
#define UVIS25_BASIC_DEFAULT_SPI_WIRE
uint8_t uvis25_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
void uvis25_interface_debug_print(const char *const fmt,...)
interface print format data
void uvis25_interface_receive_callback(uint8_t type)
interface receive callback
uint8_t uvis25_interface_iic_init(void)
interface iic bus init
uint8_t uvis25_interface_iic_deinit(void)
interface iic bus deinit
uint8_t uvis25_interface_spi_init(void)
interface spi bus init
uint8_t uvis25_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t uvis25_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
uint8_t uvis25_interface_spi_deinit(void)
interface spi bus deinit
uint8_t uvis25_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
void uvis25_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t uvis25_set_interrupt(uvis25_handle_t *handle, uvis25_bool_t enable)
enable or disable the chip interrupt