Files
0417_QT_code/DRI/Dri_Cdc.h

41 lines
1.0 KiB
C

#pragma once
#include "COM/Com_Def.h"
#include <QtCore/QString>
struct Dri_Cdc_Struct_Context;
struct Dri_Cdc_Struct_Port
{
Dri_Cdc_Struct_Context* p_Context = nullptr;
bool IsOpened = false;
QString PortName;
};
void Dri_Cdc_Close(Dri_Cdc_Struct_Port* p_Port);
bool Dri_Cdc_Init(
Dri_Cdc_Struct_Port* p_Port,
const Com_Struct_DeviceConfig& DeviceConfig,
QString* p_TextStatus);
bool Dri_Cdc_Read(
Dri_Cdc_Struct_Port* p_Port,
Com_Struct_RawPacket* p_Packet,
QString* p_TextStatus);
// Lock the confirmed CDC candidate after LOGIC accepts a HelloRsp.
bool Dri_Cdc_LockCandidate(
Dri_Cdc_Struct_Port* p_Port,
const QString& EndpointId,
QString* p_TextStatus);
// Drop one mismatched CDC candidate without tearing down the whole CDC scan set.
bool Dri_Cdc_DiscardCandidate(
Dri_Cdc_Struct_Port* p_Port,
const QString& EndpointId,
QString* p_TextStatus);
bool Dri_Cdc_Write(
Dri_Cdc_Struct_Port* p_Port,
const QByteArray& PacketBody,
QString* p_TextStatus);