#include "readepccontrol.h"
#include <QDebug>
#include <QThread>
ReadEPCControl::ReadEPCControl(QObject *parent) : QObject(parent)
{

}

void ReadEPCControl::setComm(QString ComName, long baudRate)
{
    qDebug()<<"读卡器子线程:"<< QThread::currentThreadId();
    SerialPort = new QSerialPort(this);
    // 设置串口号
    SerialPort->setPortName(ComName);
    // 打开串口
    if(SerialPort->open(QIODevice::ReadOnly))
    {
        // 设置波特率
        SerialPort->setBaudRate(baudRate);
        SerialPort->setDataBits(QSerialPort::Data8);
        SerialPort->setParity(QSerialPort::NoParity);
        // 设置流控制
        SerialPort->setFlowControl(QSerialPort::NoFlowControl);
        SerialPort->setStopBits(QSerialPort::OneStop);
        //qDebug()<<"打开RFID";
        emit SendRFIDStatus(true);
    }else {
        qDebug()<<"打开RFID失败";
        emit SendRFIDStatus(false);
    }
    connect(SerialPort,&QSerialPort::readyRead,this,[=](){
        QByteArray data = SerialPort->readAll();
        //QString str(SerialPort.readAll());
        //qDebug()<<"接收到的初始EPC:"<<data;
        emit SendToBridge(data);

    });
    connect(this,&ReadEPCControl::SendToSelf_Close,this,[=](){
        SerialPort->close();
        emit SendRFIDStatus(false);
    });
}
