LibDriver UVIS25
Loading...
Searching...
No Matches
driver_uvis25_shot.c
Go to the documentation of this file.
1
37
38#include "driver_uvis25_shot.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 */
87 res = uvis25_set_iic(&gs_handle, UVIS25_SHOT_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 return 0;
137}
138
147uint8_t uvis25_shot_read(float *uv)
148{
149 uint8_t raw;
150
151 /* single read */
152 if (uvis25_single_read(&gs_handle, (uint8_t *)&raw, uv) != 0)
153 {
154 return 1;
155 }
156 else
157 {
158 return 0;
159 }
160}
161
170{
171 /* close uvis25 */
172 if (uvis25_deinit(&gs_handle) != 0)
173 {
174 return 1;
175 }
176 else
177 {
178 return 0;
179 }
180}
driver uvis25 shot 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_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
uint8_t uvis25_single_read(uvis25_handle_t *handle, uint8_t *raw, float *uv)
read data once
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
@ UVIS25_BOOL_FALSE
#define UVIS25_SHOT_DEFAULT_SPI_WIRE
#define UVIS25_SHOT_DEFAULT_IIC
uvis25 shot example default definition
uint8_t uvis25_shot_init(uvis25_interface_t interface)
shot example init
#define UVIS25_SHOT_DEFAULT_BOOT_MODE
#define UVIS25_SHOT_DEFAULT_BLOCK_DATA_UPDATE
uint8_t uvis25_shot_deinit(void)
basic shot deinit
uint8_t uvis25_shot_read(float *uv)
shot example read
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