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