add customByte to Accept

This commit is contained in:
2024-02-27 12:29:00 +03:00
parent 9643237465
commit 9af3e95ec8
5 changed files with 24 additions and 25 deletions

View File

@ -72,10 +72,11 @@ void IR_Encoder::sendData(uint16_t addrTo, uint8_t* data, uint8_t len, bool need
rawSend(sendBuffer, packSize);
}
void IR_Encoder::sendAccept(uint16_t addrTo) {
void IR_Encoder::sendAccept(uint16_t addrTo, uint8_t customByte = 0) {
constexpr uint8_t packsize = msgBytes + addrBytes + 1U + crcBytes;
memset(sendBuffer, 0x00, dataByteSizeMax);
sendBuffer[0] = IR_MSG_ACCEPT << 5;
sendBuffer[0] |= msgBytes + addrBytes + crcBytes & IR_MASK_MSG_INFO; // размер пакета
sendBuffer[0] |= packsize & IR_MASK_MSG_INFO; // размер пакета
// addr_self
sendBuffer[1] = id >> 8 & 0xFF;
@ -84,18 +85,20 @@ void IR_Encoder::sendAccept(uint16_t addrTo) {
// Serial.print("\nRAW Accept to ");
// Serial.println(addrTo);
sendBuffer[3] = customByte;
// data crc
sendBuffer[3] = crc8(sendBuffer, 0, 3, poly1) & 0xFF;
sendBuffer[4] = crc8(sendBuffer, 0, 4, poly2) & 0xFF;
sendBuffer[4] = crc8(sendBuffer, 0, 4, poly1) & 0xFF;
sendBuffer[5] = crc8(sendBuffer, 0, 5, poly2) & 0xFF;
rawSend(sendBuffer, msgBytes + addrBytes + crcBytes);
rawSend(sendBuffer, packsize);
}
void IR_Encoder::sendRequest(uint16_t addrTo) {
constexpr uint8_t packsize = msgBytes + addrBytes + addrBytes + crcBytes;
memset(sendBuffer, 0x00, dataByteSizeMax);
sendBuffer[0] = IR_MSG_REQUEST << 5;
sendBuffer[0] |= msgBytes + addrBytes + addrBytes + crcBytes & IR_MASK_MSG_INFO;
sendBuffer[0] |= packsize & IR_MASK_MSG_INFO;
// addr_self
sendBuffer[1] = id >> 8 & 0xFF;
@ -109,7 +112,7 @@ void IR_Encoder::sendRequest(uint16_t addrTo) {
sendBuffer[5] = crc8(sendBuffer, 0, 5, poly1) & 0xFF;
sendBuffer[6] = crc8(sendBuffer, 0, 6, poly2) & 0xFF;
rawSend(sendBuffer, msgBytes + addrBytes + addrBytes + crcBytes);
rawSend(sendBuffer, packsize);
}
void IR_Encoder::sendBack(uint8_t* data = nullptr, uint8_t len = 0) {