Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Functions | Variables
JDAQCHSM.chsm File Reference
#include "chsm.h"
#include <string>
#include <sstream>

Go to the source code of this file.

Classes

class  JDAQCHSM
 DAQ state machine interface. More...
 
class  JDAQCHSM::JDAQState
 DAQ state class. More...
 

Functions

chsm< JDAQCHSMJDAQStateMachine (const std::string __name)
 
set Main (RunControl, Responder) is
 

Variables

 is
 
event< ev_daq > ev_init
 
event< ev_daq > ev_configure
 
event< ev_daq > ev_start
 
event< ev_daq > ev_pause
 
event< ev_daq > ev_continue
 
event< ev_daq > ev_stop
 
event< ev_daq > ev_reset
 
event< ev_daq > ev_quit
 
event< ev_daq > ev_off
 
event< ev_daq > ev_check
 
event< ev_daq > ev_input
 
event< ev_daq > ev_recover
 

Function Documentation

chsm<JDAQCHSM> JDAQStateMachine ( const std::string  __name)

Definition at line 162 of file JDAQCHSM.chsm.

162  {
163 
164  upon enter %{ actionEnter(); %}
165  upon exit %{ actionExit(); %}
166 
167 } is {
exit
Definition: JPizza.sh:36
is
Definition: JDAQCHSM.chsm:167
set Main ( RunControl  ,
Responder   
)

The run control cluster.

This state is used to repond to user commands that are not part of the run control state machine.

Definition at line 188 of file JDAQCHSM.chsm.

188  {
189 
190  /**
191  * The run control cluster.
192  */
193  cluster RunControl(Operational, Error) is {
194 
195  cluster Operational(Idle, Standby, Ready, Paused, Running) {
196 
197  ev_error->Error %{ actionError(); %};
198 
199  } is {
200 
201  state<JDAQState> Idle {
202 
203  ev_init->Standby %{ execute(&JDAQCHSM::actionInit, event); %};
204  ev_off %{ JDAQCHSM::exit(); %};
205  }
206 
207  state<JDAQState> Standby {
208 
209  ev_configure->Ready %{ execute(&JDAQCHSM::actionConfigure, event); %};
210  ev_reset->Idle %{ execute(&JDAQCHSM::actionReset, event); %};
211  }
212 
213  state<JDAQState> Ready {
214 
215  ev_start->Running %{
216 
217  std::istringstream is(std::string(ev_start->buffer, ev_start->length));
218 
219  is >> run_number >> detector_id;
220 
221  execute(&JDAQCHSM::actionStart, event);
222 
223  %};
224 
225  ev_quit->Standby %{ execute(&JDAQCHSM::actionQuit, event); %};
226  }
227 
228  state<JDAQState> Paused {
229 
230  ev_continue->Running %{ execute(&JDAQCHSM::actionContinue, event); %};
231  ev_stop->Standby %{ execute(&JDAQCHSM::actionStop, event); %};
232  }
233 
234  state<JDAQState> Running {
235 
236  ev_pause->Paused %{ execute(&JDAQCHSM::actionPause, event); %};
237  }
238  }
239 
240 
241  state<JDAQState> Error {
242 
243  ev_recover->Operational %{ execute(&JDAQCHSM::actionRecover, event); %};
244  ev_off %{ JDAQCHSM::exit(); %};
245  }
246  }
247 
248  /**
249  * This state is used to repond to user commands that are not part of the run control state machine.
250  */
251  state Responder {
252 
253  ev_check %{ execute(&JDAQCHSM::actionCheck, event); %};
254  ev_input %{ execute(&JDAQCHSM::actionInput, event); %};
255  }
256  }
event< ev_daq > ev_continue
Definition: JDAQCHSM.chsm:178
virtual void actionQuit(int, const char *)
Definition: JDAQCHSM.chsm:119
event< ev_daq > ev_reset
Definition: JDAQCHSM.chsm:180
then JLigiers sh continue fi cat driver txt<< EOFprocess dfilter $HOST1 ssh\$HOST\$"JDataFilter -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG &";enterevent ev_init{RC_CMD%< ev_init.txt > from me< ev_init.txt > event ev_configure
event< ev_daq > ev_recover
Definition: JDAQCHSM.chsm:185
event< ev_daq > ev_stop
Definition: JDAQCHSM.chsm:179
virtual void actionInit(int, const char *)
Definition: JDAQCHSM.chsm:112
virtual void actionStop(int, const char *)
Definition: JDAQCHSM.chsm:117
virtual void actionReset(int, const char *)
Definition: JDAQCHSM.chsm:118
event< ev_daq > ev_quit
Definition: JDAQCHSM.chsm:181
virtual void actionPause(int, const char *)
Definition: JDAQCHSM.chsm:115
exit
Definition: JPizza.sh:36
event< ev_daq > ev_pause
Definition: JDAQCHSM.chsm:177
event< ev_daq > ev_input
Definition: JDAQCHSM.chsm:184
virtual void actionRecover(int, const char *)
Definition: JDAQCHSM.chsm:125
is
Definition: JDAQCHSM.chsm:167
virtual void actionInput(int, const char *)
Definition: JDAQCHSM.chsm:122
then cat ev_configure txt<< EOFdatawriter=$DWRITER_HOST;inputFile=$INPUT_FILE;eventRate_Hz=100.0;EOFfiif[[!-f driver.txt]];thencat > driver txt<< EOFprocess JEventGenerator $HOST ssh\$HOST\$"$JPP_BIN/JEventGenerator -u \$NAME\$ -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG </dev/null >& dev null& process JDataWriter $HOST ssh $HOST $JPP_BIN JDataWriter u $NAME H $SERVER M $LOGGER d $DEBUG</dev/null >& dev null& enter event ev_init
virtual void actionCheck(int, const char *)
Definition: JDAQCHSM.chsm:121
virtual void actionStart(int, const char *)
Definition: JDAQCHSM.chsm:114
virtual void actionContinue(int, const char *)
Definition: JDAQCHSM.chsm:116
event< ev_daq > ev_check
Definition: JDAQCHSM.chsm:183
event< ev_daq > ev_off
Definition: JDAQCHSM.chsm:182
virtual void actionConfigure(int, const char *)
Definition: JDAQCHSM.chsm:113

Variable Documentation

is
Initial value:
{
event ev_daq(int length, const char* buffer)

Definition at line 167 of file JDAQCHSM.chsm.

event<ev_daq> ev_init

Definition at line 174 of file JDAQCHSM.chsm.

event<ev_daq> ev_configure

Definition at line 175 of file JDAQCHSM.chsm.

event<ev_daq> ev_start

Definition at line 176 of file JDAQCHSM.chsm.

event<ev_daq> ev_pause

Definition at line 177 of file JDAQCHSM.chsm.

event<ev_daq> ev_continue

Definition at line 178 of file JDAQCHSM.chsm.

event<ev_daq> ev_stop

Definition at line 179 of file JDAQCHSM.chsm.

event<ev_daq> ev_reset

Definition at line 180 of file JDAQCHSM.chsm.

event<ev_daq> ev_quit

Definition at line 181 of file JDAQCHSM.chsm.

event<ev_daq> ev_off

Definition at line 182 of file JDAQCHSM.chsm.

event<ev_daq> ev_check

Definition at line 183 of file JDAQCHSM.chsm.

event<ev_daq> ev_input

Definition at line 184 of file JDAQCHSM.chsm.

event<ev_daq> ev_recover

Definition at line 185 of file JDAQCHSM.chsm.