Compare commits

..

2 Commits

Author SHA1 Message Date
2db1ef7805 test 2025-01-28 12:59:53 +03:00
1353ab6f75 constexpr IR_ResponseDelay 2025-01-28 12:59:42 +03:00
4 changed files with 10 additions and 3 deletions

View File

@ -97,7 +97,7 @@ void IR_Decoder::_tick()
}
gotRaw.set(&packInfo, id);
}
if (isWaitingAcceptSend && millis() - acceptSendTimer > 75)
if (isWaitingAcceptSend && millis() - acceptSendTimer > acceptDelay)
{
encoder->sendAccept(addrAcceptSendTo, acceptCustomByte);
isWaitingAcceptSend = false;

View File

@ -14,7 +14,7 @@ private:
bool isWaitingAcceptSend;
uint16_t addrAcceptSendTo;
uint16_t acceptDelay = 75;
uint16_t acceptDelay = IR_ResponseDelay;
uint8_t acceptCustomByte;
public:

View File

@ -23,6 +23,7 @@
#define riseTimeMin (riseTime - riseTolerance)
#define aroundRise(t) (riseTimeMin < t && t < riseTimeMax)
#define IR_timeout (riseTimeMax * (8 + syncBits + 1)) // us // таймаут в 8 data + 3 sync + 1
constexpr uint16_t IR_ResponseDelay = ((uint16_t)(((bitTime+riseTolerance) * (8 + syncBits + 1))*2.7735))/1000;
class IR_Encoder;
class IR_DecoderRaw : virtual public IR_FOX

View File

@ -247,6 +247,10 @@ void IR_Encoder::setDecoder_isSending()
for (uint8_t i = 0; i < decodersCount; i++)
{
blindDecoders[i]->isPairSending ^= id;
// Serial.print("setDecoder_isSending() id = ");
// Serial.print(id);
// Serial.print(" isPairSending = ");
// Serial.println(blindDecoders[i]->isPairSending);
}
}
}
@ -258,7 +262,7 @@ void IR_Encoder::rawSend(uint8_t *ptr, uint8_t len)
// TODO: Обработка повторной отправки
return;
}
// Serial.println("START");
setDecoder_isSending();
// noInterrupts();
@ -314,7 +318,9 @@ void IR_Encoder::_isr()
// сброс счетчиков
// ...
isSending = false;
Serial.println("STOP");
setDecoder_isSending();
Serial.println();
return;
break;