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