#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_