ADC  8.0
Analog to Digital Conversor library for the Teensy 3.0 microprocessor
AnalogBufferDMA Class Reference

#include <AnalogBufferDMA.h>

Public Member Functions

void processADC_DMAISR ()
 
 AnalogBufferDMA (volatile uint16_t *buffer1, uint16_t buffer1_count, volatile uint16_t *buffer2=nullptr, uint16_t buffer2_count=0)
 
void init (ADC *adc, int8_t adc_num=-1)
 
void stopOnCompletion (bool stop_on_complete)
 
bool stopOnCompletion (void)
 
bool clearCompletion ()
 
volatile uint16_t * bufferLastISRFilled ()
 
uint16_t bufferCountLastISRFilled ()
 
uint32_t interruptCount ()
 
uint32_t interruptDeltaTime ()
 
bool interrupted ()
 
void clearInterrupt ()
 
void userData (uint32_t new_data)
 
uint32_t userData (void)
 

Static Public Member Functions

static void adc_0_dmaISR ()
 
static void adc_1_dmaISR ()
 

Public Attributes

DMASetting _dmasettings_adc [2]
 
DMAChannel _dmachannel_adc
 

Static Public Attributes

static AnalogBufferDMA_activeObjectPerADC [2]
 

Protected Attributes

volatile uint32_t _interrupt_count = 0
 
volatile uint32_t _interrupt_delta_time
 
volatile uint32_t _last_isr_time
 
volatile uint16_t * _buffer1
 
uint16_t _buffer1_count
 
volatile uint16_t * _buffer2
 
uint16_t _buffer2_count
 
uint32_t _user_data = 0
 
bool _stop_on_completion = false
 

Constructor & Destructor Documentation

◆ AnalogBufferDMA()

AnalogBufferDMA::AnalogBufferDMA ( volatile uint16_t *  buffer1,
uint16_t  buffer1_count,
volatile uint16_t *  buffer2 = nullptr,
uint16_t  buffer2_count = 0 
)
inline

Member Function Documentation

◆ adc_0_dmaISR()

static void AnalogBufferDMA::adc_0_dmaISR ( )
static

◆ adc_1_dmaISR()

static void AnalogBufferDMA::adc_1_dmaISR ( )
static

◆ bufferCountLastISRFilled()

uint16_t AnalogBufferDMA::bufferCountLastISRFilled ( )
inline

◆ bufferLastISRFilled()

volatile uint16_t* AnalogBufferDMA::bufferLastISRFilled ( )
inline

◆ clearCompletion()

bool AnalogBufferDMA::clearCompletion ( )

◆ clearInterrupt()

void AnalogBufferDMA::clearInterrupt ( )
inline

◆ init()

void AnalogBufferDMA::init ( ADC adc,
int8_t  adc_num = -1 
)

◆ interruptCount()

uint32_t AnalogBufferDMA::interruptCount ( )
inline

◆ interruptDeltaTime()

uint32_t AnalogBufferDMA::interruptDeltaTime ( )
inline

◆ interrupted()

bool AnalogBufferDMA::interrupted ( )
inline

◆ processADC_DMAISR()

void AnalogBufferDMA::processADC_DMAISR ( )

◆ stopOnCompletion() [1/2]

void AnalogBufferDMA::stopOnCompletion ( bool  stop_on_complete)

◆ stopOnCompletion() [2/2]

bool AnalogBufferDMA::stopOnCompletion ( void  )
inline

◆ userData() [1/2]

void AnalogBufferDMA::userData ( uint32_t  new_data)
inline

◆ userData() [2/2]

uint32_t AnalogBufferDMA::userData ( void  )
inline

Member Data Documentation

◆ _activeObjectPerADC

AnalogBufferDMA* AnalogBufferDMA::_activeObjectPerADC[2]
static

◆ _buffer1

volatile uint16_t* AnalogBufferDMA::_buffer1
protected

◆ _buffer1_count

uint16_t AnalogBufferDMA::_buffer1_count
protected

◆ _buffer2

volatile uint16_t* AnalogBufferDMA::_buffer2
protected

◆ _buffer2_count

uint16_t AnalogBufferDMA::_buffer2_count
protected

◆ _dmachannel_adc

DMAChannel AnalogBufferDMA::_dmachannel_adc

◆ _dmasettings_adc

DMASetting AnalogBufferDMA::_dmasettings_adc[2]

◆ _interrupt_count

volatile uint32_t AnalogBufferDMA::_interrupt_count = 0
protected

◆ _interrupt_delta_time

volatile uint32_t AnalogBufferDMA::_interrupt_delta_time
protected

◆ _last_isr_time

volatile uint32_t AnalogBufferDMA::_last_isr_time
protected

◆ _stop_on_completion

bool AnalogBufferDMA::_stop_on_completion = false
protected

◆ _user_data

uint32_t AnalogBufferDMA::_user_data = 0
protected

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