| ▼Npulsewire | |
| CCodec | Abstract base class for IR protocol encoding and decoding |
| CCustomPreamble | CustomPreamble: Allows users to define their own preamble by setting expected edges. Useful for custom protocols or testing |
| CCustomPreambleUs | CustomPreambleUs: Allows users to define their own preamble by setting expected edges. Useful for custom protocols or testing |
| CDifferentialManchesterCodec | Differential Manchester encoding/decoding utility class for IR communication |
| CDigitalSignal | Digital output signal implementation using digitalWrite |
| CIRMultiProtocol | IRMultiProtocol: Handles detection and delegation for multiple IR protocols |
| CIRProtocol | IRProtocol: Represents a specific IR protocol with all its parameters |
| CIRProtocolDetector | ProtocolDetector: Uses interrupt edge logic to detect IR protocol by testing all known preambles |
| CIRReceiver | Receiver class for IR communication |
| CIRTransceiver | IRTransceiver: High-level interface for sending and receiving IR signals |
| CIRTrasmitter | Transmitter class for IR communication |
| CISRManager | Manager for handling multiple ISR instances on platforms without attachInterruptArg |
| CLogger | Simple logger class for debugging and logging messages |
| CManchesterCodec | Manchester encoding/decoding utility class for IR communication |
| CManchesterPreamble | Custom Manchester preamble detector: run-in of alternating edges plus unique start pulse |
| CNoPreamble | NoPreamble: For protocols that do not require a preamble. Always returns true for detect, does nothing for getEdges, and preambleLength is 0 |
| CNRZCodec | NRZ (Non-Return-to-Zero) codec for serial-like encoding/decoding with start/stop bit framing |
| CNRZPreamble | A Preamble implementation for NRZ protocols: alternating edges at full bit period, ending with a HIGH level to match NRZ idle state. This provides a clear synchronization pattern while ensuring the line is in the correct idle state after the preamble, which is crucial for accurate decoding of NRZ signals |
| COutputEdge | Specifies a single IR signal segment for protocol-agnostic transmission |
| CPreamble | Abstract base class for preamble detection and generation |
| CPulseDistanceCodec | Pulse-distance encoding/decoding utility class for IR communication |
| CPulseWidthCodec | Pulse-width encoding/decoding utility class for IR communication |
| CPWMSignal | PWM-modulated output signal implementation using analogWrite and analogWriteFrequency |
| CReceiver | Receiver class for communication |
| CRecorderCodec | Codec Wrapper that records all edges passed to decodeEdge() for later analysis or testing |
| CRingBuffer | Efficient lock-free ring buffer for storing data |
| CRxDriver | Abstract base class for IR receivers |
| CRxDriverArduino | Interrupt-driven Arduino RX driver for pulse-based protocols |
| CRxDriverESP32 | High-performance ESP32 IR RX driver using the RMT peripheral and Manchester decoding |
| CRxDriverInt | Interrupt-capable IR RX driver interface for platforms without attachInterruptArg |
| CRxDriverRP2040 | High-performance RP2040 IR RX driver using PIO for edge capture |
| CSignalBase | Abstract base class for signal output |
| CToneSignal | Tone-modulated output signal implementation using tone() |
| CTransceiver | Bi-directional IR transceiver class with Stream interface and driver abstraction |
| CTrasmitter | Transmitter class for communication |
| CTxDriver | Abstract base class for IR transmitters |
| CTxDriverArduino | Generic driver for transmitting data using a specified codec and signal implementation |
| CTxDriverCommon | Provides common logic for transmitting signals using various framing modes |
| CTxDriverESP32 | ESP32-specific TxDriver implementation that uses TxProtocolESP32 for transmission |
| CTxDriverRP2040 | RP2040-specific TxDriver implementation that uses TxProtocolRP2040 for transmission |
| CTxProtocol | Abstract base class for defining transmission protocols |
| CTxProtocolESP32 | ESP32-specific TxProtocol implementation using RMT for precise timing and DMA support |
| CTxProtocolGeneric | Generic implementation that is supported by all Arduino cores |
| CTxProtocolRP2040 | RP2040-specific TxProtocol implementation using PIO and DMA for precise timing |
| CVector | Small, header-only vector replacement for non-STL environments |