43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "COM/Com_Def.h"
|
||
|
|
#include <QtCore/QString>
|
||
|
|
|
||
|
|
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);
|