00001 #ifndef NxyterWidget_H 00002 #define NxyterWidget_H 00003 00004 #include "subwidget.h" 00005 00006 #include <QSpinBox> 00007 #include <QSlider> 00008 #include <QCheckBox> 00009 #include <QLineEdit> 00010 00011 #include "ui_nxyterwidget.h" 00012 00013 #include "nxyter/NxChip.h" 00014 #include "nxyter/NxContext.h" 00015 00016 00017 class NxyterWidget : public SubWidget , public Ui::NxyterWidget { 00018 Q_OBJECT 00019 00020 enum { NumBias = 14, BiasShift = 16, MaskSize = 128, NumConfigBits=12, NumOtherRegs = 5 }; 00021 00022 protected: 00023 nxyter::NxChip* fChip; 00024 nxyter::NxContext fContext; 00025 00026 QSpinBox* fBiasSpins[NumBias]; 00027 QSlider* fBiasSlider[NumBias]; 00028 QCheckBox* fMaskChks[MaskSize]; 00029 QSpinBox* fThrdSpins[MaskSize+1]; 00030 QCheckBox* fConfigChks[NumConfigBits]; 00031 QSpinBox* fOtherSpins[NumOtherRegs]; 00032 00033 bool fIgnore; 00034 00035 public: 00036 NxyterWidget(QWidget* parent, nxyter::NxChip* chip); 00037 00038 void showMask(); 00039 void showThreshold(int select = -1); 00040 00041 virtual bool getSubConfig(); 00042 virtual bool setSubConfig(); 00043 virtual bool setSubToDefault(); 00044 virtual bool fillCmdFile(FILE* f); 00045 00046 public slots: 00047 void showContext(); 00048 void biasRegChanged(int); 00049 void maskRowColumn(int); 00050 void thresholdRowColumn(int); 00051 void configBitChanged(int); 00052 void otherRegsChanged(int); 00053 }; 00054 00055 #endif