mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2025-06-28 05:09:40 +00:00
add customByte to Accept
This commit is contained in:
@ -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) {
|
||||
|
Reference in New Issue
Block a user