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

Main functional block definitions. More...

Namespaces

 std
 Standard functional block library.
 

Classes

class  Block
 Generic base template class for all tuple-based Block instances. More...
 
class  Block< ::std::tuple< TInputs... >, ::std::tuple< TOutputs... >, ::std::tuple< TParameters... > >
 
class  BlockBase
 
struct  BlockPack
 
class  BlockProto
 
class  BlockTraits
 A traits object that exposes information about TBlock. More...
 
class  BlockTraits< Block< ::std::tuple< TInputs... >, ::std::tuple< TOutputs... >, ::std::tuple< TParameters... > > >
 
class  BlockTraits< std::BufferBlock< TInput, NSize > >
 
class  BlockTraits< std::ConstantBlock< TType > >
 
class  BlockTraits< std::ConverterBlock< TInput, TOutput > >
 
class  BlockTraits< std::DeadzoneBlock< TType, TOps, std::DeadzoneBlockParameter::Parametric > >
 
class  BlockTraits< std::DelayBlock< TInput, NDelay > >
 
class  BlockTraits< std::DemuxBlock< Eigen::Matrix< TScalar, TRows, TCols >, TOps > >
 
class  BlockTraits< std::DifferentiatorBlock< TInput, NDelay, TScalar > >
 
class  BlockTraits< std::DiscreteStateSpaceBlock< ls::systems::DiscreteStateSpace< TScalar, NState, NInput, NOutput >, std::DiscreteStateSpaceBlockFeedthrough::HasFeedthrough, 0, 0, 0 > >
 
class  BlockTraits< std::DiscreteStateSpaceBlock< ls::systems::DiscreteStateSpace< TScalar, NState, NInput, NOutput >, std::DiscreteStateSpaceBlockFeedthrough::NoFeedthrough, 0, 0, 0 > >
 
class  BlockTraits< std::DiscreteStateSpaceBlock< TScalar, TFeedthroughOps, NState, NInput, NOutput > >
 
class  BlockTraits< std::FunctionBlock< TOutput, TInputs... > >
 
class  BlockTraits< std::GainBlock< TInput, TGain, TOps, TConv > >
 BlockTraits specialization for GainBlock. More...
 
class  BlockTraits< std::IntegratorBlock< TInput, NDelay > >
 
class  BlockTraits< std::MinMaxBlock< TInput, TOps > >
 
class  BlockTraits< std::MinMaxIdxBlock< TInput, TOps > >
 
class  BlockTraits< std::MuxBlock< Eigen::Matrix< TScalar, TRows, TCols >, TOps > >
 
class  BlockTraits< std::ProtoMsgOutBlock< TType > >
 
class  BlockTraits< std::ReImToComplexBlock< TType, SFINAE > >
 
class  BlockTraits< std::SaturationBlock< TType, TOps, std::SaturationBlockParameter::Parametric > >
 
class  BlockTraits< std::SignumBlock< TType, TOutput > >
 
class  BlockTraits< std::SimplePIDBlock< TType, std::SimplePIDBlockOperator::Elementwise, std::SimplePIDBlockParameter::AdditionalInput > >
 
class  BlockTraits< std::SimplePIDBlock< TType, std::SimplePIDBlockOperator::Elementwise, std::SimplePIDBlockParameter::Parametric > >
 
class  BlockTraits< std::SimplePIDBlock< TType, std::SimplePIDBlockOperator::Scalar, std::SimplePIDBlockParameter::AdditionalInput > >
 
class  BlockTraits< std::SimplePIDBlock< TType, std::SimplePIDBlockOperator::Scalar, std::SimplePIDBlockParameter::Parametric > >
 
class  BlockTraits< std::SumBlock< TType, N > >
 
class  BlockTraits< std::SwitchBlock< TType, std::SwitchBlockParameter::AdditionalInput > >
 
class  BlockTraits< std::SwitchBlock< TType, std::SwitchBlockParameter::Parametric > >
 
class  BlockTraits< std::UnaryAbsBlock< TInput > >
 
class  BlockTraits< std::UnaryMeanBlock< TInput > >
 
class  BlockTraits< void >
 
class  Signal
 
class  SignalBase
 

Enumerations

enum  BlockType {
  BlockType::UnknownBlock, BlockType::GenericBlock, BlockType::CustomBlock, BlockType::BufferBlock,
  BlockType::ConstantBlock, BlockType::ConverterBlock, BlockType::DeadzoneBlock, BlockType::DelayBlock,
  BlockType::DemuxBlock, BlockType::DifferentiatorBlock, BlockType::DiscreteStateSpaceBlock, BlockType::FunctionBlock,
  BlockType::GainBlock, BlockType::IntegratorBlock, BlockType::MinMaxBlock, BlockType::MinMaxIdxBlock,
  BlockType::MuxBlock, BlockType::ProtoMsgOutBlock, BlockType::ReImToComplexBlock, BlockType::SaturationBlock,
  BlockType::SignumBlock, BlockType::SimplePIDBlock, BlockType::SumBlock, BlockType::SwitchBlock,
  BlockType::UnaryAbsBlock, BlockType::UnaryMeanBlock
}
 Block type information. More...
 

Functions

static ::std::string blockTypeToString (const BlockType type)
 
template<typename TObject1 , typename TObject2 >
std::enable_if< std::is_convertible< TObject1, TObject2 >::value, Signal< TObject1 > >::type operator+ (const Signal< TObject1 > &signal1, const Signal< TObject2 > &signal2)
 
template<typename TObject1 , typename TObject2 >
std::enable_if<!std::is_convertible< TObject1, TObject2 >::value, Signal< TObject1 > >::type operator+ (const Signal< TObject1 > &signal1, const Signal< TObject2 > &signal2)
 
template<typename TObject1 , typename TObject2 >
std::enable_if< std::is_convertible< TObject1, TObject2 >::value, Signal< TObject1 > >::type operator- (const Signal< TObject1 > &signal1, const Signal< TObject2 > &signal2)
 
template<typename TObject1 , typename TObject2 >
std::enable_if<!std::is_convertible< TObject1, TObject2 >::value, Signal< TObject1 > >::type operator- (const Signal< TObject1 > &signal1, const Signal< TObject2 > &signal2)
 
template<typename TObject1 , typename TObject2 >
std::enable_if< std::is_convertible< TObject1, TObject2 >::value, Signal< TObject1 > >::type operator* (const Signal< TObject1 > &signal1, const Signal< TObject2 > &signal2)
 
template<typename TObject1 , typename TObject2 >
std::enable_if<!std::is_convertible< TObject1, TObject2 >::value, Signal< TObject1 > >::type operator* (const Signal< TObject1 > &signal1, const Signal< TObject2 > &signal2)
 
template<typename TObject1 , typename TObject2 >
std::enable_if< std::is_convertible< TObject1, TObject2 >::value, Signal< TObject1 > >::type operator/ (const Signal< TObject1 > &signal1, const Signal< TObject2 > &signal2)
 
template<typename TObject1 , typename TObject2 >
std::enable_if<!std::is_convertible< TObject1, TObject2 >::value, Signal< TObject1 > >::type operator/ (const Signal< TObject1 > &signal1, const Signal< TObject2 > &signal2)
 

Variables

static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicEvalFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicEvalfFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicConjugateFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicRealFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicImagFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicExpandFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicDerivFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicExplDerivFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicPowerFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicSeriesFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicPrintFunctionMap {}
 
static ::std::unordered_map< unsigned int, ::std::function< GiNaC::ex(::std::vector< GiNaC::ex >)> > symbolicInfoFunctionMap {}
 

Detailed Description

Main functional block definitions.