LibDriver BH1750FVI  1.0.0
BH1750FVI full-featured driver
driver_bh1750fvi_basic.c
Go to the documentation of this file.
1 
37 #include "driver_bh1750fvi_basic.h"
38 
39 static bh1750fvi_handle_t gs_handle;
50 {
51  uint8_t res;
52 
53  /* link interface function */
61 
62  /* set the addr pin */
63  res = bh1750fvi_set_addr_pin(&gs_handle, addr_pin);
64  if (res != 0)
65  {
66  bh1750fvi_interface_debug_print("bh1750fvi: set addr pin failed.\n");
67 
68  return 1;
69  }
70 
71  /* init */
72  res = bh1750fvi_init(&gs_handle);
73  if (res != 0)
74  {
75  bh1750fvi_interface_debug_print("bh1750fvi: init failed.\n");
76 
77  return 1;
78  }
79 
80  /* power on */
81  res = bh1750fvi_power_on(&gs_handle);
82  if (res != 0)
83  {
84  bh1750fvi_interface_debug_print("bh1750fvi: power on failed.\n");
85  (void)bh1750fvi_deinit(&gs_handle);
86 
87  return 1;
88  }
89 
90  /* set mode */
92  if (res != 0)
93  {
94  bh1750fvi_interface_debug_print("bh1750fvi: set mode failed.\n");
95  (void)bh1750fvi_deinit(&gs_handle);
96 
97  return 1;
98  }
99 
100  /* set measurement time */
102  if (res != 0)
103  {
104  bh1750fvi_interface_debug_print("bh1750fvi: set measurement time failed.\n");
105  (void)bh1750fvi_deinit(&gs_handle);
106 
107  return 1;
108  }
109 
110  /* start continuous read */
111  res = bh1750fvi_start_continuous_read(&gs_handle);
112  if (res != 0)
113  {
114  bh1750fvi_interface_debug_print("bh1750fvi: start continuous read failed.\n");
115  (void)bh1750fvi_deinit(&gs_handle);
116 
117  return 1;
118  }
119 
120  return 0;
121 }
122 
131 uint8_t bh1750fvi_basic_read(float *lux)
132 {
133  uint8_t res;
134  uint16_t raw;
135 
136  /* continuous read */
137  res = bh1750fvi_continuous_read(&gs_handle, &raw, lux);
138  if (res != 0)
139  {
140  return 1;
141  }
142  else
143  {
144  return 0;
145  }
146 }
147 
156 {
157  uint8_t res;
158 
159  /* stop continuous read */
160  res = bh1750fvi_stop_continuous_read(&gs_handle);
161  if (res != 0)
162  {
163  return 1;
164  }
165 
166  /* deinit */
167  res = bh1750fvi_deinit(&gs_handle);
168  if (res != 0)
169  {
170  return 1;
171  }
172 
173  return 0;
174 }
driver bh1750fvi basic header file
uint8_t bh1750fvi_stop_continuous_read(bh1750fvi_handle_t *handle)
stop chip reading
uint8_t bh1750fvi_deinit(bh1750fvi_handle_t *handle)
close the chip
uint8_t bh1750fvi_start_continuous_read(bh1750fvi_handle_t *handle)
start chip reading
uint8_t bh1750fvi_set_measurement_time(bh1750fvi_handle_t *handle, uint8_t t)
set the measurement time
uint8_t bh1750fvi_continuous_read(bh1750fvi_handle_t *handle, uint16_t *raw, float *lux)
read data from the chip continuously
uint8_t bh1750fvi_set_addr_pin(bh1750fvi_handle_t *handle, bh1750fvi_address_t addr_pin)
set the address pin
uint8_t bh1750fvi_power_on(bh1750fvi_handle_t *handle)
power on
uint8_t bh1750fvi_init(bh1750fvi_handle_t *handle)
initialize the chip
bh1750fvi_address_t
bh1750fvi address enumeration definition
uint8_t bh1750fvi_set_mode(bh1750fvi_handle_t *handle, bh1750fvi_mode_t mode)
set the mode
uint8_t bh1750fvi_basic_read(float *lux)
basic example read
uint8_t bh1750fvi_basic_init(bh1750fvi_address_t addr_pin)
basic example init
uint8_t bh1750fvi_basic_deinit(void)
basic example deinit
#define BH1750FVI_BASIC_DEFAULT_MEASUREMENT_TIME
#define BH1750FVI_BASIC_DEFAULT_MODE
bh1750fvi basic example default definition
void bh1750fvi_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t bh1750fvi_interface_iic_deinit(void)
interface iic bus deinit
uint8_t bh1750fvi_interface_iic_write_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus write command
uint8_t bh1750fvi_interface_iic_init(void)
interface iic bus init
uint8_t bh1750fvi_interface_iic_read_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus read command
void bh1750fvi_interface_debug_print(const char *const fmt,...)
interface print format data
bh1750fvi handle structure definition