Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- namespace GREE {
- enum {
- HDR_MARK = 9000
- , HDR_SPACE = 4500
- , BIT_MARK = 650
- , ONE_SPACE = 1690
- , ZERO_SPACE = 600
- , TAIL_SPACE = 21000
- // , BIT_MARK = 600
- // , ONE_SPACE = 1690
- // , GREE_ZERO_SPACE = 600
- , MODE_AUTO = 0b000
- , MODE_COOL = 0b100
- , MODE_DRY = 0b010
- , MODE_FAN = 0b110
- , MODE_HEAT = 0b001
- , FAN_AUTO = 0b00
- , FAN_LOW = 0b10
- , FAN_MEDIUM = 0b01
- , FAN_HIGH = 0b11
- , ON = 1
- , OFF = 0
- };
- enum TEMP {
- TEMP_16C = 0b0000
- , TEMP_17C = 0b1000
- , TEMP_18C = 0b0100
- , TEMP_19C = 0b1100
- , TEMP_20C = 0b0010
- , TEMP_21C = 0b1010
- , TEMP_22C = 0b0110
- , TEMP_23C = 0b1110
- , TEMP_24C = 0b0001
- , TEMP_25C = 0b1001
- , TEMP_26C = 0b0101
- , TEMP_27C = 0b1101
- , TEMP_28C = 0b0011
- , TEMP_29C = 0b1011
- , TEMP_30C = 0b0111
- , TEMP_UNIQUE = 0b1111
- , TEMP_MIN = 16
- , TEMP_MAX = 30
- , TEMP_RANGE = TEMP_MAX - TEMP_MIN
- , TEMP_CNT = TEMP_RANGE + 1
- };
- enum TEMP_TAIL_SHIFT {
- SHIFT_INVALID = 0
- , SHIFT_AUTO = TEMP_RANGE - (28 - TEMP_MIN) // not sure
- , SHIFT_COOL = TEMP_RANGE - (27 - TEMP_MIN)
- , SHIFT_DRY = TEMP_RANGE - (26 - TEMP_MIN)
- , SHIFT_FAN = TEMP_RANGE - (25 - TEMP_MIN)
- , SHIFT_HEAT = TEMP_RANGE - (24 - TEMP_MIN)
- };
- enum TEMP_TAIL_UNIQUE {
- UNIQUE_TEMP_INVALID = 0
- , UNIQUE_TEMP_AUTO = 27 - TEMP_MIN // not sure
- , UNIQUE_TEMP_COOL = 26 - TEMP_MIN
- , UNIQUE_TEMP_DRY = 25 - TEMP_MIN
- , UNIQUE_TEMP_FAN = 24 - TEMP_MIN
- , UNIQUE_TEMP_HEAT = 23 - TEMP_MIN
- };
- enum TEMP_TAIL_UNIQUE_SHIFTED {
- UNIQUE_TEMP_SHIFTED_INVALID = 0
- , UNIQUE_TEMP_SHIFTED_AUTO = 19 - TEMP_MIN // not sure
- , UNIQUE_TEMP_SHIFTED_COOL = 20 - TEMP_MIN
- , UNIQUE_TEMP_SHIFTED_DRY = 21 - TEMP_MIN
- , UNIQUE_TEMP_SHIFTED_FAN = 22 - TEMP_MIN
- , UNIQUE_TEMP_SHIFTED_HEAT = 23 - TEMP_MIN
- };
- extern TEMP temp[TEMP_CNT];
- struct packet_struct {
- u32 tail : 10;
- u32 light : 1;
- u32 turbo : 1;
- u32 timer : 8;
- u32 temp : 4;
- u32 sleep : 1;
- u32 swing : 1;
- u32 fan : 2;
- u32 power : 1;
- u32 mode : 3;
- };
- union packet {
- u32 storage;
- packet_struct bit;
- };
- void send_ac_packet (const packet packet, IRsend &irsend);
- };
- //
- //
- //
Add Comment
Please, Sign In to add comment