hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ifndef __RK_IIO_
#define __RK_IIO_
 
#ifdef __cplusplus
extern "C" {
#endif
 
#include "rkiio_common.h"
#include "rkiio_fifo.h"
 
#define RK_IIO_MAX_DEV 4
#define RK_IIO_MAX_SENSOR 16
#define RK_IIO_STRING_MAX_SIZE 512
 
typedef void *RKIIO_DATA_HANDLE;
 
typedef enum rkiio_sensor_type_e {
  RKIIO_SENSOR_INVALID_TYPE = 0,
  RKIIO_SENSOR_ANGLVEL_TYPE,
  RKIIO_SENSOR_ACCEL_TYPE,
  RKIIO_SENSOR_TEMP_TYPE,
  RKIIO_SENSOR_ALL_TYPE, // only for get data
  RKIIO_SENSOR_MAX_TYPE,
} rkiio_sensor_type_t;
 
_CAPI void rk_libiio_version_info_dump();
_CAPI void rkiio_err_dump(const RK_CHAR *tip, RK_S32 ret);
_CAPI void rkiio_info_dump();
_CAPI RK_S32 rkiio_sys_init();
_CAPI RK_S32 rkiio_sys_uninit();
_CAPI RK_CHAR **rkiio_dev_list_get(rkiio_sensor_type_t type, RK_S32 *dev_num);
_CAPI RK_CHAR **rkiio_anglvel_dev_list_get(RK_S32 *dev_num);
_CAPI RK_CHAR **rkiio_accel_dev_list_get(RK_S32 *dev_num);
_CAPI RK_CHAR **rkiio_temp_dev_list_get(RK_S32 *dev_num);
_CAPI RK_CHAR **rkiio_all_dev_list_get(RK_S32 *dev_num);
_CAPI RK_S32 rkiio_dev_list_destroy(char **dev_list,  RK_S32 dev_num);
 
// config
_CAPI RK_S32 rkiio_timestamp_type_read(RK_CHAR *dev_name, RK_CHAR *type, RK_U32 len);
_CAPI RK_S32 rkiio_timestamp_type_set(RK_CHAR *dev_name, RK_CHAR *type);
_CAPI RK_S32 rkiio_timestamp_type_set_all(RK_CHAR *type);
_CAPI RK_S32 rkiio_sampling_rate_cap_get(RK_CHAR *dev_name, rkiio_sensor_type_t type, double **cap_list, RK_U8 *cap_num);
_CAPI RK_S32 rkiio_sampling_rate_cap_release(double *cap_list);
_CAPI RK_S32 rkiio_sampling_rate_get(RK_CHAR *dev_name, rkiio_sensor_type_t type, double *rate_num);
_CAPI RK_S32 rkiio_sampling_rate_set(RK_CHAR *dev_name, rkiio_sensor_type_t type, double rate_num);
_CAPI RK_S32 rkiio_sampling_rate_set_all(RK_CHAR *dev_name, RK_CHAR *rate);
 
// data
_CAPI RKIIO_DATA_HANDLE rkiio_data_handle_create(RK_CHAR *dev_name, RK_U32 data_idx, RK_U32 max_data_num);
_CAPI RK_S32 rkiio_data_handle_destroy(RKIIO_DATA_HANDLE data_handle);
_CAPI RK_S32 rkiio_data_handle_max_fifo_num_get(RKIIO_DATA_HANDLE data_handle, RK_U32 *data_num);
_CAPI RK_S32 rkiio_data_get_all(RKIIO_DATA_HANDLE data_handle, RKIIO_FIFO_DATA buf, RK_U64 *data_num);
_CAPI RK_S32 rkiio_data_read(RKIIO_DATA_HANDLE data_handle, RKIIO_FIFO_DATA buf, RK_U64 data_num);
_CAPI RK_S32 rkiio_fifo_data_destroy(RKIIO_FIFO_DATA fifo_data);
 
#ifdef __cplusplus
}
#endif
 
#endif // #ifndef __RK_IIO_