mirror of https://github.com/arendst/Tasmota.git
Send the calculated command bitstream twice, to be more robust against missed commands on the receiving side.
This commit is contained in:
parent
e25f14f37a
commit
91dfc7aa0b
|
@ -112,6 +112,8 @@ void CmdSendButton(void)
|
||||||
jaroliftDevice.count++;
|
jaroliftDevice.count++;
|
||||||
Settings.keeloq_count = jaroliftDevice.count;
|
Settings.keeloq_count = jaroliftDevice.count;
|
||||||
|
|
||||||
|
for(int repeat = 0; repeat <= 1; repeat++)
|
||||||
|
{
|
||||||
AddLog_P(LOG_LEVEL_DEBUG_MORE, PSTR("sync frame"));
|
AddLog_P(LOG_LEVEL_DEBUG_MORE, PSTR("sync frame"));
|
||||||
digitalWrite(TX_PORT, LOW); // CC1101 in TX Mode+
|
digitalWrite(TX_PORT, LOW); // CC1101 in TX Mode+
|
||||||
delayMicroseconds(1150);
|
delayMicroseconds(1150);
|
||||||
|
@ -127,6 +129,7 @@ void CmdSendButton(void)
|
||||||
delay(16); // delay in loop context is save for wdt
|
delay(16); // delay in loop context is save for wdt
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
interrupts();
|
interrupts();
|
||||||
enterrx();
|
enterrx();
|
||||||
|
@ -157,7 +160,7 @@ void CmndSendRaw(void)
|
||||||
AddLog_P2(LOG_LEVEL_DEBUG_MORE, PSTR("cmd send called at %d"), micros());
|
AddLog_P2(LOG_LEVEL_DEBUG_MORE, PSTR("cmd send called at %d"), micros());
|
||||||
noInterrupts();
|
noInterrupts();
|
||||||
entertx();
|
entertx();
|
||||||
for(int repeat = 0; repeat < 1; repeat++)
|
for(int repeat = 0; repeat <= 1; repeat++)
|
||||||
{
|
{
|
||||||
if (XdrvMailbox.data_len > 0)
|
if (XdrvMailbox.data_len > 0)
|
||||||
{
|
{
|
||||||
|
@ -190,11 +193,8 @@ void enterrx() {
|
||||||
{
|
{
|
||||||
if (micros() - rx_time > 50000) break; // Quit when marcState does not change...
|
if (micros() - rx_time > 50000) break; // Quit when marcState does not change...
|
||||||
}
|
}
|
||||||
} // void enterrx
|
}
|
||||||
|
|
||||||
//####################################################################
|
|
||||||
// put CC1101 to send mode
|
|
||||||
//####################################################################
|
|
||||||
void entertx() {
|
void entertx() {
|
||||||
unsigned char marcState = 0;
|
unsigned char marcState = 0;
|
||||||
cc1101.setTxState();
|
cc1101.setTxState();
|
||||||
|
@ -204,7 +204,7 @@ void entertx() {
|
||||||
{
|
{
|
||||||
if (micros() - rx_time > 50000) break; // Quit when marcState does not change...
|
if (micros() - rx_time > 50000) break; // Quit when marcState does not change...
|
||||||
}
|
}
|
||||||
} // void entertx
|
}
|
||||||
|
|
||||||
void SendSyncPreamble(int l)
|
void SendSyncPreamble(int l)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue