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_