@@ -1202,21 +1202,28 @@ bool IRFujitsuAC264::setRaw(const uint8_t newState[], const uint16_t length) {
1202
1202
}
1203
1203
switch (length) {
1204
1204
case kFujitsuAc264StateLengthShort :
1205
- if (std::memcmp (_.raw , kFujitsuAc264StatesTurnOff , kFujitsuAc264StateLengthShort ) == 0 )
1205
+ if (std::memcmp (_.raw , kFujitsuAc264StatesTurnOff ,
1206
+ kFujitsuAc264StateLengthShort ) == 0 )
1206
1207
_cmd = kFujitsuAc264SpCmdTurnOff ;
1207
- if (std::memcmp (_.raw , kFujitsuAc264StatesTogglePowerful , kFujitsuAc264StateLengthShort ) == 0 )
1208
+ if (std::memcmp (_.raw , kFujitsuAc264StatesTogglePowerful ,
1209
+ kFujitsuAc264StateLengthShort ) == 0 )
1208
1210
_cmd = kFujitsuAc264SpCmdTogglePowerful ;
1209
- if (std::memcmp (_.raw , kFujitsuAc264StatesEcoFanOff , kFujitsuAc264StateLengthShort ) == 0 )
1211
+ if (std::memcmp (_.raw , kFujitsuAc264StatesEcoFanOff ,
1212
+ kFujitsuAc264StateLengthShort ) == 0 )
1210
1213
_cmd = kFujitsuAc264SpCmdEcoFanOff ;
1211
- if (std::memcmp (_.raw , kFujitsuAc264StatesEcoFanOn , kFujitsuAc264StateLengthShort ) == 0 )
1214
+ if (std::memcmp (_.raw , kFujitsuAc264StatesEcoFanOn ,
1215
+ kFujitsuAc264StateLengthShort ) == 0 )
1212
1216
_cmd = kFujitsuAc264SpCmdEcoFanOn ;
1213
1217
break ;
1214
1218
case kFujitsuAc264StateLengthMiddle :
1215
- if (std::memcmp (_.raw , kFujitsuAc264StatesOutsideQuietOff , kFujitsuAc264StateLengthMiddle ) == 0 )
1219
+ if (std::memcmp (_.raw , kFujitsuAc264StatesOutsideQuietOff ,
1220
+ kFujitsuAc264StateLengthMiddle ) == 0 )
1216
1221
_cmd = kFujitsuAc264SpCmdOutsideQuietOff ;
1217
- if (std::memcmp (_.raw , kFujitsuAc264StatesOutsideQuietOn , kFujitsuAc264StateLengthMiddle ) == 0 )
1222
+ if (std::memcmp (_.raw , kFujitsuAc264StatesOutsideQuietOn ,
1223
+ kFujitsuAc264StateLengthMiddle ) == 0 )
1218
1224
_cmd = kFujitsuAc264SpCmdOutsideQuietOn ;
1219
- if (std::memcmp (_.raw , kFujitsuAc264StatesToggleSterilization , kFujitsuAc264StateLengthMiddle ) == 0 )
1225
+ if (std::memcmp (_.raw , kFujitsuAc264StatesToggleSterilization ,
1226
+ kFujitsuAc264StateLengthMiddle ) == 0 )
1220
1227
_cmd = kFujitsuAc264SpCmdToggleSterilization ;
1221
1228
break ;
1222
1229
case kFujitsuAc264StateLength :
@@ -1246,7 +1253,8 @@ bool IRFujitsuAC264::validChecksum(uint8_t state[], const uint16_t length) {
1246
1253
checksum = state[kFujitsuAc264StateLengthMiddle - 1 ];
1247
1254
sum = sumBytes (state, kFujitsuAc264StateLengthMiddle - 1 );
1248
1255
sum_complement = 0x9E ;
1249
- } else if (length == kFujitsuAc264StateLength ){ // The current command is normal
1256
+ // The current command is normal
1257
+ } else if (length == kFujitsuAc264StateLength ) {
1250
1258
checksum = state[kFujitsuAc264StateLength - 1 ];
1251
1259
sum = sumBytes (state, kFujitsuAc264StateLength - 1 );
1252
1260
sum_complement = 0xAF ;
@@ -1271,7 +1279,7 @@ void IRFujitsuAC264::checkSum(void) {
1271
1279
_.raw [25 ] = 0x00 ;
1272
1280
_.raw [26 ] = 0x00 ;
1273
1281
_.raw [27 ] = 0x00 ;
1274
- _.raw [28 ] |= 0xF0 ;
1282
+ _.raw [28 ] |= 0xF0 ;
1275
1283
_.raw [29 ] = 0xFF ;
1276
1284
_.raw [30 ] = 0xFF ;
1277
1285
@@ -1284,7 +1292,8 @@ void IRFujitsuAC264::checkSum(void) {
1284
1292
}
1285
1293
1286
1294
// / Is the current command a special command?
1287
- // / @return True, if special command (kFujitsuAc264SpCmd*); false, if normal command (kFujitsuAc264Cmd*).
1295
+ // / @return True, if special command (kFujitsuAc264SpCmd*);
1296
+ // / false, if normal command (kFujitsuAc264Cmd*).
1288
1297
bool IRFujitsuAC264::isSpecialCommand (void ) const {
1289
1298
return (_cmd & 0xF0 ) == 0xF0 ;
1290
1299
}
@@ -1328,7 +1337,8 @@ void IRFujitsuAC264::setPower(const bool on) {
1328
1337
_cmd = kFujitsuAc264CmdCool ;
1329
1338
} else {
1330
1339
_cmd = kFujitsuAc264SpCmdTurnOff ;
1331
- std::memcpy (_.raw , kFujitsuAc264StatesTurnOff , kFujitsuAc264StateLengthShort );
1340
+ std::memcpy (_.raw , kFujitsuAc264StatesTurnOff ,
1341
+ kFujitsuAc264StateLengthShort );
1332
1342
}
1333
1343
}
1334
1344
@@ -1338,7 +1348,7 @@ bool IRFujitsuAC264::getPower(void) const { return _ispoweredon; }
1338
1348
1339
1349
// / Check if the temperature setting is changed.
1340
1350
// / @return True if the temperature is not changed.
1341
- bool IRFujitsuAC264::isTempStayed (void ) const { return _settemp == _.Temp ; };
1351
+ bool IRFujitsuAC264::isTempStayed (void ) const { return _settemp == _.Temp ; }
1342
1352
1343
1353
// / Set the temperature.
1344
1354
// / @param[in] temp The temperature in degrees Celcius.
@@ -1363,7 +1373,7 @@ void IRFujitsuAC264::setTemp(const float temp) {
1363
1373
// / Get the current temperature setting.
1364
1374
// / @return The current setting for temperature in degrees Celcius.
1365
1375
float IRFujitsuAC264::getTemp (void ) const {
1366
- return ( float ) (_.Temp / 2.0 ) + (kFujitsuAc264TempOffsetC / 2 );
1376
+ return static_cast < float > (_.Temp / 2.0 ) + (kFujitsuAc264TempOffsetC / 2 );
1367
1377
}
1368
1378
1369
1379
// / Set the temperature in auto mode.
@@ -1386,7 +1396,7 @@ void IRFujitsuAC264::setTempAuto(const float temp) {
1386
1396
// / Get the current temperature in auto mode setting.
1387
1397
// / @return The current setting for temp in auto mode in degrees Celcius.
1388
1398
float IRFujitsuAC264::getTempAuto (void ) const {
1389
- return ( float ) (( int8_t ) (_.TempAuto ) / 10.0 );
1399
+ return static_cast < float >( static_cast < int8_t > (_.TempAuto ) / 10.0 );
1390
1400
}
1391
1401
1392
1402
// / Set the operating mode of the A/C.
@@ -1429,18 +1439,19 @@ uint8_t IRFujitsuAC264::getMode(void) const { return _.Mode; }
1429
1439
1430
1440
// / Get the weak dry mode setting of the A/C.
1431
1441
// / @return The weak dry mode setting.
1432
- bool IRFujitsuAC264::isWeakDry (void ) const { return _.WeakDry ; };
1442
+ bool IRFujitsuAC264::isWeakDry (void ) const { return _.WeakDry ; }
1433
1443
1434
1444
// / Set the speed of the fan.
1435
1445
// / @param[in] fanSpeed The desired setting.
1436
1446
void IRFujitsuAC264::setFanSpeed (const uint8_t fanSpeed) {
1447
+ // Set the fan to auto if out of range.
1437
1448
if ((fanSpeed == kFujitsuAc264FanSpeedQuiet ) ||
1438
1449
(fanSpeed == kFujitsuAc264FanSpeedLow ) ||
1439
1450
(fanSpeed == kFujitsuAc264FanSpeedMed ) ||
1440
1451
(fanSpeed == kFujitsuAc264FanSpeedHigh ))
1441
1452
_.FanSpeed = fanSpeed;
1442
1453
else
1443
- _.FanSpeed = kFujitsuAc264FanSpeedAuto ; // Set the fan to auto if out of range.
1454
+ _.FanSpeed = kFujitsuAc264FanSpeedAuto ;
1444
1455
_cmd = _.Cmd = kFujitsuAc264CmdFanSpeed ;
1445
1456
_.SubCmd = 0 ;
1446
1457
}
@@ -1452,9 +1463,10 @@ uint8_t IRFujitsuAC264::getFanSpeed(void) const { return _.FanSpeed; }
1452
1463
// / Set the angle of the fan.
1453
1464
// / @param[in] fanAngle The desired setting.
1454
1465
void IRFujitsuAC264::setFanAngle (const uint8_t fanAngle) {
1466
+ // Set the fan to stay if out of range.
1455
1467
if ((fanAngle > kFujitsuAc264FanAngle7 ) ||
1456
1468
(fanAngle < kFujitsuAc264FanAngle1 )) {
1457
- _.FanAngle = kFujitsuAc264FanAngleStay ; // Set the fan to stay if out of range.
1469
+ _.FanAngle = kFujitsuAc264FanAngleStay ;
1458
1470
} else {
1459
1471
_.FanAngle = fanAngle;
1460
1472
}
@@ -1509,7 +1521,8 @@ void IRFujitsuAC264::toggleSterilization(void) {
1509
1521
if (getPower ())
1510
1522
return ;
1511
1523
_cmd = kFujitsuAc264SpCmdToggleSterilization ;
1512
- std::memcpy (_.raw , kFujitsuAc264StatesToggleSterilization , kFujitsuAc264StateLengthMiddle );
1524
+ std::memcpy (_.raw , kFujitsuAc264StatesToggleSterilization ,
1525
+ kFujitsuAc264StateLengthMiddle );
1513
1526
}
1514
1527
1515
1528
// / Set weather outside quiet mode is enabled or not.
@@ -1520,10 +1533,12 @@ void IRFujitsuAC264::setOutsideQuiet(const bool on) {
1520
1533
return ;
1521
1534
if (on) {
1522
1535
_cmd = kFujitsuAc264SpCmdOutsideQuietOn ;
1523
- std::memcpy (_.raw , kFujitsuAc264StatesOutsideQuietOn , kFujitsuAc264StateLengthMiddle );
1536
+ std::memcpy (_.raw , kFujitsuAc264StatesOutsideQuietOn ,
1537
+ kFujitsuAc264StateLengthMiddle );
1524
1538
} else {
1525
1539
_cmd = kFujitsuAc264SpCmdOutsideQuietOff ;
1526
- std::memcpy (_.raw , kFujitsuAc264StatesOutsideQuietOff , kFujitsuAc264StateLengthMiddle );
1540
+ std::memcpy (_.raw , kFujitsuAc264StatesOutsideQuietOff ,
1541
+ kFujitsuAc264StateLengthMiddle );
1527
1542
}
1528
1543
}
1529
1544
@@ -1539,10 +1554,12 @@ void IRFujitsuAC264::setEcoFan(const bool on) {
1539
1554
return ;
1540
1555
if (on) {
1541
1556
_cmd = kFujitsuAc264SpCmdEcoFanOn ;
1542
- std::memcpy (_.raw , kFujitsuAc264StatesEcoFanOn , kFujitsuAc264StateLengthShort );
1557
+ std::memcpy (_.raw , kFujitsuAc264StatesEcoFanOn ,
1558
+ kFujitsuAc264StateLengthShort );
1543
1559
} else {
1544
1560
_cmd = kFujitsuAc264SpCmdEcoFanOff ;
1545
- std::memcpy (_.raw , kFujitsuAc264StatesEcoFanOff , kFujitsuAc264StateLengthShort );
1561
+ std::memcpy (_.raw , kFujitsuAc264StatesEcoFanOff ,
1562
+ kFujitsuAc264StateLengthShort );
1546
1563
}
1547
1564
}
1548
1565
@@ -1556,7 +1573,8 @@ void IRFujitsuAC264::togglePowerful(void) {
1556
1573
if (!getPower ())
1557
1574
return ;
1558
1575
_cmd = kFujitsuAc264SpCmdTogglePowerful ;
1559
- std::memcpy (_.raw , kFujitsuAc264StatesTogglePowerful , kFujitsuAc264StateLengthShort );
1576
+ std::memcpy (_.raw , kFujitsuAc264StatesTogglePowerful ,
1577
+ kFujitsuAc264StateLengthShort );
1560
1578
}
1561
1579
1562
1580
// / Set the clock on the A/C unit.
@@ -1633,30 +1651,35 @@ void IRFujitsuAC264::setTimerEnable(const uint8_t timer_enable) {
1633
1651
uint8_t IRFujitsuAC264::getTimerEnable (void ) const { return _.TimerEnable ; }
1634
1652
1635
1653
// / Set the on timer setting of the A/C.
1636
- // / @param[in] mins10 Time in 10 minutes unit, when the A/C will turn on. 0 means 0:00 AM, 1 means 0:10 AM.
1654
+ // / @param[in] mins10 Time in 10 minutes unit, when the A/C will turn on.
1655
+ // / 0 means 0:00 AM, 1 means 0:10 AM.
1637
1656
void IRFujitsuAC264::setOnTimer (const uint8_t mins10) {
1638
1657
if (mins10 <= kFujitsuAc26OnOffTimerMax )
1639
1658
_.OnTimer = mins10;
1640
1659
}
1641
1660
1642
1661
// / Get the on timer setting of the A/C.
1643
- // / @return Time in 10 minutes unit, when the A/C will turn on. 0 means 0:00 AM, 1 means 0:10 AM.
1662
+ // / @return Time in 10 minutes unit, when the A/C will turn on.
1663
+ // / 0 means 0:00 AM, 1 means 0:10 AM.
1644
1664
uint8_t IRFujitsuAC264::getOnTimer (void ) const { return _.OnTimer ; }
1645
1665
1646
1666
// / Set the off timer setting of the A/C.
1647
- // / @param[in] mins10 Time in 10 minutes unit, when the A/C will turn off. 0 means 0:00 AM, 1 means 0:10 AM.
1667
+ // / @param[in] mins10 Time in 10 minutes unit, when the A/C will turn off.
1668
+ // / 0 means 0:00 AM, 1 means 0:10 AM.
1648
1669
void IRFujitsuAC264::setOffTimer (const uint8_t mins10) {
1649
1670
if (mins10 <= kFujitsuAc26OnOffTimerMax )
1650
1671
_.OffTimer = mins10;
1651
1672
}
1652
1673
1653
1674
// / Get the off timer setting of the A/C.
1654
- // / @return Time in 10 minutes unit, when the A/C will turn off. 0 means 0:00 AM, 1 means 0:10 AM.
1675
+ // / @return Time in 10 minutes unit, when the A/C will turn off.
1676
+ // / 0 means 0:00 AM, 1 means 0:10 AM.
1655
1677
uint8_t IRFujitsuAC264::getOffTimer (void ) const { return _.OffTimer ; }
1656
1678
1657
1679
// / Set the requested (normal) command part for the A/C message.
1658
1680
// / @param[in] cmd Command to be set.
1659
- // / @note Only normal commands (=!isSpecialCommand()) can be set with this function.
1681
+ // / @note Only normal commands (=!isSpecialCommand()) can be set
1682
+ // / with this function.
1660
1683
void IRFujitsuAC264::setCmd (const uint8_t cmd) {
1661
1684
switch (cmd) {
1662
1685
case kFujitsuAc264CmdCool :
@@ -1754,8 +1777,8 @@ stdAc::state_t IRFujitsuAC264::toCommon(const stdAc::state_t *prev) {
1754
1777
result.protocol = decode_type_t ::FUJITSU_AC264;
1755
1778
checkSum ();
1756
1779
result.power = _cmd != kFujitsuAc264SpCmdTurnOff ;
1757
- // Only update these settings if it is not a special command message, or we have no previous
1758
- // state info for those settings.
1780
+ // Only update these settings if it is not a special command message,
1781
+ // or we have no previous state info for those settings.
1759
1782
if (!isSpecialCommand () || prev == NULL ) {
1760
1783
result.mode = toCommonMode (_.Mode );
1761
1784
result.celsius = true ;
@@ -1819,23 +1842,23 @@ String IRFujitsuAC264::toString(void) const {
1819
1842
} else { // Normal commands
1820
1843
result += addBoolToString (true , kPowerStr , false );
1821
1844
// Mode
1822
- result += addModeToString (_.Mode , kFujitsuAc264ModeAuto , kFujitsuAc264ModeCool ,
1823
- kFujitsuAc264ModeHeat , kFujitsuAc264ModeDry ,
1824
- kFujitsuAc264ModeFan );
1845
+ result += addModeToString (_.Mode , kFujitsuAc264ModeAuto ,
1846
+ kFujitsuAc264ModeCool , kFujitsuAc264ModeHeat ,
1847
+ kFujitsuAc264ModeDry , kFujitsuAc264ModeFan );
1825
1848
// Temp
1826
1849
float degrees = getTemp ();
1827
1850
result += addTempFloatToString (getTemp ());
1828
1851
// Temp in Auto
1829
1852
degrees = getTempAuto ();
1830
- String degrees_str = (degrees >= 0 )? uint64ToString (degrees):
1831
- String (kDashStr ) + uint64ToString (-degrees);
1853
+ String degrees_str = (degrees >= 0 )? uint64ToString (degrees):
1854
+ String (kDashStr ) + uint64ToString (-degrees);
1832
1855
result += addLabeledString (degrees_str, " Temp (Auto)" );
1833
1856
if (((uint16_t )(2 * degrees)) & 1 ) result += F (" .5" );
1834
1857
result += ' C' ;
1835
1858
// Fan Speed
1836
- result += addFanToString (_.FanSpeed , kFujitsuAc264FanSpeedHigh , kFujitsuAc264FanSpeedLow ,
1837
- kFujitsuAc264FanSpeedAuto , kFujitsuAc264FanSpeedQuiet ,
1838
- kFujitsuAc264FanSpeedMed );
1859
+ result += addFanToString (_.FanSpeed , kFujitsuAc264FanSpeedHigh ,
1860
+ kFujitsuAc264FanSpeedLow , kFujitsuAc264FanSpeedAuto ,
1861
+ kFujitsuAc264FanSpeedQuiet , kFujitsuAc264FanSpeedMed );
1839
1862
// Fan Angle
1840
1863
result += addIntToString (_.FanAngle , " Fan Angle" );
1841
1864
result += kSpaceLBraceStr ;
@@ -2005,12 +2028,13 @@ bool IRrecv::decodeFujitsuAC264(decode_results* results, uint16_t offset,
2005
2028
results->state [2 ] != 0x00 || results->state [3 ] != 0x10 ||
2006
2029
results->state [4 ] != 0x10 )
2007
2030
return false ;
2008
-
2031
+
2009
2032
// Identify which command it is
2010
2033
switch (results->state [5 ]) {
2011
2034
case 0xFE : // Command length is normal or middle
2012
2035
restLength = results->state [6 ];
2013
- if ((restLength != 0x1A ) && (restLength != 0x09 )) // check the rest length
2036
+ // check the rest length
2037
+ if ((restLength != 0x1A ) && (restLength != 0x09 ))
2014
2038
return false ;
2015
2039
break ;
2016
2040
case 0x51 : // Command length is short
@@ -2031,8 +2055,8 @@ bool IRrecv::decodeFujitsuAC264(decode_results* results, uint16_t offset,
2031
2055
// Keep reading bytes until we either run out of message or state to fill.
2032
2056
match_result_t data_result;
2033
2057
for (uint16_t i = kFujitsuAc264StateLengthShort ;
2034
- offset <= results->rawlen - 16 && i < kFujitsuAc264StateLengthShort + restLength;
2035
- i++, dataBitsSoFar += 8 , offset += data_result.used ) {
2058
+ offset <= results->rawlen - 16 && i < kFujitsuAc264StateLengthShort +
2059
+ restLength; i++, dataBitsSoFar += 8 , offset += data_result.used ) {
2036
2060
data_result = matchData (
2037
2061
&(results->rawbuf [offset]), 8 , kFujitsuAcBitMark , kFujitsuAcOneSpace ,
2038
2062
kFujitsuAcBitMark , kFujitsuAcZeroSpace ,
0 commit comments