05.07.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!