//#pragma execution_character_set("utf-8")
#include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(ui->btnConn,SIGNAL(clicked()),this,SLOT(slotConnect()));
    connect(ui->btnDis,SIGNAL(clicked()),this,SLOT(slotDisCon()));
     connect(&m_TcpClent,SIGNAL(SigRectMsg(QByteArray & )),this,SLOT(slotRec(QByteArray &)));
     ui->editIp->setText("192.168.1.11");
     ui->spnPort->setRange(1,1000000);
      ui->spnPort->setValue(5086);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::slotConnect()
{
    QString  sIP = ui->editIp->text();
    int port    = ui->spnPort->value();
    if( m_TcpClent.connectServer(sIP,port))
    {
         QMessageBox::information(this,"succeed"," succeed");
    }
    else
    {
        QMessageBox::warning(this,"failed"," failed");
    }

}
void Widget::slotDisCon()
{

    if( m_TcpClent.disConnectServer())
    {
         QMessageBox::information(this,"succeed"," succeed");
    }
    else
    {
        QMessageBox::warning(this,"failed"," failed");
    }
}
void Widget::slotSend()
{


}
void Widget::slotRec(QByteArray & data)
{
    qDebug()<<"data---"<<data<<endl;
    DataPacket datapack;
    datapack.deserialize(data);
#if  0

   qDebug()<<QString::fromLocal8Bit("包序号:")+QString::number(datapack.packetSeq)<<endl;;
   qDebug()<<QString::fromLocal8Bit("数据块长度 :")+QString::number(datapack.dataLength)<<endl;;;       // 数据块长度 (2 bytes)
   qDebug()<<QString::fromLocal8Bit("电量:")+QString::number(datapack.batteryLevel)<<endl;;;      // 电量 (1 byte)
   qDebug()<<QString::fromLocal8Bit("通道数量:")+QString::number(datapack.channelCount)<<endl;;;      // 通道数量 (1 byte)
   qDebug()<<QString::fromLocal8Bit("俯仰角:")+QString::number(datapack.pitchAngle)<<endl;;;        // 俯仰角 (2 bytes)
   qDebug()<<QString::fromLocal8Bit("滚动角:")+QString::number(datapack.rollAngle)<<endl;;;         // 滚动角 (2 bytes)
   qDebug()<<QString::fromLocal8Bit("偏航角:")+QString::number(datapack.yawAngle)<<endl;;;          // 偏航角 (2 bytes)
   qDebug()<<QString::fromLocal8Bit("心电:")+QString::number(datapack.ecg)<<endl;;;              // 心电 (2 bytes)
   qDebug()<<QString::fromLocal8Bit("血氧:")+QString::number(datapack.spo2)<<endl;;;             // 血氧 (2 bytes)


    qDebug()<<"packetSeq :"+QString::number(datapack.packetSeq)<<endl;;
    qDebug()<<"dataLength:"+QString::number(datapack.dataLength)<<endl;;;       // 数据块长度 (2 bytes)
    qDebug()<<"batteryLevel"+QString::number(datapack.batteryLevel)<<endl;;;      // 电量 (1 byte)
    qDebug()<<"channelCount"+QString::number(datapack.channelCount)<<endl;;;      // 通道数量 (1 byte)
    qDebug()<<"pitchAngle"+QString::number(datapack.pitchAngle)<<endl;;;        // 俯仰角 (2 bytes)
    qDebug()<<"rollAngle"+QString::number(datapack.rollAngle)<<endl;;;         // 滚动角 (2 bytes)
    qDebug()<<"yawAngle"+QString::number(datapack.yawAngle)<<endl;;;          // 偏航角 (2 bytes)
    qDebug()<<"ecg"+QString::number(datapack.ecg)<<endl;;;              // 心电 (2 bytes)
    qDebug()<<"spo2"+QString::number(datapack.spo2)<<endl;;;             // 血氧 (2 bytes)

#endif

}