Go to the documentation of this file.
105 #define SHUZU_ADDRESS_BITS 16 // 16 bit address
106 #define SHUZU_COMMAND_BITS 8 // Command
108 #define SHUZU_BITS (SHUZU_ADDRESS_BITS + SHUZU_COMMAND_BITS) // The number of bits in the protocol
109 #define SHUZU_UNIT 560 // All timings are in microseconds
111 #define SHUZU_HEADER_MARK (16 * SHUZU_UNIT) // The length of the Header:Mark
112 #define SHUZU_HEADER_SPACE (8 * SHUZU_UNIT) // The length of the Header:Space
114 #define SHUZU_BIT_MARK SHUZU_UNIT // The length of a Bit:Mark
115 #define SHUZU_ONE_SPACE (3 * SHUZU_UNIT) // The length of a Bit:Space for 1's
116 #define SHUZU_ZERO_SPACE SHUZU_UNIT // The length of a Bit:Space for 0's
118 #define SHUZU_REPEAT_HEADER_SPACE (4 * SHUZU_UNIT) // 2250
120 #define SHUZU_REPEAT_PERIOD 110000 // From start to start
121 #define SHUZU_REPEAT_SPACE 45000 // SHUZU_REPEAT_PERIOD - default frame duration. Used for repeat detection.
123 #define SHUZU_OTHER 1234 // Other things you may need to define
175 #endif // _IR_SHUZU_HPP
uint16_t address
Decoded address, Distance protocol (tMarkTicksLong (if tMarkTicksLong == 0, then tMarkTicksShort) << ...
#define SHUZU_REPEAT_SPACE
void sendShuzu(uint16_t aAddress, uint8_t aCommand, int_fast8_t aNumberOfRepeats)
#define SHUZU_REPEAT_PERIOD
uint16_t numberOfBits
Number of bits received for data (address + command + parity) - to determine protocol length if diffe...
void int_fast8_t aNumberOfRepeats
#define MICROS_IN_ONE_MILLI
void sendPulseDistanceWidth(PulseDistanceWidthProtocolConstants *aProtocolConstants, IRRawDataType aData, uint_fast8_t aNumberOfBits, int_fast8_t aNumberOfRepeats)
Sends PulseDistance frames and repeats.
irparams_struct * rawDataPtr
Pointer of the raw timing data to be decoded. Mainly the OverflowFlag and the data buffer filled by r...
IRRawDataType decodedRawData
Up to 32/64 bit decoded raw data, to be used for send functions.
#define IR_DEBUG_PRINT(...)
If DEBUG, print the arguments, otherwise do nothing.
struct PulseDistanceWidthProtocolConstants ShuzuProtocolConstants
IRRawlenType rawlen
counter of entries in rawbuf
#define PROTOCOL_IS_LSB_FIRST
bool checkHeader(PulseDistanceWidthProtocolConstants *aProtocolConstants)
#define SHUZU_HEADER_SPACE
uint16_t command
Decoded command, Distance protocol (tMarkTicksShort << 8) | tSpaceTicksShort.
#define SHUZU_ADDRESS_BITS
#define SHUZU_HEADER_MARK
#define IR_DEBUG_PRINTLN(...)
If DEBUG, print the arguments as a line, otherwise do nothing.
decode_type_t protocol
UNKNOWN, NEC, SONY, RC5, PULSE_DISTANCE, ...