IRremoteESP8266
Namespaces | Functions | Variables
ir_Xmp.cpp File Reference

Support for XMP protocols. More...

Namespaces

 IRXmpUtils
 

Functions

uint8_t IRXmpUtils::getSectionChecksum (const uint32_t data, const uint16_t nbits)
 Get the current checksum value from an XMP data section. More...
 
uint8_t IRXmpUtils::calcSectionChecksum (const uint32_t data, const uint16_t nbits)
 Calculate the correct checksum value for an XMP data section. More...
 
uint64_t IRXmpUtils::updateChecksums (const uint64_t data, const uint16_t nbits)
 Recalculate a XMP message code ensuring it has the checksums valid. More...
 
uint16_t IRXmpUtils::calcRepeatOffset (const uint16_t nbits)
 Calculate the bit offset the repeat nibble in an XMP code. More...
 
bool IRXmpUtils::isRepeat (const uint64_t data, const uint16_t nbits)
 Test if an XMP message code is a repeat or not. More...
 
uint64_t IRXmpUtils::adjustRepeat (const uint64_t data, const uint16_t nbits, const uint8_t repeat_code)
 Adjust an XMP message code to make it a valid repeat or non-repeat code. More...
 

Variables

const uint16_t kXmpMark = 210
 uSeconds. More...
 
const uint16_t kXmpBaseSpace = 760
 uSeconds More...
 
const uint16_t kXmpSpaceStep = 135
 uSeconds More...
 
const uint16_t kXmpFooterSpace = 13000
 uSeconds. More...
 
const uint32_t kXmpMessageGap = 80400
 uSeconds. More...
 
const uint8_t kXmpWordSize = kNibbleSize
 nr. of Bits in a word. More...
 
const uint8_t kXmpMaxWordValue = (1 << kXmpWordSize) - 1
 
const uint8_t kXmpSections = 2
 Nr. of Data sections. More...
 
const uint8_t kXmpRepeatCode = 0b1000
 
const uint8_t kXmpRepeatCodeAlt = 0b1001
 

Detailed Description

Support for XMP protocols.

See also
https://github.com/crankyoldgit/IRremoteESP8266/issues/1414
http://www.hifi-remote.com/wiki/index.php/XMP

Variable Documentation

◆ kXmpBaseSpace

const uint16_t kXmpBaseSpace = 760

uSeconds

◆ kXmpFooterSpace

const uint16_t kXmpFooterSpace = 13000

uSeconds.

◆ kXmpMark

const uint16_t kXmpMark = 210

uSeconds.

◆ kXmpMaxWordValue

const uint8_t kXmpMaxWordValue = (1 << kXmpWordSize) - 1

◆ kXmpMessageGap

const uint32_t kXmpMessageGap = 80400

uSeconds.

◆ kXmpRepeatCode

const uint8_t kXmpRepeatCode = 0b1000

◆ kXmpRepeatCodeAlt

const uint8_t kXmpRepeatCodeAlt = 0b1001

◆ kXmpSections

const uint8_t kXmpSections = 2

Nr. of Data sections.

◆ kXmpSpaceStep

const uint16_t kXmpSpaceStep = 135

uSeconds

◆ kXmpWordSize

const uint8_t kXmpWordSize = kNibbleSize

nr. of Bits in a word.