Parameterised some Gree bitfields

This commit is contained in:
Rob Deutsch 2023-07-12 22:42:16 +10:00
parent be312efff6
commit f9d68d1e78
2 changed files with 17 additions and 5 deletions

View File

@ -233,23 +233,22 @@ void GreeHeatpumpIR::sendGree(IRSender& IR, uint8_t powerMode, uint8_t operating
GreeTemplate[4] |= (swingH << 4);
if (iFeelMode)
{
GreeTemplate[5] |= (1 << 3);
GreeTemplate[5] |= GREE_IFEEL_BIT;
}
}
if (greeModel == GREE_YAA || greeModel == GREE_YAC)
{
// GreeTemplate[2] = 0xE0; // bits 0..3 always 0000, bits 4..7 TURBO,LIGHT,HEALTH,X-FAN
GreeTemplate[2] = 0x20; // bits 0..3 always 0000, bits 4..7 TURBO,LIGHT,HEALTH,X-FAN
GreeTemplate[2] = GREE_LIGHT_BIT; // bits 0..3 always 0000, bits 4..7 TURBO,LIGHT,HEALTH,X-FAN
GreeTemplate[3] = 0x50; // bits 4..7 always 0101
GreeTemplate[6] = 0x20; // YAA1FB, FAA1FB1, YB1F2 bits 4..7 always 0010
if (turboMode)
{
GreeTemplate[2] |= (1 << 4); // Set bit 4 (TURBO)
GreeTemplate[2] |= GREE_TURBO_BIT;
}
if (swingV == GREE_VDIR_SWING)
{
GreeTemplate[0] |= (1 << 6); // Enable swing by setting bit 6
GreeTemplate[0] |= GREE_VSWING; // Enable swing by setting bit 6
}
else if (swingV != GREE_VDIR_AUTO)
{

View File

@ -60,6 +60,19 @@
#define GREE_HDIR_MRIGHT 0x05
#define GREE_HDIR_RIGHT 0x06
#define GREE_IFEEL_BIT 0x08
// Only available on YAA and YAC
// byte 0
#define GREE_VSWING (1 << 6)
// byte 2
#define GREE_TURBO_BIT (1 << 4)
#define GREE_LIGHT_BIT (1 << 5)
#define GREE_HEALTH_BIT (1 << 6)
#define GREE_XFAN_BIT (1 << 7) // aka BLOW on some remotes
// Gree model codes
#define GREE_GENERIC 0
#define GREE_YAN 1