diff --git a/sonoff/sonoff.ino b/sonoff/sonoff.ino index b6d84d618..8df877520 100755 --- a/sonoff/sonoff.ino +++ b/sonoff/sonoff.ino @@ -83,6 +83,7 @@ unsigned long feature_drv1; // Compiled driver feature map unsigned long feature_drv2; // Compiled driver feature map unsigned long feature_sns1; // Compiled sensor feature map unsigned long feature_sns2; // Compiled sensor feature map +unsigned long feature5; // Compiled feature map unsigned long serial_polling_window = 0; // Serial polling window unsigned long state_second = 0; // State second timer unsigned long state_50msecond = 0; // State 50msecond timer diff --git a/sonoff/support_command.ino b/sonoff/support_command.ino index 2c2e7038f..6a7b21e8b 100644 --- a/sonoff/support_command.ino +++ b/sonoff/support_command.ino @@ -319,8 +319,8 @@ void CmndStatus(void) } if ((0 == payload) || (4 == payload)) { - Response_P(PSTR("{\"" D_CMND_STATUS D_STATUS4_MEMORY "\":{\"" D_JSON_PROGRAMSIZE "\":%d,\"" D_JSON_FREEMEMORY "\":%d,\"" D_JSON_HEAPSIZE "\":%d,\"" D_JSON_PROGRAMFLASHSIZE "\":%d,\"" D_JSON_FLASHSIZE "\":%d,\"" D_JSON_FLASHCHIPID "\":\"%06X\",\"" D_JSON_FLASHMODE "\":%d,\"" D_JSON_FEATURES "\":[\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\"]}}"), - ESP.getSketchSize()/1024, ESP.getFreeSketchSpace()/1024, ESP.getFreeHeap()/1024, ESP.getFlashChipSize()/1024, ESP.getFlashChipRealSize()/1024, ESP.getFlashChipId(), ESP.getFlashChipMode(), LANGUAGE_LCID, feature_drv1, feature_drv2, feature_sns1, feature_sns2); + Response_P(PSTR("{\"" D_CMND_STATUS D_STATUS4_MEMORY "\":{\"" D_JSON_PROGRAMSIZE "\":%d,\"" D_JSON_FREEMEMORY "\":%d,\"" D_JSON_HEAPSIZE "\":%d,\"" D_JSON_PROGRAMFLASHSIZE "\":%d,\"" D_JSON_FLASHSIZE "\":%d,\"" D_JSON_FLASHCHIPID "\":\"%06X\",\"" D_JSON_FLASHMODE "\":%d,\"" D_JSON_FEATURES "\":[\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\"]}}"), + ESP.getSketchSize()/1024, ESP.getFreeSketchSpace()/1024, ESP.getFreeHeap()/1024, ESP.getFlashChipSize()/1024, ESP.getFlashChipRealSize()/1024, ESP.getFlashChipId(), ESP.getFlashChipMode(), LANGUAGE_LCID, feature_drv1, feature_drv2, feature_sns1, feature_sns2, feature5); MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "4")); } diff --git a/sonoff/support_features.ino b/sonoff/support_features.ino index 0a57eb80b..aaa729104 100644 --- a/sonoff/support_features.ino +++ b/sonoff/support_features.ino @@ -23,7 +23,7 @@ void GetFeatures(void) { - feature_drv1 = 0x00000000; // xdrv_02_mqtt.ino, xdrv_04_light.ino, xdrv_06_snfbridge.ino + feature_drv1 = 0x00000000; #ifdef USE_ENERGY_MARGIN_DETECTION feature_drv1 |= 0x00000001; // xdrv_03_energy.ino @@ -190,7 +190,7 @@ void GetFeatures(void) feature_drv2 |= 0x00100000; // xdrv_21_wemo.ino #endif #ifdef USE_SONOFF_IFAN - feature_drv2 |= 0x00200000; + feature_drv2 |= 0x00200000; // xdrv_22_sonoff_ifan.ino #endif // feature_drv2 |= 0x00400000; @@ -225,7 +225,7 @@ void GetFeatures(void) /*********************************************************************************************/ - feature_sns1 = 0x00000000; // xsns_01_counter.ino, xsns_04_snfsc.ino + feature_sns1 = 0x00000000; #ifdef USE_COUNTER feature_sns1 |= 0x00000001; // xsns_01_counter.ino @@ -404,21 +404,65 @@ void GetFeatures(void) feature_sns2 |= 0x01000000; // xnrg_07_ade7953.ino #endif #ifdef USE_SPS30 - feature_sns2 |= 0x02000000; + feature_sns2 |= 0x02000000; // xsns_44_sps30.ino #endif #ifdef USE_VL53L0X - feature_sns2 |= 0x04000000; + feature_sns2 |= 0x04000000; // xsns_45_vl53l0x.ino #endif #ifdef USE_MLX90614 - feature_sns2 |= 0x08000000; + feature_sns2 |= 0x08000000; // xsns_46_MLX90614.ino #endif #ifdef USE_MAX31865 - feature_sns2 |= 0x10000000; + feature_sns2 |= 0x10000000; // xsns_47-max31865.ino #endif #ifdef USE_CHIRP - feature_sns2 |= 0x20000000; + feature_sns2 |= 0x20000000; // xsns_48_chirp.ino #endif // feature_sns2 |= 0x40000000; // feature_sns2 |= 0x80000000; +/*********************************************************************************************/ + + feature5 = 0x00000000; + +// feature5 |= 0x00000001; +// feature5 |= 0x00000002; +// feature5 |= 0x00000004; +// feature5 |= 0x00000008; + +// feature5 |= 0x00000010; +// feature5 |= 0x00000020; +// feature5 |= 0x00000040; +// feature5 |= 0x00000080; + +// feature5 |= 0x00000100; +// feature5 |= 0x00000200; +// feature5 |= 0x00000400; +// feature5 |= 0x00000800; + +// feature5 |= 0x00001000; +// feature5 |= 0x00002000; +// feature5 |= 0x00004000; +// feature5 |= 0x00008000; + +// feature5 |= 0x00010000; +// feature5 |= 0x00020000; +// feature5 |= 0x00040000; +// feature5 |= 0x00080000; + +// feature5 |= 0x00100000; +// feature5 |= 0x00200000; +// feature5 |= 0x00400000; +// feature5 |= 0x00800000; + +// feature5 |= 0x01000000; +// feature5 |= 0x02000000; +// feature5 |= 0x04000000; +// feature5 |= 0x08000000; + +// feature5 |= 0x10000000; +// feature5 |= 0x20000000; +// feature5 |= 0x40000000; +// feature5 |= 0x80000000; + }