Lodestar
An integrated real-time control package in C++
ls::blocks::BlockProto Class Reference

#include <BlockProto.hpp>

Inheritance diagram for ls::blocks::BlockProto:
[legend]

Public Types

using empty = std::tuple<>
 

Public Member Functions

virtual void trigger ()
 Number of parameter slots. More...
 
void setPriority (int prio)
 
int getPriority () const
 
const GiNaC::function blkf (const ::std::vector< GiNaC::ex > &exvec, bool appendId=true)
 

Public Attributes

std::vector< SignalBase * > inputPointers {}
 Utility using declaration for empty slot bank.
 
std::vector< SignalBase * > outputPointers {}
 Vector of input signal pointers.
 
const unsigned int id
 Vector of output signal pointers.
 
unsigned int ins
 Unique Block ID.
 
unsigned int outs
 Number of input slots.
 
unsigned int pars
 Number of output slots.
 
unsigned serial
 

Static Public Attributes

static int objects_created = 0
 
static int objects_alive = 0
 

Protected Attributes

int prio_ = -1
 

Detailed Description

Block prototype class.

Member Function Documentation

◆ getPriority()

int ls::blocks::BlockProto::getPriority ( ) const
inline

Gets execution priority.

Returns
Execution priority.

◆ setPriority()

void ls::blocks::BlockProto::setPriority ( int  prio)
inline

Sets execution priority.

Parameters
prioExecution priority.

◆ trigger()

virtual void ls::blocks::BlockProto::trigger ( )
inlinevirtual

Number of parameter slots.

Virtual trigger function.

To be overwritten by implementing class to allow for remote triggering of the derived Block.

Reimplemented in ls::blocks::BlockBase< TChild >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols >, TScalar, TScalar, TScalar >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< TScalar > > >, ls::blocks::BlockBase< Block< BlockProto::empty, ::std::tuple< TType >, ::std::tuple< TType > > >, ls::blocks::BlockBase< Block< ::std::tuple< TType, TType >, ::std::tuple<::std::complex< TType > >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< TScalar, TScalar > > >, ls::blocks::BlockBase< Block< ::std::tuple< TType >, ::std::tuple< TType >, ::std::tuple< TType, TType > > >, ls::blocks::BlockBase< Block< ::std::tuple<::std::tuple< TTypes... > >, ::std::tuple< TTypes... >, ::std::tuple< DemuxBlockOperator > > >, ls::blocks::BlockBase< Block< ::std::tuple< TType, TType, bool >, ::std::tuple< TType >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< TScalar, TScalar, TScalar, TScalar > > >, ls::blocks::BlockBase< Block< ::std::tuple< TType, TType >, ::std::tuple< TType >, ::std::tuple< bool > > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols >, Eigen::Matrix< TScalar, TRows, TCols >, Eigen::Matrix< TScalar, TRows, TCols >, TScalar > > >, ls::blocks::BlockBase< Block< ::std::tuple< TInput >, ::std::tuple< TOutput >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< TType >, ::std::tuple< TType >, ::std::tuple< DemuxBlockOperator > > >, ls::blocks::BlockBase< Block< ::std::tuple< TInput >, ::std::tuple< OUTPUT_GAINBLOCK()>, ::std::tuple< TInput, double > > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols >, Eigen::Matrix< TScalar, TRows, TCols > > > >, ls::blocks::BlockBase< Block< ::std::tuple< TType >, ::std::tuple< TType >, ::std::tuple< TType, TType, TType, TType > > >, ls::blocks::BlockBase< Block< ::std::tuple< TInput >, ::std::tuple< int, int, OUTPUT_MINMAXIDXBLOCK()>, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< TType >, ::std::tuple< pb_ostream_t * >, ::std::tuple< pb_ostream_t * > > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, 3, 1 > >, ::std::tuple< Eigen::Matrix< TScalar, 3, 1 > >, ::std::tuple< Eigen::Quaternion< TScalar > > > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols >, TScalar, TScalar >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< TInput >, ::std::tuple< OUTPUT_MINMAXBLOCK()>, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< TInput >, ::std::tuple< TInput >, ::std::tuple< float > > >, ls::blocks::BlockBase< Block< ::std::tuple< TTypes... >, ::std::tuple<::std::tuple< TTypes... > >, ::std::tuple< MuxBlockOperator > > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Vector< TScalar, NInput > >, ::std::tuple< Eigen::Vector< TScalar, NOutput > >, ::std::tuple< ls::systems::DiscreteStateSpace< TScalar, NState, NInput, NOutput > > > >, ls::blocks::BlockBase< Block< ::std::tuple< TInput >, ::std::tuple< OUTPUT_UNARYMEANBLOCK()>, BlockProto::empty > >, ls::blocks::BlockBase< Block< ls::aux::TemplateTools::repeat< TType, N, ::std::tuple >::type, ::std::tuple< TType >, ::std::tuple<::std::array< SumBlockOperator, N >, TType > > >, ls::blocks::BlockBase< Block< ::std::tuple< TType >, ::std::tuple< TType >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< TType, TType, TType, TType >, ::std::tuple< TType >, ::std::tuple< TType > > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, 3, 1 >, Eigen::Quaternion< TScalar > >, ::std::tuple< Eigen::Matrix< TScalar, 3, 1 > >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols >, Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< Eigen::Matrix<::std::complex< TScalar >, TRows, TCols > >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ls::aux::TemplateTools::repeat< TScalar, TRows *TCols, ::std::tuple >::type, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< MuxBlockOperator > > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols >, Eigen::Matrix< TScalar, TRows, TCols >, Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< TType, TType, TType >, ::std::tuple< TType >, ::std::tuple< TType > > >, ls::blocks::BlockBase< Block< ::std::tuple< TInput >, ::std::tuple< TInput >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< TScalar, TScalar, TScalar >, ::std::tuple< TScalar, TScalar, TScalar >, ::std::tuple< Eigen::Quaternion< TScalar > > > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, 1, 3 >, Eigen::Quaternion< TScalar > >, ::std::tuple< Eigen::Matrix< TScalar, 1, 3 > >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< TInputs... >, ::std::tuple< TOutputs... >, ::std::tuple< TParameters... > > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols >, Eigen::Matrix< TScalar, TRows, TCols >, Eigen::Matrix< TScalar, TRows, TCols >, Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, ::std::tuple< TScalar > > >, ls::blocks::BlockBase< Block< ::std::tuple< TType >, ::std::tuple< int >, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, 1, 3 > >, ::std::tuple< Eigen::Matrix< TScalar, 1, 3 > >, ::std::tuple< Eigen::Quaternion< TScalar > > > >, ls::blocks::BlockBase< Block< BlockProto::empty, BlockProto::empty, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< TInput >, ls::aux::TemplateTools::repeat< TInput, 2, ::std::tuple >::type, BlockProto::empty > >, ls::blocks::BlockBase< Block< TInputsList, TOutputsList, BlockProto::empty > >, ls::blocks::BlockBase< Block< ::std::tuple< Eigen::Matrix< TScalar, TRows, TCols > >, aux::TemplateTools::repeat< TScalar, TRows *TCols, ::std::tuple >::type, ::std::tuple< DemuxBlockOperator > > >, ls::blocks::BlockBase< Block< ::std::tuple< TInputs... >, ::std::tuple< int >, ::std::tuple<::std::function< int(TInputs...)> > > >, ls::blocks::BlockBase< Block< ::std::tuple< TScalar, TScalar, TScalar, Eigen::Quaternion< TScalar > >, ::std::tuple< TScalar, TScalar, TScalar >, BlockProto::empty > >, and ls::blocks::Block< ::std::tuple< TInputs... >, ::std::tuple< TOutputs... >, ::std::tuple< TParameters... > >.


The documentation for this class was generated from the following files: