//------------------------------------------------------------------------------ // DDR test application task -- // (C) Devis Contarato 2009, Berkeley Lab -- //------------------------------------------------------------------------------ //______________________________________________________________________________ // {Trace} // [File name] "task_DDR.h" // [Author] "Devis Contarato" // [Version] "0.5" // [Modified by] "Devis Contarato" // [Last revision] "16 March 2009" // [Language] "C++" // [Compiler] "Visual C++ 8.x 9.x" // [Member of] "Cool SEAL" // [Project] "SEAL" // [Description] "DDR test application task" // [Key documentation] // "Visual C++ Reference Help" // {Trace} //______________________________________________________________________________ // Overloading check #ifndef task_DDR_H #define task_DDR_H // Standard components //#include #include #include // Root components #include // Application components // GUI #include "gui_Form.h" #include "gui_Button.h" #include "gui_CoolButton.h" #include "gui_Numeric.h" #include "gui_Menu.h" #include "gui_Check.h" #include "gui_Text.h" #include "gui_Combo.h" #include "gui_Label.h" #include "gui_Const.h" //______________________________________________________________________________ class task_DDR: public task_Object { private: ///////////////// // GUI objects // ///////////////// gui_CoolButton* btn_open_Comm; // Open USB communication gui_CoolButton* btn_clear_Comm; // Button for clear communication gui_CoolButton* btn_set_All; // Button for setting all settings gui_CoolButton* btn_set_ADC; // Button for setting ADC_FIFO settings gui_CoolButton* btn_set_RO; // Button for setting gui_CoolButton* btn_Quit; // Quit button gui_Combo* cbox_Mode; // Combo box for mode selection (real data, write calibration, read calibration) gui_Combo* cbox_ADC_Input; // Combo box for ADC_FIFO input selection gui_Combo* cbox_RO_Input; // Combo box for RO_FIFO input selection gui_Numeric* num_ADC_Phase; // ADC_FIFO readout clock phase shifting selection gui_Numeric* num_RO_Phase; // RO_CLOCK write in clock phase shifting selection gui_Numeric* num_prog_Data; // Programmable pattern for ADC_FIFO input // Setup/Cleanup functions void gui_Setup(); void gui_Delete(); // Communication setup void comm_Setup(); void set_All(); void set_ADC(); void set_RO(); ///////////////////////////////////////////////////////////////////////////// // GUI objects callback target functions (can be either public or private) // ///////////////////////////////////////////////////////////////////////////// void btn_run_Evn(const int arg); // Handles btn_Run press void btn_quit_Evn(const int arg); // Handles btn_Quit press void btn_all_Evn(const int arg); // Handles btn_set_All press void btn_adc_Evn(const int arg); // Handles btn_set_ADC press void btn_ro_Evn(const int arg); void btn_CommOpen_Evn(const int arg); // Handles btn_open_Comm press void btn_CommClear_Evn(const int arg); // Handles btn_clear_Comm press // Special private memebers task_DDR(const task_DDR&) {} const task_DDR& operator=(const task_DDR&) {return *this;} public: // Special members task_DDR(); ~task_DDR(); // Run! UInt_t run(); // Static handler (Callback can handle static target function as well) static void static_Evn(const int arg); }; // Overloading check #endif