implement single item resend

This commit is contained in:
2022-03-15 22:39:13 +01:00
parent 97aa264b54
commit 6d8baa50eb
8 changed files with 37 additions and 24 deletions

View File

@ -132,9 +132,9 @@ uint16_t Train::assembleSpeedPacket()
return packet;
}
void Train::sendData()
void Train::sendData(bool single)
{
sendRaw(assembleSpeedPacket());
sendRaw(assembleSpeedPacket(), single);
if(_functionmask)
{
uint8_t functionToResend = (_function & 0xF0) >> 4;
@ -144,7 +144,7 @@ void Train::sendData()
if(_functionmask & (1 << functionToResend))
{
_delay_ms(2);
sendRaw(packetAddSpeed() | packetAddFunction(functionToResend) | packetAddFunction(0));
sendRaw(packetAddSpeed() | packetAddFunction(functionToResend) | packetAddFunction(0), single);
}
_function &= ~0xF0;
_function |= functionToResend << 4;