#pragma once #include "COM/Com_Def.h" #include struct Dri_Nus_Struct_Context; struct Dri_Nus_Struct_Port { bool IsOpened = false; bool IsConnected = false; bool HasWriteAck = false; QString TextEndpointSummary; Dri_Nus_Struct_Context* p_Context = nullptr; }; void Dri_Nus_Close(Dri_Nus_Struct_Port* p_Port); bool Dri_Nus_Init( Dri_Nus_Struct_Port* p_Port, const Com_Struct_DeviceConfig& DeviceConfig, QString* p_TextStatus); bool Dri_Nus_Read( Dri_Nus_Struct_Port* p_Port, Com_Struct_RawPacket* p_Packet, QString* p_TextStatus); // Lock the confirmed BLE NUS candidate after LOGIC accepts a HelloRsp. bool Dri_Nus_LockCandidate( Dri_Nus_Struct_Port* p_Port, const QString& EndpointId, QString* p_TextStatus); // Drop one mismatched BLE candidate and let the driver continue scanning. bool Dri_Nus_DiscardCandidate( Dri_Nus_Struct_Port* p_Port, const QString& EndpointId, QString* p_TextStatus); bool Dri_Nus_Write( Dri_Nus_Struct_Port* p_Port, const QByteArray& PacketBody, QString* p_TextStatus);