DIY Auto-Correlator 1.0
Auto-Correlator Card implementation using Teensy 4.x microcontrollers.
Public Member Functions | Public Attributes | List of all members
LinACorrRTTeensy< Series_Size, hasMonitorChannel > Class Template Reference

This is an implementation of Lin_ACorr_RT_Base for Teensy with (No normalisation or baseline subtraction.) More...

#include <Lin_ACorr_RT_Teensy.hpp>

Public Member Functions

 LinACorrRTTeensy ()
 Default Constructor. More...
 
void push_datum (counter_t datum)
 Adds new single data point and processes it to the Channel. More...
 
void push_data (const counter_t *container, const index_t size) __attribute__((flatten))
 Repeatedly calls push_datum() on the given container of values, one at a time. More...
 
float_t norm ()
 Returns the accumulate of the channel so far. More...
 
void ch_out () const __attribute__((always_inline))
 Outputs the complete channel to the Serial port. More...
 
void ch_out_norm () const __attribute__((flatten))
 Outputs the channel array to the Serial port after normalising it. More...
 

Public Attributes

channel_t Channel_array [Series_Size] = {0}
 Defines a run-time polymorphic MonitorChannel object, which decomposes to ghost channel (UnitMeanChannel) if hasMonitorChannel is true. Basically UnitMeanChannel does nothing. More...
 
Simpler_Circular_Buffer< counter_t, Series_Size > Series_array
 Stores the data points in a circular Buffer. More...
 
index_t Series_index = 0
 Stores the last active index → Post-increment. More...
 

Detailed Description

template<index_t Series_Size, bool hasMonitorChannel>
class LinACorrRTTeensy< Series_Size, hasMonitorChannel >

This is an implementation of Lin_ACorr_RT_Base for Teensy with (No normalisation or baseline subtraction.)

Note
{ Template parameter - Size of the Series and Channel array and indicates the maximum points that can be stored by the correlator object. The circuular buffer will then rewrite the older points to accomodate for the other points. }

Constructor & Destructor Documentation

◆ LinACorrRTTeensy()

template<index_t Series_Size, bool hasMonitorChannel>
LinACorrRTTeensy< Series_Size, hasMonitorChannel >::LinACorrRTTeensy ( )
inline

Default Constructor.

Member Function Documentation

◆ ch_out()

template<index_t Series_Size, bool hasMonitorChannel>
void LinACorrRTTeensy< Series_Size, hasMonitorChannel >::ch_out ( ) const
inline

Outputs the complete channel to the Serial port.

◆ ch_out_norm()

template<index_t Series_Size, bool hasMonitorChannel>
void LinACorrRTTeensy< Series_Size, hasMonitorChannel >::ch_out_norm ( ) const
inline

Outputs the channel array to the Serial port after normalising it.

◆ norm()

template<index_t Series_Size, bool hasMonitorChannel>
float_t LinACorrRTTeensy< Series_Size, hasMonitorChannel >::norm ( )
inline

Returns the accumulate of the channel so far.

Parameters
Lagtime that is ignored by the function.

◆ push_data()

template<index_t Series_Size, bool hasMonitorChannel>
void LinACorrRTTeensy< Series_Size, hasMonitorChannel >::push_data ( const counter_t container,
const index_t  size 
)
inline

Repeatedly calls push_datum() on the given container of values, one at a time.

◆ push_datum()

template<index_t Series_Size, bool hasMonitorChannel>
void LinACorrRTTeensy< Series_Size, hasMonitorChannel >::push_datum ( counter_t  datum)
inline

Adds new single data point and processes it to the Channel.

Member Data Documentation

◆ Channel_array

template<index_t Series_Size, bool hasMonitorChannel>
channel_t LinACorrRTTeensy< Series_Size, hasMonitorChannel >::Channel_array[Series_Size] = {0}

Defines a run-time polymorphic MonitorChannel object, which decomposes to ghost channel (UnitMeanChannel) if hasMonitorChannel is true. Basically UnitMeanChannel does nothing.

Stores the Channel output

◆ Series_array

template<index_t Series_Size, bool hasMonitorChannel>
Simpler_Circular_Buffer<counter_t, Series_Size> LinACorrRTTeensy< Series_Size, hasMonitorChannel >::Series_array

Stores the data points in a circular Buffer.

◆ Series_index

template<index_t Series_Size, bool hasMonitorChannel>
index_t LinACorrRTTeensy< Series_Size, hasMonitorChannel >::Series_index = 0

Stores the last active index → Post-increment.


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