User Tools

Site Tools


eeros_architecture:control_system:custom_blocks

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:control_system:custom_blocks [2021/07/08 19:36] – [How Many Inputs and Outputs?] ursgrafeeros_architecture:control_system:custom_blocks [2025/08/08 15:41] (current) – [Basic Block] ursgraf
Line 3: Line 3:
  
 ==== How Many Inputs and Outputs? ==== ==== How Many Inputs and Outputs? ====
-You should design your block as an extension of ''Blockio''. Choose the template parameters so that you get the desired number of input and output signals together with their types.  +You should design your block as an extension of ''Blockio''. Choose the template parameters so that you get the desired number of input and output signals together with their types. If signals carry different types, you have will have to define the necessary inputs and outputs as fields of your new block class. 
- +
-For all other cases your block will have to define the necessary inputs and outputs as fields of your new block class. +
  
 As a example we take a look at a new block  As a example we take a look at a new block 
 <code cpp> <code cpp>
 template < typename T = double >  // make it available for many types template < typename T = double >  // make it available for many types
-class MyBlock : public Blockio<1,2,T,T> {+class MyBlock : public Blockio<1,2,T,T> // has 1 input, 2 outputs
  public:  public:
   MyBlock() { ... }   // constructor   MyBlock() { ... }   // constructor
Line 24: Line 22:
  
 There are cases that your blocks produces signals which do not depend on input signals from other blocks. It might generate its output signals from various other sources and will set its timestamp to a actual system time, or the time the original source signal was generated.  There are cases that your blocks produces signals which do not depend on input signals from other blocks. It might generate its output signals from various other sources and will set its timestamp to a actual system time, or the time the original source signal was generated. 
 +
 +===== Using Basic Block =====
 +Have a look at the [[eeros_architecture:control_system:available_blocks:generic|]]. It allows to pass its algorithm with a lambda function. This can be handy and avoids the need to write your custom block.
eeros_architecture/control_system/custom_blocks.1625765762.txt.gz · Last modified: 2021/07/08 19:36 by ursgraf