Created
May 26, 2021 06:46
-
-
Save bogd/66eadcb6068a416dd5db81c214b69415 to your computer and use it in GitHub Desktop.
Samsung AC decoding attempt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ZEROBIT_ON = 550 | |
ZEROBIT_OFF = 450 | |
ONEBIT_ON = 550 | |
ONEBIT_OFF = 1450 | |
BREAK_ON = 3100 | |
BREAK_OFF = 8900 | |
Break sequence: 550 3100 3100 8900 | |
BREAK | |
00000010 | |
10110010 | |
^^^^ Checksum - number of all 0 bits in this set (except this byte), modulo 15. If modulo equals 0, then set checksum to 15 | |
00001111 | |
00000000 | |
00000000 | |
00000000 | |
11000000 | |
^^^^ 1111=on, 1100=off | |
# 0x0292 0F00 0000 F0 - fixed for on | |
BREAK | |
BREAK | |
00000001 | |
11010010 | |
^^^^ Checksum - number of all 0 bits in this set (except this byte), modulo 15. If modulo equals 0, then set checksum to 15 | |
00001111 | |
^^^^ Off timer (0000=off, 0011=0.5h, 1000=1h, 1011=1.5h, 0000=2h, 0011=2.5h, 1000=3h) | |
LSB (bit 0) for hours | |
00000000 | |
^^^ Off timer, MSB (continued with above) . E.g. 0001 here and 1011 above means 3.5h | |
Bits 1,2,3 for hours - off timer | |
^^^^ Bit 0 for hours, bits 011 for 1/2h - on timer. E.g. 1011 here means 1.5h on timer | |
00000000 | |
^^^ Bits 1,2,3 for hours - on timer | |
00000000 | |
^ Bit 4 for off timer hours . | |
^ Bit 5 for off timer hours | |
^ Bit 4 for on timer hours | |
^ Bit 5 for on timer hours | |
00000000 | |
# 0x 01D2 0F00 0000 00 - fixed for on | |
BREAK | |
BREAK | |
00000001 | |
11010010 | |
^^^^ Checksum - number of all 0 bits in all sets (except this byte and byte #2 - checksum for first byte), modulo 15. If modulo equals 0, then set checksum to 15 | |
11111110 | |
01110001 | |
11100000 | |
^^^^ Temperature (0000 = 16deg, 1110 = 14+16 = 30deg) | |
00001101 | |
^^^^ Mode (0000=auto, 0001=cool, 0010=dry, 0011=fan, 0100=heat) | |
^^^1 Fan (000=auto, 010=fan1, 100=fan2, 101=fan3, 111=fan4) | |
11000000 | |
15h off | |
00000001 = 01 | |
10000010 = 82 | |
10001111 = 8F | |
00000111 = 07 | |
00000000 = 00 | |
00000100 = 04 | |
00000000 = 00 | |
16h off | |
00000001 = 01 | |
10110010 = B2 | |
00001111 = 0F | |
00001000 = 08 | |
00000000 = 00 | |
00000100 = 04 | |
00000000 = 00 | |
24h off | |
00000001 = 01 | |
10110010 = B2 | |
00001111 = 0F | |
00000000 = 00 | |
00000000 = 00 | |
00010100 = 14 | |
00000000 = 00 | |
1.5h on | |
BREAK | |
00000001 = 01 | |
10010010 = 92 | |
00001111 = 0F | |
10110000 = B0 | |
00000000 = 00 | |
00000010 = 02 | |
00000000 = 00 | |
3h on | |
00000001 = 01 | |
10100010 = A2 | |
00001111 = 0F | |
10000000 = 80 | |
00000001 = 01 | |
00000010 = 02 | |
00000000 = 00 | |
15h on | |
00000001 = 01 | |
10000010 = 82 | |
00001111 = 0F | |
10000000 = 80 | |
00000111 = 07 | |
00000010 = 02 | |
00000000 = 00 | |
16h on | |
00000001 = 01 | |
10110010 = B2 | |
00001111 = 0F | |
00000000 = 00 | |
00001000 = 08 | |
00000010 = 02 | |
00000000 = 00 | |
24h on | |
00000001 = 01 | |
10110010 = B2 | |
00001111 = 0F | |
00000000 = 00 | |
00000000 = 00 | |
00010010 = 12 | |
00000000 = 00 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment