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); gotRaw.set(&packInfo, id);
} }
if (isWaitingAcceptSend && millis() - acceptSendTimer > 75) if (isWaitingAcceptSend && millis() - acceptSendTimer > acceptDelay)
{ {
encoder->sendAccept(addrAcceptSendTo, acceptCustomByte); encoder->sendAccept(addrAcceptSendTo, acceptCustomByte);
isWaitingAcceptSend = false; isWaitingAcceptSend = false;

View File

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

View File

@ -23,6 +23,7 @@
#define riseTimeMin (riseTime - riseTolerance) #define riseTimeMin (riseTime - riseTolerance)
#define aroundRise(t) (riseTimeMin < t && t < riseTimeMax) #define aroundRise(t) (riseTimeMin < t && t < riseTimeMax)
#define IR_timeout (riseTimeMax * (8 + syncBits + 1)) // us // таймаут в 8 data + 3 sync + 1 #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_Encoder;
class IR_DecoderRaw : virtual public IR_FOX 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++) for (uint8_t i = 0; i < decodersCount; i++)
{ {
blindDecoders[i]->isPairSending ^= id; 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: Обработка повторной отправки // TODO: Обработка повторной отправки
return; return;
} }
// Serial.println("START");
setDecoder_isSending(); setDecoder_isSending();
// noInterrupts(); // noInterrupts();
@ -314,7 +318,9 @@ void IR_Encoder::_isr()
// сброс счетчиков // сброс счетчиков
// ... // ...
isSending = false; isSending = false;
Serial.println("STOP");
setDecoder_isSending(); setDecoder_isSending();
Serial.println();
return; return;
break; break;