#ifndef __RK_IIO_FIFO_
|
#define __RK_IIO_FIFO_
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
#include "rkiio_common.h"
|
#include "format.h"
|
|
typedef void *RKIIO_FIFO_HANDLE;
|
typedef void *RKIIO_FIFO_DATA;
|
typedef void *RKIIO_FIFO_DEV;
|
|
#define RKIIO_TIMESTAMP_MONOTONIC "monotonic"
|
#define RKIIO_TIMESTAMP_REALTIME "realtime"
|
|
typedef struct xyz_data_s {
|
double x;
|
double y;
|
double z;
|
} xyz_data_t;
|
|
typedef struct rkiio_data_0_s {
|
RK_U64 id;
|
xyz_data_t anglvel;
|
xyz_data_t accel;
|
RK_S32 temp;
|
RK_U64 timestamp;
|
} rkiio_data_0_t;
|
|
RKIIO_FIFO_HANDLE rkiio_fifo_handle_create(RKIIO_FIFO_DEV dev, RK_S32 last_index, struct rkiio_format_info *format_info, RK_U8 info_num, RK_U32 buf_max_num, double max_sampling_rate);
|
RK_S32 rkiio_fifo_list_len_get(RKIIO_FIFO_HANDLE fifo_handle, RK_U32 *len);
|
RK_S32 rkiio_fifo_handle_destroy(RKIIO_FIFO_HANDLE fifo_handle);
|
RK_S32 rkiio_fifo_handle_last_id_get(RKIIO_FIFO_HANDLE fifo_handle, RK_U64 *id);
|
RK_S32 rkiio_fifo_refill_once(RKIIO_FIFO_HANDLE fifo_handle);
|
RK_S32 rkiio_fifo_data_read_all(RKIIO_FIFO_HANDLE fifo_handle, RKIIO_FIFO_DATA fifo_data, RK_U64 *frame_id, RK_U64 *data_num);
|
RK_S32 rkiio_fifo_data_read_num(RKIIO_FIFO_HANDLE fifo_handle, RKIIO_FIFO_DATA fifo_data, RK_U64 *frame_id, RK_U64 data_num);
|
RK_S32 rkiio_fifo_data_release(RKIIO_FIFO_DATA buf);
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif // #ifndef __RK_IIO_FIFO_
|