71 std::string mPortName;
72 SerialNative* mNative =
nullptr;
73 std::atomic<bool> mShouldStop {
false };
74 std::atomic<bool> mDisconnected{
false };
75 bool mReceiving =
false;
76 bool mConnectPending =
true;
77 void* mReadThread =
nullptr;
78 void* mRxMutex =
nullptr;
79 std::vector<uint8_t> mRxBuffer;
81 std::string mLineBuffer;
82 std::vector<SerialMessageMatcher> mMatchers;
83 uint32_t mNextMatcherId = 1;
94 void JoinAndDestroyReadThread(Port* port);
95 void DispatchMessage(
SerialHandle handle,
const uint8_t* data, uint32_t size);
96 void DispatchConnect(
SerialHandle handle,
const std::string& portName);
98 void DispatchLineToMatchers(Port* port,
const std::string& line);
100 std::vector<Port*> mPorts;
108 SerialHandle mCurrentEventHandle = INVALID_SERIAL_HANDLE;
109 std::string mCurrentEventPortName;
110 std::string mCurrentEventData;
uint32_t SerialHandle
Definition SerialTypes.h:6
Definition ScriptFunc.h:10
Definition SerialManager.h:28
void StartReceive(SerialHandle handle)
Definition SerialManager.cpp:201
void PreTickUpdate(float deltaTime)
Definition SerialManager.cpp:379
const std::string & GetCurrentEventPortName() const
Definition SerialManager.h:63
void Initialize()
Definition SerialManager.cpp:92
static SerialManager * Get()
Definition SerialManager.cpp:79
void StopReceive(SerialHandle handle)
Definition SerialManager.cpp:226
bool IsReceiving(SerialHandle handle) const
Definition SerialManager.cpp:235
bool IsConnected(SerialHandle handle) const
Definition SerialManager.cpp:181
uint32_t RegisterMessageMatcher(SerialHandle handle, const std::string &pattern, SerialMessageMatcher::Type type, const ScriptFunc &callback)
Definition SerialManager.cpp:280
static void Destroy()
Definition SerialManager.cpp:70
void SetScriptConnectCallback(const ScriptFunc &func)
Definition SerialManager.h:58
int32_t SendMessage(SerialHandle handle, const uint8_t *data, uint32_t size)
Definition SerialManager.cpp:187
SerialHandle GetCurrentEventHandle() const
Definition SerialManager.h:62
void SetScriptMessageCallback(const ScriptFunc &func)
Definition SerialManager.h:57
std::vector< SerialPortInfo > EnumeratePorts()
Definition SerialManager.cpp:124
void Shutdown()
Definition SerialManager.cpp:97
void UnregisterMessageMatcher(SerialHandle handle, uint32_t matcherId)
Definition SerialManager.cpp:318
const std::string & GetCurrentEventData() const
Definition SerialManager.h:64
static void Create()
Definition SerialManager.cpp:64
void SetScriptDisconnectCallback(const ScriptFunc &func)
Definition SerialManager.h:59
void ClearMessageMatchers(SerialHandle handle)
Definition SerialManager.cpp:334
Definition SerialTypes.h:19
Definition SerialManager.h:18
std::string mPattern
Definition SerialManager.h:22
Type mType
Definition SerialManager.h:21
ScriptFunc mCallback
Definition SerialManager.h:24
uint32_t mId
Definition SerialManager.h:20
std::regex mRegex
Definition SerialManager.h:23
Type
Definition SerialManager.h:19