NSUKit 1.4.0
板卡级统一交互接口
载入中...
搜索中...
未找到
virtual_chnl.cpp
浏览该文件的文档.
1//
2// Created by 56585 on 2023/8/16.
3//
4
6
7using namespace nsukit;
8
9
10uint16_t VirtualChnlMw::VCHNL_NUM = 8;
11uint16_t VirtualChnlMw::R2V_CHNL = 0;
15
16
18
19}
20
21
23 streamMode = param->stream_mode;
24 return nsukitStatus_t::NSUKIT_STATUS_SUCCESS;
25}
26
27
30 if (streamMode == StreamMode::REAL) return ds_itf->open_send(chnl, fd, length, offset);
31 return nsukitStatus_t::NSUKIT_STATUS_MEMBER_NOT_SUPPORT;
32}
33
34
37 if (streamMode == StreamMode::REAL) return ds_itf->open_recv(chnl, fd, length, offset);
38 return nsukitStatus_t::NSUKIT_STATUS_MEMBER_NOT_SUPPORT;
39}
40
41
43 if (streamMode == StreamMode::REAL) return ds_itf->wait_stream(fd, timeout);
44 return nsukitStatus_t::NSUKIT_STATUS_MEMBER_NOT_SUPPORT;
45}
46
47
49 if (streamMode == StreamMode::REAL) return ds_itf->break_stream(fd);
50 return nsukitStatus_t::NSUKIT_STATUS_MEMBER_NOT_SUPPORT;
51}
52
53
56 bool (*stop_event)(), float timeout, int flag) {
57 if (streamMode == StreamMode::REAL) return ds_itf->stream_recv(chnl, fd, length, offset, stop_event, timeout, flag);
58 return nsukitStatus_t::NSUKIT_STATUS_MEMBER_NOT_SUPPORT;
59}
60
61
64 bool (*stop_event)(), float timeout, int flag) {
65 if (streamMode == StreamMode::REAL) return ds_itf->stream_send(chnl, fd, length, offset, stop_event, timeout, flag);
66 return nsukitStatus_t::NSUKIT_STATUS_MEMBER_NOT_SUPPORT;
67}
virtual nsukitStatus_t break_stream(nsuMemory_p fd)
Definition: base_itf.h:246
virtual nsukitStatus_t open_recv(nsuChnlNum_t chnl, nsuMemory_p fd, nsuStreamLen_t length, nsuStreamLen_t offset=0)
Definition: base_itf.h:238
virtual nsukitStatus_t stream_recv(nsuChnlNum_t chnl, nsuMemory_p fd, nsuStreamLen_t length, nsuStreamLen_t offset=0, bool(*stop_event)()=nullptr, float timeout=5., int flag=1)
Definition: base_itf.h:249
virtual nsukitStatus_t stream_send(nsuChnlNum_t chnl, nsuMemory_p fd, nsuStreamLen_t length, nsuStreamLen_t offset=0, bool(*stop_event)()=nullptr, float timeout=5., int flag=1)
Definition: base_itf.h:255
virtual nsukitStatus_t open_send(nsuChnlNum_t chnl, nsuMemory_p fd, nsuStreamLen_t length, nsuStreamLen_t offset=0)
Definition: base_itf.h:233
virtual nsukitStatus_t wait_stream(nsuMemory_p fd, float timeout=1.)
Definition: base_itf.h:242
nsukitStatus_t break_stream(nsuMemory_p fd) override
I_BaseStreamUItf * ds_itf
Definition: virtual_chnl.h:22
static uint16_t VCHNL_NUM
Definition: virtual_chnl.h:16
static nsuRegAddr_t STATUS_ADDR
Definition: virtual_chnl.h:20
static nsuRegAddr_t PARAM_ADDR
Definition: virtual_chnl.h:18
static nsuRegAddr_t PARAM_WR_ADDR
Definition: virtual_chnl.h:19
nsukitStatus_t stream_send(nsuChnlNum_t chnl, nsuMemory_p fd, nsuStreamLen_t length, nsuStreamLen_t offset=0, bool(*stop_event)()=nullptr, float timeout=5., int flag=1) override
nsukitStatus_t stream_recv(nsuChnlNum_t chnl, nsuMemory_p fd, nsuStreamLen_t length, nsuStreamLen_t offset=0, bool(*stop_event)()=nullptr, float timeout=5., int flag=1) override
static uint16_t R2V_CHNL
Definition: virtual_chnl.h:17
nsukitStatus_t open_send(nsuChnlNum_t chnl, nsuMemory_p fd, nsuStreamLen_t length, nsuStreamLen_t offset=0) override
nsukitStatus_t config(nsuInitParam_t *param) override
VirtualChnlMw(I_BaseStreamUItf *itf)
nsukitStatus_t open_recv(nsuChnlNum_t chnl, nsuMemory_p fd, nsuStreamLen_t length, nsuStreamLen_t offset=0) override
nsukitStatus_t wait_stream(nsuMemory_p fd, float timeout=1.) override
StreamMode stream_mode
Definition: type.h:148
DLLEXTERN typedef nsuSize_t nsuStreamLen_t
Definition: type.h:88
nsukitStatus_t
Definition: type.h:53
DLLEXTERN typedef void * nsuMemory_p
Definition: type.h:86
DLLEXTERN typedef uint8_t nsuChnlNum_t
Definition: type.h:85
DLLEXTERN typedef uint32_t nsuRegAddr_t
Definition: type.h:89