mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2025-06-27 20:59:37 +00:00
add DataBack and refactor out classes
This commit is contained in:
@ -2,12 +2,6 @@
|
||||
#include "IR_Encoder.h"
|
||||
|
||||
|
||||
|
||||
#define checkAddr(h, l) (\
|
||||
((uint16_t)((dataBuffer[h] << 8) | dataBuffer[l]) == id) || \
|
||||
((uint16_t)((dataBuffer[h] << 8) | dataBuffer[l]) >= IR_Broadcast)\
|
||||
)
|
||||
|
||||
IR_Decoder::IR_Decoder(const uint8_t isrPin, uint16_t addr, IR_Encoder* encPair = nullptr) : isrPin(isrPin), id(addr), encoder(encPair) {
|
||||
dataBuffer = new uint8_t[dataByteSizeMax] { 0 };
|
||||
prevRise = prevFall = prevPrevFall = prevPrevRise = 0;
|
||||
@ -52,7 +46,7 @@ void IR_Decoder::isr() {
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void IR_Decoder::start_RX() {
|
||||
void IR_Decoder::firstRX() {
|
||||
|
||||
#ifdef IRDEBUG_INFO
|
||||
Serial.print("\n>");
|
||||
@ -78,7 +72,7 @@ void IR_Decoder::start_RX() {
|
||||
void IR_Decoder::listen() {
|
||||
if (isRecive && ((micros() - prevRise) > IR_timeout * 2)) {
|
||||
isRecive = false;
|
||||
start_RX();
|
||||
firstRX();
|
||||
}
|
||||
}
|
||||
|
||||
@ -331,9 +325,6 @@ void IR_Decoder::writeToBuffer(bool bit) {
|
||||
}
|
||||
////////////////////// Проверка наличия битов синхранизации //////////////////////
|
||||
if (isWrongPack = (err_syncBit >= syncBits)) {
|
||||
// start_RX();
|
||||
// firstUnHandledFront = firstUnHandledFront->next;
|
||||
// firstUnHandledFront = nullptr;
|
||||
#ifdef IRDEBUG_INFO
|
||||
Serial.print("****************");
|
||||
#endif
|
||||
@ -370,7 +361,7 @@ void IR_Decoder::writeToBuffer(bool bit) {
|
||||
if ((dataBuffer[0] & 0b00010000)) { // С адресацией
|
||||
packToOutClass(
|
||||
packSize, // packSize
|
||||
gotData, // obj
|
||||
gotBackData, // obj
|
||||
PackOffsets {
|
||||
0, // msgOffset
|
||||
1, // addrFromOffset
|
||||
@ -383,7 +374,7 @@ void IR_Decoder::writeToBuffer(bool bit) {
|
||||
} else { // Без адресации
|
||||
packToOutClass(
|
||||
packSize, // packSize
|
||||
gotData, // obj
|
||||
gotBackData, // obj
|
||||
PackOffsets {
|
||||
0, // msgOffset
|
||||
1, // addrFromOffset
|
||||
@ -438,7 +429,7 @@ void IR_Decoder::writeToBuffer(bool bit) {
|
||||
|
||||
packToOutClass(
|
||||
packSize, // packSize
|
||||
gotData, // obj
|
||||
gotData, // obj
|
||||
PackOffsets {
|
||||
0, // msgOffset
|
||||
1, // addrFromOffset
|
||||
|
Reference in New Issue
Block a user