NSUKit 1.4.0
板卡级统一交互接口
载入中...
搜索中...
未找到
type.h
浏览该文件的文档.
1
6#ifndef NSUKIT_TYPE_H
7#define NSUKIT_TYPE_H
8
9#ifdef __linux__
10
11#define _API_CALL
12#define DLLEXTERN
13#define NSU_DLLEXPORT
14#else //win, rtx
15
16#define _API_CALL __stdcall
17#define DLLEXTERN extern "C"
18#define NSU_DLLEXPORT __declspec(dllexport)
19#endif
20
21#include <iostream>
22#include <string>
23#include <cstring>
24#include <any>
25#include <cstdarg>
26#include <cstdint>
27#include <vector>
28#include <map>
29#include <thread>
30#include <mutex>
31#include <condition_variable>
32
33
35 std::mutex mtx;
36 std::condition_variable cv;
37 bool eventOccurred = false;
38
39public:
40 bool waitForEvent(int timeout=0);
41
42 void setEvent();
43
44 void resetEvent();
45
46 bool isSet();
47};
48
64 NSUKIT_STATUS_TIMEOUT = 1 << 9,
66 NSUKIT_STATUS_ITF_FAIL = 1 << 11,
68};
69
71
73
74
76 LOOP = 0,
77 INCREMENT = 1
78};
79
80
81DLLEXTERN typedef std::vector<char> nsuBytes_t;
82DLLEXTERN typedef char * nsuCharBuf_p;
83DLLEXTERN typedef void * nsuVoidBuf_p;
84DLLEXTERN typedef uint8_t nsuBoardNum_t;
85DLLEXTERN typedef uint8_t nsuChnlNum_t;
86DLLEXTERN typedef void * nsuMemory_p;
87DLLEXTERN typedef size_t nsuSize_t;
89DLLEXTERN typedef uint32_t nsuRegAddr_t;
90DLLEXTERN typedef uint32_t nsuRegValue_t;
91DLLEXTERN typedef std::string nsuCSParam_t;
92DLLEXTERN typedef std::string nsuCSName_t;
95
96
98 std::string cmd_ip = "127.0.0.1";
99 uint32_t cmd_tcp_port = 5001;
100 float cmd_tcp_timeout = 1.;
101
102 std::string stream_ip = "127.0.0.1";
103 uint32_t stream_tcp_port = 6001;
104 uint32_t stream_tcp_block = 4 * 1024 * 1024;
105};
106
107
109 std::string cmd_serial_port = "/dev/ttyUSB0";
110 uint32_t cmd_baud_rate = 115200;
111};
112
113
120
122 std::map<nsuChnlNum_t, nsuSize_t> ring_chnl_size= {
123 {0, 512 * 1024 * 1024},
124 {1, 512 * 1024 * 1024},
125 {2, 512 * 1024 * 1024},
126 {3, 512 * 1024 * 1024},
127 };
128};
129
134 int sim_target = 1;
135 void (*sim_stream_func)(nsuCharBuf_p buf, nsuSize_t length) =
136 [](nsuCharBuf_p buf, nsuSize_t length) { memset(buf, 1, length); };
137};
138
139
141 enum class StreamMode {
142 REAL = 0,
143 VIRTUAL = 1
144 };
145 std::string icd_path = "./icd.json";
146 bool check_cs_recv = false;
147
149};
150
151
156#endif //NSUKIT_TYPE_H
void resetEvent()
Definition: type.cpp:33
bool waitForEvent(int timeout=0)
Definition: type.cpp:22
bool isSet()
Definition: type.cpp:7
void setEvent()
Definition: type.cpp:13
StreamMode stream_mode
Definition: type.h:148
std::string icd_path
Definition: type.h:145
bool check_cs_recv
Definition: type.h:146
uint32_t cmd_baud_rate
Definition: type.h:110
std::string cmd_serial_port
Definition: type.h:109
std::string cmd_ip
Definition: type.h:98
uint32_t stream_tcp_block
Definition: type.h:104
uint32_t cmd_tcp_port
Definition: type.h:99
float cmd_tcp_timeout
Definition: type.h:100
std::string stream_ip
Definition: type.h:102
uint32_t stream_tcp_port
Definition: type.h:103
nsuBoardNum_t cmd_board
Definition: type.h:115
std::map< nsuChnlNum_t, nsuSize_t > ring_chnl_size
Definition: type.h:122
nsuRegAddr_t cmd_irq_base
Definition: type.h:118
nsuRegAddr_t cmd_sent_down_base
Definition: type.h:119
nsuRegAddr_t cmd_sent_base
Definition: type.h:116
nsuBoardNum_t stream_board
Definition: type.h:121
nsuRegAddr_t cmd_recv_base
Definition: type.h:117
DLLEXTERN typedef nsukitStatus_t nsuStatus_t
Definition: type.h:93
NSU_DLLEXPORT nsukitStatus_t operator|(nsukitStatus_t lhs, nsukitStatus_t rhs)
Definition: type.cpp:45
DLLEXTERN typedef nsuSize_t nsuStreamLen_t
Definition: type.h:88
nsukitStatus_t
Definition: type.h:53
@ NSUKIT_STATUS_MISMATCH_MIXIN
@ NSUKIT_STATUS_MEMBER_NOT_SUPPORT
@ NSUKIT_STATUS_STREAM_RUNNING
@ NSUKIT_STATUS_ALLOC_FAILED
@ NSUKIT_STATUS_ARCH_MISMATCH
@ NSUKIT_STATUS_TEMP_MISMATCH
@ NSUKIT_STATUS_INVALID_VALUE
DLLEXTERN typedef size_t nsuSize_t
Definition: type.h:87
DLLEXTERN typedef void * nsuVoidBuf_p
Definition: type.h:83
#define NSU_DLLEXPORT
Definition: type.h:18
DLLEXTERN typedef void * nsuMemory_p
Definition: type.h:86
DLLEXTERN typedef std::string nsuCSParam_t
Definition: type.h:91
DLLEXTERN typedef char * nsuCharBuf_p
Definition: type.h:82
DLLEXTERN typedef std::string nsuCSName_t
Definition: type.h:92
#define DLLEXTERN
Definition: type.h:17
NSU_DLLEXPORT void operator|=(nsukitStatus_t &lhs, nsukitStatus_t rhs)
Definition: type.cpp:55
DLLEXTERN typedef std::vector< char > nsuBytes_t
Definition: type.h:81
nsuBulkMode
Definition: type.h:75
DLLEXTERN typedef nsukitStatus_t * nsuStatus_p
Definition: type.h:94
DLLEXTERN typedef uint32_t nsuRegValue_t
Definition: type.h:90
DLLEXTERN typedef uint8_t nsuChnlNum_t
Definition: type.h:85
DLLEXTERN typedef uint32_t nsuRegAddr_t
Definition: type.h:89
DLLEXTERN typedef uint8_t nsuBoardNum_t
Definition: type.h:84