#ifndef OAMSYNCPARAM_H
#define OAMSYNCPARAM_H

#include <QDialog>
#include "pspublic.h"
#include "includes.h"

#pragma pack(push)
#pragma pack(1)

#define SYNC_PAYLOAD_LEN 64

#define ORDER_SYNC_CENTER_FREQ 0X0501
#define ORDER_SYNC_FREQ_OFFSET 0X0502
#define ORDER_SYNC_TX_POWER 0X0503
#define ORDER_SYNC_RSSI 0X0504
#define ORDER_SYNC_RX_SYNC_WORD 0X0505
#define ORDER_SYNC_TX_FLAG 0X0506
#define ORDER_SYNC_TX_CENTER_FREQ 0X0507
#define ORDER_SYNC_TX_SYNC_WORD 0X0508

class MainDlg;
namespace Ui {
class OamSyncParam;
}

class OamSyncParam : public QDialog
{
    Q_OBJECT

public:
    explicit OamSyncParam(QWidget *parent = nullptr);
    ~OamSyncParam();
    void showParam(LTV_T *pstData);
    void updateUi();

private:
    Ui::OamSyncParam *ui;
    MainDlg *m_pMainDlg;
    int m_dwDeviceType;

    void init();
    void configSignalSlot();

    void selectAllItem();
    void selectAllNoItem();
    void clearAllItem();
    void switchBtnFlag(bool byFlag);

    void queryParam();
    void rxSyncWordIndexChanged(int index);
    void configParam();
    void uploadData();

signals:
    void SignalSendQueryMsg(quint8 *pbyData, quint16 wLen);
    void SignalSendConfigMsg(quint8 *pbyData, quint16 wLen,quint16 wCmd);
    void SignalUploadBtsBaseParamUpdate(QString strApi, QJsonObject jsonObject);//上传参数信号
};

#pragma pack(pop)
#endif // OAMSYNCPARAM_H