Arduino PulseWire Transceiver Library
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
pulsewire::IRProtocolDetector Class Reference

ProtocolDetector: Uses interrupt edge logic to detect IR protocol by testing all known preambles. More...

#include <IRProtocolDetector.h>

Collaboration diagram for pulsewire::IRProtocolDetector:
Collaboration graph
[legend]

Public Member Functions

bool begin (uint8_t pin)
 Starts protocol detection by attaching an interrupt to the specified pin.
 
void end ()
 Stops protocol detection by detaching the interrupt.
 
IRProtocolEnum getDetectedProtocol () const
 
const chargetDetectedProtocolStr () const
 
void reset ()
 

Protected Member Functions

void handleInterrupt ()
 

Static Protected Member Functions

static void interruptHandler ()
 
static void onProtocolDetected (IRProtocolEnum proto, IRProtocol &info, void *ref)
 

Protected Attributes

uint8_t _pin = -1
 
IRMultiProtocol _multiProtocol
 
volatile IRProtocolEnum _detectedProtocol = IRProtocolEnum::Unknown
 
volatile uint32_t _lastEdge = 0
 

Static Protected Attributes

static IRProtocolDetector_instance = nullptr
 

Detailed Description

ProtocolDetector: Uses interrupt edge logic to detect IR protocol by testing all known preambles.

This class listens for IR edges and feeds them to all known preamble detectors. When a preamble is detected, it returns the protocol as an enum.

Definition at line 15 of file IRProtocolDetector.h.

Constructor & Destructor Documentation

◆ IRProtocolDetector()

pulsewire::IRProtocolDetector::IRProtocolDetector ( )
inline

Definition at line 17 of file IRProtocolDetector.h.

Member Function Documentation

◆ begin()

bool pulsewire::IRProtocolDetector::begin ( uint8_t  pin)
inline

Starts protocol detection by attaching an interrupt to the specified pin.

Definition at line 24 of file IRProtocolDetector.h.

◆ end()

void pulsewire::IRProtocolDetector::end ( )
inline

Stops protocol detection by detaching the interrupt.

Definition at line 33 of file IRProtocolDetector.h.

◆ getDetectedProtocol()

IRProtocolEnum pulsewire::IRProtocolDetector::getDetectedProtocol ( ) const
inline

Definition at line 38 of file IRProtocolDetector.h.

◆ getDetectedProtocolStr()

const char * pulsewire::IRProtocolDetector::getDetectedProtocolStr ( ) const
inline

Definition at line 40 of file IRProtocolDetector.h.

◆ handleInterrupt()

void pulsewire::IRProtocolDetector::handleInterrupt ( )
inlineprotected

Definition at line 62 of file IRProtocolDetector.h.

◆ interruptHandler()

static void pulsewire::IRProtocolDetector::interruptHandler ( )
inlinestaticprotected

Definition at line 51 of file IRProtocolDetector.h.

◆ onProtocolDetected()

static void pulsewire::IRProtocolDetector::onProtocolDetected ( IRProtocolEnum  proto,
IRProtocol info,
void ref 
)
inlinestaticprotected

Definition at line 55 of file IRProtocolDetector.h.

◆ reset()

void pulsewire::IRProtocolDetector::reset ( )
inline

Definition at line 42 of file IRProtocolDetector.h.

Field Documentation

◆ _detectedProtocol

volatile IRProtocolEnum pulsewire::IRProtocolDetector::_detectedProtocol = IRProtocolEnum::Unknown
protected

Definition at line 48 of file IRProtocolDetector.h.

◆ _instance

IRProtocolDetector * pulsewire::IRProtocolDetector::_instance = nullptr
staticprotected

Definition at line 45 of file IRProtocolDetector.h.

◆ _lastEdge

volatile uint32_t pulsewire::IRProtocolDetector::_lastEdge = 0
protected

Definition at line 49 of file IRProtocolDetector.h.

◆ _multiProtocol

IRMultiProtocol pulsewire::IRProtocolDetector::_multiProtocol
protected

Definition at line 47 of file IRProtocolDetector.h.

◆ _pin

uint8_t pulsewire::IRProtocolDetector::_pin = -1
protected

Definition at line 46 of file IRProtocolDetector.h.


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