Design and Development of a Diagnostics Client for a Beam Loss ...
Design and Development of a Diagnostics Client for a Beam Loss ...
Design and Development of a Diagnostics Client for a Beam Loss ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Design</strong> <strong>and</strong> <strong>Development</strong> <strong>of</strong> a <strong>Diagnostics</strong> <strong>Client</strong> <strong>for</strong> a <strong>Beam</strong> <strong>Loss</strong> Measurement System at CERN<br />
<strong>of</strong> auxiliary ones <strong>for</strong> the inner panels.<br />
Figure 30: Default outlook <strong>of</strong> the hardware info tab.<br />
StatusGUI is the entry point class. An object <strong>of</strong> this class is created inside the constructor<br />
<strong>of</strong> the OnlineDataViewerGUI class, where the base frame <strong>of</strong> the application is created<br />
as well. Similarly to the other tabs <strong>of</strong> the GUI, the constructor <strong>of</strong> this class builds the<br />
interface <strong>of</strong> the first status tab using different swing layout managers <strong>and</strong> utilities. The<br />
other main class is the HwGUI. The main principles <strong>of</strong> the StatusGUI apply to this class<br />
as well, i.e. an object is constructed in the same place <strong>and</strong> the interface is built with the<br />
same techniques. These two tabs are updated every one second via a dedicated method<br />
in the StatusGUI, which takes as an argument the status buffer (see chapter 4.3.3.2).<br />
This method distributes the status elements in the buffer <strong>and</strong> makes all the necessary<br />
processing <strong>for</strong> the final result. Afterwards, it calls other methods from the auxiliary classes<br />
in order to update both interfaces with the newly calculated status values. The creation<br />
occurs in the EDT, but the update <strong>of</strong> the status panels is executed in the Swingworker<br />
socket thread (see the algorithm in chapter 4.4.3)<br />
4.4.6 Comm<strong>and</strong>s Displays<br />
The two remaining tabs <strong>of</strong> the GUI implement the Static <strong>and</strong> Advanced comm<strong>and</strong>s dis-<br />
cussed in Chapter 4.3.1. These comm<strong>and</strong>s are sent to the server via the TCP socket.<br />
Their purpose is to set different internal registers <strong>of</strong> the FGPA <strong>and</strong> thus affect the mea-<br />
surements. Regarding the static comm<strong>and</strong>s tab, the payload <strong>of</strong> every unique comm<strong>and</strong><br />
can be set either with the use <strong>of</strong> a textbox or a toggle button. A textbox is used in case<br />
Emmanouil I. Angelogiannopoulos 45