User Tools

Site Tools


eeros_architecture:sequencer:define_sequence

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
eeros_architecture:sequencer:define_sequence [2020/09/30 08:07] – [Define the Action] ursgrafeeros_architecture:sequencer:define_sequence [2023/02/26 00:25] (current) – [Add Parameters] ursgraf
Line 63: Line 63:
 public: public:
   int action() {   int action() {
-    while (Sequencer::running) step1();+    while (state == SequenceState::running) step1();
     // while (true) step1();  // WRONG!     // while (true) step1();  // WRONG!
     return 0;     return 0;
   }   }
 </code> </code>
-This guarantees that the sequence could be stopped by the main program due to some external event such as a signal.+This guarantees that the sequence could be aborted, resumed or restarted due to exception sequences.
 ===== Define Preconditions ===== ===== Define Preconditions =====
 You may want to start a sequence or step only if a certain precondition is met. Override the function //checkPreCondition()//, e.g.: You may want to start a sequence or step only if a certain precondition is met. Override the function //checkPreCondition()//, e.g.:
Line 87: Line 87:
 <code cpp> <code cpp>
   int operator() (double x, double y) {   int operator() (double x, double y) {
-    this.x = x; // store the first parameter into a local variable for further use +    this->x = x; // store the first parameter into a local variable for further use 
-    this.y = y; // store the second parameter into a local variable for further use +    this->y = y; // store the second parameter into a local variable for further use 
     return start();  // this will start the step or sequence     return start();  // this will start the step or sequence
   }   }
eeros_architecture/sequencer/define_sequence.1601446043.txt.gz · Last modified: 2020/09/30 08:07 by ursgraf