IRremote
|
Common declarations for receiving and sending. More...
Go to the source code of this file.
Classes | |
struct | DistanceWidthTimingInfoStruct |
struct | PulseDistanceWidthProtocolConstants |
Macros | |
#define | DECODE_DENON |
#define | DECODE_JVC |
#define | DECODE_KASEIKYO |
#define | DECODE_PANASONIC |
#define | DECODE_LG |
#define | DECODE_NEC |
#define | DECODE_SAMSUNG |
#define | DECODE_SONY |
#define | DECODE_RC5 |
#define | DECODE_RC6 |
#define | DECODE_BOSEWAVE |
#define | DECODE_LEGO_PF |
#define | DECODE_MAGIQUEST |
#define | DECODE_WHYNTER |
#define | DECODE_FAST |
#define | DECODE_DISTANCE_WIDTH |
#define | DECODE_HASH |
#define | SIRCS_12_PROTOCOL 12 |
#define | SIRCS_15_PROTOCOL 15 |
#define | SIRCS_20_PROTOCOL 20 |
#define | IRDATA_FLAGS_EMPTY 0x00 |
#define | IRDATA_FLAGS_IS_REPEAT 0x01 |
The gap between the preceding frame is as smaller than the maximum gap expected for a repeat. !!!We do not check for changed command or address, because it is almost not possible to press 2 different buttons on the remote within around 100 ms!!! More... | |
#define | IRDATA_FLAGS_IS_AUTO_REPEAT 0x02 |
The current repeat frame is a repeat, that is always sent after a regular frame and cannot be avoided. Only specified for protocols DENON, and LEGO. More... | |
#define | IRDATA_FLAGS_PARITY_FAILED 0x04 |
The current (autorepeat) frame violated parity check. More... | |
#define | IRDATA_FLAGS_TOGGLE_BIT 0x08 |
Is set if RC5 or RC6 toggle bit is set. More... | |
#define | IRDATA_TOGGLE_BIT_MASK 0x08 |
deprecated -is set if RC5 or RC6 toggle bit is set. More... | |
#define | IRDATA_FLAGS_EXTRA_INFO 0x10 |
There is extra info not contained in address and data (e.g. Kaseikyo unknown vendor ID, or in decodedRawDataArray). More... | |
#define | IRDATA_FLAGS_IS_PROTOCOL_WITH_DIFFERENT_REPEAT 0x20 |
Here we have a repeat of type NEC2 or SamsungLG. More... | |
#define | IRDATA_FLAGS_WAS_OVERFLOW 0x40 |
irparams.rawlen is set to 0 in this case to avoid endless OverflowFlag. More... | |
#define | IRDATA_FLAGS_IS_MSB_FIRST 0x80 |
Value is mainly determined by the (known) protocol. More... | |
#define | IRDATA_FLAGS_IS_LSB_FIRST 0x00 |
#define | IRDATA_FLAGS_LSB_MSB_FIRST_MASK IRDATA_FLAGS_IS_MSB_FIRST |
#define | PROTOCOL_IS_PULSE_DISTANCE 0x00 |
#define | PROTOCOL_IS_PULSE_DISTANCE_WIDTH 0x00 |
#define | PROTOCOL_IS_PULSE_WIDTH 0x10 |
#define | PROTOCOL_IS_PULSE_WIDTH_MASK PROTOCOL_IS_PULSE_WIDTH |
#define | SUPPRESS_STOP_BIT 0x20 |
#define | PROTOCOL_IS_MSB_FIRST IRDATA_FLAGS_IS_MSB_FIRST |
#define | PROTOCOL_IS_LSB_FIRST IRDATA_FLAGS_IS_LSB_FIRST |
#define | PROTOCOL_IS_MSB_MASK IRDATA_FLAGS_IS_MSB_FIRST |
#define | BEO_KHZ 455 |
#define | SONY_KHZ 40 |
#define | BOSEWAVE_KHZ 38 |
#define | DENON_KHZ 38 |
#define | JVC_KHZ 38 |
#define | LG_KHZ 38 |
#define | NEC_KHZ 38 |
#define | SAMSUNG_KHZ 38 |
#define | KASEIKYO_KHZ 37 |
#define | RC5_RC6_KHZ 36 |
Enumerations | |
enum | decode_type_t { UNKNOWN = 0, PULSE_WIDTH, PULSE_DISTANCE, APPLE, DENON, JVC, LG, LG2, NEC, NEC2, ONKYO, PANASONIC, KASEIKYO, KASEIKYO_DENON, KASEIKYO_SHARP, KASEIKYO_JVC, KASEIKYO_MITSUBISHI, RC5, RC6, RC6A, SAMSUNG, SAMSUNGLG, SAMSUNG48, SHARP, SONY, BANG_OLUFSEN, BOSEWAVE, LEGO_PF, MAGIQUEST, WHYNTER, FAST, OTHER } |
An enum consisting of all supported formats. More... | |
Functions | |
const char * | getProtocolString (decode_type_t aProtocol) |
uint8_t | bitreverseOneByte (uint8_t aValue) |
uint32_t | bitreverse32Bit (uint32_t aInput) |
Variables | |
const char *const | ProtocolNames [] |
uint8_t | sLastSendToggleValue |
Common declarations for receiving and sending.
This file is part of Arduino-IRremote https://github.com/Arduino-IRremote/Arduino-IRremote.
MIT License
Copyright (c) 2020-2025 Armin Joachimsmeyer
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Definition in file IRProtocol.h.
#define BEO_KHZ 455 |
Definition at line 187 of file IRProtocol.h.
#define BOSEWAVE_KHZ 38 |
Definition at line 190 of file IRProtocol.h.
#define DECODE_BOSEWAVE |
Definition at line 69 of file IRProtocol.h.
#define DECODE_DENON |
Definition at line 57 of file IRProtocol.h.
#define DECODE_DISTANCE_WIDTH |
Definition at line 77 of file IRProtocol.h.
#define DECODE_FAST |
Definition at line 73 of file IRProtocol.h.
#define DECODE_HASH |
Definition at line 78 of file IRProtocol.h.
#define DECODE_JVC |
Definition at line 58 of file IRProtocol.h.
#define DECODE_KASEIKYO |
Definition at line 59 of file IRProtocol.h.
#define DECODE_LEGO_PF |
Definition at line 70 of file IRProtocol.h.
#define DECODE_LG |
Definition at line 61 of file IRProtocol.h.
#define DECODE_MAGIQUEST |
Definition at line 71 of file IRProtocol.h.
#define DECODE_NEC |
Definition at line 62 of file IRProtocol.h.
#define DECODE_PANASONIC |
Definition at line 60 of file IRProtocol.h.
#define DECODE_RC5 |
Definition at line 65 of file IRProtocol.h.
#define DECODE_RC6 |
Definition at line 66 of file IRProtocol.h.
#define DECODE_SAMSUNG |
Definition at line 63 of file IRProtocol.h.
#define DECODE_SONY |
Definition at line 64 of file IRProtocol.h.
#define DECODE_WHYNTER |
Definition at line 72 of file IRProtocol.h.
#define DENON_KHZ 38 |
Definition at line 191 of file IRProtocol.h.
#define IRDATA_FLAGS_EMPTY 0x00 |
Definition at line 147 of file IRProtocol.h.
#define IRDATA_FLAGS_EXTRA_INFO 0x10 |
There is extra info not contained in address and data (e.g. Kaseikyo unknown vendor ID, or in decodedRawDataArray).
Definition at line 153 of file IRProtocol.h.
#define IRDATA_FLAGS_IS_AUTO_REPEAT 0x02 |
The current repeat frame is a repeat, that is always sent after a regular frame and cannot be avoided. Only specified for protocols DENON, and LEGO.
Definition at line 149 of file IRProtocol.h.
#define IRDATA_FLAGS_IS_LSB_FIRST 0x00 |
Definition at line 157 of file IRProtocol.h.
#define IRDATA_FLAGS_IS_MSB_FIRST 0x80 |
Value is mainly determined by the (known) protocol.
Definition at line 156 of file IRProtocol.h.
#define IRDATA_FLAGS_IS_PROTOCOL_WITH_DIFFERENT_REPEAT 0x20 |
Here we have a repeat of type NEC2 or SamsungLG.
Definition at line 154 of file IRProtocol.h.
#define IRDATA_FLAGS_IS_REPEAT 0x01 |
The gap between the preceding frame is as smaller than the maximum gap expected for a repeat. !!!We do not check for changed command or address, because it is almost not possible to press 2 different buttons on the remote within around 100 ms!!!
Definition at line 148 of file IRProtocol.h.
#define IRDATA_FLAGS_LSB_MSB_FIRST_MASK IRDATA_FLAGS_IS_MSB_FIRST |
Definition at line 158 of file IRProtocol.h.
#define IRDATA_FLAGS_PARITY_FAILED 0x04 |
The current (autorepeat) frame violated parity check.
Definition at line 150 of file IRProtocol.h.
#define IRDATA_FLAGS_TOGGLE_BIT 0x08 |
Is set if RC5 or RC6 toggle bit is set.
Definition at line 151 of file IRProtocol.h.
#define IRDATA_FLAGS_WAS_OVERFLOW 0x40 |
irparams.rawlen is set to 0 in this case to avoid endless OverflowFlag.
Definition at line 155 of file IRProtocol.h.
#define IRDATA_TOGGLE_BIT_MASK 0x08 |
deprecated -is set if RC5 or RC6 toggle bit is set.
Definition at line 152 of file IRProtocol.h.
#define JVC_KHZ 38 |
Definition at line 192 of file IRProtocol.h.
#define KASEIKYO_KHZ 37 |
Definition at line 196 of file IRProtocol.h.
#define LG_KHZ 38 |
Definition at line 193 of file IRProtocol.h.
#define NEC_KHZ 38 |
Definition at line 194 of file IRProtocol.h.
#define PROTOCOL_IS_LSB_FIRST IRDATA_FLAGS_IS_LSB_FIRST |
Definition at line 180 of file IRProtocol.h.
#define PROTOCOL_IS_MSB_FIRST IRDATA_FLAGS_IS_MSB_FIRST |
Definition at line 179 of file IRProtocol.h.
#define PROTOCOL_IS_MSB_MASK IRDATA_FLAGS_IS_MSB_FIRST |
Definition at line 181 of file IRProtocol.h.
#define PROTOCOL_IS_PULSE_DISTANCE 0x00 |
Definition at line 174 of file IRProtocol.h.
#define PROTOCOL_IS_PULSE_DISTANCE_WIDTH 0x00 |
Definition at line 175 of file IRProtocol.h.
#define PROTOCOL_IS_PULSE_WIDTH 0x10 |
Definition at line 176 of file IRProtocol.h.
#define PROTOCOL_IS_PULSE_WIDTH_MASK PROTOCOL_IS_PULSE_WIDTH |
Definition at line 177 of file IRProtocol.h.
#define RC5_RC6_KHZ 36 |
Definition at line 197 of file IRProtocol.h.
#define SAMSUNG_KHZ 38 |
Definition at line 195 of file IRProtocol.h.
#define SIRCS_12_PROTOCOL 12 |
Definition at line 131 of file IRProtocol.h.
#define SIRCS_15_PROTOCOL 15 |
Definition at line 132 of file IRProtocol.h.
#define SIRCS_20_PROTOCOL 20 |
Definition at line 133 of file IRProtocol.h.
#define SONY_KHZ 40 |
Definition at line 189 of file IRProtocol.h.
#define SUPPRESS_STOP_BIT 0x20 |
Definition at line 178 of file IRProtocol.h.
enum decode_type_t |
An enum consisting of all supported formats.
You do NOT need to remove entries from this list when disabling protocols! !!!Must be the same order as ProtocolNames in IRReceive.hpp!!!
Definition at line 93 of file IRProtocol.h.