Environment variables for NOMAD

NOMAD_HOME : variable used to define root directory of nomad server base.
NOMAD_MAIL : address which will receive all email alert from NOMAD. If variable is not defined or is empty, alerts are sent to . This variable is used on script for example.

How to add property to a driver (server side)

In $NOMAD_HOME/src/ics/DataProvider/Property/.DeviceProperty.xml add a property entry in the right driver definition (for example add file_prefix property).
In definition header file of your driver (example Mpa3Def.h), defines a constant which represents the name of the property (for example static const char MPA3_PREFIX_FILENAME_DEVICE_CONTAINER[] = "file_prefix";)

Think to recompile NomadServer, and launch the server.

With Nomad Server Interface (in $NOMAD_HOME/tools/nomadmonitor), you can check if your property is available in your driver.

How to create a controller (server side)

In $NOMAD_HOME/src/ics/InstrumentAbstraction find the right directory (or create it) to store your controller.
Use existing controller to define your controller (or look for a better documentation).

You must define a constant for your controller in $NOMAD_HOME/src/ics/InstrumentAbstraction/ExperimentControllerDef.h.

Think to add your controller in $NOMAD_HOME/src/ics/InstrumentAbstraction/
In $NOMAD_HOME/src/ics/InstrumentAbstraction/ExperimentControllerCreator.cpp, add an include of your controller, add the right push back and create the instanciation of your controller.