BNMR: Custom pages
Links
Purpose
BNMR Custom pages are written specifically for the bnmr and bnqr experiments to enable to users to control the experiments more easily.
Introduction
MIDAS experiments run the web server [mhttpd] which allows users to control and communicate with their experiments using a standard web browser (e.g. Firefox).
Complicated experiments such as bnmr and bnqr involve a large number of ODB parameters in various directories that have to be setup in order to control the experiment. Navigating these parameters using the standard MIDAS ODB page can become complicated and time-consuming. For this reason, custom pages specific to an experiment are often written to present relevant parameters for the experiment in a more user-friendly way, and to display information specific to that experiment. The custom pages written for the bnmr and bnqr experiments are written in HTML and Javascript.
Custom pages
Some of the custom pages written for the bnmr and bnqr experiments include:
- Custom Status page - this page replaces the MIDAS standard status page
- Parameters page - this page enables users to enter the parameters for the selected PPG Mode
- Compare Tunes page - this page enables users to compare two tunes
- PPG Mode 20 Setup page - this page prevents users from entering invalid values for the Beam and RF parameters
In order for mhttpd to display custom pages, the custom page files must be listed in the /Custom ODB tree. See keys in /Custom tree for details.
Location of code
All custom page code is located in directory ~bn[mq]r/online/custom (see Nomenclature).
All pages includes the MIDAS Javascript library (mhttpd.js). The custom pages use the mjson rpc asynchronous functions to access the ODB. Most custom pages also include the MIDAS stylesheet, in addition to local style sheets created for the bnmr and bnqr experiments.
The following table lists the source filenames for the custom pages :
Custom Page | HTML | Javascript | Stylesheet | |
---|---|---|---|---|
Custom Status | Custom_Status.html | cs_functions.js | common.css, bn[mq]r.css * | |
Parameters | parameters.html | parameter_functions.js, params_common.js, parameters_tunes.js, tunes_descriptions.js |
mhttpd.css, common.css, bn[mq]r.css | |
Compare Tunes | compare_tunes.html | params_common.js, tune_descriptions.js, tunes_descriptions.js | common.css, bn[mq]r.css | |
Mode 20 setup | slider20.html | Note: This page requires the standard jquery, nouislider, wnumb libraries. | common.css, bn[mq]r.css
|