The arduinos are both arduino UNOs. The IR library is IRremote by Armin Joachimsmeyer Version 4.1.2
I've run the "ReceiveDump" code and sent the IR signals in the order 0x00FF1AE5 (red), 0x00FF9A65 (green), 0x00FFA25D (blue), 0x00FF22DD (white)
This is what was in the serial monitor:
Protocol=NEC Address=0x0 Command=0x58 Raw-Data=0xA758FF00 32 bits LSB first
Send with: IrSender.sendNEC(0x0, 0x58, <numberOfRepeats>);
Raw result in internal ticks (50 us) - with leading gap
rawData[68]:
-65535
+180,-87
+13,- 9 +14,- 9 +13,- 9 +14,- 9
+14,- 9 +14,- 8 +14,- 9 +13,-10
+13,-32 +13,-31 +14,-32 +12,-32
+13,-32 +14,-30 +14,-32 +13,-32
+12,-10 +13,- 9 +14,- 9 +14,-31
+14,-31 +13,-10 +13,-32 +12,-10
+14,-30 +14,-31 +14,-31 +14,- 9
+13,- 9 +14,-31 +14,- 9 +14,-31
+14
Sum: 1360
Raw result in microseconds - with leading gap
rawData[68]:
-3276750
+9000,-4350
+ 650,- 450 + 700,- 450 + 650,- 450 + 700,- 450
+ 700,- 450 + 700,- 400 + 700,- 450 + 650,- 500
+ 650,-1600 + 650,-1550 + 700,-1600 + 600,-1600
+ 650,-1600 + 700,-1500 + 700,-1600 + 650,-1600
+ 600,- 500 + 650,- 450 + 700,- 450 + 700,-1550
+ 700,-1550 + 650,- 500 + 650,-1600 + 600,- 500
+ 700,-1500 + 700,-1550 + 700,-1550 + 700,- 450
+ 650,- 450 + 700,-1550 + 700,- 450 + 700,-1550
+ 700
Sum: 68000
Result as internal 8bit ticks (50 us) array - compensated with MARK_EXCESS_MICROS=20
uint8_t rawTicks[67] = {180,87, 13,9, 14,9, 13,9, 14,9, 14,9, 14,8, 14,9, 13,10, 13,32, 13,31, 14,32, 12,32, 13,32, 14,30, 14,32, 13,32, 12,10, 13,9, 14,9, 14,31, 14,31, 13,10, 13,32, 12,10, 14,30, 14,31, 14,31, 14,9, 13,9, 14,31, 14,9, 14,31, 14}; // Protocol=NEC Address=0x0 Command=0x58 Raw-Data=0xA758FF00 32 bits LSB first
Result as microseconds array - compensated with MARK_EXCESS_MICROS=20
uint16_t rawData[67] = {8980,4370, 630,470, 680,470, 630,470, 680,470, 680,470, 680,420, 680,470, 630,520, 630,1620, 630,1570, 680,1620, 580,1620, 630,1620, 680,1520, 680,1620, 630,1620, 580,520, 630,470, 680,470, 680,1570, 680,1570, 630,520, 630,1620, 580,520, 680,1520, 680,1570, 680,1570, 680,470, 630,470, 680,1570, 680,470, 680,1570, 680}; // Protocol=NEC Address=0x0 Command=0x58 Raw-Data=0xA758FF00 32 bits LSB first
uint16_t address = 0x0;
uint16_t command = 0x58;
uint32_t rawData = 0xA758FF00;
Pronto Hex as string
char prontoData[] = "0000 006D 0022 0000 015B 00A7 001A 0011 001C 0011 001A 0011 001C 0011 001C 0011 001C 000F 001C 0011 001A 0012 001A 003D 001A 003B 001C 003D 0018 003D 001A 003D 001C 0039 001C 003D 001A 003D 0018 0012 001A 0011 001C 0011 001C 003B 001C 003B 001A 0012 001A 003D 0018 0012 001C 0039 001C 003B 001C 003B 001C 0011 001A 0011 001C 003B 001C 0011 001C 003B 001C 06C3 ";
Protocol=NEC Address=0x0 Command=0x59 Raw-Data=0xA659FF00 32 bits LSB first
Send with: IrSender.sendNEC(0x0, 0x59, <numberOfRepeats>);
Raw result in internal ticks (50 us) - with leading gap
rawData[68]:
-35438
+180,-87
+14,- 9 +13,-10 +13,- 9 +14,- 9
+14,- 8 +14,-10 +12,-10 +13,- 9
+14,-32 +13,-31 +14,-31 +13,-32
+13,-31 +14,-31 +14,-32 +13,-32
+13,-31 +13,- 9 +14,- 9 +14,-31
+14,-31 +14,- 8 +14,-32 +13,- 9
+13,- 9 +14,-31 +14,-31 +14,- 9
+13,- 9 +14,-31 +14,- 9 +13,-31
+14
Sum: 1360
Raw result in microseconds - with leading gap
rawData[68]:
-1771900
+9000,-4350
+ 700,- 450 + 650,- 500 + 650,- 450 + 700,- 450
+ 700,- 400 + 700,- 500 + 600,- 500 + 650,- 450
+ 700,-1600 + 650,-1550 + 700,-1550 + 650,-1600
+ 650,-1550 + 700,-1550 + 700,-1600 + 650,-1600
+ 650,-1550 + 650,- 450 + 700,- 450 + 700,-1550
+ 700,-1550 + 700,- 400 + 700,-1600 + 650,- 450
+ 650,- 450 + 700,-1550 + 700,-1550 + 700,- 450
+ 650,- 450 + 700,-1550 + 700,- 450 + 650,-1550
+ 700
Sum: 68000
Result as internal 8bit ticks (50 us) array - compensated with MARK_EXCESS_MICROS=20
uint8_t rawTicks[67] = {180,87, 14,9, 13,10, 13,9, 14,9, 14,8, 14,10, 12,10, 13,9, 14,32, 13,31, 14,31, 13,32, 13,31, 14,31, 14,32, 13,32, 13,31, 13,9, 14,9, 14,31, 14,31, 14,8, 14,32, 13,9, 13,9, 14,31, 14,31, 14,9, 13,9, 14,31, 14,9, 13,31, 14}; // Protocol=NEC Address=0x0 Command=0x59 Raw-Data=0xA659FF00 32 bits LSB first
Result as microseconds array - compensated with MARK_EXCESS_MICROS=20
uint16_t rawData[67] = {8980,4370, 680,470, 630,520, 630,470, 680,470, 680,420, 680,520, 580,520, 630,470, 680,1620, 630,1570, 680,1570, 630,1620, 630,1570, 680,1570, 680,1620, 630,1620, 630,1570, 630,470, 680,470, 680,1570, 680,1570, 680,420, 680,1620, 630,470, 630,470, 680,1570, 680,1570, 680,470, 630,470, 680,1570, 680,470, 630,1570, 680}; // Protocol=NEC Address=0x0 Command=0x59 Raw-Data=0xA659FF00 32 bits LSB first
uint16_t address = 0x0;
uint16_t command = 0x59;
uint32_t rawData = 0xA659FF00;
Pronto Hex as string
char prontoData[] = "0000 006D 0022 0000 015B 00A7 001C 0011 001A 0012 001A 0011 001C 0011 001C 000F 001C 0012 0018 0012 001A 0011 001C 003D 001A 003B 001C 003B 001A 003D 001A 003B 001C 003B 001C 003D 001A 003D 001A 003B 001A 0011 001C 0011 001C 003B 001C 003B 001C 000F 001C 003D 001A 0011 001A 0011 001C 003B 001C 003B 001C 0011 001A 0011 001C 003B 001C 0011 001A 003B 001C 06C3 ";
Protocol=NEC Address=0x0 Command=0x45 Raw-Data=0xBA45FF00 32 bits LSB first
Send with: IrSender.sendNEC(0x0, 0x45, <numberOfRepeats>);
Raw result in internal ticks (50 us) - with leading gap
rawData[68]:
-28413
+180,-87
+13,-10 +13,- 9 +14,- 9 +13,- 9
+15,- 8 +15,- 8 +14,- 9 +13,- 9
+14,-31 +13,-32 +14,-31 +14,-31
+14,-30 +15,-30 +14,-31 +15,-30
+13,-32 +13,- 9 +14,-31 +14,- 9
+13,- 9 +14,- 9 +13,-32 +14,- 8
+14,- 9 +14,-31 +13,-10 +13,-32
+13,-31 +14,-31 +13,-10 +13,-31
+14
Sum: 1360
Raw result in microseconds - with leading gap
rawData[68]:
-1420650
+9000,-4350
+ 650,- 500 + 650,- 450 + 700,- 450 + 650,- 450
+ 750,- 400 + 750,- 400 + 700,- 450 + 650,- 450
+ 700,-1550 + 650,-1600 + 700,-1550 + 700,-1550
+ 700,-1500 + 750,-1500 + 700,-1550 + 750,-1500
+ 650,-1600 + 650,- 450 + 700,-1550 + 700,- 450
+ 650,- 450 + 700,- 450 + 650,-1600 + 700,- 400
+ 700,- 450 + 700,-1550 + 650,- 500 + 650,-1600
+ 650,-1550 + 700,-1550 + 650,- 500 + 650,-1550
+ 700
Sum: 68000
Result as internal 8bit ticks (50 us) array - compensated with MARK_EXCESS_MICROS=20
uint8_t rawTicks[67] = {180,87, 13,10, 13,9, 14,9, 13,9, 15,8, 15,8, 14,9, 13,9, 14,31, 13,32, 14,31, 14,31, 14,30, 15,30, 14,31, 15,30, 13,32, 13,9, 14,31, 14,9, 13,9, 14,9, 13,32, 14,8, 14,9, 14,31, 13,10, 13,32, 13,31, 14,31, 13,10, 13,31, 14}; // Protocol=NEC Address=0x0 Command=0x45 Raw-Data=0xBA45FF00 32 bits LSB first
Result as microseconds array - compensated with MARK_EXCESS_MICROS=20
uint16_t rawData[67] = {8980,4370, 630,520, 630,470, 680,470, 630,470, 730,420, 730,420, 680,470, 630,470, 680,1570, 630,1620, 680,1570, 680,1570, 680,1520, 730,1520, 680,1570, 730,1520, 630,1620, 630,470, 680,1570, 680,470, 630,470, 680,470, 630,1620, 680,420, 680,470, 680,1570, 630,520, 630,1620, 630,1570, 680,1570, 630,520, 630,1570, 680}; // Protocol=NEC Address=0x0 Command=0x45 Raw-Data=0xBA45FF00 32 bits LSB first
uint16_t address = 0x0;
uint16_t command = 0x45;
uint32_t rawData = 0xBA45FF00;
Pronto Hex as string
char prontoData[] = "0000 006D 0022 0000 015B 00A7 001A 0012 001A 0011 001C 0011 001A 0011 001E 000F 001E 000F 001C 0011 001A 0011 001C 003B 001A 003D 001C 003B 001C 003B 001C 0039 001E 0039 001C 003B 001E 0039 001A 003D 001A 0011 001C 003B 001C 0011 001A 0011 001C 0011 001A 003D 001C 000F 001C 0011 001C 003B 001A 0012 001A 003D 001A 003B 001C 003B 001A 0012 001A 003B 001C 06C3 ";
Protocol=NEC Address=0x0 Command=0x44 Raw-Data=0xBB44FF00 32 bits LSB first
Send with: IrSender.sendNEC(0x0, 0x44, <numberOfRepeats>);
Raw result in internal ticks (50 us) - with leading gap
rawData[68]:
-33182
+181,-87
+13,- 9 +13,- 9 +13,-10 +14,- 9
+13,- 9 +14,- 9 +14,- 9 +14,- 8
+14,-31 +14,-31 +14,-31 +13,-32
+14,-30 +14,-31 +14,-31 +13,-32
+13,- 9 +14,- 9 +14,-32 +12,-10
+14,- 8 +14,- 9 +13,-32 +14,- 9
+13,-32 +13,-31 +13,- 9 +13,-32
+14,-31 +14,-31 +14,- 9 +14,-31
+13
Sum: 1360
Raw result in microseconds - with leading gap
rawData[68]:
-1659100
+9050,-4350
+ 650,- 450 + 650,- 450 + 650,- 500 + 700,- 450
+ 650,- 450 + 700,- 450 + 700,- 450 + 700,- 400
+ 700,-1550 + 700,-1550 + 700,-1550 + 650,-1600
+ 700,-1500 + 700,-1550 + 700,-1550 + 650,-1600
+ 650,- 450 + 700,- 450 + 700,-1600 + 600,- 500
+ 700,- 400 + 700,- 450 + 650,-1600 + 700,- 450
+ 650,-1600 + 650,-1550 + 650,- 450 + 650,-1600
+ 700,-1550 + 700,-1550 + 700,- 450 + 700,-1550
+ 650
Sum: 68000
Result as internal 8bit ticks (50 us) array - compensated with MARK_EXCESS_MICROS=20
uint8_t rawTicks[67] = {181,87, 13,9, 13,9, 13,10, 14,9, 13,9, 14,9, 14,9, 14,8, 14,31, 14,31, 14,31, 13,32, 14,30, 14,31, 14,31, 13,32, 13,9, 14,9, 14,32, 12,10, 14,8, 14,9, 13,32, 14,9, 13,32, 13,31, 13,9, 13,32, 14,31, 14,31, 14,9, 14,31, 13}; // Protocol=NEC Address=0x0 Command=0x44 Raw-Data=0xBB44FF00 32 bits LSB first
Result as microseconds array - compensated with MARK_EXCESS_MICROS=20
uint16_t rawData[67] = {9030,4370, 630,470, 630,470, 630,520, 680,470, 630,470, 680,470, 680,470, 680,420, 680,1570, 680,1570, 680,1570, 630,1620, 680,1520, 680,1570, 680,1570, 630,1620, 630,470, 680,470, 680,1620, 580,520, 680,420, 680,470, 630,1620, 680,470, 630,1620, 630,1570, 630,470, 630,1620, 680,1570, 680,1570, 680,470, 680,1570, 630}; // Protocol=NEC Address=0x0 Command=0x44 Raw-Data=0xBB44FF00 32 bits LSB first
uint16_t address = 0x0;
uint16_t command = 0x44;
uint32_t rawData = 0xBB44FF00;
Pronto Hex as string
char prontoData[] = "0000 006D 0022 0000 015D 00A7 001A 0011 001A 0011 001A 0012 001C 0011 001A 0011 001C 0011 001C 0011 001C 000F 001C 003B 001C 003B 001C 003B 001A 003D 001C 0039 001C 003B 001C 003B 001A 003D 001A 0011 001C 0011 001C 003D 0018 0012 001C 000F 001C 0011 001A 003D 001C 0011 001A 003D 001A 003B 001A 0011 001A 003D 001C 003B 001C 003B 001C 0011 001C 003B 001A 06C3 ";
I've tested other IR receivers and the issue seems to be the same and I doubt it would be the arduino UNO at fault either.