Class LevelCrossingDetector

Inheritance Relationships

Base Type

  • public IProcessor

Class Documentation

class LevelCrossingDetector : public IProcessor

Public Functions

LevelCrossingDetector()
void CreatePorts() override
void Preprocess(ProcessingContext &context) override
void Process(ProcessingContext &context) override
void Postprocess(ProcessingContext &context) override

Public Members

const std::string DEFAULT_EVENT = "threshold_crossing"
const unsigned int LOW_POST_DETECTION_BLOCK_US = 30
const std::string THRESHOLD = "threshold"
const std::string UPSLOPE = "upslope"
const std::string POST_DETECT_BLOCK = "post detect block"

Protected Functions

void post_detection_block_update(unsigned int post_detection_block)

Protected Attributes

PortIn<MultiChannelType<double>> *data_in_port_
PortOut<EventType> *data_out_port_
StaticState<double> *threshold_
StaticState<bool> *upslope_
StaticState<unsigned int> *post_detect_block_
std::vector<double> previous_sample_
uint64_t n_detections_
MultiChannelType<double>::Data *data_in_
EventType::Data *data_out_
options::Double initial_threshold_ = {0.0}
options::Bool initial_upslope_ = {true}
options::Measurement<unsigned int, false> initial_post_detect_block_{2, "sample"}
options::Value<EventType::Data, false> event_prototype_{DEFAULT_EVENT, options::notempty<EventType::Data>()}