IRremoteESP8266 icon indicating copy to clipboard operation
IRremoteESP8266 copied to clipboard

Adding support for Sanyo AC 154bit protocol

Open MinePlugins opened this issue 2 years ago • 13 comments

Hello, I attemp to decode the IR of my remote for the A/C with Sanyo RCS-4MHVPIS4EE remote, I created a Google Sheet like recommended and user Auto_analyse_raw_data.py:

Found 307 timing entries.
Potential Mark Candidates:
[3360, 440]
Potential Space Candidates:
[1660, 1274, 434]

Guessing encoding type:
Looks like it uses space encoding. Yay!

Guessing key value:
kHdrMark   = 3360
kHdrSpace  = 1660
kBitMark   = 419
kOneSpace  = 1261
kZeroSpace = 420

Decoding protocol based on analysis so far:

kHdrMark+kHdrSpace+00000010000000000010100000000001011101101000000101000100101101111100000011001101001101000001111011000000000000000000100000000000000000000000000011101110
  Bits: 152
  Hex:  0x02002801768144B7C0CD341EC00008000000EE (MSB first)
        0x77000000100003782CB303ED22816E80140040 (LSB first)
  Dec:  44615103636278984136397141307252716643287278 (MSB first)
        2653788678708221178456034549947135807186010176 (LSB first)
  Bin:  0b00000010000000000010100000000001011101101000000101000100101101111100000011001101001101000001111011000000000000000000100000000000000000000000000011101110 (MSB first)
        0b01110111000000000000000000000000000100000000000000000011011110000010110010110011000000111110110100100010100000010110111010000000000101000000000001000000 (LSB first)

Total Nr. of suspected bits: 152

Can I have some help or explaination for this protocole

MinePlugins avatar Jun 19 '22 11:06 MinePlugins

The faq outlines the steps.

Please post the raw data from Irdumpv2+ with the full temperature range from lowest to highest. This will get us to the first stage where the basic protocol can be implemented with the correct bit ordering.

After that comes the part of understanding each part. (Using decoded data)

(Please excuse the brevity of this post due to writing from phone)

NiKiZe avatar Jun 19 '22 18:06 NiKiZe

Hi, no problem. Here date from 16c to 30c

16c : uint16_t rawData[307] = {3294, 1726, 420, 330, 458, 462, 382, 452, 438, 330, 456, 458, 384, 454, 384, 1312, 422, 324, 512, 336, 454, 458, 384, 450, 438, 358, 436, 464, 424, 326, 458, 476, 372, 458, 430, 328, 458, 464, 382, 1308, 424, 326, 510, 1264, 424, 268, 520, 460, 380, 460, 436, 324, 462, 400, 436, 474, 372, 456, 430, 342, 452, 450, 388, 446, 442, 1262, 422, 266, 520, 1314, 372, 1306, 424, 1258, 370, 390, 448, 1314, 372, 1310, 426, 308, 522, 338, 454, 470, 370, 454, 438, 330, 456, 468, 370, 456, 384, 464, 384, 1306, 422, 328, 460, 472, 374, 448, 442, 1258, 426, 1256, 426, 268, 520, 464, 382, 460, 430, 328, 508, 1264, 426, 262, 572, 1262, 424, 228, 604, 1262, 372, 1312, 372, 1310, 426, 1256, 422, 1258, 424, 262, 524, 418, 428, 456, 382, 1308, 372, 456, 386, 456, 382, 464, 378, 1308, 424, 360, 436, 454, 430, 344, 450, 1306, 372, 1310, 424, 326, 510, 338, 452, 456, 384, 456, 436, 328, 510, 1258, 372, 1310, 422, 338, 454, 466, 424, 328, 460, 1310, 372, 1312, 424, 1258, 450, 262, 496, 1310, 372, 1310, 426, 1260, 424, 260, 526, 442, 442, 1264, 426, 268, 520, 458, 380, 450, 386, 462, 436, 320, 518, 1256, 372, 394, 446, 398, 494, 334, 506, 326, 510, 276, 518, 460, 430, 332, 508, 326, 510, 356, 440, 448, 444, 264, 572, 336, 456, 408, 434, 454, 438, 332, 506, 336, 454, 460, 384, 448, 444, 326, 510, 332, 456, 442, 400, 456, 384, 456, 386, 452, 388, 454, 440, 326, 512, 272, 518, 450, 440, 334, 454, 458, 440, 320, 516, 268, 570, 340, 452, 468, 424, 260, 574, 336, 456, 394, 444, 458, 438, 328, 508, 1258, 370, 1312, 372, 1312, 424, 314, 468, 1312, 450, 1232, 370, 1314, 420, 324, 514}; // UNKNOWN 584FBE80

17c: uint16_t rawData[307] = {3324, 1696, 394, 328, 484, 456, 388, 448, 392, 448, 394, 446, 390, 450, 390, 1314, 394, 386, 428, 444, 394, 456, 418, 378, 430, 452, 390, 440, 394, 450, 392, 460, 384, 444, 394, 446, 420, 396, 418, 1312, 370, 392, 448, 1314, 398, 386, 426, 444, 424, 398, 418, 444, 392, 442, 426, 396, 420, 440, 424, 396, 418, 450, 390, 444, 392, 1314, 396, 328, 484, 1314, 370, 1314, 370, 1310, 396, 378, 432, 1312, 370, 1312, 398, 324, 488, 444, 392, 454, 390, 450, 420, 390, 424, 440, 396, 452, 414, 406, 412, 1310, 396, 388, 426, 1312, 400, 398, 418, 1312, 374, 1302, 394, 336, 480, 452, 388, 450, 420, 380, 426, 1312, 396, 392, 422, 1312, 370, 444, 400, 1310, 396, 1288, 394, 1284, 394, 1282, 396, 1288, 380, 368, 464, 448, 418, 386, 426, 1316, 370, 386, 452, 458, 386, 446, 420, 1280, 396, 402, 416, 456, 418, 370, 432, 1312, 370, 1314, 396, 326, 486, 446, 392, 458, 416, 382, 428, 456, 388, 1306, 396, 1290, 370, 446, 424, 390, 422, 446, 392, 1308, 368, 1316, 396, 1286, 396, 378, 432, 1312, 370, 1314, 394, 1288, 398, 386, 426, 390, 448, 1316, 396, 332, 482, 444, 394, 450, 390, 452, 390, 450, 390, 1308, 370, 400, 442, 450, 418, 394, 420, 442, 396, 448, 420, 402, 416, 442, 394, 446, 392, 454, 418, 382, 428, 454, 418, 376, 432, 450, 390, 462, 414, 380, 428, 446, 392, 458, 384, 450, 418, 396, 420, 442, 394, 450, 420, 390, 424, 446, 418, 388, 452, 396, 418, 448, 392, 456, 388, 438, 398, 450, 392, 460, 384, 444, 426, 370, 436, 456, 418, 378, 432, 454, 418, 372, 434, 448, 418, 398, 420, 444, 394, 1310, 370, 404, 466, 390, 424, 1310, 396, 1286, 370, 1312, 396, 1288, 396, 382, 428}; // UNKNOWN D6875F4B

18c: uint16_t rawData[307] = {3324, 1700, 388, 398, 418, 454, 390, 388, 474, 384, 452, 410, 410, 446, 394, 1312, 394, 390, 424, 446, 422, 392, 420, 448, 416, 406, 414, 442, 424, 388, 424, 456, 410, 394, 444, 396, 420, 454, 388, 1310, 396, 332, 508, 1290, 396, 334, 480, 444, 418, 392, 446, 410, 412, 440, 396, 444, 418, 404, 440, 406, 440, 390, 422, 440, 420, 1286, 394, 406, 414, 1314, 396, 1280, 396, 1286, 396, 330, 484, 1314, 396, 1280, 394, 392, 448, 408, 412, 444, 394, 446, 392, 454, 388, 458, 410, 400, 416, 444, 394, 1308, 396, 342, 478, 388, 450, 1314, 392, 1288, 396, 1284, 396, 392, 420, 454, 412, 398, 442, 392, 422, 1312, 392, 392, 450, 1286, 394, 408, 412, 1312, 396, 1286, 370, 1308, 394, 1290, 396, 1282, 368, 444, 418, 396, 446, 404, 414, 1310, 396, 378, 456, 408, 436, 394, 420, 1312, 370, 444, 420, 344, 498, 390, 422, 1312, 394, 1288, 370, 442, 420, 414, 434, 380, 430, 442, 420, 402, 442, 1288, 396, 1284, 396, 386, 450, 410, 410, 1306, 398, 1288, 394, 1282, 396, 1286, 394, 346, 474, 1312, 398, 1282, 392, 1286, 370, 446, 420, 394, 422, 1306, 394, 398, 446, 406, 412, 452, 390, 440, 420, 390, 448, 1292, 396, 386, 426, 444, 418, 398, 442, 406, 414, 450, 390, 442, 418, 400, 442, 406, 414, 446, 392, 446, 416, 394, 446, 406, 412, 454, 388, 440, 420, 396, 444, 406, 414, 448, 390, 446, 418, 396, 444, 406, 414, 450, 390, 440, 420, 396, 444, 406, 414, 446, 392, 446, 416, 396, 446, 406, 414, 452, 388, 442, 418, 396, 444, 412, 440, 388, 446, 388, 448, 396, 444, 408, 410, 452, 390, 438, 420, 398, 444, 410, 440, 378, 428, 1314, 370, 1310, 396, 1284, 394, 1290, 398, 1278, 394, 398, 442}; // UNKNOWN 333CFEC4

19c: uint16_t rawData[307] = {3324, 1696, 370, 408, 458, 398, 446, 384, 424, 442, 416, 424, 426, 388, 450, 1286, 370, 446, 414, 400, 444, 398, 444, 390, 422, 458, 408, 394, 420, 452, 388, 460, 384, 446, 414, 402, 444, 392, 446, 1284, 392, 400, 416, 1316, 370, 396, 442, 446, 392, 448, 414, 426, 426, 386, 448, 386, 424, 458, 408, 410, 438, 388, 424, 446, 414, 1286, 394, 412, 440, 1282, 398, 1280, 394, 1286, 394, 400, 444, 1288, 370, 1306, 394, 338, 478, 460, 384, 448, 418, 386, 424, 452, 386, 462, 382, 452, 388, 446, 390, 1316, 370, 446, 392, 1312, 396, 1284, 370, 1310, 370, 1310, 396, 394, 450, 394, 420, 448, 414, 402, 446, 1282, 370, 448, 390, 1312, 370, 460, 384, 1310, 370, 1308, 394, 1290, 394, 1286, 448, 1232, 394, 334, 480, 456, 410, 422, 428, 1282, 396, 380, 428, 454, 410, 426, 426, 1284, 398, 384, 426, 446, 390, 462, 382, 1310, 396, 1284, 394, 340, 478, 450, 388, 460, 412, 384, 426, 454, 408, 1294, 370, 1308, 450, 226, 554, 400, 418, 1314, 372, 1310, 396, 1284, 392, 1290, 370, 424, 420, 1310, 450, 1228, 370, 1314, 394, 340, 506, 394, 448, 1280, 394, 342, 474, 452, 388, 448, 390, 456, 386, 452, 412, 1292, 396, 384, 428, 448, 390, 460, 382, 462, 384, 462, 406, 380, 428, 448, 414, 420, 432, 390, 446, 386, 424, 458, 408, 416, 434, 388, 450, 384, 426, 448, 414, 426, 424, 392, 444, 388, 422, 460, 382, 462, 408, 396, 446, 382, 426, 446, 416, 428, 426, 388, 446, 388, 424, 454, 410, 412, 438, 386, 452, 384, 424, 448, 414, 428, 424, 388, 444, 390, 422, 456, 410, 424, 428, 384, 452, 384, 424, 448, 414, 428, 424, 1280, 398, 1284, 392, 1290, 370, 1308, 394, 1294, 394, 1280, 370, 448, 416}; // UNKNOWN 91A3F06F

20c: uint16_t rawData[307] = {3324, 1696, 394, 336, 478, 458, 412, 388, 422, 440, 418, 412, 440, 384, 424, 1312, 394, 386, 452, 398, 418, 458, 412, 390, 422, 456, 410, 392, 420, 454, 414, 398, 416, 448, 414, 398, 418, 456, 386, 1310, 370, 450, 414, 1292, 394, 338, 506, 380, 428, 446, 414, 418, 436, 386, 446, 390, 422, 454, 410, 416, 436, 384, 452, 384, 426, 1308, 370, 460, 384, 1314, 398, 1278, 396, 1286, 394, 394, 422, 1314, 396, 1280, 394, 340, 476, 460, 384, 450, 390, 448, 390, 460, 408, 390, 422, 450, 390, 458, 384, 1310, 370, 448, 392, 454, 388, 448, 414, 400, 438, 400, 416, 1314, 398, 374, 458, 396, 418, 468, 412, 1274, 370, 446, 416, 1288, 370, 460, 384, 1310, 398, 1284, 370, 1308, 396, 1292, 394, 1288, 396, 332, 482, 440, 418, 410, 410, 1310, 396, 342, 476, 444, 418, 398, 434, 1298, 370, 394, 444, 452, 412, 396, 420, 1316, 370, 1306, 394, 338, 478, 460, 384, 448, 390, 450, 412, 400, 416, 1316, 370, 1310, 370, 406, 438, 446, 416, 398, 418, 460, 414, 394, 414, 458, 408, 1286, 398, 1286, 396, 1280, 370, 1316, 394, 338, 478, 456, 386, 1306, 396, 340, 476, 444, 394, 454, 416, 394, 418, 448, 414, 1288, 370, 404, 466, 388, 422, 450, 414, 396, 418, 454, 386, 456, 408, 408, 412, 452, 388, 460, 414, 394, 414, 450, 414, 400, 444, 392, 420, 452, 414, 398, 418, 448, 392, 456, 386, 450, 412, 400, 442, 398, 448, 384, 426, 456, 386, 448, 416, 398, 418, 458, 412, 386, 424, 452, 412, 396, 420, 450, 390, 452, 414, 398, 418, 448, 390, 458, 394, 428, 400, 452, 412, 398, 418, 454, 388, 454, 386, 450, 414, 1292, 398, 1280, 394, 334, 480, 448, 414, 408, 412, 1312, 398, 1284, 370, 442, 420}; // UNKNOWN ED52D630

21c: uint16_t rawData[307] = {3296, 1724, 430, 266, 572, 318, 554, 264, 578, 262, 550, 308, 530, 322, 548, 1224, 462, 248, 558, 320, 518, 328, 542, 262, 548, 314, 554, 250, 562, 320, 548, 268, 574, 262, 576, 252, 558, 316, 556, 1220, 430, 310, 558, 1228, 462, 250, 558, 318, 550, 254, 590, 250, 562, 304, 534, 316, 554, 250, 562, 324, 546, 262, 580, 250, 556, 1252, 430, 318, 552, 1222, 430, 1250, 428, 1252, 460, 250, 562, 1254, 430, 1254, 460, 248, 564, 320, 546, 252, 498, 456, 446, 312, 554, 262, 580, 264, 576, 254, 560, 1250, 428, 310, 534, 1248, 460, 256, 588, 250, 588, 252, 590, 1220, 430, 318, 552, 262, 580, 252, 560, 1250, 462, 250, 558, 1250, 430, 304, 534, 1250, 462, 1220, 428, 1254, 430, 1252, 462, 1220, 464, 248, 558, 312, 556, 250, 590, 1222, 464, 250, 588, 252, 588, 252, 558, 1250, 464, 262, 578, 250, 560, 322, 546, 1218, 462, 1222, 462, 250, 560, 308, 530, 324, 544, 262, 578, 252, 560, 1244, 370, 1310, 430, 258, 614, 262, 578, 262, 584, 260, 578, 252, 560, 320, 552, 1220, 428, 1252, 428, 1254, 430, 1250, 432, 298, 570, 252, 560, 1248, 428, 310, 560, 250, 588, 264, 576, 264, 576, 262, 580, 1222, 428, 318, 550, 258, 588, 250, 588, 264, 578, 262, 550, 306, 562, 264, 576, 252, 590, 248, 560, 318, 526, 304, 566, 252, 586, 264, 576, 252, 588, 266, 576, 262, 580, 248, 558, 320, 524, 304, 562, 266, 576, 252, 588, 250, 562, 324, 516, 320, 550, 250, 560, 318, 552, 250, 592, 264, 578, 252, 560, 304, 562, 266, 576, 250, 588, 250, 560, 320, 550, 250, 590, 264, 578, 252, 560, 306, 560, 266, 548, 1246, 370, 452, 480, 1224, 370, 450, 450, 306, 534, 1246, 464, 1218, 428, 258, 612}; // UNKNOWN DB9A0189

22c: uint16_t rawData[307] = {3350, 1668, 430, 256, 614, 252, 586, 250, 592, 248, 562, 322, 546, 262, 578, 1224, 432, 304, 562, 250, 588, 264, 578, 250, 590, 252, 588, 250, 588, 250, 592, 252, 590, 250, 560, 306, 560, 264, 580, 1218, 464, 248, 562, 1250, 396, 394, 484, 302, 562, 250, 562, 314, 528, 304, 564, 248, 590, 252, 590, 266, 548, 320, 522, 302, 564, 1218, 434, 320, 520, 1252, 370, 1308, 464, 1218, 464, 246, 590, 1224, 370, 1304, 434, 306, 564, 264, 548, 316, 554, 250, 560, 306, 562, 264, 578, 262, 584, 242, 564, 1252, 430, 320, 548, 252, 590, 1218, 396, 404, 508, 244, 590, 1220, 432, 318, 552, 252, 560, 306, 564, 1216, 370, 452, 484, 1214, 370, 462, 446, 1246, 370, 1312, 394, 1284, 442, 1244, 370, 1306, 396, 390, 518, 248, 588, 264, 576, 1224, 396, 384, 518, 266, 576, 262, 554, 1248, 432, 304, 566, 250, 586, 250, 592, 1216, 370, 1312, 370, 448, 484, 266, 548, 302, 564, 250, 560, 318, 554, 1216, 398, 1284, 394, 388, 516, 266, 576, 262, 580, 264, 576, 262, 582, 246, 588, 1220, 396, 1288, 396, 1284, 394, 1284, 432, 312, 530, 318, 524, 1250, 434, 300, 566, 262, 576, 264, 550, 304, 566, 264, 580, 1214, 430, 316, 526, 320, 552, 264, 580, 244, 592, 250, 592, 252, 592, 246, 590, 250, 592, 250, 592, 248, 592, 250, 592, 244, 590, 252, 590, 264, 580, 250, 590, 246, 594, 248, 592, 246, 590, 264, 580, 246, 590, 250, 594, 254, 588, 246, 592, 248, 594, 248, 594, 242, 592, 252, 592, 248, 592, 248, 594, 248, 592, 244, 594, 248, 596, 246, 564, 298, 566, 250, 592, 248, 590, 250, 590, 250, 592, 246, 590, 1218, 396, 1284, 396, 1286, 462, 248, 590, 264, 546, 1254, 396, 1286, 396, 388, 492}; // UNKNOWN 306EF424

23c: uint16_t rawData[307] = {3324, 1694, 398, 388, 426, 458, 414, 382, 452, 386, 452, 402, 444, 386, 426, 1312, 398, 384, 454, 392, 448, 400, 444, 384, 452, 400, 448, 386, 420, 452, 390, 454, 416, 386, 454, 386, 424, 458, 384, 1312, 398, 386, 452, 1290, 394, 394, 446, 388, 452, 382, 426, 468, 410, 384, 448, 388, 422, 460, 416, 394, 446, 394, 420, 446, 392, 1308, 396, 410, 440, 1282, 398, 1280, 396, 1284, 412, 362, 470, 1282, 396, 1280, 398, 384, 426, 464, 410, 380, 428, 448, 418, 390, 450, 402, 442, 392, 424, 440, 422, 1288, 370, 452, 388, 1310, 396, 1284, 370, 396, 444, 450, 390, 1316, 394, 328, 512, 384, 432, 450, 390, 1306, 396, 390, 452, 1280, 396, 406, 442, 1278, 396, 1286, 398, 1282, 398, 1288, 370, 1316, 400, 382, 450, 380, 456, 400, 446, 1278, 372, 408, 464, 396, 440, 394, 422, 1312, 370, 448, 420, 388, 450, 390, 422, 1316, 372, 1306, 400, 378, 458, 400, 442, 384, 426, 450, 416, 396, 450, 1284, 368, 1310, 372, 398, 474, 378, 458, 388, 424, 456, 386, 448, 390, 460, 414, 1278, 370, 1314, 398, 1280, 400, 1284, 370, 398, 470, 398, 418, 1306, 370, 410, 462, 380, 428, 452, 388, 458, 414, 382, 454, 1282, 370, 460, 414, 394, 442, 392, 450, 386, 424, 452, 414, 396, 450, 398, 440, 390, 426, 450, 416, 384, 452, 396, 448, 394, 418, 452, 388, 446, 420, 386, 450, 404, 440, 388, 450, 388, 450, 394, 450, 394, 420, 454, 416, 392, 444, 392, 450, 398, 444, 386, 424, 450, 418, 386, 450, 418, 430, 388, 452, 380, 452, 398, 480, 326, 454, 448, 390, 450, 418, 402, 440, 410, 430, 394, 444, 384, 426, 456, 414, 1284, 370, 458, 414, 386, 452, 1284, 396, 388, 450, 1284, 396, 1288, 400, 382, 490}; // UNKNOWN 6DD8742A

24c: uint16_t rawData[307] = {3326, 1694, 398, 338, 474, 458, 384, 452, 390, 448, 390, 448, 390, 452, 390, 1312, 370, 436, 402, 444, 394, 458, 384, 454, 386, 454, 388, 438, 398, 448, 392, 460, 384, 446, 392, 446, 420, 398, 418, 1312, 396, 394, 422, 1314, 396, 392, 420, 444, 394, 460, 384, 446, 394, 440, 396, 466, 408, 382, 428, 454, 388, 448, 390, 446, 394, 1312, 398, 386, 426, 1314, 370, 1308, 396, 1286, 396, 328, 486, 1316, 394, 1288, 370, 390, 450, 446, 392, 446, 390, 462, 382, 458, 386, 440, 394, 450, 390, 462, 384, 1308, 396, 388, 452, 396, 422, 440, 398, 1310, 394, 326, 484, 1312, 370, 452, 390, 450, 390, 446, 392, 1312, 370, 442, 404, 1310, 396, 322, 514, 1282, 396, 1288, 398, 1280, 396, 1288, 372, 1304, 396, 348, 500, 398, 446, 378, 430, 1310, 370, 446, 398, 448, 390, 446, 394, 1312, 400, 378, 430, 454, 388, 444, 392, 1312, 370, 1314, 394, 348, 502, 382, 426, 442, 394, 464, 382, 438, 398, 1310, 398, 1284, 372, 396, 446, 448, 392, 1308, 400, 386, 426, 450, 390, 456, 388, 1306, 370, 1314, 396, 1286, 398, 1280, 398, 370, 440, 456, 386, 1308, 396, 394, 422, 438, 396, 452, 388, 458, 386, 444, 394, 1308, 370, 398, 444, 446, 394, 450, 390, 446, 390, 452, 388, 454, 388, 450, 388, 448, 390, 454, 388, 450, 390, 452, 390, 446, 392, 450, 390, 454, 388, 450, 390, 444, 392, 458, 386, 450, 392, 448, 390, 446, 392, 450, 390, 450, 392, 450, 390, 444, 394, 456, 386, 450, 390, 450, 390, 444, 394, 450, 390, 452, 390, 450, 390, 448, 392, 456, 388, 450, 390, 448, 392, 446, 392, 450, 390, 452, 390, 450, 390, 448, 390, 458, 384, 1316, 396, 1286, 394, 384, 428, 1312, 394, 1290, 394, 330, 484}; // UNKNOWN 41DEDE56

25c: uint16_t rawData[307] = {3324, 1696, 396, 330, 508, 404, 444, 396, 414, 452, 388, 448, 390, 452, 388, 1314, 370, 434, 404, 446, 392, 458, 384, 454, 412, 398, 418, 444, 418, 396, 450, 392, 420, 448, 390, 448, 390, 460, 414, 1280, 396, 394, 448, 1288, 396, 396, 450, 376, 430, 462, 408, 388, 424, 440, 394, 466, 380, 440, 396, 456, 386, 456, 412, 386, 424, 1314, 398, 386, 452, 1286, 370, 1308, 396, 1286, 396, 388, 430, 1310, 400, 1282, 394, 330, 484, 450, 420, 380, 454, 406, 440, 392, 420, 446, 390, 454, 386, 460, 386, 1308, 396, 390, 448, 1286, 394, 394, 420, 1312, 396, 386, 426, 1314, 396, 386, 426, 460, 384, 450, 414, 1282, 370, 460, 384, 1312, 396, 378, 434, 1310, 396, 1288, 396, 1290, 370, 1306, 396, 1288, 394, 338, 478, 450, 392, 444, 394, 1310, 398, 398, 418, 446, 390, 452, 418, 1282, 396, 392, 422, 450, 390, 448, 390, 1316, 394, 1288, 398, 384, 426, 448, 390, 448, 390, 460, 382, 460, 412, 1278, 370, 1310, 396, 418, 430, 384, 426, 1310, 398, 394, 450, 382, 426, 450, 390, 1314, 398, 1280, 396, 1286, 396, 1282, 398, 388, 452, 400, 444, 1280, 370, 452, 388, 448, 390, 452, 388, 458, 384, 452, 388, 1314, 394, 384, 428, 466, 410, 388, 444, 404, 444, 384, 424, 448, 390, 462, 384, 448, 390, 446, 416, 410, 410, 444, 402, 436, 424, 392, 446, 390, 420, 462, 382, 450, 388, 456, 408, 420, 428, 378, 428, 456, 388, 454, 412, 386, 424, 462, 384, 448, 388, 446, 390, 476, 398, 394, 414, 458, 412, 394, 448, 384, 426, 462, 382, 452, 416, 376, 458, 406, 440, 380, 428, 458, 384, 454, 386, 446, 392, 462, 410, 386, 424, 1308, 398, 1286, 396, 1286, 396, 382, 454, 1286, 370, 1314, 394, 408, 414}; // UNKNOWN CAE85651

26c: uint16_t rawData[307] = {3324, 1696, 394, 400, 416, 458, 384, 450, 388, 466, 370, 462, 382, 454, 386, 1312, 370, 450, 388, 454, 416, 400, 412, 396, 442, 400, 442, 446, 392, 454, 386, 460, 382, 450, 414, 396, 418, 404, 438, 1310, 394, 398, 420, 1314, 370, 392, 448, 444, 392, 454, 386, 466, 380, 448, 392, 382, 452, 460, 382, 410, 434, 446, 394, 444, 390, 1310, 370, 458, 386, 1314, 370, 1308, 400, 1280, 372, 390, 448, 1316, 396, 1278, 398, 392, 422, 422, 452, 346, 462, 394, 472, 396, 418, 462, 412, 386, 424, 444, 390, 1316, 370, 450, 388, 458, 386, 1306, 370, 1312, 394, 400, 416, 1316, 384, 414, 406, 450, 388, 414, 464, 1278, 370, 448, 390, 1312, 394, 282, 568, 1276, 396, 1286, 396, 1284, 400, 1284, 396, 1286, 396, 390, 422, 446, 390, 410, 436, 1310, 400, 390, 422, 448, 388, 456, 386, 1314, 370, 326, 512, 332, 506, 452, 390, 1316, 370, 1306, 398, 392, 418, 464, 382, 446, 392, 390, 448, 452, 390, 1314, 396, 1284, 392, 410, 410, 450, 388, 1312, 398, 392, 422, 448, 390, 402, 438, 1316, 396, 1284, 368, 1308, 396, 1288, 400, 380, 428, 460, 408, 1284, 368, 454, 412, 394, 420, 456, 386, 452, 386, 452, 388, 1316, 396, 384, 428, 448, 414, 404, 440, 406, 438, 394, 420, 444, 392, 448, 388, 470, 378, 442, 394, 392, 446, 462, 380, 464, 380, 452, 388, 386, 450, 450, 388, 468, 380, 444, 392, 448, 392, 458, 412, 404, 412, 456, 384, 444, 392, 450, 416, 448, 368, 444, 392, 448, 390, 460, 384, 458, 384, 452, 388, 442, 394, 446, 392, 466, 380, 384, 454, 448, 390, 462, 380, 462, 382, 396, 444, 384, 452, 398, 440, 464, 382, 448, 416, 386, 424, 464, 378, 1314, 398, 1282, 398, 1284, 394, 388, 424}; // UNKNOWN DA9BD266

27c: uint16_t rawData[307] = {3324, 1696, 396, 388, 450, 404, 442, 382, 428, 450, 390, 448, 390, 452, 388, 1312, 398, 384, 428, 448, 418, 396, 418, 450, 390, 454, 390, 440, 394, 452, 388, 460, 384, 448, 392, 448, 390, 458, 384, 1310, 398, 394, 448, 1284, 396, 340, 508, 386, 418, 462, 384, 446, 390, 442, 396, 464, 382, 440, 396, 458, 384, 456, 414, 378, 430, 1312, 398, 388, 424, 1314, 398, 1280, 396, 1284, 398, 386, 426, 1316, 398, 1284, 396, 386, 426, 444, 392, 448, 390, 464, 382, 458, 384, 442, 394, 452, 388, 462, 382, 1310, 396, 378, 434, 1312, 396, 1286, 396, 1284, 398, 398, 448, 1278, 396, 408, 440, 380, 430, 446, 390, 1314, 396, 394, 422, 1310, 396, 380, 430, 1312, 400, 1282, 398, 1286, 396, 1284, 398, 1284, 396, 388, 424, 456, 388, 442, 394, 1310, 396, 402, 444, 390, 422, 448, 390, 1312, 370, 466, 404, 388, 424, 456, 386, 1310, 370, 1312, 394, 396, 418, 450, 416, 402, 442, 390, 422, 452, 388, 1306, 370, 1310, 396, 396, 422, 446, 392, 1314, 396, 382, 426, 468, 380, 444, 392, 1312, 394, 1286, 396, 1288, 396, 1282, 396, 390, 450, 400, 444, 1286, 370, 382, 456, 452, 388, 450, 388, 390, 448, 462, 408, 1282, 400, 380, 458, 396, 418, 458, 386, 442, 392, 452, 388, 460, 384, 448, 390, 450, 416, 386, 424, 462, 384, 448, 392, 442, 394, 454, 386, 462, 384, 442, 394, 448, 390, 448, 388, 464, 382, 458, 384, 444, 392, 452, 388, 462, 382, 448, 390, 448, 390, 448, 390, 460, 386, 456, 386, 444, 392, 454, 388, 464, 408, 386, 424, 448, 390, 450, 388, 462, 382, 460, 384, 442, 394, 450, 390, 462, 382, 448, 392, 448, 390, 1314, 394, 396, 420, 448, 392, 1308, 370, 1312, 394, 1288, 396, 404, 414}; // UNKNOWN B0630A5F

28c: uint16_t rawData[307] = {3402, 1616, 396, 408, 488, 398, 424, 412, 368, 468, 368, 486, 432, 410, 434, 1236, 368, 470, 368, 482, 434, 406, 432, 402, 366, 474, 368, 468, 438, 406, 444, 396, 368, 470, 368, 470, 442, 410, 432, 1238, 368, 474, 368, 1310, 440, 402, 448, 394, 368, 472, 366, 482, 430, 406, 442, 396, 368, 474, 368, 470, 442, 400, 444, 398, 366, 1308, 368, 472, 442, 1242, 444, 1238, 370, 1312, 368, 472, 440, 1238, 434, 1248, 370, 462, 378, 482, 432, 402, 444, 404, 356, 472, 368, 472, 440, 402, 448, 392, 368, 1316, 370, 472, 436, 402, 444, 400, 366, 468, 368, 1314, 408, 1276, 440, 400, 368, 472, 368, 482, 426, 1244, 440, 400, 368, 1312, 370, 470, 440, 1246, 442, 1238, 370, 1310, 390, 1290, 436, 1246, 442, 398, 368, 472, 368, 472, 436, 1250, 404, 434, 366, 478, 366, 472, 436, 1240, 440, 406, 366, 474, 368, 454, 422, 1274, 438, 1244, 368, 470, 368, 470, 444, 412, 428, 398, 368, 474, 368, 1310, 442, 1242, 438, 402, 366, 478, 366, 472, 440, 1236, 438, 408, 366, 466, 376, 1308, 402, 1278, 370, 1312, 370, 1316, 370, 460, 454, 406, 426, 1246, 370, 474, 368, 480, 426, 404, 444, 400, 366, 470, 368, 1312, 436, 408, 442, 394, 368, 472, 368, 472, 436, 406, 442, 396, 368, 472, 370, 470, 442, 402, 442, 394, 368, 472, 368, 480, 398, 444, 430, 402, 368, 460, 380, 482, 426, 410, 440, 396, 368, 472, 368, 482, 430, 402, 442, 398, 368, 472, 368, 462, 458, 394, 442, 398, 368, 472, 368, 472, 438, 404, 444, 396, 368, 458, 382, 406, 508, 410, 430, 400, 368, 460, 380, 480, 426, 406, 442, 396, 368, 408, 432, 404, 502, 1246, 432, 1246, 370, 462, 378, 480, 398, 1278, 444, 1238, 370, 458, 380}; // UNKNOWN D7F0D925

29c: uint16_t rawData[307] = {3400, 1620, 440, 402, 424, 418, 424, 414, 450, 398, 438, 404, 372, 468, 414, 1258, 476, 372, 442, 390, 422, 420, 422, 416, 448, 404, 436, 400, 412, 418, 368, 486, 440, 398, 440, 400, 356, 476, 368, 1310, 474, 376, 440, 1236, 424, 416, 424, 414, 448, 400, 438, 408, 356, 468, 368, 472, 450, 400, 438, 408, 356, 472, 368, 480, 438, 1230, 446, 410, 356, 1314, 426, 1254, 476, 1204, 476, 362, 424, 1260, 430, 1248, 476, 374, 440, 406, 356, 470, 388, 454, 450, 400, 440, 404, 356, 472, 368, 480, 438, 1236, 450, 402, 356, 1312, 368, 472, 450, 404, 438, 1228, 424, 1260, 426, 414, 448, 400, 436, 410, 356, 1308, 424, 416, 450, 1232, 476, 366, 370, 1310, 426, 1258, 474, 1204, 444, 1240, 426, 1260, 424, 414, 448, 400, 438, 404, 356, 1310, 426, 420, 450, 398, 438, 400, 356, 1316, 368, 472, 450, 400, 438, 402, 356, 1318, 424, 1250, 476, 374, 438, 408, 356, 470, 368, 482, 440, 400, 438, 1234, 424, 1254, 426, 420, 450, 400, 436, 402, 356, 1314, 370, 470, 450, 402, 436, 1236, 424, 1256, 424, 1254, 476, 1208, 476, 360, 370, 474, 368, 1310, 438, 404, 450, 388, 366, 474, 368, 484, 440, 402, 438, 1234, 370, 468, 368, 482, 440, 402, 436, 408, 356, 472, 368, 478, 440, 398, 438, 410, 356, 468, 368, 472, 450, 404, 436, 398, 366, 472, 368, 480, 438, 400, 440, 408, 356, 468, 368, 482, 438, 404, 438, 406, 356, 472, 368, 470, 450, 400, 438, 406, 356, 468, 368, 482, 438, 404, 438, 406, 356, 472, 368, 478, 440, 400, 438, 410, 356, 478, 358, 482, 438, 404, 436, 408, 358, 472, 368, 468, 438, 412, 440, 406, 356, 468, 368, 482, 440, 1230, 448, 408, 356, 1312, 368, 1314, 474, 372, 440}; // UNKNOWN 9A072D38

30c: uint16_t rawData[307] = {3372, 1646, 394, 410, 442, 440, 400, 448, 358, 466, 368, 486, 398, 442, 396, 1276, 368, 470, 368, 482, 398, 432, 434, 408, 366, 476, 368, 468, 402, 448, 394, 438, 368, 470, 368, 472, 406, 442, 398, 1274, 368, 472, 368, 1308, 370, 482, 396, 436, 368, 468, 394, 448, 408, 444, 392, 436, 368, 476, 366, 468, 370, 482, 426, 410, 366, 1308, 370, 470, 370, 1312, 406, 1278, 368, 1312, 368, 472, 434, 1242, 406, 1276, 370, 472, 368, 472, 434, 418, 396, 434, 368, 472, 368, 470, 368, 472, 440, 402, 368, 1314, 370, 480, 422, 406, 444, 1238, 368, 476, 368, 1308, 370, 1310, 444, 400, 368, 468, 368, 474, 446, 1238, 440, 400, 368, 1312, 370, 476, 438, 1240, 434, 1250, 368, 1310, 368, 1312, 436, 1246, 406, 440, 368, 466, 370, 476, 444, 1234, 440, 406, 366, 470, 368, 482, 428, 1244, 436, 404, 366, 472, 368, 472, 440, 1236, 370, 1312, 368, 474, 368, 472, 440, 404, 440, 398, 368, 482, 358, 1316, 436, 1242, 408, 436, 368, 468, 370, 472, 406, 1278, 434, 408, 366, 472, 368, 1308, 436, 1246, 408, 1274, 370, 1314, 368, 482, 396, 432, 436, 1244, 370, 474, 368, 470, 370, 470, 408, 444, 358, 474, 368, 1310, 402, 440, 370, 470, 368, 474, 368, 480, 392, 446, 398, 448, 356, 468, 370, 472, 404, 448, 360, 470, 368, 472, 368, 470, 370, 482, 396, 436, 368, 472, 366, 470, 406, 446, 360, 468, 368, 472, 370, 458, 380, 480, 396, 438, 366, 456, 380, 472, 404, 450, 360, 468, 368, 476, 366, 480, 360, 482, 360, 472, 370, 468, 368, 472, 406, 446, 360, 468, 368, 474, 368, 468, 368, 472, 370, 484, 358, 480, 358, 470, 372, 1312, 370, 470, 368, 1312, 368, 414, 430, 1310, 406, 1274, 370, 472, 370}; // UNKNOWN 9CF61D56

MinePlugins avatar Jun 20 '22 17:06 MinePlugins

Thanks for the temperature sequence. With that, I've determined it is in LSBF bit order. Please download and test branch: https://github.com/crankyoldgit/IRremoteESP8266/tree/SanyoAc152Basic / PR #1828 It should detect and send the protocol now. Fingers crossed. Please let us know how it goes.

As the bit ordering has changed, you'll need to recapture everything again and do your analysis. e.g. You're now up to here: https://github.com/crankyoldgit/IRremoteESP8266/wiki/Adding-support-for-a-new-AC-protocol#analysing-the-data except that I've worked out the bit ordering for you already.

Btw. Your IR receiver module, circuit, or environment is not very good. The signals you captured above are fairly poor quality. ie. the length of pulses and gaps varies a LOT.

crankyoldgit avatar Jun 22 '22 12:06 crankyoldgit

Hello,

I have updated the first sheets with new value and started to decode the logic

Thanks you :)

MinePlugins avatar Jun 22 '22 18:06 MinePlugins

I have updated the first sheets with new value and started to decode the logic

So it's working?

Also, can you supply the make & model number of the actual AC unit please.

crankyoldgit avatar Jun 22 '22 23:06 crankyoldgit

Yes ! It's working perfectly

The manufacturer is Sanyo and the model number is : sap-kmrv124ehe

MinePlugins avatar Jun 23 '22 16:06 MinePlugins

What can I do now, I have attempted to reverse a little but I thinks I'm blocked on TIMER on remote.

I will attempt to implement this in cpp

MinePlugins avatar Jun 24 '22 13:06 MinePlugins

Hello, what can I do now to help for decoding data ?

MinePlugins avatar Jul 10 '22 12:07 MinePlugins

Do you need the Timer functionality? Normally that's a low priority as you can use a computer/service to turn on/off a device when needed. etc.

crankyoldgit avatar Jul 11 '22 10:07 crankyoldgit

Non I don't need timer functionality.

MinePlugins avatar Jul 12 '22 14:07 MinePlugins

FYI, the changes mentioned above have now been included in the new v2.8.3 release of the library.

crankyoldgit avatar Sep 16 '22 00:09 crankyoldgit

I do not understand how to use it. There is a class IRSanyoAc with "send()" and a class IRsend with sendSanyoAc152(). How does this belong together? If I make IRSanyoAc.setTemp(26), how to do a sendSanyoAc152()?

martin3000 avatar Aug 22 '23 06:08 martin3000

The IRSanyoAc class is for the 72 bit Sanyo A/C protocol (SANYO_AC). Not the 152 bit (SANYO_AC152) protocol.

There is no "detailed" support yet for the SANYO_AC152 protocol.

In short, you can't use the IRSanyoAc class to generate sendSanyoAc152() messages.

crankyoldgit avatar Aug 22 '23 08:08 crankyoldgit