LibDriver AFS01
Loading...
Searching...
No Matches
driver_afs01.h
Go to the documentation of this file.
1
36
37#ifndef DRIVER_AFS01_H
38#define DRIVER_AFS01_H
39
40#include <stdio.h>
41#include <stdint.h>
42#include <string.h>
43
44#ifdef __cplusplus
45extern "C"{
46#endif
47
53
58
62typedef struct afs01_handle_s
63{
64 uint8_t (*iic_init)(void);
65 uint8_t (*iic_deinit)(void);
66 uint8_t (*iic_read_address16)(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len);
67 void (*delay_ms)(uint32_t ms);
68 void (*debug_print)(const char *const fmt, ...);
69 uint8_t inited;
71
87
91
98
105#define DRIVER_AFS01_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
106
113#define DRIVER_AFS01_LINK_IIC_INIT(HANDLE, FUC) (HANDLE)->iic_init = FUC
114
121#define DRIVER_AFS01_LINK_IIC_DEINIT(HANDLE, FUC) (HANDLE)->iic_deinit = FUC
122
129#define DRIVER_AFS01_LINK_IIC_READ_ADDRESS16(HANDLE, FUC) (HANDLE)->iic_read_address16 = FUC
130
137#define DRIVER_AFS01_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
138
145#define DRIVER_AFS01_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
146
150
157
166uint8_t afs01_info(afs01_info_t *info);
167
178uint8_t afs01_init(afs01_handle_t *handle);
179
190uint8_t afs01_deinit(afs01_handle_t *handle);
191
205uint8_t afs01_read(afs01_handle_t *handle, uint16_t *raw, float *sccm);
206
219uint8_t afs01_get_chip_id(afs01_handle_t *handle, uint8_t id[4]);
220
224
231
245uint8_t si7021_get_reg(afs01_handle_t *handle, uint16_t reg, uint8_t *buf, uint16_t len);
246
250
254
255#ifdef __cplusplus
256}
257#endif
258
259#endif
uint8_t afs01_info(afs01_info_t *info)
get chip's information
struct afs01_info_s afs01_info_t
afs01 information structure definition
uint8_t afs01_get_chip_id(afs01_handle_t *handle, uint8_t id[4])
get chip id
uint8_t afs01_read(afs01_handle_t *handle, uint16_t *raw, float *sccm)
read data
uint8_t afs01_deinit(afs01_handle_t *handle)
close the chip
uint8_t afs01_init(afs01_handle_t *handle)
initialize the chip
struct afs01_handle_s afs01_handle_t
afs01 handle structure definition
uint8_t si7021_get_reg(afs01_handle_t *handle, uint16_t reg, uint8_t *buf, uint16_t len)
get chip register
afs01 handle structure definition
void(* delay_ms)(uint32_t ms)
uint8_t(* iic_read_address16)(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iic_init)(void)
uint8_t(* iic_deinit)(void)
afs01 information structure definition
float temperature_max
float supply_voltage_max_v
uint32_t driver_version
float temperature_min
float max_current_ma
char manufacturer_name[32]
float supply_voltage_min_v
char interface[8]
char chip_name[32]