From 3a44d19e8b3f38c713fe282d6f8c10df1e08ed8f Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sat, 10 Feb 2024 09:13:56 -0800 Subject: [PATCH] Matter implement auto-attributes (#20694) --- CHANGELOG.md | 1 + .../generate/be_matter_clusters.h | 303 +--- .../berry_matter/src/be_matter_module.c | 44 +- .../src/embedded/Matter_0_Inspect.be | 18 +- .../src/embedded/Matter_Plugin_0.be | 87 +- .../embedded/Matter_Plugin_1_Aggregator.be | 13 +- .../src/embedded/Matter_Plugin_1_Device.be | 24 +- .../src/embedded/Matter_Plugin_1_Root.be | 11 +- .../embedded/Matter_Plugin_2_Bridge_HTTP.be | 7 +- .../src/embedded/Matter_Plugin_2_Light1.be | 15 +- .../src/embedded/Matter_Plugin_2_OnOff.be | 9 +- .../Matter_Plugin_2_Sensor_Contact.be | 9 +- .../Matter_Plugin_2_Sensor_Occupancy.be | 9 +- .../embedded/Matter_Plugin_2_Sensor_OnOff.be | 9 +- .../src/embedded/Matter_Plugin_2_Shutter.be | 10 +- .../embedded/Matter_Plugin_3_Bridge_Light0.be | 9 +- .../Matter_Plugin_3_Bridge_Sensor_Contact.be | 9 +- ...Matter_Plugin_3_Bridge_Sensor_Occupancy.be | 9 +- .../src/embedded/Matter_Plugin_3_Light2.be | 7 +- .../src/embedded/Matter_Plugin_3_Light3.be | 7 +- .../embedded/Matter_Plugin_3_Sensor_Flow.be | 9 +- .../Matter_Plugin_3_Sensor_Humidity.be | 9 +- .../Matter_Plugin_3_Sensor_Illuminance.be | 9 +- .../Matter_Plugin_3_Sensor_Pressure.be | 9 +- .../embedded/Matter_Plugin_3_Sensor_Temp.be | 9 +- .../embedded/Matter_Plugin_3_ShutterTilt.be | 3 +- .../embedded/Matter_Plugin_4_Bridge_Light1.be | 9 +- .../Matter_Plugin_4_Bridge_Sensor_Flow.be | 9 +- .../Matter_Plugin_4_Bridge_Sensor_Humidity.be | 9 +- ...tter_Plugin_4_Bridge_Sensor_Illuminance.be | 9 +- .../Matter_Plugin_4_Bridge_Sensor_Pressure.be | 9 +- .../Matter_Plugin_4_Bridge_Sensor_Temp.be | 9 +- .../embedded/Matter_Plugin_5_Bridge_Light2.be | 9 +- .../embedded/Matter_Plugin_5_Bridge_Light3.be | 10 +- .../solidify/solidified_Matter_0_Inspect.h | 146 +- .../src/solidify/solidified_Matter_Plugin_0.h | 1260 +++++++++-------- .../solidified_Matter_Plugin_1_Aggregator.h | 173 +-- .../solidified_Matter_Plugin_1_Device.h | 496 +++---- .../solidified_Matter_Plugin_1_Root.h | 270 ++-- .../solidified_Matter_Plugin_2_Bridge_HTTP.h | 42 +- .../solidified_Matter_Plugin_2_Light1.h | 206 ++- .../solidified_Matter_Plugin_2_OnOff.h | 85 +- ...olidified_Matter_Plugin_2_Sensor_Contact.h | 86 +- ...idified_Matter_Plugin_2_Sensor_Occupancy.h | 89 +- .../solidified_Matter_Plugin_2_Sensor_OnOff.h | 85 +- .../solidified_Matter_Plugin_2_Shutter.h | 102 +- ...solidified_Matter_Plugin_3_Bridge_Light0.h | 85 +- ...ed_Matter_Plugin_3_Bridge_Sensor_Contact.h | 86 +- ..._Matter_Plugin_3_Bridge_Sensor_Occupancy.h | 89 +- .../solidified_Matter_Plugin_3_Light2.h | 93 +- .../solidified_Matter_Plugin_3_Light3.h | 99 +- .../solidified_Matter_Plugin_3_Sensor_Flow.h | 90 +- ...lidified_Matter_Plugin_3_Sensor_Humidity.h | 90 +- ...ified_Matter_Plugin_3_Sensor_Illuminance.h | 90 +- ...lidified_Matter_Plugin_3_Sensor_Pressure.h | 90 +- .../solidified_Matter_Plugin_3_Sensor_Temp.h | 89 +- .../solidified_Matter_Plugin_3_ShutterTilt.h | 39 +- ...solidified_Matter_Plugin_4_Bridge_Light1.h | 100 +- ...ified_Matter_Plugin_4_Bridge_Sensor_Flow.h | 90 +- ...d_Matter_Plugin_4_Bridge_Sensor_Humidity.h | 90 +- ...atter_Plugin_4_Bridge_Sensor_Illuminance.h | 90 +- ...d_Matter_Plugin_4_Bridge_Sensor_Pressure.h | 90 +- ...ified_Matter_Plugin_4_Bridge_Sensor_Temp.h | 89 +- ...solidified_Matter_Plugin_5_Bridge_Light2.h | 102 +- ...solidified_Matter_Plugin_5_Bridge_Light3.h | 106 +- 65 files changed, 2735 insertions(+), 2733 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b39956120..80f4aecdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file. ### Changed - Matter improve `MtrInfo` (#20686) +- Matter implement auto-attributes ### Fixed diff --git a/lib/libesp32/berry_matter/generate/be_matter_clusters.h b/lib/libesp32/berry_matter/generate/be_matter_clusters.h index ce188476f..390bd2830 100644 --- a/lib/libesp32/berry_matter/generate/be_matter_clusters.h +++ b/lib/libesp32/berry_matter/generate/be_matter_clusters.h @@ -28,11 +28,6 @@ typedef struct { const matter_attribute_t matter_Attributes_0003[] = { { 0x0000, 0, 0x03, "IdentifyTime" }, { 0x0001, 0, 0x02, "IdentifyType" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -44,11 +39,6 @@ const matter_command_t matter_Commands_0003[] = { const matter_attribute_t matter_Attributes_0004[] = { { 0x0000, 0, 0x02, "NameSupport" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -68,11 +58,6 @@ const matter_attribute_t matter_Attributes_0005[] = { { 0x0002, 0, 0x02, "CurrentGroup" }, { 0x0003, 0, 0x02, "SceneValid" }, { 0x0004, 0, 0x02, "NameSupport" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -93,11 +78,6 @@ const matter_attribute_t matter_Attributes_0006[] = { { 0x4001, 0, 0x03, "OnTime" }, { 0x4002, 0, 0x03, "OffWaitTime" }, { 0x4003, 0, 0x03, "StartUpOnOff" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -114,11 +94,6 @@ const matter_command_t matter_Commands_0006[] = { const matter_attribute_t matter_Attributes_0007[] = { { 0x0000, 0, 0x02, "SwitchType" }, { 0x0010, 0, 0x03, "SwitchActions" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -141,11 +116,6 @@ const matter_attribute_t matter_Attributes_0008[] = { { 0x0013, 0, 0x03, "OffTransitionTime" }, { 0x0014, 0, 0x03, "DefaultMoveRate" }, { 0x4000, 0, 0x03, "StartUpCurrentLevel" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -165,11 +135,6 @@ const matter_attribute_t matter_Attributes_000F[] = { { 0x0051, 0, 0x03, "OutOfService" }, { 0x0055, 0, 0x03, "PresentValue" }, { 0x006F, 0, 0x02, "StatusFlags" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -182,11 +147,7 @@ const matter_attribute_t matter_Attributes_001D[] = { { 0x0001, 0, 0x02, "ServerList" }, { 0x0002, 0, 0x02, "ClientList" }, { 0x0003, 0, 0x02, "PartsList" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, + { 0x0004, 0, 0x02, "TagList" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -196,11 +157,6 @@ const matter_command_t matter_Commands_001D[] = { const matter_attribute_t matter_Attributes_001E[] = { { 0x0000, 0, 0x03, "Binding" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -214,11 +170,6 @@ const matter_attribute_t matter_Attributes_001F[] = { { 0x0002, 0, 0x02, "SubjectsPerAccessControlEntry" }, { 0x0003, 0, 0x02, "TargetsPerAccessControlEntry" }, { 0x0004, 0, 0x02, "AccessControlEntriesPerFabric" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -230,11 +181,6 @@ const matter_attribute_t matter_Attributes_0025[] = { { 0x0000, 0, 0x02, "ActionList" }, { 0x0001, 0, 0x02, "EndpointLists" }, { 0x0002, 0, 0x02, "SetupURL" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -275,11 +221,6 @@ const matter_attribute_t matter_Attributes_0028[] = { { 0x0011, 0, 0x02, "Reachable" }, { 0x0012, 0, 0x02, "UniqueID" }, { 0x0013, 0, 0x02, "CapabilityMinima" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -320,10 +261,6 @@ const matter_command_t matter_Commands_002A[] = { const matter_attribute_t matter_Attributes_002B[] = { { 0x0000, 0, 0x03, "ActiveLocale" }, { 0x0001, 0, 0x02, "SupportedLocales" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -335,10 +272,6 @@ const matter_attribute_t matter_Attributes_002C[] = { { 0x0000, 0, 0x03, "HourFormat" }, { 0x0001, 0, 0x03, "ActiveCalendarType" }, { 0x0002, 0, 0x02, "SupportedCalendarTypes" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -360,11 +293,6 @@ const matter_command_t matter_Commands_002D[] = { const matter_attribute_t matter_Attributes_002E[] = { { 0x0000, 0, 0x02, "Sources" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -404,11 +332,6 @@ const matter_attribute_t matter_Attributes_002F[] = { { 0x001C, 0, 0x02, "BatFunctionalWhileCharging" }, { 0x001D, 0, 0x02, "BatChargingCurrent" }, { 0x001E, 0, 0x02, "ActiveBatChargeFaults" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -422,11 +345,6 @@ const matter_attribute_t matter_Attributes_0030[] = { { 0x0002, 0, 0x02, "RegulatoryConfig" }, { 0x0003, 0, 0x02, "LocationCapability" }, { 0x0004, 0, 0x02, "SupportsConcurrentConnection" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -449,10 +367,6 @@ const matter_attribute_t matter_Attributes_0031[] = { { 0x0005, 0, 0x02, "LastNetworkingStatus" }, { 0x0006, 0, 0x02, "LastNetworkID" }, { 0x0007, 0, 0x02, "LastConnectErrorValue" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -467,11 +381,6 @@ const matter_command_t matter_Commands_0031[] = { }; const matter_attribute_t matter_Attributes_0032[] = { - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -490,11 +399,6 @@ const matter_attribute_t matter_Attributes_0033[] = { { 0x0006, 0, 0x02, "ActiveRadioFaults" }, { 0x0007, 0, 0x02, "ActiveNetworkFaults" }, { 0x0008, 0, 0x02, "TestEventTriggersEnabled" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -508,11 +412,6 @@ const matter_attribute_t matter_Attributes_0034[] = { { 0x0001, 0, 0x02, "CurrentHeapFree" }, { 0x0002, 0, 0x02, "CurrentHeapUsed" }, { 0x0003, 0, 0x02, "CurrentHeapHighWatermark" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -585,11 +484,6 @@ const matter_attribute_t matter_Attributes_0035[] = { { 0x003C, 0, 0x02, "ChannelPage0Mask" }, { 0x003D, 0, 0x02, "OperationalDatasetComponents" }, { 0x003E, 0, 0x02, "ActiveNetworkFaultsList" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -612,11 +506,6 @@ const matter_attribute_t matter_Attributes_0036[] = { { 0x000A, 0, 0x02, "PacketUnicastTxCount" }, { 0x000B, 0, 0x02, "CurrentMaxRate" }, { 0x000C, 0, 0x02, "OverrunCount" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -635,11 +524,6 @@ const matter_attribute_t matter_Attributes_0037[] = { { 0x0006, 0, 0x02, "OverrunCount" }, { 0x0007, 0, 0x02, "CarrierDetect" }, { 0x0008, 0, 0x02, "TimeSinceReset" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -662,11 +546,6 @@ const matter_attribute_t matter_Attributes_0038[] = { { 0x000A, 0, 0x02, "TimeZoneListMaxSize" }, { 0x000B, 0, 0x02, "DSTOffsetListMaxSize" }, { 0x000C, 0, 0x02, "SupportsDNSResolve" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -696,11 +575,6 @@ const matter_attribute_t matter_Attributes_0039[] = { { 0x000F, 0, 0x02, "SerialNumber" }, { 0x0011, 0, 0x02, "Reachable" }, { 0x0012, 0, 0x02, "UniqueID" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -712,11 +586,6 @@ const matter_attribute_t matter_Attributes_003B[] = { { 0x0000, 0, 0x02, "NumberOfPositions" }, { 0x0001, 0, 0x02, "CurrentPosition" }, { 0x0002, 0, 0x02, "MultiPressMax" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -728,11 +597,6 @@ const matter_attribute_t matter_Attributes_003C[] = { { 0x0000, 0, 0x02, "WindowStatus" }, { 0x0001, 0, 0x02, "AdminFabricIndex" }, { 0x0002, 0, 0x02, "AdminVendorId" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -750,11 +614,6 @@ const matter_attribute_t matter_Attributes_003E[] = { { 0x0003, 0, 0x02, "CommissionedFabrics" }, { 0x0004, 0, 0x02, "TrustedRootCertificates" }, { 0x0005, 0, 0x02, "CurrentFabricIndex" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -779,11 +638,6 @@ const matter_attribute_t matter_Attributes_003F[] = { { 0x0001, 0, 0x02, "GroupTable" }, { 0x0002, 0, 0x02, "MaxGroupsPerFabric" }, { 0x0003, 0, 0x02, "MaxGroupKeysPerFabric" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -797,11 +651,6 @@ const matter_command_t matter_Commands_003F[] = { const matter_attribute_t matter_Attributes_0040[] = { { 0x0000, 0, 0x02, "LabelList" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -811,10 +660,6 @@ const matter_command_t matter_Commands_0040[] = { const matter_attribute_t matter_Attributes_0041[] = { { 0x0000, 0, 0x03, "LabelList" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -824,11 +669,6 @@ const matter_command_t matter_Commands_0041[] = { const matter_attribute_t matter_Attributes_0045[] = { { 0x0000, 0, 0x02, "StateValue" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -843,11 +683,6 @@ const matter_attribute_t matter_Attributes_0050[] = { { 0x0003, 0, 0x02, "CurrentMode" }, { 0x0004, 0, 0x03, "StartUpMode" }, { 0x0005, 0, 0x03, "OnMode" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -882,11 +717,6 @@ const matter_attribute_t matter_Attributes_0101[] = { { 0x0030, 0, 0x03, "WrongCodeEntryLimit" }, { 0x0031, 0, 0x03, "UserCodeTemporaryDisableTime" }, { 0x0033, 0, 0x01, "RequirePINforRemoteOperation" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -935,11 +765,6 @@ const matter_attribute_t matter_Attributes_0102[] = { { 0x0013, 0, 0x02, "InstalledClosedLimitTilt" }, { 0x0017, 0, 0x03, "Mode" }, { 0x001A, 0, 0x02, "SafetyStatus" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -959,11 +784,6 @@ const matter_attribute_t matter_Attributes_0103[] = { { 0x0002, 0, 0x02, "BarrierSafetyStatus" }, { 0x0003, 0, 0x02, "BarrierCapabilities" }, { 0x000A, 0, 0x02, "BarrierPosition" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -997,11 +817,6 @@ const matter_attribute_t matter_Attributes_0200[] = { { 0x0017, 0, 0x03, "LifetimeEnergyConsumed" }, { 0x0020, 0, 0x03, "OperationMode" }, { 0x0021, 0, 0x03, "ControlMode" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1053,11 +868,6 @@ const matter_attribute_t matter_Attributes_0202[] = { { 0x0008, 0, 0x03, "RockSetting" }, { 0x0009, 0, 0x02, "WindSupport" }, { 0x000A, 0, 0x03, "WindSetting" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1069,11 +879,6 @@ const matter_attribute_t matter_Attributes_0204[] = { { 0x0000, 0, 0x03, "TemperatureDisplayMode" }, { 0x0001, 0, 0x03, "KeypadLockout" }, { 0x0002, 0, 0x03, "ScheduleProgrammingVisibility" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1134,11 +939,6 @@ const matter_attribute_t matter_Attributes_0300[] = { { 0x400C, 0, 0x02, "ColorTempPhysicalMaxMireds" }, { 0x400D, 0, 0x02, "CoupleColorTempToLevelMinMireds" }, { 0x4010, 0, 0x03, "StartUpColorTemperatureMireds" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1180,11 +980,6 @@ const matter_attribute_t matter_Attributes_0301[] = { { 0x0033, 0, 0x03, "LampBurnHours" }, { 0x0034, 0, 0x03, "LampAlarmMode" }, { 0x0035, 0, 0x03, "LampBurnHoursTripPoint" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1198,11 +993,6 @@ const matter_attribute_t matter_Attributes_0400[] = { { 0x0002, 0, 0x02, "MaxMeasuredValue" }, { 0x0003, 0, 0x02, "Tolerance" }, { 0x0004, 0, 0x02, "LightSensorType" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1250,11 +1040,6 @@ const matter_attribute_t matter_Attributes_0404[] = { { 0x0001, 0, 0x02, "MinMeasuredValue" }, { 0x0002, 0, 0x02, "MaxMeasuredValue" }, { 0x0003, 0, 0x02, "Tolerance" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1267,11 +1052,6 @@ const matter_attribute_t matter_Attributes_0405[] = { { 0x0001, 0, 0x02, "MinMeasuredValue" }, { 0x0002, 0, 0x02, "MaxMeasuredValue" }, { 0x0003, 0, 0x02, "Tolerance" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1283,11 +1063,6 @@ const matter_attribute_t matter_Attributes_0406[] = { { 0x0000, 0, 0x02, "Occupancy" }, { 0x0001, 0, 0x02, "OccupancySensorType" }, { 0x0002, 0, 0x02, "OccupancySensorTypeBitmap" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1297,11 +1072,6 @@ const matter_command_t matter_Commands_0406[] = { const matter_attribute_t matter_Attributes_0503[] = { { 0x0000, 0, 0x02, "MACAddress" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1313,11 +1083,6 @@ const matter_attribute_t matter_Attributes_0504[] = { { 0x0000, 0, 0x02, "ChannelList" }, { 0x0001, 0, 0x02, "Lineup" }, { 0x0002, 0, 0x02, "CurrentChannel" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1331,11 +1096,6 @@ const matter_command_t matter_Commands_0504[] = { const matter_attribute_t matter_Attributes_0505[] = { { 0x0000, 0, 0x02, "TargetList" }, { 0x0001, 0, 0x02, "CurrentTarget" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1352,11 +1112,6 @@ const matter_attribute_t matter_Attributes_0506[] = { { 0x0004, 0, 0x02, "PlaybackSpeed" }, { 0x0005, 0, 0x02, "SeekRangeEnd" }, { 0x0006, 0, 0x02, "SeekRangeStart" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1378,11 +1133,6 @@ const matter_command_t matter_Commands_0506[] = { const matter_attribute_t matter_Attributes_0507[] = { { 0x0000, 0, 0x02, "InputList" }, { 0x0001, 0, 0x02, "CurrentInput" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1395,11 +1145,6 @@ const matter_command_t matter_Commands_0507[] = { }; const matter_attribute_t matter_Attributes_0508[] = { - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1409,11 +1154,6 @@ const matter_command_t matter_Commands_0508[] = { }; const matter_attribute_t matter_Attributes_0509[] = { - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1425,11 +1165,6 @@ const matter_command_t matter_Commands_0509[] = { const matter_attribute_t matter_Attributes_050A[] = { { 0x0000, 0, 0x02, "AcceptHeader" }, { 0x0001, 0, 0x03, "SupportedStreamingProtocols" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1442,11 +1177,6 @@ const matter_command_t matter_Commands_050A[] = { const matter_attribute_t matter_Attributes_050B[] = { { 0x0000, 0, 0x02, "OutputList" }, { 0x0001, 0, 0x02, "CurrentOutput" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1459,11 +1189,6 @@ const matter_command_t matter_Commands_050B[] = { const matter_attribute_t matter_Attributes_050C[] = { { 0x0000, 0, 0x02, "CatalogList" }, { 0x0001, 0, 0x03, "CurrentApp" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1483,11 +1208,6 @@ const matter_attribute_t matter_Attributes_050D[] = { { 0x0005, 0, 0x02, "Status" }, { 0x0006, 0, 0x02, "ApplicationVersion" }, { 0x0007, 0, 0x02, "AllowedVendorList" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1496,11 +1216,6 @@ const matter_command_t matter_Commands_050D[] = { }; const matter_attribute_t matter_Attributes_050E[] = { - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1523,11 +1238,6 @@ const matter_attribute_t matter_Attributes_0B04[] = { { 0x050B, 0, 0x02, "ActivePower" }, { 0x050C, 0, 0x02, "ActivePowerMin" }, { 0x050D, 0, 0x02, "ActivePowerMax" }, - { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, - { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, - { 0xFFFB, 0, 0x02, "AttributeList" }, - { 0xFFFC, 0, 0x02, "FeatureMap" }, - { 0xFFFD, 0, 0x02, "ClusterRevision" }, { 0xFFFF, 0, 0x00, NULL }, }; @@ -1535,6 +1245,17 @@ const matter_command_t matter_Commands_0B04[] = { { 0xFFFF, NULL }, }; +// specifal cluster for attributes common to all clusters +const matter_attribute_t matter_Attributes_Common[] = { + { 0xFFF8, 0, 0x02, "GeneratedCommandList" }, + { 0xFFF9, 0, 0x02, "AcceptedCommandList" }, + { 0xFFFA, 0, 0x02, "EventList" }, + { 0xFFFB, 0, 0x02, "AttributeList" }, + { 0xFFFC, 0, 0x02, "FeatureMap" }, + { 0xFFFD, 0, 0x02, "ClusterRevision" }, + { 0xFFFF, 0, 0x00, NULL }, +}; + const matter_cluster_t matterAllClusters[] = { { 0x0003, "Identify", matter_Attributes_0003, matter_Commands_0003 }, { 0x0004, "Groups", matter_Attributes_0004, matter_Commands_0004 }, diff --git a/lib/libesp32/berry_matter/src/be_matter_module.c b/lib/libesp32/berry_matter/src/be_matter_module.c index ebaa2d616..693d090de 100644 --- a/lib/libesp32/berry_matter/src/be_matter_module.c +++ b/lib/libesp32/berry_matter/src/be_matter_module.c @@ -118,25 +118,35 @@ const char* matter_get_opcode_name(uint16_t opcode) { BE_FUNC_CTYPE_DECLARE(matter_get_opcode_name, "s", "i") const char* matter_get_attribute_name(uint16_t cluster, uint16_t attribute) { - for (const matter_cluster_t * cl = matterAllClusters; cl->id != 0xFFFF; cl++) { - if (cl->id == cluster) { - for (const matter_attribute_t * at = cl->attributes; at->id != 0xFFFF; at++) { - if (at->id == attribute) { - return at->name; + if (attribute < 0xFFF0) { + for (const matter_cluster_t * cl = matterAllClusters; cl->id != 0xFFFF; cl++) { + if (cl->id == cluster) { + for (const matter_attribute_t * at = cl->attributes; at->id != 0xFFFF; at++) { + if (at->id == attribute) { + return at->name; + } } } } + } else { + for (const matter_attribute_t * at = matter_Attributes_Common; at->id != 0xFFFF; at++) { + if (at->id == attribute) { + return at->name; + } + } } return NULL; } BE_FUNC_CTYPE_DECLARE(matter_get_attribute_name, "s", "ii") bbool matter_is_attribute_writable(uint16_t cluster, uint16_t attribute) { - for (const matter_cluster_t * cl = matterAllClusters; cl->id != 0xFFFF; cl++) { - if (cl->id == cluster) { - for (const matter_attribute_t * at = cl->attributes; at->id != 0xFFFF; at++) { - if (at->id == attribute) { - return (at->flags & 0x01) ? btrue : bfalse; + if (attribute < 0xFFF0) { + for (const matter_cluster_t * cl = matterAllClusters; cl->id != 0xFFFF; cl++) { + if (cl->id == cluster) { + for (const matter_attribute_t * at = cl->attributes; at->id != 0xFFFF; at++) { + if (at->id == attribute) { + return (at->flags & 0x01) ? btrue : bfalse; + } } } } @@ -146,14 +156,18 @@ bbool matter_is_attribute_writable(uint16_t cluster, uint16_t attribute) { BE_FUNC_CTYPE_DECLARE(matter_is_attribute_writable, "b", "ii") bbool matter_is_attribute_reportable(uint16_t cluster, uint16_t attribute) { - for (const matter_cluster_t * cl = matterAllClusters; cl->id != 0xFFFF; cl++) { - if (cl->id == cluster) { - for (const matter_attribute_t * at = cl->attributes; at->id != 0xFFFF; at++) { - if (at->id == attribute) { - return (at->flags & 0x02) ? btrue : bfalse; + if (attribute < 0xFFF0) { + for (const matter_cluster_t * cl = matterAllClusters; cl->id != 0xFFFF; cl++) { + if (cl->id == cluster) { + for (const matter_attribute_t * at = cl->attributes; at->id != 0xFFFF; at++) { + if (at->id == attribute) { + return (at->flags & 0x02) ? btrue : bfalse; + } } } } + } else { + return btrue; } return bfalse; } diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_0_Inspect.be b/lib/libesp32/berry_matter/src/embedded/Matter_0_Inspect.be index 5d6f31de0..acca8d64c 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_0_Inspect.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_0_Inspect.be @@ -83,7 +83,7 @@ matter.inspect = inspect # from the inheritance hierarchy #@ solidify:matter.consolidate_clusters,weak def consolidate_clusters(cl, m) - var cl_parent = super(cl).CLUSTERS + var cl_parent = super(cl) != nil ? super(cl).CLUSTERS : {} var ret = {} # clone cl_parent for k: cl_parent.keys() @@ -98,6 +98,22 @@ def consolidate_clusters(cl, m) if l == nil l = [] end ret[k] = l + m[k] end + # add all auto-attribbutes to each cluster + var AUTO_ATTRIBUTES = [ # pre-defined auto attributes for every cluster + 0xFFF8, # GeneratedCommandList - [] by default + 0xFFF9, # AcceptedCommandList - list of defined commands TODO for auto-generated + 0xFFFA, # EventList - [] by default + 0xFFFB, # AttributeList - list generated from cluster definition + 0xFFFC, # FeatureMap - 0 by default unless redefined + 0xFFFD, # ClusterRevision - 1 by default unless redefined + ] + for k: m.keys() + for at: AUTO_ATTRIBUTES + if ret[k].find(at) == nil + ret[k].push(at) + end + end + end # print(ret) return ret end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_0.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_0.be index 000d5cfb2..2a53cc501 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_0.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_0.be @@ -36,8 +36,61 @@ class Matter_Plugin static var VIRTUAL = false # set to true only for virtual devices var update_next # next timestamp for update # Configuration of the plugin: clusters and type - static var CLUSTERS = { - 0x001D: [0,1,2,3,0xFFFC,0xFFFD], # Descriptor Cluster 9.5 p.453 + static var CLUSTERS = matter.consolidate_clusters(_class, { + 0x001D: [0,1,2,3], # Descriptor Cluster 9.5 p.453 + }) + static var COMMANDS = { + 0x001D: nil, # Descriptor Cluster 9.5 p.453 + } + # static var TYPES = { : } # needs to be defined for each endpoint + # `FEATURE_MAPS` contains any non-zero value per cluster, if not present default to `0` + static var FEATURE_MAPS = { # feature map per cluster + 0x0031: 0x04, # Put Eth for now which should work for any on-network + 0x0102: 1 + 4, # Lift + PA_LF + } + # `CLUSTER_REVISIONS` contains revision numbers for each cluster, or `1` if not present + static var CLUSTER_REVISIONS = { + 0x0003: 4, # New data model format and notation + 0x0004: 4, # New data model format and notation + 0x0005: 5, # "new data model format and notation" + 0x0006: 5, # Addition of Dead Front behavior and associated FeatureMap entry + 0x0008: 5, # "new data model format and notation" + 0x001D: 2, # Semantic tag list; TagList feature + # 0x001F: 1, # Initial Release + 0x0028: 2, # Added ProductAppearance attribute + # 0x002A: 1, # Initial Release + # 0x002B: 1, # Initial Release + # 0x002C: 1, # Initial Release + # 0x0030: 1, # Initial Release + # 0x0031: 1, # Initial Release + # 0x0032: 1, # Initial Release + # 0x0033: 1, # Initial Release + # 0x0034: 1, # Initial Release + 0x0038: 2, # + # 0x003C: 1, # Initial Release + # 0x003E: 1, # Initial Release + 0x003F: 2, # Clarify KeySetWrite validation and behavior on invalid epoch key lengths + # 0x0040: 1, # Initial Release + # 0x0041: 1, # Initial Release + # 0x0042: 1, # Initial Release + # 0x005B: 1, # Initial Release + # 0x005C: 1, # Initial Release + 0x0101: 7, # Added support for European door locks (unbolt feature) + 0x0102: 5, # New data model format and notation + 0x0200: 4, # Added feature map + 0x0201: 6, # Introduced the LTNE feature and adapted text (spec issue #5778) + 0x0202: 4, # Change conformance for FanModeSe­ quenceEnum + 0x0204: 2, # New data model format and notation, added "Conversion of Temperature Values for Display" section + 0x0300: 6, # Added clarifications to Scenes support for Matter + 0x0301: 4, # New data model format and notation + 0x0400: 3, # New data model format and notation + 0x0402: 4, # New data model format and notation + 0x0403: 3, # New data model format and notation + 0x0404: 3, # New data model format and notation + 0x0405: 3, # New data model format and notation + 0x0406: 3, # New data model format and notation + 0x0407: 3, # New data model format and notation + 0x0408: 3, # New data model format and notation } # Accepted Update commands for virtual devices static var UPDATE_COMMANDS = [] @@ -265,9 +318,35 @@ class Matter_Plugin return tlv_solo.set(TLV.U4, 1) # "Initial Release" end - else - return nil end + + # Handle attributes 0xFFF8 - 0xFFFD for all clusters + if attribute == 0xFFF8 # GeneratedCommandList + var gcl = TLV.Matter_TLV_array() + return gcl # return empty list + elif attribute == 0xFFF9 # AcceptedCommandList + var acli = TLV.Matter_TLV_array() + var attr_list = self.get_attribute_list(cluster) + var idx = 0 + while idx < size(attr_list) + acli.add_TLV(nil, TLV.U2, attr_list[idx]) + idx += 1 + end + return acli # TODO, empty list for now + elif attribute == 0xFFFA # EventList + var el = TLV.Matter_TLV_array() + return el # return empty list + elif attribute == 0xFFFB # AttributeList + var al = TLV.Matter_TLV_array() + return al # TODO + elif attribute == 0xFFFC # FeatureMap + var featuremap = self.FEATURE_MAPS.find(cluster, 0) + return tlv_solo.set(TLV.U4, featuremap) + elif attribute == 0xFFFD # ClusterRevision + var clusterrevision = self.CLUSTER_REVISIONS.find(cluster, 1) + return tlv_solo.set(TLV.U4, clusterrevision) + end + end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Aggregator.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Aggregator.be index 7c0fbc6f4..6e8771736 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Aggregator.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Aggregator.be @@ -28,7 +28,7 @@ class Matter_Plugin_Aggregator : Matter_Plugin static var DISPLAY_NAME = "Aggregator" # display name of the plug-in static var CLUSTERS = matter.consolidate_clusters(_class, { # 0x001D: inherited # Descriptor Cluster 9.5 p.453 - 0x0003: [0,1,0xFFFC,0xFFFD], # Identify 1.2 p.16 + 0x0003: [0,1,], # Identify 1.2 p.16 }) static var TYPES = { 0x000E: 1 } # Aggregator @@ -46,10 +46,6 @@ class Matter_Plugin_Aggregator : Matter_Plugin return tlv_solo.set(TLV.U2, 0) # no identification in progress elif attribute == 0x0001 # ---------- IdentifyType / enum8 ---------- return tlv_solo.set(TLV.U1, 0) # IdentifyType = 0x00 None - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # no features - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4) # "new data model format and notation" end elif cluster == 0x001D # ========== Descriptor Cluster 9.5 p.453 ========== @@ -68,15 +64,10 @@ class Matter_Plugin_Aggregator : Matter_Plugin end end return pl - else - return super(self).read_attribute(session, ctx, tlv_solo) end - else - return super(self).read_attribute(session, ctx, tlv_solo) - end - # no match found, return that the attribute is unsupported + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Device.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Device.be index 4357a3844..619646386 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Device.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Device.be @@ -25,9 +25,9 @@ class Matter_Plugin_Device : Matter_Plugin static var CLUSTERS = matter.consolidate_clusters(_class, { # 0x001D: inherited # Descriptor Cluster 9.5 p.453 0x0039: [3,5,0x0A,0x0F,0x11,0x12], # Bridged Device Basic Information 9.13 p.485 - 0x0003: [0,1,0xFFFC,0xFFFD], # Identify 1.2 p.16 - 0x0004: [0,0xFFFC,0xFFFD], # Groups 1.3 p.21 - 0x0005: [0,1,2,3,4,5,0xFFFC,0xFFFD], # Scenes 1.4 p.30 - no writable + 0x0003: [0,1], # Identify 1.2 p.16 + 0x0004: [0], # Groups 1.3 p.21 + 0x0005: [0,1,2,3,4,5], # Scenes 1.4 p.30 - no writable }) static var TYPES = { 0x0013: 1 } # fake type static var NON_BRIDGE_VENDOR = [ 0x1217, 0x1381 ] # Fabric VendorID not supporting Bridge mode @@ -52,29 +52,16 @@ class Matter_Plugin_Device : Matter_Plugin return tlv_solo.set(TLV.U2, 0) # no identification in progress elif attribute == 0x0001 # ---------- IdentifyType / enum8 ---------- return tlv_solo.set(TLV.U1, 0) # IdentifyType = 0x00 None - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # no features - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4) # "new data model format and notation" end # ==================================================================================================== elif cluster == 0x0004 # ========== Groups 1.3 p.21 ========== if attribute == 0x0000 # ---------- ---------- return nil # TODO - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0)# - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4)# "new data model format and notation" end # ==================================================================================================== elif cluster == 0x0005 # ========== Scenes 1.4 p.30 - no writable ========== - if attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Level Control for Lighting - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4) # 0 = no Level Control for Lighting - end # ==================================================================================================== elif cluster == 0x001D # ========== Descriptor Cluster 9.5 p.453 ========== @@ -96,8 +83,6 @@ class Matter_Plugin_Device : Matter_Plugin d1.add_TLV(1, TLV.U2, 1) # Revision end return dtl - else - return super(self).read_attribute(session, ctx, tlv_solo) end # ==================================================================================================== @@ -121,9 +106,8 @@ class Matter_Plugin_Device : Matter_Plugin return tlv_solo.set(TLV.UTF1, tasmota.wifi().find("mac", "")) end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be index 8fc3e2b60..87af9396b 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_1_Root.be @@ -34,7 +34,7 @@ class Matter_Plugin_Root : Matter_Plugin 0x002B: [0,1], # Localization Configuration Cluster 11.3 p.580 0x002C: [0,1,2], # Time Format Localization Cluster 11.4 p.581 0x0030: [0,1,2,3,4], # GeneralCommissioning cluster 11.9 p.627 - 0x0031: [3,4,0xFFFC], # Network Commissioning Cluster cluster 11.8 p.606 + 0x0031: [3,4], # Network Commissioning Cluster cluster 11.8 p.606 0x0032: [], # Diagnostic Logs Cluster 11.10 p.637 0x0033: [0,1,2,8], # General Diagnostics Cluster 11.11 p.642 0x0034: [], # Software Diagnostics Cluster 11.12 p.654 @@ -301,8 +301,6 @@ class Matter_Plugin_Root : Matter_Plugin elif cluster == 0x0031 # ========== Network Commissioning Cluster cluster 11.8 p.606 ========== if attribute == 0x0003 # ---------- ConnectMaxTimeSeconds / uint8 ---------- return tlv_solo.set(TLV.U1, 30) # 30 - value taking from example in esp-matter - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0x04) # Put Eth for now which should work for any on-network end elif cluster == 0x001D # ========== Descriptor Cluster 9.5 p.453 ========== @@ -325,15 +323,10 @@ class Matter_Plugin_Root : Matter_Plugin end end return pl - else - return super(self).read_attribute(session, ctx, tlv_solo) end - else - return super(self).read_attribute(session, ctx, tlv_solo) - end - # no match found, return that the attribute is unsupported + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Bridge_HTTP.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Bridge_HTTP.be index 46087cd4e..75b2316df 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Bridge_HTTP.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Bridge_HTTP.be @@ -38,7 +38,7 @@ class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device # # 0x0003: inherited # Identify 1.2 p.16 # # 0x0004: inherited # Groups 1.3 p.21 # # 0x0005: inherited # Scenes 1.4 p.30 - no writable - # # 0x0006: [0,0xFFFC,0xFFFD], # On/Off 1.5 p.48 + # # 0x0006: [0], # On/Off 1.5 p.48 # # 0x0028: [0,1,2,3,4,5,6,7,8,9,0x0A,0x0F,0x12,0x13],# Basic Information Cluster cluster 11.1 p.565 # # 0x0039: [0x11] # Bridged Device Basic Information 9.13 p.485 @@ -207,13 +207,10 @@ class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device elif attribute == 0x0011 # ---------- Reachable / bool ---------- # self.is_reachable_lazy_sync() # Not needed anymore return tlv_solo.set(TLV.BOOL, self.http_remote.reachable) # TODO find a way to do a ping - else - return super(self).read_attribute(session, ctx, tlv_solo) end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Light1.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Light1.be index 4ba09f081..ab6de67fe 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Light1.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Light1.be @@ -32,8 +32,8 @@ class Matter_Plugin_Light1 : Matter_Plugin_Device # 0x0003: inherited # Identify 1.2 p.16 # 0x0004: inherited # Groups 1.3 p.21 # 0x0005: inherited # Scenes 1.4 p.30 - no writable - 0x0006: [0,0xFFFC,0xFFFD], # On/Off 1.5 p.48 - 0x0008: [0,2,3,0x0F,0x11,0xFFFC,0xFFFD], # Level Control 1.6 p.57 + 0x0006: [0], # On/Off 1.5 p.48 + 0x0008: [0,2,3,0x0F,0x11], # Level Control 1.6 p.57 }) static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Power", "Bri") static var TYPES = { 0x0101: 2 } # Dimmable Light @@ -137,10 +137,6 @@ class Matter_Plugin_Light1 : Matter_Plugin_Device self.update_shadow_lazy() if attribute == 0x0000 # ---------- OnOff / bool ---------- return tlv_solo.set(TLV.BOOL, self.shadow_onoff) - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Level Control for Lighting - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4) # 0 = no Level Control for Lighting end # ==================================================================================================== @@ -156,15 +152,10 @@ class Matter_Plugin_Light1 : Matter_Plugin_Device return tlv_solo.set(TLV.U1, 0) # elif attribute == 0x0011 # ---------- OnLevel / u1 ---------- return tlv_solo.set(TLV.U1, self.shadow_bri) - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0X01) # OnOff - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 5) # "new data model format and notation" end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_OnOff.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_OnOff.be index a2966c7c6..89f3a5430 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_OnOff.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_OnOff.be @@ -35,7 +35,7 @@ class Matter_Plugin_OnOff : Matter_Plugin_Device # 0x0003: inherited # Identify 1.2 p.16 # 0x0004: inherited # Groups 1.3 p.21 # 0x0005: inherited # Scenes 1.4 p.30 - no writable - 0x0006: [0,0xFFFC,0xFFFD], # On/Off 1.5 p.48 + 0x0006: [0], # On/Off 1.5 p.48 }) static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Power") static var TYPES = { 0x010A: 2 } # On/Off Plug-in Unit @@ -109,15 +109,10 @@ class Matter_Plugin_OnOff : Matter_Plugin_Device self.update_shadow_lazy() if attribute == 0x0000 # ---------- OnOff / bool ---------- return tlv_solo.set(TLV.BOOL, self.shadow_onoff) - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Level Control for Lighting - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4) # 0 = no Level Control for Lighting end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Contact.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Contact.be index fbd061b1f..b7d683039 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Contact.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Contact.be @@ -32,7 +32,7 @@ class Matter_Plugin_Sensor_Contact : Matter_Plugin_Device static var UPDATE_TIME = 750 # update every 750ms static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Contact") static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0045: [0,0xFFFC,0xFFFD], # Boolean State p.70 - no writable + 0x0045: [0], # Boolean State p.70 - no writable }) static var TYPES = { 0x0015: 1 } # Contact Sensor, rev 1 @@ -92,15 +92,10 @@ class Matter_Plugin_Sensor_Contact : Matter_Plugin_Device else return tlv_solo.set(TLV.NULL, nil) end - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 1) # 1 = Initial release end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Occupancy.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Occupancy.be index 958386d59..2d9f09323 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Occupancy.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_Occupancy.be @@ -32,7 +32,7 @@ class Matter_Plugin_Sensor_Occupancy : Matter_Plugin_Device static var UPDATE_TIME = 750 # update every 750ms static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Occupancy") static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0406: [0,1,2,0xFFFC,0xFFFD], # Occupancy Sensing p.105 - no writable + 0x0406: [0,1,2], # Occupancy Sensing p.105 - no writable }) static var TYPES = { 0x0107: 2 } # Occupancy Sensor, rev 2 @@ -96,15 +96,10 @@ class Matter_Plugin_Sensor_Occupancy : Matter_Plugin_Device return tlv_solo.set(TLV.U1, 3) # physical contact elif attribute == 0x0002 # ---------- OccupancySensorTypeBitmap / u8 ---------- return tlv_solo.set(TLV.U1, 0) # unknown - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 4 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_OnOff.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_OnOff.be index ce535f91c..a2d2af9e6 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_OnOff.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Sensor_OnOff.be @@ -29,7 +29,7 @@ class Matter_Plugin_Sensor_OnOff : Matter_Plugin_Device static var ARG_TYPE = / x -> int(x) # function to convert argument to the right type static var UPDATE_TIME = 750 # update every 750ms static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0006: [0,0xFFFC,0xFFFD], # On/Off 1.5 p.48 + 0x0006: [0], # On/Off 1.5 p.48 }) static var TYPES = { 0x0850: 2 } # OnOff Sensor, rev 2 @@ -79,15 +79,10 @@ class Matter_Plugin_Sensor_OnOff : Matter_Plugin_Device self.update_shadow_lazy() if attribute == 0x0000 # ---------- OnOff / bool ---------- return tlv_solo.set(TLV.BOOL, self.shadow_onoff) - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Level Control for Lighting - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4) # 0 = no Level Control for Lighting end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Shutter.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Shutter.be index 424f74be8..704b2a7b9 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Shutter.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_2_Shutter.be @@ -34,7 +34,7 @@ class Matter_Plugin_Shutter : Matter_Plugin_Device # 0x0003: inherited # Identify 1.2 p.16 # 0x0004: inherited # Groups 1.3 p.21 # 0x0005: inherited # Scenes 1.4 p.30 - no writable - 0x0102: [0,5,7,0xA,0xB,0xD,0xE,0x17,0xFFFC,0xFFFD], # Window Covering 5.3 p.289 + 0x0102: [0,5,7,0xA,0xB,0xD,0xE,0x17], # Window Covering 5.3 p.289 }) static var TYPES = { 0x0202: 2 } # New data model format and notation @@ -129,16 +129,10 @@ class Matter_Plugin_Shutter : Matter_Plugin_Device elif attribute == 0x0017 # ---------- Mode / u8 ---------- return tlv_solo.set(TLV.U1, 0) # normal mode - - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 1 + 4) # Lift + PA_LF - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 5) # New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Light0.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Light0.be index fe0bc8a81..87c0e22f9 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Light0.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Light0.be @@ -36,7 +36,7 @@ class Matter_Plugin_Bridge_Light0 : Matter_Plugin_Bridge_HTTP # 0x0003: inherited # Identify 1.2 p.16 # 0x0004: inherited # Groups 1.3 p.21 # 0x0005: inherited # Scenes 1.4 p.30 - no writable - 0x0006: [0,0xFFFC,0xFFFD], # On/Off 1.5 p.48 + 0x0006: [0], # On/Off 1.5 p.48 }) static var TYPES = { 0x0100: 2 } # OnOff Light, but not actually used because Relay is managed by OnOff @@ -97,15 +97,10 @@ class Matter_Plugin_Bridge_Light0 : Matter_Plugin_Bridge_HTTP self.update_shadow_lazy() if attribute == 0x0000 # ---------- OnOff / bool ---------- return tlv_solo.set(TLV.BOOL, self.shadow_onoff) - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Level Control for Lighting - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4) # 0 = no Level Control for Lighting end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Contact.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Contact.be index d4f738e26..fe8373987 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Contact.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Contact.be @@ -33,7 +33,7 @@ class Matter_Plugin_Bridge_Sensor_Contact : Matter_Plugin_Bridge_HTTP static var UPDATE_CMD = "Status 8" # command to send for updates static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0045: [0,0xFFFC,0xFFFD], # Boolean State p.70 - no writable + 0x0045: [0], # Boolean State p.70 - no writable }) static var TYPES = { 0x0015: 1 } # Contact Sensor, rev 1 @@ -81,15 +81,10 @@ class Matter_Plugin_Bridge_Sensor_Contact : Matter_Plugin_Bridge_HTTP else return tlv_solo.set(TLV.NULL, nil) end - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 1) # 1 = Initial release end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Occupancy.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Occupancy.be index 8279a6088..1ed2c5c59 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Occupancy.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Bridge_Sensor_Occupancy.be @@ -33,7 +33,7 @@ class Matter_Plugin_Bridge_Sensor_Occupancy : Matter_Plugin_Bridge_HTTP static var UPDATE_CMD = "Status 8" # command to send for updates static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0406: [0,1,2,0xFFFC,0xFFFD], # Occupancy Sensing p.105 - no writable + 0x0406: [0,1,2], # Occupancy Sensing p.105 - no writable }) static var TYPES = { 0x0107: 2 } # Occupancy Sensor, rev 2 @@ -85,15 +85,10 @@ class Matter_Plugin_Bridge_Sensor_Occupancy : Matter_Plugin_Bridge_HTTP return tlv_solo.set(TLV.U1, 3) # physical contact elif attribute == 0x0002 # ---------- OccupancySensorTypeBitmap / u8 ---------- return tlv_solo.set(TLV.U1, 0) # unknown - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 4 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light2.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light2.be index 9bc4584d9..265514e29 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light2.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light2.be @@ -33,7 +33,7 @@ class Matter_Plugin_Light2 : Matter_Plugin_Light1 # 0x0005: inherited # Scenes 1.4 p.30 - no writable # 0x0006: inherited # On/Off 1.5 p.48 # 0x0008: inherited # Level Control 1.6 p.57 - 0x0300: [7,8,0xF,0x400B,0x400C,0xFFFC,0xFFFD], # Color Control 3.2 p.111 + 0x0300: [7,8,0xF,0x400B,0x400C], # Color Control 3.2 p.111 }) static var UPDATE_COMMANDS = matter.UC_LIST(_class, "CT") static var TYPES = { 0x010C: 2 } # Color Temperature Light @@ -132,13 +132,10 @@ class Matter_Plugin_Light2 : Matter_Plugin_Light1 elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- return tlv_solo.set(TLV.U4, 0x10) # CT - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 5) # "new data model format and notation, FeatureMap support" end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light3.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light3.be index 8f7dd46fd..a0b77dd21 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light3.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Light3.be @@ -33,7 +33,7 @@ class Matter_Plugin_Light3 : Matter_Plugin_Light1 # 0x0005: inherited # Scenes 1.4 p.30 - no writable # 0x0006: inherited # On/Off 1.5 p.48 # 0x0008: inherited # Level Control 1.6 p.57 - 0x0300: [0,1,7,8,0xF,0x4001,0x400A,0xFFFC,0xFFFD],# Color Control 3.2 p.111 + 0x0300: [0,1,7,8,0xF,0x4001,0x400A], # Color Control 3.2 p.111 }) static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Hue", "Sat") static var TYPES = { 0x010D: 2 } # Extended Color Light @@ -147,13 +147,10 @@ class Matter_Plugin_Light3 : Matter_Plugin_Light1 elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- return tlv_solo.set(TLV.U4, 0x01) # HS - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 5) # "new data model format and notation, FeatureMap support" end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Flow.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Flow.be index f7a12469d..9e418d453 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Flow.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Flow.be @@ -29,7 +29,7 @@ class Matter_Plugin_Sensor_Flow : Matter_Plugin_Sensor static var JSON_NAME = "Flow" # Name of the sensor attribute in JSON payloads static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Flow") static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0404: [0,1,2,0xFFFC,0xFFFD], # Flow Measurement + 0x0404: [0,1,2], # Flow Measurement }) static var TYPES = { 0x0306: 1 } # Flow Sensor, rev 1 @@ -71,15 +71,10 @@ class Matter_Plugin_Sensor_Flow : Matter_Plugin_Sensor return tlv_solo.set(TLV.U2, 0) # 0 m3/h elif attribute == 0x0002 # ---------- MaxMeasuredValue / i16 ---------- return tlv_solo.set(TLV.U2, 65534) # 65534 m3/h - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Extended Range - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 3 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Humidity.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Humidity.be index e3ff44184..94c7d4a90 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Humidity.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Humidity.be @@ -29,7 +29,7 @@ class Matter_Plugin_Sensor_Humidity : Matter_Plugin_Sensor static var JSON_NAME = "Humidity" # Name of the sensor attribute in JSON payloads static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Humidity") static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0405: [0,1,2,0xFFFC,0xFFFD], # Humidity Measurement p.102 - no writable + 0x0405: [0,1,2], # Humidity Measurement p.102 - no writable }) static var TYPES = { 0x0307: 2 } # Humidity Sensor, rev 2 @@ -71,15 +71,10 @@ class Matter_Plugin_Sensor_Humidity : Matter_Plugin_Sensor return tlv_solo.set(TLV.U2, 500) # 0% elif attribute == 0x0002 # ---------- MaxMeasuredValue / u16 ---------- return tlv_solo.set(TLV.U2, 10000) # 100% - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Extended Range - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 3 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Illuminance.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Illuminance.be index e49de236d..ac6144b30 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Illuminance.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Illuminance.be @@ -29,7 +29,7 @@ class Matter_Plugin_Sensor_Illuminance : Matter_Plugin_Sensor static var JSON_NAME = "Illuminance" # Name of the sensor attribute in JSON payloads static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Illuminance") static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0400: [0,1,2,0xFFFC,0xFFFD], # Illuminance Measurement p.95 - no writable + 0x0400: [0,1,2], # Illuminance Measurement p.95 - no writable }) static var TYPES = { 0x0106: 2 } # Illuminance Sensor, rev 2 @@ -78,15 +78,10 @@ class Matter_Plugin_Sensor_Illuminance : Matter_Plugin_Sensor return tlv_solo.set(TLV.U2, 1) # 1 lux elif attribute == 0x0002 # ---------- MaxMeasuredValue / i16 ---------- return tlv_solo.set(TLV.U2, 0xFFFE) - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 3 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Pressure.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Pressure.be index 54a0b7627..b41f21a97 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Pressure.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Pressure.be @@ -29,7 +29,7 @@ class Matter_Plugin_Sensor_Pressure : Matter_Plugin_Sensor static var JSON_NAME = "Pressure" # Name of the sensor attribute in JSON payloads static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Pressure") static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0403: [0,1,2,0xFFFC,0xFFFD], # Pressure Measurement + 0x0403: [0,1,2], # Pressure Measurement }) static var TYPES = { 0x0305: 2 } # Pressure Sensor, rev 2 @@ -71,15 +71,10 @@ class Matter_Plugin_Sensor_Pressure : Matter_Plugin_Sensor return tlv_solo.set(TLV.I2, 500) # 500 hPA elif attribute == 0x0002 # ---------- MaxMeasuredValue / i16 ---------- return tlv_solo.set(TLV.I2, 1500) # 1500 hPA - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Extended Range - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 3 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Temp.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Temp.be index 2b6ac22f7..a6a540595 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Temp.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_Sensor_Temp.be @@ -29,7 +29,7 @@ class Matter_Plugin_Sensor_Temp : Matter_Plugin_Sensor static var JSON_NAME = "Temperature" # Name of the sensor attribute in JSON payloads static var UPDATE_COMMANDS = matter.UC_LIST(_class, "Temperature") static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0402: [0,1,2,0xFFFC,0xFFFD], # Temperature Measurement p.97 - no writable + 0x0402: [0,1,2], # Temperature Measurement p.97 - no writable }) static var TYPES = { 0x0302: 2 } # Temperature Sensor, rev 2 @@ -74,15 +74,10 @@ class Matter_Plugin_Sensor_Temp : Matter_Plugin_Sensor return tlv_solo.set(TLV.I2, -5000) # -50 °C elif attribute == 0x0002 # ---------- MaxMeasuredValue / i16 (*100) ---------- return tlv_solo.set(TLV.I2, 15000) # 150 °C - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4) # 4 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_ShutterTilt.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_ShutterTilt.be index f73548f69..f2dc0f44e 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_ShutterTilt.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_3_ShutterTilt.be @@ -33,7 +33,7 @@ class Matter_Plugin_ShutterTilt : Matter_Plugin_Shutter # 0x0003: inherited # Identify 1.2 p.16 # 0x0004: inherited # Groups 1.3 p.21 # 0x0005: inherited # Scenes 1.4 p.30 - no writable - 0x0102: [7,0xC,0xF,0xFFFC], # Window Covering 5.3 p.289 + 0x0102: [7,0xC,0xF], # Window Covering 5.3 p.289 }) # inherited static var TYPES = { 0x0202: 2 } # New data model format and notation @@ -125,7 +125,6 @@ class Matter_Plugin_ShutterTilt : Matter_Plugin_Shutter return tlv_solo.set(TLV.U4, 3 + 4 + 16) # Lift + Tilt + PA_LF + PA_TL end end - # else return super(self).read_attribute(session, ctx, tlv_solo) end diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Light1.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Light1.be index b20d27ff4..e2ada8078 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Light1.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Light1.be @@ -34,7 +34,7 @@ class Matter_Plugin_Bridge_Light1 : Matter_Plugin_Bridge_Light0 # 0x0004: inherited # Groups 1.3 p.21 # 0x0005: inherited # Scenes 1.4 p.30 - no writable # 0x0006: inherited # On/Off 1.5 p.48 - 0x0008: [0,2,3,0x0F,0x11,0xFFFC,0xFFFD], # Level Control 1.6 p.57 + 0x0008: [0,2,3,0x0F,0x11], # Level Control 1.6 p.57 }) static var TYPES = { 0x0101: 2 } # Dimmable Light @@ -101,15 +101,10 @@ class Matter_Plugin_Bridge_Light1 : Matter_Plugin_Bridge_Light0 else return tlv_solo.set(TLV.NULL, nil) end - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0X01) # OnOff - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 5) # "new data model format and notation" end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Flow.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Flow.be index ddd0bd1e2..24f765768 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Flow.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Flow.be @@ -28,7 +28,7 @@ class Matter_Plugin_Bridge_Sensor_Flow : Matter_Plugin_Bridge_Sensor static var DISPLAY_NAME = "Flow" # display name of the plug-in static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0404: [0,1,2,0xFFFC,0xFFFD], # Flow Measurement + 0x0404: [0,1,2], # Flow Measurement }) static var TYPES = { 0x0306: 1 } # Flow Sensor, rev 1 @@ -70,15 +70,10 @@ class Matter_Plugin_Bridge_Sensor_Flow : Matter_Plugin_Bridge_Sensor return tlv_solo.set(TLV.U2, 0) # 0 m3/h elif attribute == 0x0002 # ---------- MaxMeasuredValue / i16 ---------- return tlv_solo.set(TLV.U2, 65534) # 65534 m3/h - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Extended Range - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 3 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Humidity.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Humidity.be index 7e8b62342..05e25437a 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Humidity.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Humidity.be @@ -28,7 +28,7 @@ class Matter_Plugin_Bridge_Sensor_Humidity : Matter_Plugin_Bridge_Sensor static var DISPLAY_NAME = "Humidity" # display name of the plug-in static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0405: [0,1,2,0xFFFC,0xFFFD], # Humidity Measurement p.102 - no writable + 0x0405: [0,1,2], # Humidity Measurement p.102 - no writable }) static var TYPES = { 0x0307: 2 } # Humidity Sensor, rev 2 @@ -70,15 +70,10 @@ class Matter_Plugin_Bridge_Sensor_Humidity : Matter_Plugin_Bridge_Sensor return tlv_solo.set(TLV.U2, 500) # 0% elif attribute == 0x0002 # ---------- MaxMeasuredValue / u16 ---------- return tlv_solo.set(TLV.U2, 10000) # 100% - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Extended Range - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 3 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Illuminance.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Illuminance.be index 48e0bf8de..88e0e32ee 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Illuminance.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Illuminance.be @@ -28,7 +28,7 @@ class Matter_Plugin_Bridge_Sensor_Illuminance : Matter_Plugin_Bridge_Sensor static var DISPLAY_NAME = "Illuminance" # display name of the plug-in static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0400: [0,1,2,0xFFFC,0xFFFD], # Illuminance Measurement p.95 - no writable + 0x0400: [0,1,2], # Illuminance Measurement p.95 - no writable }) static var TYPES = { 0x0106: 2 } # Illuminance Sensor, rev 2 @@ -77,15 +77,10 @@ class Matter_Plugin_Bridge_Sensor_Illuminance : Matter_Plugin_Bridge_Sensor return tlv_solo.set(TLV.U2, 1) # 1 lux elif attribute == 0x0002 # ---------- MaxMeasuredValue / i16 ---------- return tlv_solo.set(TLV.U2, 0xFFFE) - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 3 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Pressure.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Pressure.be index 86dec0081..53b78393a 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Pressure.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Pressure.be @@ -28,7 +28,7 @@ class Matter_Plugin_Bridge_Sensor_Pressure : Matter_Plugin_Bridge_Sensor static var DISPLAY_NAME = "Pressure" # display name of the plug-in static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0403: [0,1,2,0xFFFC,0xFFFD], # Pressure Measurement + 0x0403: [0,1,2], # Pressure Measurement }) static var TYPES = { 0x0305: 2 } # Temperature Sensor, rev 2 @@ -70,15 +70,10 @@ class Matter_Plugin_Bridge_Sensor_Pressure : Matter_Plugin_Bridge_Sensor return tlv_solo.set(TLV.I2, 500) # 500 hPA elif attribute == 0x0002 # ---------- MaxMeasuredValue / i16 ---------- return tlv_solo.set(TLV.I2, 1500) # 1500 hPA - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) # 0 = no Extended Range - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 3) # 3 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Temp.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Temp.be index 771c6eb7d..8ee8f73d1 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Temp.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_4_Bridge_Sensor_Temp.be @@ -28,7 +28,7 @@ class Matter_Plugin_Bridge_Sensor_Temp : Matter_Plugin_Bridge_Sensor static var DISPLAY_NAME = "Temperature" # display name of the plug-in static var CLUSTERS = matter.consolidate_clusters(_class, { - 0x0402: [0,1,2,0xFFFC,0xFFFD], # Temperature Measurement p.97 - no writable + 0x0402: [0,1,2], # Temperature Measurement p.97 - no writable }) static var TYPES = { 0x0302: 2 } # Temperature Sensor, rev 2 @@ -73,15 +73,10 @@ class Matter_Plugin_Bridge_Sensor_Temp : Matter_Plugin_Bridge_Sensor return tlv_solo.set(TLV.I2, -5000) # -50 °C elif attribute == 0x0002 # ---------- MaxMeasuredValue / i16 (*100) ---------- return tlv_solo.set(TLV.I2, 15000) # 150 °C - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0) - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 4) # 4 = New data model format and notation end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light2.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light2.be index 56d1d9de6..0c8595885 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light2.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light2.be @@ -35,7 +35,7 @@ class Matter_Plugin_Bridge_Light2 : Matter_Plugin_Bridge_Light1 # 0x0005: inherited # Scenes 1.4 p.30 - no writable # 0x0006: inherited # On/Off 1.5 p.48 # 0x0008: inherited # Level Control 1.6 p.57 - 0x0300: [7,8,0xF,0x400A,0x400B,0x400C,0xFFFC,0xFFFD], # Color Control 3.2 p.111 + 0x0300: [7,8,0xF,0x400A,0x400B,0x400C], # Color Control 3.2 p.111 }) static var TYPES = { 0x010C: 2 } # Dimmable Light @@ -117,15 +117,10 @@ class Matter_Plugin_Bridge_Light2 : Matter_Plugin_Bridge_Light1 elif attribute == 0x400A # ---------- ColorCapabilities / map32 ---------- return tlv_solo.set(TLV.U4, 0x10) # CT - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0x10) # CT - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 5) # "new data model format and notation, FeatureMap support" end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light3.be b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light3.be index abb4e9672..5b4f0ab30 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light3.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_Plugin_5_Bridge_Light3.be @@ -35,7 +35,7 @@ class Matter_Plugin_Bridge_Light3 : Matter_Plugin_Bridge_Light1 # 0x0005: inherited # Scenes 1.4 p.30 - no writable # 0x0006: inherited # On/Off 1.5 p.48 # 0x0008: inherited # Level Control 1.6 p.57 - 0x0300: [0,1,7,8,0xF,0x4001,0x400A,0xFFFC,0xFFFD],# Color Control 3.2 p.111 + 0x0300: [0,1,7,8,0xF,0x4001,0x400A], # Color Control 3.2 p.111 }) static var TYPES = { 0x010D: 2 } # Extended Color Light @@ -126,16 +126,10 @@ class Matter_Plugin_Bridge_Light3 : Matter_Plugin_Bridge_Light1 # Defined Primaries Information Attribute Set elif attribute == 0x0010 # ---------- NumberOfPrimaries / u1 ---------- return tlv_solo.set(TLV.U1, 0) - - elif attribute == 0xFFFC # ---------- FeatureMap / map32 ---------- - return tlv_solo.set(TLV.U4, 0x01) # HS - elif attribute == 0xFFFD # ---------- ClusterRevision / u2 ---------- - return tlv_solo.set(TLV.U4, 5) # "new data model format and notation, FeatureMap support" end - else - return super(self).read_attribute(session, ctx, tlv_solo) end + return super(self).read_attribute(session, ctx, tlv_solo) end ############################################################# diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_0_Inspect.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_0_Inspect.h index 079f5e775..58bf18064 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_0_Inspect.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_0_Inspect.h @@ -233,7 +233,7 @@ be_local_closure(matter_inspect, /* name */ ********************************************************************/ be_local_closure(matter_consolidate_clusters, /* name */ be_nested_proto( - 9, /* nstack */ + 12, /* nstack */ 2, /* argc */ 0, /* varg */ 0, /* has upvals */ @@ -241,61 +241,117 @@ be_local_closure(matter_consolidate_clusters, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ + ( &(const bvalue[ 6]) { /* constants */ /* K0 */ be_nested_str_weak(CLUSTERS), /* K1 */ be_nested_str_weak(keys), /* K2 */ be_nested_str_weak(copy), /* K3 */ be_nested_str_weak(stop_iteration), /* K4 */ be_nested_str_weak(find), + /* K5 */ be_nested_str_weak(push), }), be_str_weak(consolidate_clusters), &be_const_str_solidified, - ( &(const binstruction[45]) { /* code */ + ( &(const binstruction[100]) { /* code */ 0x60080003, // 0000 GETGBL R2 G3 0x5C0C0000, // 0001 MOVE R3 R0 0x7C080200, // 0002 CALL R2 1 - 0x88080500, // 0003 GETMBR R2 R2 K0 - 0x600C0013, // 0004 GETGBL R3 G19 - 0x7C0C0000, // 0005 CALL R3 0 - 0x60100010, // 0006 GETGBL R4 G16 - 0x8C140501, // 0007 GETMET R5 R2 K1 - 0x7C140200, // 0008 CALL R5 1 - 0x7C100200, // 0009 CALL R4 1 - 0xA8020006, // 000A EXBLK 0 #0012 - 0x5C140800, // 000B MOVE R5 R4 - 0x7C140000, // 000C CALL R5 0 - 0x94180405, // 000D GETIDX R6 R2 R5 - 0x8C180D02, // 000E GETMET R6 R6 K2 - 0x7C180200, // 000F CALL R6 1 - 0x980C0A06, // 0010 SETIDX R3 R5 R6 - 0x7001FFF8, // 0011 JMP #000B - 0x58100003, // 0012 LDCONST R4 K3 - 0xAC100200, // 0013 CATCH R4 1 0 - 0xB0080000, // 0014 RAISE 2 R0 R0 - 0x60100010, // 0015 GETGBL R4 G16 - 0x8C140301, // 0016 GETMET R5 R1 K1 - 0x7C140200, // 0017 CALL R5 1 - 0x7C100200, // 0018 CALL R4 1 - 0xA802000E, // 0019 EXBLK 0 #0029 - 0x5C140800, // 001A MOVE R5 R4 - 0x7C140000, // 001B CALL R5 0 - 0x8C180704, // 001C GETMET R6 R3 K4 - 0x5C200A00, // 001D MOVE R8 R5 - 0x7C180400, // 001E CALL R6 2 - 0x4C1C0000, // 001F LDNIL R7 - 0x1C1C0C07, // 0020 EQ R7 R6 R7 - 0x781E0002, // 0021 JMPF R7 #0025 - 0x601C0012, // 0022 GETGBL R7 G18 - 0x7C1C0000, // 0023 CALL R7 0 - 0x5C180E00, // 0024 MOVE R6 R7 - 0x941C0205, // 0025 GETIDX R7 R1 R5 - 0x001C0C07, // 0026 ADD R7 R6 R7 - 0x980C0A07, // 0027 SETIDX R3 R5 R7 - 0x7001FFF0, // 0028 JMP #001A - 0x58100003, // 0029 LDCONST R4 K3 - 0xAC100200, // 002A CATCH R4 1 0 - 0xB0080000, // 002B RAISE 2 R0 R0 - 0x80040600, // 002C RET 1 R3 + 0x4C0C0000, // 0003 LDNIL R3 + 0x20080403, // 0004 NE R2 R2 R3 + 0x780A0004, // 0005 JMPF R2 #000B + 0x60080003, // 0006 GETGBL R2 G3 + 0x5C0C0000, // 0007 MOVE R3 R0 + 0x7C080200, // 0008 CALL R2 1 + 0x88080500, // 0009 GETMBR R2 R2 K0 + 0x70020001, // 000A JMP #000D + 0x60080013, // 000B GETGBL R2 G19 + 0x7C080000, // 000C CALL R2 0 + 0x600C0013, // 000D GETGBL R3 G19 + 0x7C0C0000, // 000E CALL R3 0 + 0x60100010, // 000F GETGBL R4 G16 + 0x8C140501, // 0010 GETMET R5 R2 K1 + 0x7C140200, // 0011 CALL R5 1 + 0x7C100200, // 0012 CALL R4 1 + 0xA8020006, // 0013 EXBLK 0 #001B + 0x5C140800, // 0014 MOVE R5 R4 + 0x7C140000, // 0015 CALL R5 0 + 0x94180405, // 0016 GETIDX R6 R2 R5 + 0x8C180D02, // 0017 GETMET R6 R6 K2 + 0x7C180200, // 0018 CALL R6 1 + 0x980C0A06, // 0019 SETIDX R3 R5 R6 + 0x7001FFF8, // 001A JMP #0014 + 0x58100003, // 001B LDCONST R4 K3 + 0xAC100200, // 001C CATCH R4 1 0 + 0xB0080000, // 001D RAISE 2 R0 R0 + 0x60100010, // 001E GETGBL R4 G16 + 0x8C140301, // 001F GETMET R5 R1 K1 + 0x7C140200, // 0020 CALL R5 1 + 0x7C100200, // 0021 CALL R4 1 + 0xA802000E, // 0022 EXBLK 0 #0032 + 0x5C140800, // 0023 MOVE R5 R4 + 0x7C140000, // 0024 CALL R5 0 + 0x8C180704, // 0025 GETMET R6 R3 K4 + 0x5C200A00, // 0026 MOVE R8 R5 + 0x7C180400, // 0027 CALL R6 2 + 0x4C1C0000, // 0028 LDNIL R7 + 0x1C1C0C07, // 0029 EQ R7 R6 R7 + 0x781E0002, // 002A JMPF R7 #002E + 0x601C0012, // 002B GETGBL R7 G18 + 0x7C1C0000, // 002C CALL R7 0 + 0x5C180E00, // 002D MOVE R6 R7 + 0x941C0205, // 002E GETIDX R7 R1 R5 + 0x001C0C07, // 002F ADD R7 R6 R7 + 0x980C0A07, // 0030 SETIDX R3 R5 R7 + 0x7001FFF0, // 0031 JMP #0023 + 0x58100003, // 0032 LDCONST R4 K3 + 0xAC100200, // 0033 CATCH R4 1 0 + 0xB0080000, // 0034 RAISE 2 R0 R0 + 0x60100012, // 0035 GETGBL R4 G18 + 0x7C100000, // 0036 CALL R4 0 + 0x5416FFF7, // 0037 LDINT R5 65528 + 0x40140805, // 0038 CONNECT R5 R4 R5 + 0x5416FFF8, // 0039 LDINT R5 65529 + 0x40140805, // 003A CONNECT R5 R4 R5 + 0x5416FFF9, // 003B LDINT R5 65530 + 0x40140805, // 003C CONNECT R5 R4 R5 + 0x5416FFFA, // 003D LDINT R5 65531 + 0x40140805, // 003E CONNECT R5 R4 R5 + 0x5416FFFB, // 003F LDINT R5 65532 + 0x40140805, // 0040 CONNECT R5 R4 R5 + 0x5416FFFC, // 0041 LDINT R5 65533 + 0x40140805, // 0042 CONNECT R5 R4 R5 + 0x60140010, // 0043 GETGBL R5 G16 + 0x8C180301, // 0044 GETMET R6 R1 K1 + 0x7C180200, // 0045 CALL R6 1 + 0x7C140200, // 0046 CALL R5 1 + 0xA8020017, // 0047 EXBLK 0 #0060 + 0x5C180A00, // 0048 MOVE R6 R5 + 0x7C180000, // 0049 CALL R6 0 + 0x601C0010, // 004A GETGBL R7 G16 + 0x5C200800, // 004B MOVE R8 R4 + 0x7C1C0200, // 004C CALL R7 1 + 0xA802000D, // 004D EXBLK 0 #005C + 0x5C200E00, // 004E MOVE R8 R7 + 0x7C200000, // 004F CALL R8 0 + 0x94240606, // 0050 GETIDX R9 R3 R6 + 0x8C241304, // 0051 GETMET R9 R9 K4 + 0x5C2C1000, // 0052 MOVE R11 R8 + 0x7C240400, // 0053 CALL R9 2 + 0x4C280000, // 0054 LDNIL R10 + 0x1C24120A, // 0055 EQ R9 R9 R10 + 0x78260003, // 0056 JMPF R9 #005B + 0x94240606, // 0057 GETIDX R9 R3 R6 + 0x8C241305, // 0058 GETMET R9 R9 K5 + 0x5C2C1000, // 0059 MOVE R11 R8 + 0x7C240400, // 005A CALL R9 2 + 0x7001FFF1, // 005B JMP #004E + 0x581C0003, // 005C LDCONST R7 K3 + 0xAC1C0200, // 005D CATCH R7 1 0 + 0xB0080000, // 005E RAISE 2 R0 R0 + 0x7001FFE7, // 005F JMP #0048 + 0x58140003, // 0060 LDCONST R5 K3 + 0xAC140200, // 0061 CATCH R5 1 0 + 0xB0080000, // 0062 RAISE 2 R0 R0 + 0x80040600, // 0063 RET 1 R3 }) ) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h index f34e08665..6969dce2d 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_0.h @@ -7,41 +7,61 @@ extern const bclass be_class_Matter_Plugin; /******************************************************************** -** Solidified function: ack_request +** Solidified function: every_250ms ********************************************************************/ -be_local_closure(Matter_Plugin_ack_request, /* name */ +be_local_closure(Matter_Plugin_every_250ms, /* name */ be_nested_proto( - 6, /* nstack */ - 2, /* argc */ + 4, /* nstack */ + 1, /* argc */ 2, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 5]) { /* constants */ - /* K0 */ be_nested_str_weak(msg), - /* K1 */ be_nested_str_weak(device), - /* K2 */ be_nested_str_weak(message_handler), - /* K3 */ be_nested_str_weak(im), - /* K4 */ be_nested_str_weak(send_ack_now), + ( &(const bvalue[10]) { /* constants */ + /* K0 */ be_nested_str_weak(update_next), + /* K1 */ be_nested_str_weak(matter), + /* K2 */ be_nested_str_weak(jitter), + /* K3 */ be_nested_str_weak(UPDATE_TIME), + /* K4 */ be_nested_str_weak(tasmota), + /* K5 */ be_nested_str_weak(time_reached), + /* K6 */ be_nested_str_weak(tick), + /* K7 */ be_nested_str_weak(device), + /* K8 */ be_nested_str_weak(update_shadow), + /* K9 */ be_nested_str_weak(millis), }), - be_str_weak(ack_request), + be_str_weak(every_250ms), &be_const_str_solidified, - ( &(const binstruction[13]) { /* code */ - 0x88080300, // 0000 GETMBR R2 R1 K0 - 0x4C0C0000, // 0001 LDNIL R3 - 0x200C0403, // 0002 NE R3 R2 R3 - 0x780E0005, // 0003 JMPF R3 #000A - 0x880C0101, // 0004 GETMBR R3 R0 K1 - 0x880C0702, // 0005 GETMBR R3 R3 K2 - 0x880C0703, // 0006 GETMBR R3 R3 K3 - 0x8C0C0704, // 0007 GETMET R3 R3 K4 - 0x5C140400, // 0008 MOVE R5 R2 - 0x7C0C0400, // 0009 CALL R3 2 - 0x4C0C0000, // 000A LDNIL R3 - 0x90060003, // 000B SETMBR R1 K0 R3 - 0x80000000, // 000C RET 0 + ( &(const binstruction[28]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x4C080000, // 0001 LDNIL R2 + 0x1C040202, // 0002 EQ R1 R1 R2 + 0x78060005, // 0003 JMPF R1 #000A + 0xB8060200, // 0004 GETNGBL R1 K1 + 0x8C040302, // 0005 GETMET R1 R1 K2 + 0x880C0103, // 0006 GETMBR R3 R0 K3 + 0x7C040400, // 0007 CALL R1 2 + 0x90020001, // 0008 SETMBR R0 K0 R1 + 0x70020010, // 0009 JMP #001B + 0xB8060800, // 000A GETNGBL R1 K4 + 0x8C040305, // 000B GETMET R1 R1 K5 + 0x880C0100, // 000C GETMBR R3 R0 K0 + 0x7C040400, // 000D CALL R1 2 + 0x7806000B, // 000E JMPF R1 #001B + 0x88040106, // 000F GETMBR R1 R0 K6 + 0x88080107, // 0010 GETMBR R2 R0 K7 + 0x88080506, // 0011 GETMBR R2 R2 K6 + 0x20040202, // 0012 NE R1 R1 R2 + 0x78060001, // 0013 JMPF R1 #0016 + 0x8C040108, // 0014 GETMET R1 R0 K8 + 0x7C040200, // 0015 CALL R1 1 + 0xB8060800, // 0016 GETNGBL R1 K4 + 0x8C040309, // 0017 GETMET R1 R1 K9 + 0x880C0103, // 0018 GETMBR R3 R0 K3 + 0x7C040400, // 0019 CALL R1 2 + 0x90020001, // 001A SETMBR R0 K0 R1 + 0x80000000, // 001B RET 0 }) ) ); @@ -76,42 +96,12 @@ be_local_closure(Matter_Plugin_consolidate_clusters, /* name */ /******************************************************************** -** Solidified function: update_shadow +** Solidified function: subscribe_attribute ********************************************************************/ -be_local_closure(Matter_Plugin_update_shadow, /* name */ +be_local_closure(Matter_Plugin_subscribe_attribute, /* name */ be_nested_proto( - 2, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_weak(tick), - /* K1 */ be_nested_str_weak(device), - }), - be_str_weak(update_shadow), - &be_const_str_solidified, - ( &(const binstruction[ 4]) { /* code */ - 0x88040101, // 0000 GETMBR R1 R0 K1 - 0x88040300, // 0001 GETMBR R1 R1 K0 - 0x90020001, // 0002 SETMBR R0 K0 R1 - 0x80000000, // 0003 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: parse_sensors -********************************************************************/ -be_local_closure(Matter_Plugin_parse_sensors, /* name */ - be_nested_proto( - 2, /* nstack */ - 2, /* argc */ + 6, /* nstack */ + 5, /* argc */ 2, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ @@ -119,10 +109,11 @@ be_local_closure(Matter_Plugin_parse_sensors, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - be_str_weak(parse_sensors), + be_str_weak(subscribe_attribute), &be_const_str_solidified, - ( &(const binstruction[ 1]) { /* code */ - 0x80000000, // 0000 RET 0 + ( &(const binstruction[ 2]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x80040A00, // 0001 RET 1 R5 }) ) ); @@ -130,9 +121,116 @@ be_local_closure(Matter_Plugin_parse_sensors, /* name */ /******************************************************************** -** Solidified function: consolidate_update_commands +** Solidified function: init ********************************************************************/ -be_local_closure(Matter_Plugin_consolidate_update_commands, /* name */ +be_local_closure(Matter_Plugin_init, /* name */ + be_nested_proto( + 8, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 9]) { /* constants */ + /* K0 */ be_nested_str_weak(device), + /* K1 */ be_nested_str_weak(endpoint), + /* K2 */ be_nested_str_weak(clusters), + /* K3 */ be_nested_str_weak(consolidate_clusters), + /* K4 */ be_nested_str_weak(parse_configuration), + /* K5 */ be_nested_str_weak(node_label), + /* K6 */ be_nested_str_weak(find), + /* K7 */ be_nested_str_weak(name), + /* K8 */ be_nested_str_weak(), + }), + be_str_weak(init), + &be_const_str_solidified, + ( &(const binstruction[14]) { /* code */ + 0x90020001, // 0000 SETMBR R0 K0 R1 + 0x90020202, // 0001 SETMBR R0 K1 R2 + 0x8C100103, // 0002 GETMET R4 R0 K3 + 0x7C100200, // 0003 CALL R4 1 + 0x90020404, // 0004 SETMBR R0 K2 R4 + 0x8C100104, // 0005 GETMET R4 R0 K4 + 0x5C180600, // 0006 MOVE R6 R3 + 0x7C100400, // 0007 CALL R4 2 + 0x8C100706, // 0008 GETMET R4 R3 K6 + 0x58180007, // 0009 LDCONST R6 K7 + 0x581C0008, // 000A LDCONST R7 K8 + 0x7C100600, // 000B CALL R4 3 + 0x90020A04, // 000C SETMBR R0 K5 R4 + 0x80000000, // 000D RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: set_name +********************************************************************/ +be_local_closure(Matter_Plugin_set_name, /* name */ + be_nested_proto( + 6, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(node_label), + /* K1 */ be_nested_str_weak(attribute_updated), + }), + be_str_weak(set_name), + &be_const_str_solidified, + ( &(const binstruction[ 9]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x20080202, // 0001 NE R2 R1 R2 + 0x780A0003, // 0002 JMPF R2 #0007 + 0x8C080101, // 0003 GETMET R2 R0 K1 + 0x54120038, // 0004 LDINT R4 57 + 0x54160004, // 0005 LDINT R5 5 + 0x7C080600, // 0006 CALL R2 3 + 0x90020001, // 0007 SETMBR R0 K0 R1 + 0x80000000, // 0008 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: subscribe_event +********************************************************************/ +be_local_closure(Matter_Plugin_subscribe_event, /* name */ + be_nested_proto( + 6, /* nstack */ + 5, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(subscribe_event), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C140000, // 0000 LDNIL R5 + 0x80040A00, // 0001 RET 1 R5 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_name +********************************************************************/ +be_local_closure(Matter_Plugin_get_name, /* name */ be_nested_proto( 2, /* nstack */ 1, /* argc */ @@ -143,9 +241,9 @@ be_local_closure(Matter_Plugin_consolidate_update_commands, /* name */ NULL, /* no sub protos */ 1, /* has constants */ ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_weak(UPDATE_COMMANDS), + /* K0 */ be_nested_str_weak(node_label), }), - be_str_weak(consolidate_update_commands), + be_str_weak(get_name), &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 @@ -236,24 +334,39 @@ be_local_closure(Matter_Plugin_publish_command, /* name */ /******************************************************************** -** Solidified function: subscribe_attribute +** Solidified function: ui_conf_to_string ********************************************************************/ -be_local_closure(Matter_Plugin_subscribe_attribute, /* name */ +be_local_closure(Matter_Plugin_ui_conf_to_string, /* name */ be_nested_proto( - 6, /* nstack */ - 5, /* argc */ - 2, /* varg */ + 9, /* nstack */ + 2, /* argc */ + 4, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ - 0, /* has constants */ - NULL, /* no const */ - be_str_weak(subscribe_attribute), + 1, /* has constants */ + ( &(const bvalue[ 4]) { /* constants */ + /* K0 */ be_const_class(be_class_Matter_Plugin), + /* K1 */ be_nested_str_weak(ARG), + /* K2 */ be_nested_str_weak(find), + /* K3 */ be_nested_str_weak(), + }), + be_str_weak(ui_conf_to_string), &be_const_str_solidified, - ( &(const binstruction[ 2]) { /* code */ - 0x4C140000, // 0000 LDNIL R5 - 0x80040A00, // 0001 RET 1 R5 + ( &(const binstruction[12]) { /* code */ + 0x58080000, // 0000 LDCONST R2 K0 + 0x880C0101, // 0001 GETMBR R3 R0 K1 + 0x780E0006, // 0002 JMPF R3 #000A + 0x60100008, // 0003 GETGBL R4 G8 + 0x8C140302, // 0004 GETMET R5 R1 K2 + 0x5C1C0600, // 0005 MOVE R7 R3 + 0x58200003, // 0006 LDCONST R8 K3 + 0x7C140600, // 0007 CALL R5 3 + 0x7C100200, // 0008 CALL R4 1 + 0x70020000, // 0009 JMP #000B + 0x58100003, // 000A LDCONST R4 K3 + 0x80040800, // 000B RET 1 R4 }) ) ); @@ -273,7 +386,7 @@ be_local_closure(Matter_Plugin_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[18]) { /* constants */ + ( &(const bvalue[22]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -292,17 +405,21 @@ be_local_closure(Matter_Plugin_read_attribute, /* name */ /* K15 */ be_const_int(2), /* K16 */ be_const_int(3), /* K17 */ be_nested_str_weak(set), + /* K18 */ be_nested_str_weak(get_attribute_list), + /* K19 */ be_nested_str_weak(FEATURE_MAPS), + /* K20 */ be_nested_str_weak(find), + /* K21 */ be_nested_str_weak(CLUSTER_REVISIONS), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[92]) { /* code */ + ( &(const binstruction[160]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E001C, // 0004 LDINT R7 29 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0051, // 0006 JMPF R7 #0059 + 0x781E0050, // 0006 JMPF R7 #0058 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E001B, // 0008 JMPF R7 #0025 0x8C1C0905, // 0009 GETMET R7 R4 K5 @@ -384,10 +501,78 @@ be_local_closure(Matter_Plugin_read_attribute, /* name */ 0x5828000B, // 0055 LDCONST R10 K11 0x7C1C0600, // 0056 CALL R7 3 0x80040E00, // 0057 RET 1 R7 - 0x70020001, // 0058 JMP #005B - 0x4C1C0000, // 0059 LDNIL R7 - 0x80040E00, // 005A RET 1 R7 - 0x80000000, // 005B RET 0 + 0x541EFFF7, // 0058 LDINT R7 65528 + 0x1C1C0C07, // 0059 EQ R7 R6 R7 + 0x781E0003, // 005A JMPF R7 #005F + 0x8C1C0905, // 005B GETMET R7 R4 K5 + 0x7C1C0200, // 005C CALL R7 1 + 0x80040E00, // 005D RET 1 R7 + 0x7002003F, // 005E JMP #009F + 0x541EFFF8, // 005F LDINT R7 65529 + 0x1C1C0C07, // 0060 EQ R7 R6 R7 + 0x781E0013, // 0061 JMPF R7 #0076 + 0x8C1C0905, // 0062 GETMET R7 R4 K5 + 0x7C1C0200, // 0063 CALL R7 1 + 0x8C200112, // 0064 GETMET R8 R0 K18 + 0x5C280A00, // 0065 MOVE R10 R5 + 0x7C200400, // 0066 CALL R8 2 + 0x58240004, // 0067 LDCONST R9 K4 + 0x6028000C, // 0068 GETGBL R10 G12 + 0x5C2C1000, // 0069 MOVE R11 R8 + 0x7C280200, // 006A CALL R10 1 + 0x1428120A, // 006B LT R10 R9 R10 + 0x782A0006, // 006C JMPF R10 #0074 + 0x8C280F09, // 006D GETMET R10 R7 K9 + 0x4C300000, // 006E LDNIL R12 + 0x8834090A, // 006F GETMBR R13 R4 K10 + 0x94381009, // 0070 GETIDX R14 R8 R9 + 0x7C280800, // 0071 CALL R10 4 + 0x0024130B, // 0072 ADD R9 R9 K11 + 0x7001FFF3, // 0073 JMP #0068 + 0x80040E00, // 0074 RET 1 R7 + 0x70020028, // 0075 JMP #009F + 0x541EFFF9, // 0076 LDINT R7 65530 + 0x1C1C0C07, // 0077 EQ R7 R6 R7 + 0x781E0003, // 0078 JMPF R7 #007D + 0x8C1C0905, // 0079 GETMET R7 R4 K5 + 0x7C1C0200, // 007A CALL R7 1 + 0x80040E00, // 007B RET 1 R7 + 0x70020021, // 007C JMP #009F + 0x541EFFFA, // 007D LDINT R7 65531 + 0x1C1C0C07, // 007E EQ R7 R6 R7 + 0x781E0003, // 007F JMPF R7 #0084 + 0x8C1C0905, // 0080 GETMET R7 R4 K5 + 0x7C1C0200, // 0081 CALL R7 1 + 0x80040E00, // 0082 RET 1 R7 + 0x7002001A, // 0083 JMP #009F + 0x541EFFFB, // 0084 LDINT R7 65532 + 0x1C1C0C07, // 0085 EQ R7 R6 R7 + 0x781E000A, // 0086 JMPF R7 #0092 + 0x881C0113, // 0087 GETMBR R7 R0 K19 + 0x8C1C0F14, // 0088 GETMET R7 R7 K20 + 0x5C240A00, // 0089 MOVE R9 R5 + 0x58280004, // 008A LDCONST R10 K4 + 0x7C1C0600, // 008B CALL R7 3 + 0x8C200711, // 008C GETMET R8 R3 K17 + 0x8828090E, // 008D GETMBR R10 R4 K14 + 0x5C2C0E00, // 008E MOVE R11 R7 + 0x7C200600, // 008F CALL R8 3 + 0x80041000, // 0090 RET 1 R8 + 0x7002000C, // 0091 JMP #009F + 0x541EFFFC, // 0092 LDINT R7 65533 + 0x1C1C0C07, // 0093 EQ R7 R6 R7 + 0x781E0009, // 0094 JMPF R7 #009F + 0x881C0115, // 0095 GETMBR R7 R0 K21 + 0x8C1C0F14, // 0096 GETMET R7 R7 K20 + 0x5C240A00, // 0097 MOVE R9 R5 + 0x5828000B, // 0098 LDCONST R10 K11 + 0x7C1C0600, // 0099 CALL R7 3 + 0x8C200711, // 009A GETMET R8 R3 K17 + 0x8828090E, // 009B GETMBR R10 R4 K14 + 0x5C2C0E00, // 009C MOVE R11 R7 + 0x7C200600, // 009D CALL R8 3 + 0x80041000, // 009E RET 1 R8 + 0x80000000, // 009F RET 0 }) ) ); @@ -395,34 +580,9 @@ be_local_closure(Matter_Plugin_read_attribute, /* name */ /******************************************************************** -** Solidified function: timed_request +** Solidified function: ack_request ********************************************************************/ -be_local_closure(Matter_Plugin_timed_request, /* name */ - be_nested_proto( - 5, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 0, /* has constants */ - NULL, /* no const */ - be_str_weak(timed_request), - &be_const_str_solidified, - ( &(const binstruction[ 2]) { /* code */ - 0x4C100000, // 0000 LDNIL R4 - 0x80040800, // 0001 RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: set_name -********************************************************************/ -be_local_closure(Matter_Plugin_set_name, /* name */ +be_local_closure(Matter_Plugin_ack_request, /* name */ be_nested_proto( 6, /* nstack */ 2, /* argc */ @@ -432,248 +592,29 @@ be_local_closure(Matter_Plugin_set_name, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_weak(node_label), - /* K1 */ be_nested_str_weak(attribute_updated), - }), - be_str_weak(set_name), - &be_const_str_solidified, - ( &(const binstruction[ 9]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x20080202, // 0001 NE R2 R1 R2 - 0x780A0003, // 0002 JMPF R2 #0007 - 0x8C080101, // 0003 GETMET R2 R0 K1 - 0x54120038, // 0004 LDINT R4 57 - 0x54160004, // 0005 LDINT R5 5 - 0x7C080600, // 0006 CALL R2 3 - 0x90020001, // 0007 SETMBR R0 K0 R1 - 0x80000000, // 0008 RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: is_local_device -********************************************************************/ -be_local_closure(Matter_Plugin_is_local_device, /* name */ - be_nested_proto( - 2, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 0, /* has constants */ - NULL, /* no const */ - be_str_weak(is_local_device), - &be_const_str_solidified, - ( &(const binstruction[ 2]) { /* code */ - 0x50040200, // 0000 LDBOOL R1 1 0 - 0x80040200, // 0001 RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_name -********************************************************************/ -be_local_closure(Matter_Plugin_get_name, /* name */ - be_nested_proto( - 2, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_weak(node_label), - }), - be_str_weak(get_name), - &be_const_str_solidified, - ( &(const binstruction[ 2]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x80040200, // 0001 RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: init -********************************************************************/ -be_local_closure(Matter_Plugin_init, /* name */ - be_nested_proto( - 8, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 9]) { /* constants */ - /* K0 */ be_nested_str_weak(device), - /* K1 */ be_nested_str_weak(endpoint), - /* K2 */ be_nested_str_weak(clusters), - /* K3 */ be_nested_str_weak(consolidate_clusters), - /* K4 */ be_nested_str_weak(parse_configuration), - /* K5 */ be_nested_str_weak(node_label), - /* K6 */ be_nested_str_weak(find), - /* K7 */ be_nested_str_weak(name), - /* K8 */ be_nested_str_weak(), - }), - be_str_weak(init), - &be_const_str_solidified, - ( &(const binstruction[14]) { /* code */ - 0x90020001, // 0000 SETMBR R0 K0 R1 - 0x90020202, // 0001 SETMBR R0 K1 R2 - 0x8C100103, // 0002 GETMET R4 R0 K3 - 0x7C100200, // 0003 CALL R4 1 - 0x90020404, // 0004 SETMBR R0 K2 R4 - 0x8C100104, // 0005 GETMET R4 R0 K4 - 0x5C180600, // 0006 MOVE R6 R3 - 0x7C100400, // 0007 CALL R4 2 - 0x8C100706, // 0008 GETMET R4 R3 K6 - 0x58180007, // 0009 LDCONST R6 K7 - 0x581C0008, // 000A LDCONST R7 K8 - 0x7C100600, // 000B CALL R4 3 - 0x90020A04, // 000C SETMBR R0 K5 R4 - 0x80000000, // 000D RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: update_shadow_lazy -********************************************************************/ -be_local_closure(Matter_Plugin_update_shadow_lazy, /* name */ - be_nested_proto( - 3, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_weak(tick), + ( &(const bvalue[ 5]) { /* constants */ + /* K0 */ be_nested_str_weak(msg), /* K1 */ be_nested_str_weak(device), - /* K2 */ be_nested_str_weak(update_shadow), + /* K2 */ be_nested_str_weak(message_handler), + /* K3 */ be_nested_str_weak(im), + /* K4 */ be_nested_str_weak(send_ack_now), }), - be_str_weak(update_shadow_lazy), + be_str_weak(ack_request), &be_const_str_solidified, - ( &(const binstruction[11]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x88080101, // 0001 GETMBR R2 R0 K1 - 0x88080500, // 0002 GETMBR R2 R2 K0 - 0x20040202, // 0003 NE R1 R1 R2 - 0x78060004, // 0004 JMPF R1 #000A - 0x8C040102, // 0005 GETMET R1 R0 K2 - 0x7C040200, // 0006 CALL R1 1 - 0x88040101, // 0007 GETMBR R1 R0 K1 - 0x88040300, // 0008 GETMBR R1 R1 K0 - 0x90020001, // 0009 SETMBR R0 K0 R1 - 0x80000000, // 000A RET 0 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: invoke_request -********************************************************************/ -be_local_closure(Matter_Plugin_invoke_request, /* name */ - be_nested_proto( - 5, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 0, /* has constants */ - NULL, /* no const */ - be_str_weak(invoke_request), - &be_const_str_solidified, - ( &(const binstruction[ 2]) { /* code */ - 0x4C100000, // 0000 LDNIL R4 - 0x80040800, // 0001 RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: ui_string_to_conf -********************************************************************/ -be_local_closure(Matter_Plugin_ui_string_to_conf, /* name */ - be_nested_proto( - 8, /* nstack */ - 3, /* argc */ - 4, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_const_class(be_class_Matter_Plugin), - /* K1 */ be_nested_str_weak(ARG), - /* K2 */ be_nested_str_weak(ARG_TYPE), - }), - be_str_weak(ui_string_to_conf), - &be_const_str_solidified, - ( &(const binstruction[10]) { /* code */ - 0x580C0000, // 0000 LDCONST R3 K0 - 0x88100101, // 0001 GETMBR R4 R0 K1 - 0x88140102, // 0002 GETMBR R5 R0 K2 - 0x780A0004, // 0003 JMPF R2 #0009 - 0x78120003, // 0004 JMPF R4 #0009 - 0x5C180A00, // 0005 MOVE R6 R5 - 0x5C1C0400, // 0006 MOVE R7 R2 - 0x7C180200, // 0007 CALL R6 1 - 0x98040806, // 0008 SETIDX R1 R4 R6 - 0x80040200, // 0009 RET 1 R1 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: get_endpoint -********************************************************************/ -be_local_closure(Matter_Plugin_get_endpoint, /* name */ - be_nested_proto( - 2, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_weak(endpoint), - }), - be_str_weak(get_endpoint), - &be_const_str_solidified, - ( &(const binstruction[ 2]) { /* code */ - 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x80040200, // 0001 RET 1 R1 + ( &(const binstruction[13]) { /* code */ + 0x88080300, // 0000 GETMBR R2 R1 K0 + 0x4C0C0000, // 0001 LDNIL R3 + 0x200C0403, // 0002 NE R3 R2 R3 + 0x780E0005, // 0003 JMPF R3 #000A + 0x880C0101, // 0004 GETMBR R3 R0 K1 + 0x880C0702, // 0005 GETMBR R3 R3 K2 + 0x880C0703, // 0006 GETMBR R3 R3 K3 + 0x8C0C0704, // 0007 GETMET R3 R3 K4 + 0x5C140400, // 0008 MOVE R5 R2 + 0x7C0C0400, // 0009 CALL R3 2 + 0x4C0C0000, // 000A LDNIL R3 + 0x90060003, // 000B SETMBR R1 K0 R3 + 0x80000000, // 000C RET 0 }) ) ); @@ -713,32 +654,6 @@ be_local_closure(Matter_Plugin_get_attribute_list, /* name */ /*******************************************************************/ -/******************************************************************** -** Solidified function: append_state_json -********************************************************************/ -be_local_closure(Matter_Plugin_append_state_json, /* name */ - be_nested_proto( - 1, /* nstack */ - 1, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 1]) { /* constants */ - /* K0 */ be_nested_str_weak(), - }), - be_str_weak(append_state_json), - &be_const_str_solidified, - ( &(const binstruction[ 1]) { /* code */ - 0x80060000, // 0000 RET 1 K0 - }) - ) -); -/*******************************************************************/ - - /******************************************************************** ** Solidified function: read_event ********************************************************************/ @@ -788,6 +703,120 @@ be_local_closure(Matter_Plugin_parse_configuration, /* name */ /*******************************************************************/ +/******************************************************************** +** Solidified function: consolidate_update_commands +********************************************************************/ +be_local_closure(Matter_Plugin_consolidate_update_commands, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(UPDATE_COMMANDS), + }), + be_str_weak(consolidate_update_commands), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: attribute_updated +********************************************************************/ +be_local_closure(Matter_Plugin_attribute_updated, /* name */ + be_nested_proto( + 10, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(device), + /* K1 */ be_nested_str_weak(attribute_updated), + /* K2 */ be_nested_str_weak(endpoint), + }), + be_str_weak(attribute_updated), + &be_const_str_solidified, + ( &(const binstruction[ 8]) { /* code */ + 0x88100100, // 0000 GETMBR R4 R0 K0 + 0x8C100901, // 0001 GETMET R4 R4 K1 + 0x88180102, // 0002 GETMBR R6 R0 K2 + 0x5C1C0200, // 0003 MOVE R7 R1 + 0x5C200400, // 0004 MOVE R8 R2 + 0x5C240600, // 0005 MOVE R9 R3 + 0x7C100A00, // 0006 CALL R4 5 + 0x80000000, // 0007 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: timed_request +********************************************************************/ +be_local_closure(Matter_Plugin_timed_request, /* name */ + be_nested_proto( + 5, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(timed_request), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x80040800, // 0001 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: get_endpoint +********************************************************************/ +be_local_closure(Matter_Plugin_get_endpoint, /* name */ + be_nested_proto( + 2, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(endpoint), + }), + be_str_weak(get_endpoint), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x88040100, // 0000 GETMBR R1 R0 K0 + 0x80040200, // 0001 RET 1 R1 + }) + ) +); +/*******************************************************************/ + + /******************************************************************** ** Solidified function: state_json ********************************************************************/ @@ -846,12 +875,42 @@ be_local_closure(Matter_Plugin_state_json, /* name */ /******************************************************************** -** Solidified function: subscribe_event +** Solidified function: update_shadow ********************************************************************/ -be_local_closure(Matter_Plugin_subscribe_event, /* name */ +be_local_closure(Matter_Plugin_update_shadow, /* name */ be_nested_proto( - 6, /* nstack */ - 5, /* argc */ + 2, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(tick), + /* K1 */ be_nested_str_weak(device), + }), + be_str_weak(update_shadow), + &be_const_str_solidified, + ( &(const binstruction[ 4]) { /* code */ + 0x88040101, // 0000 GETMBR R1 R0 K1 + 0x88040300, // 0001 GETMBR R1 R1 K0 + 0x90020001, // 0002 SETMBR R0 K0 R1 + 0x80000000, // 0003 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: write_attribute +********************************************************************/ +be_local_closure(Matter_Plugin_write_attribute, /* name */ + be_nested_proto( + 5, /* nstack */ + 4, /* argc */ 2, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ @@ -859,11 +918,11 @@ be_local_closure(Matter_Plugin_subscribe_event, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - be_str_weak(subscribe_event), + be_str_weak(write_attribute), &be_const_str_solidified, ( &(const binstruction[ 2]) { /* code */ - 0x4C140000, // 0000 LDNIL R5 - 0x80040A00, // 0001 RET 1 R5 + 0x4C100000, // 0000 LDNIL R4 + 0x80040800, // 0001 RET 1 R4 }) ) ); @@ -914,11 +973,36 @@ be_local_closure(Matter_Plugin_has, /* name */ /******************************************************************** -** Solidified function: every_250ms +** Solidified function: invoke_request ********************************************************************/ -be_local_closure(Matter_Plugin_every_250ms, /* name */ +be_local_closure(Matter_Plugin_invoke_request, /* name */ be_nested_proto( - 4, /* nstack */ + 5, /* nstack */ + 4, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(invoke_request), + &be_const_str_solidified, + ( &(const binstruction[ 2]) { /* code */ + 0x4C100000, // 0000 LDNIL R4 + 0x80040800, // 0001 RET 1 R4 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_shadow_lazy +********************************************************************/ +be_local_closure(Matter_Plugin_update_shadow_lazy, /* name */ + be_nested_proto( + 3, /* nstack */ 1, /* argc */ 2, /* varg */ 0, /* has upvals */ @@ -926,49 +1010,75 @@ be_local_closure(Matter_Plugin_every_250ms, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[10]) { /* constants */ - /* K0 */ be_nested_str_weak(update_next), - /* K1 */ be_nested_str_weak(matter), - /* K2 */ be_nested_str_weak(jitter), - /* K3 */ be_nested_str_weak(UPDATE_TIME), - /* K4 */ be_nested_str_weak(tasmota), - /* K5 */ be_nested_str_weak(time_reached), - /* K6 */ be_nested_str_weak(tick), - /* K7 */ be_nested_str_weak(device), - /* K8 */ be_nested_str_weak(update_shadow), - /* K9 */ be_nested_str_weak(millis), + ( &(const bvalue[ 3]) { /* constants */ + /* K0 */ be_nested_str_weak(tick), + /* K1 */ be_nested_str_weak(device), + /* K2 */ be_nested_str_weak(update_shadow), }), - be_str_weak(every_250ms), + be_str_weak(update_shadow_lazy), &be_const_str_solidified, - ( &(const binstruction[28]) { /* code */ + ( &(const binstruction[11]) { /* code */ 0x88040100, // 0000 GETMBR R1 R0 K0 - 0x4C080000, // 0001 LDNIL R2 - 0x1C040202, // 0002 EQ R1 R1 R2 - 0x78060005, // 0003 JMPF R1 #000A - 0xB8060200, // 0004 GETNGBL R1 K1 - 0x8C040302, // 0005 GETMET R1 R1 K2 - 0x880C0103, // 0006 GETMBR R3 R0 K3 - 0x7C040400, // 0007 CALL R1 2 - 0x90020001, // 0008 SETMBR R0 K0 R1 - 0x70020010, // 0009 JMP #001B - 0xB8060800, // 000A GETNGBL R1 K4 - 0x8C040305, // 000B GETMET R1 R1 K5 - 0x880C0100, // 000C GETMBR R3 R0 K0 - 0x7C040400, // 000D CALL R1 2 - 0x7806000B, // 000E JMPF R1 #001B - 0x88040106, // 000F GETMBR R1 R0 K6 - 0x88080107, // 0010 GETMBR R2 R0 K7 - 0x88080506, // 0011 GETMBR R2 R2 K6 - 0x20040202, // 0012 NE R1 R1 R2 - 0x78060001, // 0013 JMPF R1 #0016 - 0x8C040108, // 0014 GETMET R1 R0 K8 - 0x7C040200, // 0015 CALL R1 1 - 0xB8060800, // 0016 GETNGBL R1 K4 - 0x8C040309, // 0017 GETMET R1 R1 K9 - 0x880C0103, // 0018 GETMBR R3 R0 K3 - 0x7C040400, // 0019 CALL R1 2 - 0x90020001, // 001A SETMBR R0 K0 R1 - 0x80000000, // 001B RET 0 + 0x88080101, // 0001 GETMBR R2 R0 K1 + 0x88080500, // 0002 GETMBR R2 R2 K0 + 0x20040202, // 0003 NE R1 R1 R2 + 0x78060004, // 0004 JMPF R1 #000A + 0x8C040102, // 0005 GETMET R1 R0 K2 + 0x7C040200, // 0006 CALL R1 1 + 0x88040101, // 0007 GETMBR R1 R0 K1 + 0x88040300, // 0008 GETMBR R1 R1 K0 + 0x90020001, // 0009 SETMBR R0 K0 R1 + 0x80000000, // 000A RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: update_virtual +********************************************************************/ +be_local_closure(Matter_Plugin_update_virtual, /* name */ + be_nested_proto( + 2, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 0, /* has constants */ + NULL, /* no const */ + be_str_weak(update_virtual), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: append_state_json +********************************************************************/ +be_local_closure(Matter_Plugin_append_state_json, /* name */ + be_nested_proto( + 1, /* nstack */ + 1, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 1]) { /* constants */ + /* K0 */ be_nested_str_weak(), + }), + be_str_weak(append_state_json), + &be_const_str_solidified, + ( &(const binstruction[ 1]) { /* code */ + 0x80060000, // 0000 RET 1 K0 }) ) ); @@ -1026,12 +1136,12 @@ be_local_closure(Matter_Plugin_contains_attribute, /* name */ /******************************************************************** -** Solidified function: write_attribute +** Solidified function: parse_sensors ********************************************************************/ -be_local_closure(Matter_Plugin_write_attribute, /* name */ +be_local_closure(Matter_Plugin_parse_sensors, /* name */ be_nested_proto( - 5, /* nstack */ - 4, /* argc */ + 2, /* nstack */ + 2, /* argc */ 2, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ @@ -1039,46 +1149,10 @@ be_local_closure(Matter_Plugin_write_attribute, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - be_str_weak(write_attribute), + be_str_weak(parse_sensors), &be_const_str_solidified, - ( &(const binstruction[ 2]) { /* code */ - 0x4C100000, // 0000 LDNIL R4 - 0x80040800, // 0001 RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: attribute_updated -********************************************************************/ -be_local_closure(Matter_Plugin_attribute_updated, /* name */ - be_nested_proto( - 10, /* nstack */ - 4, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 3]) { /* constants */ - /* K0 */ be_nested_str_weak(device), - /* K1 */ be_nested_str_weak(attribute_updated), - /* K2 */ be_nested_str_weak(endpoint), - }), - be_str_weak(attribute_updated), - &be_const_str_solidified, - ( &(const binstruction[ 8]) { /* code */ - 0x88100100, // 0000 GETMBR R4 R0 K0 - 0x8C100901, // 0001 GETMET R4 R4 K1 - 0x88180102, // 0002 GETMBR R6 R0 K2 - 0x5C1C0200, // 0003 MOVE R7 R1 - 0x5C200400, // 0004 MOVE R8 R2 - 0x5C240600, // 0005 MOVE R9 R3 - 0x7C100A00, // 0006 CALL R4 5 - 0x80000000, // 0007 RET 0 + ( &(const binstruction[ 1]) { /* code */ + 0x80000000, // 0000 RET 0 }) ) ); @@ -1113,12 +1187,43 @@ be_local_closure(Matter_Plugin__X3Clambda_X3E, /* name */ /******************************************************************** -** Solidified function: update_virtual +** Solidified function: contains_cluster ********************************************************************/ -be_local_closure(Matter_Plugin_update_virtual, /* name */ +be_local_closure(Matter_Plugin_contains_cluster, /* name */ + be_nested_proto( + 5, /* nstack */ + 2, /* argc */ + 2, /* varg */ + 0, /* has upvals */ + NULL, /* no upvals */ + 0, /* has sup protos */ + NULL, /* no sub protos */ + 1, /* has constants */ + ( &(const bvalue[ 2]) { /* constants */ + /* K0 */ be_nested_str_weak(clusters), + /* K1 */ be_nested_str_weak(contains), + }), + be_str_weak(contains_cluster), + &be_const_str_solidified, + ( &(const binstruction[ 5]) { /* code */ + 0x88080100, // 0000 GETMBR R2 R0 K0 + 0x8C080501, // 0001 GETMET R2 R2 K1 + 0x5C100200, // 0002 MOVE R4 R1 + 0x7C080400, // 0003 CALL R2 2 + 0x80040400, // 0004 RET 1 R2 + }) + ) +); +/*******************************************************************/ + + +/******************************************************************** +** Solidified function: is_local_device +********************************************************************/ +be_local_closure(Matter_Plugin_is_local_device, /* name */ be_nested_proto( 2, /* nstack */ - 2, /* argc */ + 1, /* argc */ 2, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ @@ -1126,10 +1231,11 @@ be_local_closure(Matter_Plugin_update_virtual, /* name */ NULL, /* no sub protos */ 0, /* has constants */ NULL, /* no const */ - be_str_weak(update_virtual), + be_str_weak(is_local_device), &be_const_str_solidified, - ( &(const binstruction[ 1]) { /* code */ - 0x80000000, // 0000 RET 0 + ( &(const binstruction[ 2]) { /* code */ + 0x50040200, // 0000 LDBOOL R1 1 0 + 0x80040200, // 0001 RET 1 R1 }) ) ); @@ -1183,70 +1289,36 @@ be_local_closure(Matter_Plugin_get_cluster_list, /* name */ /******************************************************************** -** Solidified function: ui_conf_to_string +** Solidified function: ui_string_to_conf ********************************************************************/ -be_local_closure(Matter_Plugin_ui_conf_to_string, /* name */ +be_local_closure(Matter_Plugin_ui_string_to_conf, /* name */ be_nested_proto( - 9, /* nstack */ - 2, /* argc */ + 8, /* nstack */ + 3, /* argc */ 4, /* varg */ 0, /* has upvals */ NULL, /* no upvals */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[ 4]) { /* constants */ + ( &(const bvalue[ 3]) { /* constants */ /* K0 */ be_const_class(be_class_Matter_Plugin), /* K1 */ be_nested_str_weak(ARG), - /* K2 */ be_nested_str_weak(find), - /* K3 */ be_nested_str_weak(), + /* K2 */ be_nested_str_weak(ARG_TYPE), }), - be_str_weak(ui_conf_to_string), + be_str_weak(ui_string_to_conf), &be_const_str_solidified, - ( &(const binstruction[12]) { /* code */ - 0x58080000, // 0000 LDCONST R2 K0 - 0x880C0101, // 0001 GETMBR R3 R0 K1 - 0x780E0006, // 0002 JMPF R3 #000A - 0x60100008, // 0003 GETGBL R4 G8 - 0x8C140302, // 0004 GETMET R5 R1 K2 - 0x5C1C0600, // 0005 MOVE R7 R3 - 0x58200003, // 0006 LDCONST R8 K3 - 0x7C140600, // 0007 CALL R5 3 - 0x7C100200, // 0008 CALL R4 1 - 0x70020000, // 0009 JMP #000B - 0x58100003, // 000A LDCONST R4 K3 - 0x80040800, // 000B RET 1 R4 - }) - ) -); -/*******************************************************************/ - - -/******************************************************************** -** Solidified function: contains_cluster -********************************************************************/ -be_local_closure(Matter_Plugin_contains_cluster, /* name */ - be_nested_proto( - 5, /* nstack */ - 2, /* argc */ - 2, /* varg */ - 0, /* has upvals */ - NULL, /* no upvals */ - 0, /* has sup protos */ - NULL, /* no sub protos */ - 1, /* has constants */ - ( &(const bvalue[ 2]) { /* constants */ - /* K0 */ be_nested_str_weak(clusters), - /* K1 */ be_nested_str_weak(contains), - }), - be_str_weak(contains_cluster), - &be_const_str_solidified, - ( &(const binstruction[ 5]) { /* code */ - 0x88080100, // 0000 GETMBR R2 R0 K0 - 0x8C080501, // 0001 GETMET R2 R2 K1 - 0x5C100200, // 0002 MOVE R4 R1 - 0x7C080400, // 0003 CALL R2 2 - 0x80040400, // 0004 RET 1 R2 + ( &(const binstruction[10]) { /* code */ + 0x580C0000, // 0000 LDCONST R3 K0 + 0x88100101, // 0001 GETMBR R4 R0 K1 + 0x88140102, // 0002 GETMBR R5 R0 K2 + 0x780A0004, // 0003 JMPF R2 #0009 + 0x78120003, // 0004 JMPF R4 #0009 + 0x5C180A00, // 0005 MOVE R6 R5 + 0x5C1C0400, // 0006 MOVE R7 R2 + 0x7C180200, // 0007 CALL R6 1 + 0x98040806, // 0008 SETIDX R1 R4 R6 + 0x80040200, // 0009 RET 1 R1 }) ) ); @@ -1259,71 +1331,115 @@ be_local_closure(Matter_Plugin_contains_cluster, /* name */ be_local_class(Matter_Plugin, 6, NULL, - be_nested_map(47, + be_nested_map(50, ( (struct bmapnode*) &(const bmapnode[]) { - { be_const_key_weak(ack_request, -1), be_const_closure(Matter_Plugin_ack_request_closure) }, - { be_const_key_weak(parse_sensors, -1), be_const_closure(Matter_Plugin_parse_sensors_closure) }, - { be_const_key_weak(ui_conf_to_string, 45), be_const_static_closure(Matter_Plugin_ui_conf_to_string_closure) }, - { be_const_key_weak(clusters, 27), be_const_var(3) }, - { be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(_Not_X20used_) }, - { be_const_key_weak(subscribe_attribute, -1), be_const_closure(Matter_Plugin_subscribe_attribute_closure) }, - { be_const_key_weak(timed_request, -1), be_const_closure(Matter_Plugin_timed_request_closure) }, + { be_const_key_weak(every_250ms, -1), be_const_closure(Matter_Plugin_every_250ms_closure) }, + { be_const_key_weak(DISPLAY_NAME, -1), be_nested_str_weak() }, + { be_const_key_weak(FEATURE_MAPS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(2, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(258, -1), be_const_int(5) }, + { be_const_key_int(49, -1), be_const_int(4) }, + })) ) } )) }, + { be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_read_attribute_closure) }, + { be_const_key_weak(subscribe_attribute, 31), be_const_closure(Matter_Plugin_subscribe_attribute_closure) }, + { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_init_closure) }, + { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, + { be_const_key_weak(set_name, 36), be_const_closure(Matter_Plugin_set_name_closure) }, { be_const_key_weak(endpoint, -1), be_const_var(2) }, - { be_const_key_weak(DISPLAY_NAME, 1), be_nested_str_weak() }, - { be_const_key_weak(update_shadow, 2), be_const_closure(Matter_Plugin_update_shadow_closure) }, - { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin__X3Clambda_X3E_closure) }, + { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { + be_const_list( * be_nested_list(0, + ( (struct bvalue*) &(const bvalue[]) { + })) ) } )) }, + { be_const_key_weak(VIRTUAL, -1), be_const_bool(0) }, + { be_const_key_weak(device, -1), be_const_var(1) }, + { be_const_key_weak(subscribe_event, 3), be_const_closure(Matter_Plugin_subscribe_event_closure) }, + { be_const_key_weak(read_event, -1), be_const_closure(Matter_Plugin_read_event_closure) }, { be_const_key_weak(publish_command, -1), be_const_closure(Matter_Plugin_publish_command_closure) }, - { be_const_key_weak(consolidate_clusters, 5), be_const_closure(Matter_Plugin_consolidate_clusters_closure) }, - { be_const_key_weak(set_name, 42), be_const_closure(Matter_Plugin_set_name_closure) }, - { be_const_key_weak(write_attribute, 23), be_const_closure(Matter_Plugin_write_attribute_closure) }, - { be_const_key_weak(VIRTUAL, 6), be_const_bool(0) }, - { be_const_key_weak(node_label, 34), be_const_var(5) }, + { be_const_key_weak(is_local_device, 21), be_const_closure(Matter_Plugin_is_local_device_closure) }, + { be_const_key_weak(CLUSTER_REVISIONS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(25, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(8, -1), be_const_int(5) }, + { be_const_key_int(1026, -1), be_const_int(4) }, + { be_const_key_int(1027, -1), be_const_int(3) }, + { be_const_key_int(3, 20), be_const_int(4) }, + { be_const_key_int(29, 17), be_const_int(2) }, + { be_const_key_int(5, 9), be_const_int(5) }, + { be_const_key_int(56, 11), be_const_int(2) }, + { be_const_key_int(257, 10), be_const_int(7) }, + { be_const_key_int(258, 0), be_const_int(5) }, + { be_const_key_int(1030, -1), be_const_int(3) }, + { be_const_key_int(1032, -1), be_const_int(3) }, + { be_const_key_int(1031, 23), be_const_int(3) }, + { be_const_key_int(512, -1), be_const_int(4) }, + { be_const_key_int(63, 22), be_const_int(2) }, + { be_const_key_int(514, -1), be_const_int(4) }, + { be_const_key_int(40, -1), be_const_int(2) }, + { be_const_key_int(516, -1), be_const_int(2) }, + { be_const_key_int(1029, 21), be_const_int(3) }, + { be_const_key_int(768, -1), be_const_int(6) }, + { be_const_key_int(769, -1), be_const_int(4) }, + { be_const_key_int(1028, -1), be_const_int(3) }, + { be_const_key_int(4, -1), be_const_int(4) }, + { be_const_key_int(513, -1), be_const_int(6) }, + { be_const_key_int(6, -1), be_const_int(5) }, + { be_const_key_int(1024, -1), be_const_int(3) }, + })) ) } )) }, + { be_const_key_weak(contains_cluster, -1), be_const_closure(Matter_Plugin_contains_cluster_closure) }, + { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_parse_configuration_closure) }, + { be_const_key_weak(get_attribute_list, 33), be_const_closure(Matter_Plugin_get_attribute_list_closure) }, + { be_const_key_weak(consolidate_clusters, 13), be_const_closure(Matter_Plugin_consolidate_clusters_closure) }, + { be_const_key_weak(parse_sensors, 23), be_const_closure(Matter_Plugin_parse_sensors_closure) }, + { be_const_key_weak(contains_attribute, 29), be_const_closure(Matter_Plugin_contains_attribute_closure) }, + { be_const_key_weak(append_state_json, -1), be_const_closure(Matter_Plugin_append_state_json_closure) }, { be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { be_const_map( * be_nested_map(1, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(29, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, })) ) } )) }, - { be_const_key_weak(update_shadow_lazy, -1), be_const_closure(Matter_Plugin_update_shadow_lazy_closure) }, - { be_const_key_weak(update_next, 40), be_const_var(0) }, - { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_invoke_request_closure) }, - { be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_init_closure) }, - { be_const_key_weak(ARG, 14), be_nested_str_weak() }, - { be_const_key_weak(get_endpoint, 17), be_const_closure(Matter_Plugin_get_endpoint_closure) }, - { be_const_key_weak(get_name, 20), be_const_closure(Matter_Plugin_get_name_closure) }, - { be_const_key_weak(ui_string_to_conf, 10), be_const_static_closure(Matter_Plugin_ui_string_to_conf_closure) }, - { be_const_key_weak(tick, 18), be_const_var(4) }, - { be_const_key_weak(TYPE, -1), be_nested_str_weak() }, - { be_const_key_weak(append_state_json, -1), be_const_closure(Matter_Plugin_append_state_json_closure) }, - { be_const_key_weak(read_event, -1), be_const_closure(Matter_Plugin_read_event_closure) }, - { be_const_key_weak(device, -1), be_const_var(1) }, - { be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_parse_configuration_closure) }, - { be_const_key_weak(state_json, -1), be_const_closure(Matter_Plugin_state_json_closure) }, - { be_const_key_weak(subscribe_event, -1), be_const_closure(Matter_Plugin_subscribe_event_closure) }, - { be_const_key_weak(get_attribute_list, -1), be_const_closure(Matter_Plugin_get_attribute_list_closure) }, - { be_const_key_weak(read_attribute, 26), be_const_closure(Matter_Plugin_read_attribute_closure) }, - { be_const_key_weak(has, -1), be_const_closure(Matter_Plugin_has_closure) }, - { be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) }, - { be_const_key_weak(every_250ms, -1), be_const_closure(Matter_Plugin_every_250ms_closure) }, - { be_const_key_weak(contains_attribute, -1), be_const_closure(Matter_Plugin_contains_attribute_closure) }, - { be_const_key_weak(is_local_device, 13), be_const_closure(Matter_Plugin_is_local_device_closure) }, { be_const_key_weak(attribute_updated, -1), be_const_closure(Matter_Plugin_attribute_updated_closure) }, - { be_const_key_weak(UPDATE_COMMANDS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(0, - ( (struct bvalue*) &(const bvalue[]) { + { be_const_key_weak(timed_request, 41), be_const_closure(Matter_Plugin_timed_request_closure) }, + { be_const_key_weak(get_endpoint, -1), be_const_closure(Matter_Plugin_get_endpoint_closure) }, + { be_const_key_weak(update_next, 43), be_const_var(0) }, + { be_const_key_weak(TYPE, 32), be_nested_str_weak() }, + { be_const_key_weak(ui_conf_to_string, 28), be_const_static_closure(Matter_Plugin_ui_conf_to_string_closure) }, + { be_const_key_weak(tick, -1), be_const_var(4) }, + { be_const_key_weak(update_shadow, -1), be_const_closure(Matter_Plugin_update_shadow_closure) }, + { be_const_key_weak(ARG, 18), be_nested_str_weak() }, + { be_const_key_weak(has, -1), be_const_closure(Matter_Plugin_has_closure) }, + { be_const_key_weak(write_attribute, 34), be_const_closure(Matter_Plugin_write_attribute_closure) }, + { be_const_key_weak(COMMANDS, 42), be_const_simple_instance(be_nested_simple_instance(&be_class_map, { + be_const_map( * be_nested_map(1, + ( (struct bmapnode*) &(const bmapnode[]) { + { be_const_key_int(29, -1), be_const_nil() }, })) ) } )) }, + { be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_invoke_request_closure) }, + { be_const_key_weak(update_shadow_lazy, -1), be_const_closure(Matter_Plugin_update_shadow_lazy_closure) }, + { be_const_key_weak(state_json, 22), be_const_closure(Matter_Plugin_state_json_closure) }, { be_const_key_weak(update_virtual, -1), be_const_closure(Matter_Plugin_update_virtual_closure) }, + { be_const_key_weak(clusters, -1), be_const_var(3) }, + { be_const_key_weak(get_name, -1), be_const_closure(Matter_Plugin_get_name_closure) }, + { be_const_key_weak(node_label, -1), be_const_var(5) }, + { be_const_key_weak(ARG_TYPE, -1), be_const_static_closure(Matter_Plugin__X3Clambda_X3E_closure) }, + { be_const_key_weak(ARG_HINT, 17), be_nested_str_weak(_Not_X20used_) }, + { be_const_key_weak(ack_request, 15), be_const_closure(Matter_Plugin_ack_request_closure) }, { be_const_key_weak(get_cluster_list, -1), be_const_closure(Matter_Plugin_get_cluster_list_closure) }, - { be_const_key_weak(consolidate_update_commands, -1), be_const_closure(Matter_Plugin_consolidate_update_commands_closure) }, - { be_const_key_weak(contains_cluster, -1), be_const_closure(Matter_Plugin_contains_cluster_closure) }, + { be_const_key_weak(ui_string_to_conf, -1), be_const_static_closure(Matter_Plugin_ui_string_to_conf_closure) }, + { be_const_key_weak(consolidate_update_commands, 2), be_const_closure(Matter_Plugin_consolidate_update_commands_closure) }, })), be_str_weak(Matter_Plugin) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Aggregator.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Aggregator.h index 20f1be289..03e9ed0d0 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Aggregator.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Aggregator.h @@ -19,7 +19,7 @@ be_local_closure(Matter_Plugin_Aggregator_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[19]) { /* constants */ + ( &(const bvalue[18]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -30,25 +30,24 @@ be_local_closure(Matter_Plugin_Aggregator_read_attribute, /* name */ /* K7 */ be_nested_str_weak(U2), /* K8 */ be_const_int(1), /* K9 */ be_nested_str_weak(U1), - /* K10 */ be_nested_str_weak(U4), - /* K11 */ be_const_int(2), - /* K12 */ be_nested_str_weak(Matter_TLV_array), - /* K13 */ be_nested_str_weak(add_TLV), - /* K14 */ be_nested_str_weak(device), - /* K15 */ be_nested_str_weak(get_active_endpoints), - /* K16 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), - /* K17 */ be_nested_str_weak(stop_iteration), - /* K18 */ be_nested_str_weak(read_attribute), + /* K10 */ be_const_int(2), + /* K11 */ be_nested_str_weak(Matter_TLV_array), + /* K12 */ be_nested_str_weak(add_TLV), + /* K13 */ be_nested_str_weak(device), + /* K14 */ be_nested_str_weak(get_active_endpoints), + /* K15 */ be_nested_str_weak(AGGREGATOR_ENDPOINT), + /* K16 */ be_nested_str_weak(stop_iteration), + /* K17 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[103]) { /* code */ + ( &(const binstruction[73]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x1C1C0B04, // 0004 EQ R7 R5 K4 - 0x781E0021, // 0005 JMPF R7 #0028 + 0x781E000F, // 0005 JMPF R7 #0016 0x1C1C0D05, // 0006 EQ R7 R6 K5 0x781E0005, // 0007 JMPF R7 #000E 0x8C1C0706, // 0008 GETMET R7 R3 K6 @@ -56,96 +55,66 @@ be_local_closure(Matter_Plugin_Aggregator_read_attribute, /* name */ 0x58280005, // 000A LDCONST R10 K5 0x7C1C0600, // 000B CALL R7 3 0x80040E00, // 000C RET 1 R7 - 0x70020018, // 000D JMP #0027 + 0x70020006, // 000D JMP #0015 0x1C1C0D08, // 000E EQ R7 R6 K8 - 0x781E0005, // 000F JMPF R7 #0016 + 0x781E0004, // 000F JMPF R7 #0015 0x8C1C0706, // 0010 GETMET R7 R3 K6 0x88240909, // 0011 GETMBR R9 R4 K9 0x58280005, // 0012 LDCONST R10 K5 0x7C1C0600, // 0013 CALL R7 3 0x80040E00, // 0014 RET 1 R7 - 0x70020010, // 0015 JMP #0027 - 0x541EFFFB, // 0016 LDINT R7 65532 - 0x1C1C0C07, // 0017 EQ R7 R6 R7 - 0x781E0005, // 0018 JMPF R7 #001F - 0x8C1C0706, // 0019 GETMET R7 R3 K6 - 0x8824090A, // 001A GETMBR R9 R4 K10 - 0x58280005, // 001B LDCONST R10 K5 - 0x7C1C0600, // 001C CALL R7 3 - 0x80040E00, // 001D RET 1 R7 - 0x70020007, // 001E JMP #0027 - 0x541EFFFC, // 001F LDINT R7 65533 - 0x1C1C0C07, // 0020 EQ R7 R6 R7 - 0x781E0004, // 0021 JMPF R7 #0027 - 0x8C1C0706, // 0022 GETMET R7 R3 K6 - 0x8824090A, // 0023 GETMBR R9 R4 K10 - 0x542A0003, // 0024 LDINT R10 4 - 0x7C1C0600, // 0025 CALL R7 3 - 0x80040E00, // 0026 RET 1 R7 - 0x7002003D, // 0027 JMP #0066 - 0x541E001C, // 0028 LDINT R7 29 - 0x1C1C0A07, // 0029 EQ R7 R5 R7 - 0x781E0031, // 002A JMPF R7 #005D - 0x1C1C0D0B, // 002B EQ R7 R6 K11 - 0x781E0008, // 002C JMPF R7 #0036 - 0x8C1C090C, // 002D GETMET R7 R4 K12 - 0x7C1C0200, // 002E CALL R7 1 - 0x8C200F0D, // 002F GETMET R8 R7 K13 - 0x4C280000, // 0030 LDNIL R10 - 0x882C0907, // 0031 GETMBR R11 R4 K7 - 0x5432001D, // 0032 LDINT R12 30 - 0x7C200800, // 0033 CALL R8 4 - 0x80040E00, // 0034 RET 1 R7 - 0x70020025, // 0035 JMP #005C - 0x1C1C0D04, // 0036 EQ R7 R6 K4 - 0x781E001A, // 0037 JMPF R7 #0053 - 0x8C1C090C, // 0038 GETMET R7 R4 K12 - 0x7C1C0200, // 0039 CALL R7 1 - 0x8820010E, // 003A GETMBR R8 R0 K14 - 0x8C20110F, // 003B GETMET R8 R8 K15 - 0x50280200, // 003C LDBOOL R10 1 0 - 0x7C200400, // 003D CALL R8 2 - 0x60240010, // 003E GETGBL R9 G16 - 0x5C281000, // 003F MOVE R10 R8 - 0x7C240200, // 0040 CALL R9 1 - 0xA802000B, // 0041 EXBLK 0 #004E - 0x5C281200, // 0042 MOVE R10 R9 - 0x7C280000, // 0043 CALL R10 0 - 0xB82E0000, // 0044 GETNGBL R11 K0 - 0x882C1710, // 0045 GETMBR R11 R11 K16 - 0x202C140B, // 0046 NE R11 R10 R11 - 0x782E0004, // 0047 JMPF R11 #004D - 0x8C2C0F0D, // 0048 GETMET R11 R7 K13 - 0x4C340000, // 0049 LDNIL R13 - 0x88380907, // 004A GETMBR R14 R4 K7 - 0x5C3C1400, // 004B MOVE R15 R10 - 0x7C2C0800, // 004C CALL R11 4 - 0x7001FFF3, // 004D JMP #0042 - 0x58240011, // 004E LDCONST R9 K17 - 0xAC240200, // 004F CATCH R9 1 0 - 0xB0080000, // 0050 RAISE 2 R0 R0 - 0x80040E00, // 0051 RET 1 R7 - 0x70020008, // 0052 JMP #005C - 0x601C0003, // 0053 GETGBL R7 G3 - 0x5C200000, // 0054 MOVE R8 R0 - 0x7C1C0200, // 0055 CALL R7 1 - 0x8C1C0F12, // 0056 GETMET R7 R7 K18 - 0x5C240200, // 0057 MOVE R9 R1 - 0x5C280400, // 0058 MOVE R10 R2 - 0x5C2C0600, // 0059 MOVE R11 R3 - 0x7C1C0800, // 005A CALL R7 4 - 0x80040E00, // 005B RET 1 R7 - 0x70020008, // 005C JMP #0066 - 0x601C0003, // 005D GETGBL R7 G3 - 0x5C200000, // 005E MOVE R8 R0 - 0x7C1C0200, // 005F CALL R7 1 - 0x8C1C0F12, // 0060 GETMET R7 R7 K18 - 0x5C240200, // 0061 MOVE R9 R1 - 0x5C280400, // 0062 MOVE R10 R2 - 0x5C2C0600, // 0063 MOVE R11 R3 - 0x7C1C0800, // 0064 CALL R7 4 - 0x80040E00, // 0065 RET 1 R7 - 0x80000000, // 0066 RET 0 + 0x70020029, // 0015 JMP #0040 + 0x541E001C, // 0016 LDINT R7 29 + 0x1C1C0A07, // 0017 EQ R7 R5 R7 + 0x781E0026, // 0018 JMPF R7 #0040 + 0x1C1C0D0A, // 0019 EQ R7 R6 K10 + 0x781E0008, // 001A JMPF R7 #0024 + 0x8C1C090B, // 001B GETMET R7 R4 K11 + 0x7C1C0200, // 001C CALL R7 1 + 0x8C200F0C, // 001D GETMET R8 R7 K12 + 0x4C280000, // 001E LDNIL R10 + 0x882C0907, // 001F GETMBR R11 R4 K7 + 0x5432001D, // 0020 LDINT R12 30 + 0x7C200800, // 0021 CALL R8 4 + 0x80040E00, // 0022 RET 1 R7 + 0x7002001B, // 0023 JMP #0040 + 0x1C1C0D04, // 0024 EQ R7 R6 K4 + 0x781E0019, // 0025 JMPF R7 #0040 + 0x8C1C090B, // 0026 GETMET R7 R4 K11 + 0x7C1C0200, // 0027 CALL R7 1 + 0x8820010D, // 0028 GETMBR R8 R0 K13 + 0x8C20110E, // 0029 GETMET R8 R8 K14 + 0x50280200, // 002A LDBOOL R10 1 0 + 0x7C200400, // 002B CALL R8 2 + 0x60240010, // 002C GETGBL R9 G16 + 0x5C281000, // 002D MOVE R10 R8 + 0x7C240200, // 002E CALL R9 1 + 0xA802000B, // 002F EXBLK 0 #003C + 0x5C281200, // 0030 MOVE R10 R9 + 0x7C280000, // 0031 CALL R10 0 + 0xB82E0000, // 0032 GETNGBL R11 K0 + 0x882C170F, // 0033 GETMBR R11 R11 K15 + 0x202C140B, // 0034 NE R11 R10 R11 + 0x782E0004, // 0035 JMPF R11 #003B + 0x8C2C0F0C, // 0036 GETMET R11 R7 K12 + 0x4C340000, // 0037 LDNIL R13 + 0x88380907, // 0038 GETMBR R14 R4 K7 + 0x5C3C1400, // 0039 MOVE R15 R10 + 0x7C2C0800, // 003A CALL R11 4 + 0x7001FFF3, // 003B JMP #0030 + 0x58240010, // 003C LDCONST R9 K16 + 0xAC240200, // 003D CATCH R9 1 0 + 0xB0080000, // 003E RAISE 2 R0 R0 + 0x80040E00, // 003F RET 1 R7 + 0x601C0003, // 0040 GETGBL R7 G3 + 0x5C200000, // 0041 MOVE R8 R0 + 0x7C1C0200, // 0042 CALL R7 1 + 0x8C1C0F11, // 0043 GETMET R7 R7 K17 + 0x5C240200, // 0044 MOVE R9 R1 + 0x5C280400, // 0045 MOVE R10 R2 + 0x5C2C0600, // 0046 MOVE R11 R3 + 0x7C1C0800, // 0047 CALL R7 4 + 0x80040E00, // 0048 RET 1 R7 }) ) ); @@ -247,20 +216,28 @@ be_local_class(Matter_Plugin_Aggregator, be_const_map( * be_nested_map(2, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(29, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Device.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Device.h index f93586d65..b2ab1687f 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Device.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Device.h @@ -19,7 +19,7 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[37]) { /* constants */ + ( &(const bvalue[36]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -30,43 +30,42 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */ /* K7 */ be_nested_str_weak(U2), /* K8 */ be_const_int(1), /* K9 */ be_nested_str_weak(U1), - /* K10 */ be_nested_str_weak(U4), - /* K11 */ be_nested_str_weak(Matter_TLV_array), - /* K12 */ be_nested_str_weak(TYPES), - /* K13 */ be_nested_str_weak(keys), - /* K14 */ be_nested_str_weak(add_struct), - /* K15 */ be_nested_str_weak(add_TLV), - /* K16 */ be_nested_str_weak(stop_iteration), - /* K17 */ be_nested_str_weak(NON_BRIDGE_VENDOR), - /* K18 */ be_nested_str_weak(find), - /* K19 */ be_nested_str_weak(get_admin_vendor), - /* K20 */ be_nested_str_weak(device), - /* K21 */ be_nested_str_weak(disable_bridge_mode), - /* K22 */ be_nested_str_weak(read_attribute), - /* K23 */ be_nested_str_weak(string), - /* K24 */ be_nested_str_weak(UTF1), - /* K25 */ be_nested_str_weak(tasmota), - /* K26 */ be_nested_str_weak(cmd), - /* K27 */ be_nested_str_weak(DeviceName), - /* K28 */ be_nested_str_weak(get_name), - /* K29 */ be_nested_str_weak(Status_X202), - /* K30 */ be_nested_str_weak(StatusFWR), - /* K31 */ be_nested_str_weak(Version), - /* K32 */ be_nested_str_weak(_X28), - /* K33 */ be_nested_str_weak(wifi), - /* K34 */ be_nested_str_weak(mac), - /* K35 */ be_nested_str_weak(), - /* K36 */ be_nested_str_weak(BOOL), + /* K10 */ be_nested_str_weak(Matter_TLV_array), + /* K11 */ be_nested_str_weak(TYPES), + /* K12 */ be_nested_str_weak(keys), + /* K13 */ be_nested_str_weak(add_struct), + /* K14 */ be_nested_str_weak(add_TLV), + /* K15 */ be_nested_str_weak(stop_iteration), + /* K16 */ be_nested_str_weak(NON_BRIDGE_VENDOR), + /* K17 */ be_nested_str_weak(find), + /* K18 */ be_nested_str_weak(get_admin_vendor), + /* K19 */ be_nested_str_weak(device), + /* K20 */ be_nested_str_weak(disable_bridge_mode), + /* K21 */ be_nested_str_weak(string), + /* K22 */ be_nested_str_weak(UTF1), + /* K23 */ be_nested_str_weak(tasmota), + /* K24 */ be_nested_str_weak(cmd), + /* K25 */ be_nested_str_weak(DeviceName), + /* K26 */ be_nested_str_weak(get_name), + /* K27 */ be_nested_str_weak(Status_X202), + /* K28 */ be_nested_str_weak(StatusFWR), + /* K29 */ be_nested_str_weak(Version), + /* K30 */ be_nested_str_weak(_X28), + /* K31 */ be_nested_str_weak(wifi), + /* K32 */ be_nested_str_weak(mac), + /* K33 */ be_nested_str_weak(), + /* K34 */ be_nested_str_weak(BOOL), + /* K35 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[254]) { /* code */ + ( &(const binstruction[189]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x1C1C0B04, // 0004 EQ R7 R5 K4 - 0x781E0021, // 0005 JMPF R7 #0028 + 0x781E000F, // 0005 JMPF R7 #0016 0x1C1C0D05, // 0006 EQ R7 R6 K5 0x781E0005, // 0007 JMPF R7 #000E 0x8C1C0706, // 0008 GETMET R7 R3 K6 @@ -74,247 +73,182 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */ 0x58280005, // 000A LDCONST R10 K5 0x7C1C0600, // 000B CALL R7 3 0x80040E00, // 000C RET 1 R7 - 0x70020018, // 000D JMP #0027 + 0x70020006, // 000D JMP #0015 0x1C1C0D08, // 000E EQ R7 R6 K8 - 0x781E0005, // 000F JMPF R7 #0016 + 0x781E0004, // 000F JMPF R7 #0015 0x8C1C0706, // 0010 GETMET R7 R3 K6 0x88240909, // 0011 GETMBR R9 R4 K9 0x58280005, // 0012 LDCONST R10 K5 0x7C1C0600, // 0013 CALL R7 3 0x80040E00, // 0014 RET 1 R7 - 0x70020010, // 0015 JMP #0027 - 0x541EFFFB, // 0016 LDINT R7 65532 - 0x1C1C0C07, // 0017 EQ R7 R6 R7 - 0x781E0005, // 0018 JMPF R7 #001F - 0x8C1C0706, // 0019 GETMET R7 R3 K6 - 0x8824090A, // 001A GETMBR R9 R4 K10 - 0x58280005, // 001B LDCONST R10 K5 - 0x7C1C0600, // 001C CALL R7 3 - 0x80040E00, // 001D RET 1 R7 - 0x70020007, // 001E JMP #0027 - 0x541EFFFC, // 001F LDINT R7 65533 - 0x1C1C0C07, // 0020 EQ R7 R6 R7 - 0x781E0004, // 0021 JMPF R7 #0027 - 0x8C1C0706, // 0022 GETMET R7 R3 K6 - 0x8824090A, // 0023 GETMBR R9 R4 K10 - 0x542A0003, // 0024 LDINT R10 4 - 0x7C1C0600, // 0025 CALL R7 3 - 0x80040E00, // 0026 RET 1 R7 - 0x700200D4, // 0027 JMP #00FD - 0x541E0003, // 0028 LDINT R7 4 - 0x1C1C0A07, // 0029 EQ R7 R5 R7 - 0x781E0016, // 002A JMPF R7 #0042 - 0x1C1C0D05, // 002B EQ R7 R6 K5 - 0x781E0002, // 002C JMPF R7 #0030 - 0x4C1C0000, // 002D LDNIL R7 - 0x80040E00, // 002E RET 1 R7 - 0x70020010, // 002F JMP #0041 - 0x541EFFFB, // 0030 LDINT R7 65532 - 0x1C1C0C07, // 0031 EQ R7 R6 R7 - 0x781E0005, // 0032 JMPF R7 #0039 - 0x8C1C0706, // 0033 GETMET R7 R3 K6 - 0x8824090A, // 0034 GETMBR R9 R4 K10 - 0x58280005, // 0035 LDCONST R10 K5 - 0x7C1C0600, // 0036 CALL R7 3 - 0x80040E00, // 0037 RET 1 R7 - 0x70020007, // 0038 JMP #0041 - 0x541EFFFC, // 0039 LDINT R7 65533 - 0x1C1C0C07, // 003A EQ R7 R6 R7 - 0x781E0004, // 003B JMPF R7 #0041 - 0x8C1C0706, // 003C GETMET R7 R3 K6 - 0x8824090A, // 003D GETMBR R9 R4 K10 - 0x542A0003, // 003E LDINT R10 4 - 0x7C1C0600, // 003F CALL R7 3 - 0x80040E00, // 0040 RET 1 R7 - 0x700200BA, // 0041 JMP #00FD - 0x541E0004, // 0042 LDINT R7 5 - 0x1C1C0A07, // 0043 EQ R7 R5 R7 - 0x781E0011, // 0044 JMPF R7 #0057 - 0x541EFFFB, // 0045 LDINT R7 65532 - 0x1C1C0C07, // 0046 EQ R7 R6 R7 - 0x781E0005, // 0047 JMPF R7 #004E - 0x8C1C0706, // 0048 GETMET R7 R3 K6 - 0x8824090A, // 0049 GETMBR R9 R4 K10 - 0x58280005, // 004A LDCONST R10 K5 - 0x7C1C0600, // 004B CALL R7 3 - 0x80040E00, // 004C RET 1 R7 - 0x70020007, // 004D JMP #0056 - 0x541EFFFC, // 004E LDINT R7 65533 - 0x1C1C0C07, // 004F EQ R7 R6 R7 - 0x781E0004, // 0050 JMPF R7 #0056 - 0x8C1C0706, // 0051 GETMET R7 R3 K6 - 0x8824090A, // 0052 GETMBR R9 R4 K10 - 0x542A0003, // 0053 LDINT R10 4 - 0x7C1C0600, // 0054 CALL R7 3 - 0x80040E00, // 0055 RET 1 R7 - 0x700200A5, // 0056 JMP #00FD - 0x541E001C, // 0057 LDINT R7 29 - 0x1C1C0A07, // 0058 EQ R7 R5 R7 - 0x781E003E, // 0059 JMPF R7 #0099 - 0x1C1C0D05, // 005A EQ R7 R6 K5 - 0x781E0032, // 005B JMPF R7 #008F - 0x8C1C090B, // 005C GETMET R7 R4 K11 - 0x7C1C0200, // 005D CALL R7 1 - 0x8820010C, // 005E GETMBR R8 R0 K12 - 0x60240010, // 005F GETGBL R9 G16 - 0x8C28110D, // 0060 GETMET R10 R8 K13 - 0x7C280200, // 0061 CALL R10 1 - 0x7C240200, // 0062 CALL R9 1 - 0xA802000E, // 0063 EXBLK 0 #0073 - 0x5C281200, // 0064 MOVE R10 R9 - 0x7C280000, // 0065 CALL R10 0 - 0x8C2C0F0E, // 0066 GETMET R11 R7 K14 - 0x7C2C0200, // 0067 CALL R11 1 - 0x8C30170F, // 0068 GETMET R12 R11 K15 - 0x58380005, // 0069 LDCONST R14 K5 - 0x883C0907, // 006A GETMBR R15 R4 K7 - 0x5C401400, // 006B MOVE R16 R10 - 0x7C300800, // 006C CALL R12 4 - 0x8C30170F, // 006D GETMET R12 R11 K15 - 0x58380008, // 006E LDCONST R14 K8 - 0x883C0907, // 006F GETMBR R15 R4 K7 - 0x9440100A, // 0070 GETIDX R16 R8 R10 - 0x7C300800, // 0071 CALL R12 4 - 0x7001FFF0, // 0072 JMP #0064 - 0x58240010, // 0073 LDCONST R9 K16 - 0xAC240200, // 0074 CATCH R9 1 0 - 0xB0080000, // 0075 RAISE 2 R0 R0 - 0x88240111, // 0076 GETMBR R9 R0 K17 - 0x8C241312, // 0077 GETMET R9 R9 K18 - 0x8C2C0313, // 0078 GETMET R11 R1 K19 - 0x7C2C0200, // 0079 CALL R11 1 - 0x7C240400, // 007A CALL R9 2 - 0x4C280000, // 007B LDNIL R10 - 0x1C24120A, // 007C EQ R9 R9 R10 - 0x7826000E, // 007D JMPF R9 #008D - 0x88240114, // 007E GETMBR R9 R0 K20 - 0x88241315, // 007F GETMBR R9 R9 K21 - 0x7426000B, // 0080 JMPT R9 #008D - 0x8C240F0E, // 0081 GETMET R9 R7 K14 - 0x7C240200, // 0082 CALL R9 1 - 0x8C28130F, // 0083 GETMET R10 R9 K15 - 0x58300005, // 0084 LDCONST R12 K5 - 0x88340907, // 0085 GETMBR R13 R4 K7 - 0x543A0012, // 0086 LDINT R14 19 - 0x7C280800, // 0087 CALL R10 4 - 0x8C28130F, // 0088 GETMET R10 R9 K15 - 0x58300008, // 0089 LDCONST R12 K8 - 0x88340907, // 008A GETMBR R13 R4 K7 - 0x58380008, // 008B LDCONST R14 K8 - 0x7C280800, // 008C CALL R10 4 - 0x80040E00, // 008D RET 1 R7 - 0x70020008, // 008E JMP #0098 - 0x601C0003, // 008F GETGBL R7 G3 - 0x5C200000, // 0090 MOVE R8 R0 - 0x7C1C0200, // 0091 CALL R7 1 - 0x8C1C0F16, // 0092 GETMET R7 R7 K22 - 0x5C240200, // 0093 MOVE R9 R1 - 0x5C280400, // 0094 MOVE R10 R2 - 0x5C2C0600, // 0095 MOVE R11 R3 - 0x7C1C0800, // 0096 CALL R7 4 - 0x80040E00, // 0097 RET 1 R7 - 0x70020063, // 0098 JMP #00FD - 0x541E0038, // 0099 LDINT R7 57 - 0x1C1C0A07, // 009A EQ R7 R5 R7 - 0x781E0057, // 009B JMPF R7 #00F4 - 0xA41E2E00, // 009C IMPORT R7 K23 - 0x1C200D04, // 009D EQ R8 R6 K4 - 0x7822000A, // 009E JMPF R8 #00AA - 0x8C200706, // 009F GETMET R8 R3 K6 - 0x88280918, // 00A0 GETMBR R10 R4 K24 - 0xB82E3200, // 00A1 GETNGBL R11 K25 - 0x8C2C171A, // 00A2 GETMET R11 R11 K26 - 0x5834001B, // 00A3 LDCONST R13 K27 - 0x50380200, // 00A4 LDBOOL R14 1 0 - 0x7C2C0600, // 00A5 CALL R11 3 - 0x942C171B, // 00A6 GETIDX R11 R11 K27 - 0x7C200600, // 00A7 CALL R8 3 - 0x80041000, // 00A8 RET 1 R8 - 0x70020048, // 00A9 JMP #00F3 - 0x54220004, // 00AA LDINT R8 5 - 0x1C200C08, // 00AB EQ R8 R6 R8 - 0x78220006, // 00AC JMPF R8 #00B4 - 0x8C200706, // 00AD GETMET R8 R3 K6 - 0x88280918, // 00AE GETMBR R10 R4 K24 - 0x8C2C011C, // 00AF GETMET R11 R0 K28 - 0x7C2C0200, // 00B0 CALL R11 1 - 0x7C200600, // 00B1 CALL R8 3 - 0x80041000, // 00B2 RET 1 R8 - 0x7002003E, // 00B3 JMP #00F3 - 0x54220009, // 00B4 LDINT R8 10 - 0x1C200C08, // 00B5 EQ R8 R6 R8 - 0x78220015, // 00B6 JMPF R8 #00CD - 0xB8223200, // 00B7 GETNGBL R8 K25 - 0x8C20111A, // 00B8 GETMET R8 R8 K26 - 0x5828001D, // 00B9 LDCONST R10 K29 - 0x502C0200, // 00BA LDBOOL R11 1 0 - 0x7C200600, // 00BB CALL R8 3 - 0x9420111E, // 00BC GETIDX R8 R8 K30 - 0x9420111F, // 00BD GETIDX R8 R8 K31 - 0x8C240F12, // 00BE GETMET R9 R7 K18 - 0x5C2C1000, // 00BF MOVE R11 R8 - 0x58300020, // 00C0 LDCONST R12 K32 - 0x7C240600, // 00C1 CALL R9 3 - 0x24281305, // 00C2 GT R10 R9 K5 - 0x782A0002, // 00C3 JMPF R10 #00C7 - 0x04281308, // 00C4 SUB R10 R9 K8 - 0x402A0A0A, // 00C5 CONNECT R10 K5 R10 - 0x9420100A, // 00C6 GETIDX R8 R8 R10 - 0x8C280706, // 00C7 GETMET R10 R3 K6 - 0x88300918, // 00C8 GETMBR R12 R4 K24 - 0x5C341000, // 00C9 MOVE R13 R8 - 0x7C280600, // 00CA CALL R10 3 - 0x80041400, // 00CB RET 1 R10 - 0x70020025, // 00CC JMP #00F3 - 0x5422000E, // 00CD LDINT R8 15 - 0x1C200C08, // 00CE EQ R8 R6 R8 - 0x7822000B, // 00CF JMPF R8 #00DC - 0x8C200706, // 00D0 GETMET R8 R3 K6 - 0x88280918, // 00D1 GETMBR R10 R4 K24 - 0xB82E3200, // 00D2 GETNGBL R11 K25 - 0x8C2C1721, // 00D3 GETMET R11 R11 K33 - 0x7C2C0200, // 00D4 CALL R11 1 - 0x8C2C1712, // 00D5 GETMET R11 R11 K18 - 0x58340022, // 00D6 LDCONST R13 K34 - 0x58380023, // 00D7 LDCONST R14 K35 - 0x7C2C0600, // 00D8 CALL R11 3 - 0x7C200600, // 00D9 CALL R8 3 - 0x80041000, // 00DA RET 1 R8 - 0x70020016, // 00DB JMP #00F3 - 0x54220010, // 00DC LDINT R8 17 - 0x1C200C08, // 00DD EQ R8 R6 R8 - 0x78220005, // 00DE JMPF R8 #00E5 - 0x8C200706, // 00DF GETMET R8 R3 K6 - 0x88280924, // 00E0 GETMBR R10 R4 K36 - 0x582C0008, // 00E1 LDCONST R11 K8 - 0x7C200600, // 00E2 CALL R8 3 - 0x80041000, // 00E3 RET 1 R8 - 0x7002000D, // 00E4 JMP #00F3 - 0x54220011, // 00E5 LDINT R8 18 - 0x1C200C08, // 00E6 EQ R8 R6 R8 - 0x7822000A, // 00E7 JMPF R8 #00F3 - 0x8C200706, // 00E8 GETMET R8 R3 K6 - 0x88280918, // 00E9 GETMBR R10 R4 K24 - 0xB82E3200, // 00EA GETNGBL R11 K25 - 0x8C2C1721, // 00EB GETMET R11 R11 K33 - 0x7C2C0200, // 00EC CALL R11 1 - 0x8C2C1712, // 00ED GETMET R11 R11 K18 - 0x58340022, // 00EE LDCONST R13 K34 - 0x58380023, // 00EF LDCONST R14 K35 - 0x7C2C0600, // 00F0 CALL R11 3 - 0x7C200600, // 00F1 CALL R8 3 - 0x80041000, // 00F2 RET 1 R8 - 0x70020008, // 00F3 JMP #00FD - 0x601C0003, // 00F4 GETGBL R7 G3 - 0x5C200000, // 00F5 MOVE R8 R0 - 0x7C1C0200, // 00F6 CALL R7 1 - 0x8C1C0F16, // 00F7 GETMET R7 R7 K22 - 0x5C240200, // 00F8 MOVE R9 R1 - 0x5C280400, // 00F9 MOVE R10 R2 - 0x5C2C0600, // 00FA MOVE R11 R3 - 0x7C1C0800, // 00FB CALL R7 4 - 0x80040E00, // 00FC RET 1 R7 - 0x80000000, // 00FD RET 0 + 0x7002009D, // 0015 JMP #00B4 + 0x541E0003, // 0016 LDINT R7 4 + 0x1C1C0A07, // 0017 EQ R7 R5 R7 + 0x781E0004, // 0018 JMPF R7 #001E + 0x1C1C0D05, // 0019 EQ R7 R6 K5 + 0x781E0001, // 001A JMPF R7 #001D + 0x4C1C0000, // 001B LDNIL R7 + 0x80040E00, // 001C RET 1 R7 + 0x70020095, // 001D JMP #00B4 + 0x541E0004, // 001E LDINT R7 5 + 0x1C1C0A07, // 001F EQ R7 R5 R7 + 0x781E0000, // 0020 JMPF R7 #0022 + 0x70020091, // 0021 JMP #00B4 + 0x541E001C, // 0022 LDINT R7 29 + 0x1C1C0A07, // 0023 EQ R7 R5 R7 + 0x781E0034, // 0024 JMPF R7 #005A + 0x1C1C0D05, // 0025 EQ R7 R6 K5 + 0x781E0031, // 0026 JMPF R7 #0059 + 0x8C1C090A, // 0027 GETMET R7 R4 K10 + 0x7C1C0200, // 0028 CALL R7 1 + 0x8820010B, // 0029 GETMBR R8 R0 K11 + 0x60240010, // 002A GETGBL R9 G16 + 0x8C28110C, // 002B GETMET R10 R8 K12 + 0x7C280200, // 002C CALL R10 1 + 0x7C240200, // 002D CALL R9 1 + 0xA802000E, // 002E EXBLK 0 #003E + 0x5C281200, // 002F MOVE R10 R9 + 0x7C280000, // 0030 CALL R10 0 + 0x8C2C0F0D, // 0031 GETMET R11 R7 K13 + 0x7C2C0200, // 0032 CALL R11 1 + 0x8C30170E, // 0033 GETMET R12 R11 K14 + 0x58380005, // 0034 LDCONST R14 K5 + 0x883C0907, // 0035 GETMBR R15 R4 K7 + 0x5C401400, // 0036 MOVE R16 R10 + 0x7C300800, // 0037 CALL R12 4 + 0x8C30170E, // 0038 GETMET R12 R11 K14 + 0x58380008, // 0039 LDCONST R14 K8 + 0x883C0907, // 003A GETMBR R15 R4 K7 + 0x9440100A, // 003B GETIDX R16 R8 R10 + 0x7C300800, // 003C CALL R12 4 + 0x7001FFF0, // 003D JMP #002F + 0x5824000F, // 003E LDCONST R9 K15 + 0xAC240200, // 003F CATCH R9 1 0 + 0xB0080000, // 0040 RAISE 2 R0 R0 + 0x88240110, // 0041 GETMBR R9 R0 K16 + 0x8C241311, // 0042 GETMET R9 R9 K17 + 0x8C2C0312, // 0043 GETMET R11 R1 K18 + 0x7C2C0200, // 0044 CALL R11 1 + 0x7C240400, // 0045 CALL R9 2 + 0x4C280000, // 0046 LDNIL R10 + 0x1C24120A, // 0047 EQ R9 R9 R10 + 0x7826000E, // 0048 JMPF R9 #0058 + 0x88240113, // 0049 GETMBR R9 R0 K19 + 0x88241314, // 004A GETMBR R9 R9 K20 + 0x7426000B, // 004B JMPT R9 #0058 + 0x8C240F0D, // 004C GETMET R9 R7 K13 + 0x7C240200, // 004D CALL R9 1 + 0x8C28130E, // 004E GETMET R10 R9 K14 + 0x58300005, // 004F LDCONST R12 K5 + 0x88340907, // 0050 GETMBR R13 R4 K7 + 0x543A0012, // 0051 LDINT R14 19 + 0x7C280800, // 0052 CALL R10 4 + 0x8C28130E, // 0053 GETMET R10 R9 K14 + 0x58300008, // 0054 LDCONST R12 K8 + 0x88340907, // 0055 GETMBR R13 R4 K7 + 0x58380008, // 0056 LDCONST R14 K8 + 0x7C280800, // 0057 CALL R10 4 + 0x80040E00, // 0058 RET 1 R7 + 0x70020059, // 0059 JMP #00B4 + 0x541E0038, // 005A LDINT R7 57 + 0x1C1C0A07, // 005B EQ R7 R5 R7 + 0x781E0056, // 005C JMPF R7 #00B4 + 0xA41E2A00, // 005D IMPORT R7 K21 + 0x1C200D04, // 005E EQ R8 R6 K4 + 0x7822000A, // 005F JMPF R8 #006B + 0x8C200706, // 0060 GETMET R8 R3 K6 + 0x88280916, // 0061 GETMBR R10 R4 K22 + 0xB82E2E00, // 0062 GETNGBL R11 K23 + 0x8C2C1718, // 0063 GETMET R11 R11 K24 + 0x58340019, // 0064 LDCONST R13 K25 + 0x50380200, // 0065 LDBOOL R14 1 0 + 0x7C2C0600, // 0066 CALL R11 3 + 0x942C1719, // 0067 GETIDX R11 R11 K25 + 0x7C200600, // 0068 CALL R8 3 + 0x80041000, // 0069 RET 1 R8 + 0x70020048, // 006A JMP #00B4 + 0x54220004, // 006B LDINT R8 5 + 0x1C200C08, // 006C EQ R8 R6 R8 + 0x78220006, // 006D JMPF R8 #0075 + 0x8C200706, // 006E GETMET R8 R3 K6 + 0x88280916, // 006F GETMBR R10 R4 K22 + 0x8C2C011A, // 0070 GETMET R11 R0 K26 + 0x7C2C0200, // 0071 CALL R11 1 + 0x7C200600, // 0072 CALL R8 3 + 0x80041000, // 0073 RET 1 R8 + 0x7002003E, // 0074 JMP #00B4 + 0x54220009, // 0075 LDINT R8 10 + 0x1C200C08, // 0076 EQ R8 R6 R8 + 0x78220015, // 0077 JMPF R8 #008E + 0xB8222E00, // 0078 GETNGBL R8 K23 + 0x8C201118, // 0079 GETMET R8 R8 K24 + 0x5828001B, // 007A LDCONST R10 K27 + 0x502C0200, // 007B LDBOOL R11 1 0 + 0x7C200600, // 007C CALL R8 3 + 0x9420111C, // 007D GETIDX R8 R8 K28 + 0x9420111D, // 007E GETIDX R8 R8 K29 + 0x8C240F11, // 007F GETMET R9 R7 K17 + 0x5C2C1000, // 0080 MOVE R11 R8 + 0x5830001E, // 0081 LDCONST R12 K30 + 0x7C240600, // 0082 CALL R9 3 + 0x24281305, // 0083 GT R10 R9 K5 + 0x782A0002, // 0084 JMPF R10 #0088 + 0x04281308, // 0085 SUB R10 R9 K8 + 0x402A0A0A, // 0086 CONNECT R10 K5 R10 + 0x9420100A, // 0087 GETIDX R8 R8 R10 + 0x8C280706, // 0088 GETMET R10 R3 K6 + 0x88300916, // 0089 GETMBR R12 R4 K22 + 0x5C341000, // 008A MOVE R13 R8 + 0x7C280600, // 008B CALL R10 3 + 0x80041400, // 008C RET 1 R10 + 0x70020025, // 008D JMP #00B4 + 0x5422000E, // 008E LDINT R8 15 + 0x1C200C08, // 008F EQ R8 R6 R8 + 0x7822000B, // 0090 JMPF R8 #009D + 0x8C200706, // 0091 GETMET R8 R3 K6 + 0x88280916, // 0092 GETMBR R10 R4 K22 + 0xB82E2E00, // 0093 GETNGBL R11 K23 + 0x8C2C171F, // 0094 GETMET R11 R11 K31 + 0x7C2C0200, // 0095 CALL R11 1 + 0x8C2C1711, // 0096 GETMET R11 R11 K17 + 0x58340020, // 0097 LDCONST R13 K32 + 0x58380021, // 0098 LDCONST R14 K33 + 0x7C2C0600, // 0099 CALL R11 3 + 0x7C200600, // 009A CALL R8 3 + 0x80041000, // 009B RET 1 R8 + 0x70020016, // 009C JMP #00B4 + 0x54220010, // 009D LDINT R8 17 + 0x1C200C08, // 009E EQ R8 R6 R8 + 0x78220005, // 009F JMPF R8 #00A6 + 0x8C200706, // 00A0 GETMET R8 R3 K6 + 0x88280922, // 00A1 GETMBR R10 R4 K34 + 0x582C0008, // 00A2 LDCONST R11 K8 + 0x7C200600, // 00A3 CALL R8 3 + 0x80041000, // 00A4 RET 1 R8 + 0x7002000D, // 00A5 JMP #00B4 + 0x54220011, // 00A6 LDINT R8 18 + 0x1C200C08, // 00A7 EQ R8 R6 R8 + 0x7822000A, // 00A8 JMPF R8 #00B4 + 0x8C200706, // 00A9 GETMET R8 R3 K6 + 0x88280916, // 00AA GETMBR R10 R4 K22 + 0xB82E2E00, // 00AB GETNGBL R11 K23 + 0x8C2C171F, // 00AC GETMET R11 R11 K31 + 0x7C2C0200, // 00AD CALL R11 1 + 0x8C2C1711, // 00AE GETMET R11 R11 K17 + 0x58340020, // 00AF LDCONST R13 K32 + 0x58380021, // 00B0 LDCONST R14 K33 + 0x7C2C0600, // 00B1 CALL R11 3 + 0x7C200600, // 00B2 CALL R8 3 + 0x80041000, // 00B3 RET 1 R8 + 0x601C0003, // 00B4 GETGBL R7 G3 + 0x5C200000, // 00B5 MOVE R8 R0 + 0x7C1C0200, // 00B6 CALL R7 1 + 0x8C1C0F23, // 00B7 GETMET R7 R7 K35 + 0x5C240200, // 00B8 MOVE R9 R1 + 0x5C280400, // 00B9 MOVE R10 R2 + 0x5C2C0600, // 00BA MOVE R11 R3 + 0x7C1C0800, // 00BB CALL R7 4 + 0x80040E00, // 00BC RET 1 R7 }) ) ); @@ -610,7 +544,7 @@ be_local_class(Matter_Plugin_Device, be_const_map( * be_nested_map(5, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -618,21 +552,29 @@ be_local_class(Matter_Plugin_Device, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -640,19 +582,33 @@ be_local_class(Matter_Plugin_Device, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h index 1857edafe..81040d471 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_1_Root.h @@ -117,7 +117,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[958]) { /* code */ + ( &(const binstruction[937]) { /* code */ 0xA4120000, // 0000 IMPORT R4 K0 0xB8160200, // 0001 GETNGBL R5 K1 0x88140B02, // 0002 GETMBR R5 R5 K2 @@ -174,11 +174,11 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x502C0000, // 0035 LDBOOL R11 0 0 0x7C200600, // 0036 CALL R8 3 0x80041000, // 0037 RET 1 R8 - 0x70020383, // 0038 JMP #03BD + 0x70020366, // 0038 JMP #03A0 0x54220031, // 0039 LDINT R8 50 0x1C200C08, // 003A EQ R8 R6 R8 0x78220000, // 003B JMPF R8 #003D - 0x7002037F, // 003C JMP #03BD + 0x70020362, // 003C JMP #03A0 0x54220032, // 003D LDINT R8 51 0x1C200C08, // 003E EQ R8 R6 R8 0x782200DC, // 003F JMPF R8 #011D @@ -402,11 +402,11 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x502C0000, // 0119 LDBOOL R11 0 0 0x7C200600, // 011A CALL R8 3 0x80041000, // 011B RET 1 R8 - 0x7002029F, // 011C JMP #03BD + 0x70020282, // 011C JMP #03A0 0x54220033, // 011D LDINT R8 52 0x1C200C08, // 011E EQ R8 R6 R8 0x78220000, // 011F JMPF R8 #0121 - 0x7002029B, // 0120 JMP #03BD + 0x7002027E, // 0120 JMP #03A0 0x54220037, // 0121 LDINT R8 56 0x1C200C08, // 0122 EQ R8 R6 R8 0x7822002B, // 0123 JMPF R8 #0150 @@ -453,7 +453,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x5C301000, // 014C MOVE R12 R8 0x7C240600, // 014D CALL R9 3 0x80041200, // 014E RET 1 R9 - 0x7002026C, // 014F JMP #03BD + 0x7002024F, // 014F JMP #03A0 0x5422003D, // 0150 LDINT R8 62 0x1C200C08, // 0151 EQ R8 R6 R8 0x782200B6, // 0152 JMPF R8 #020A @@ -639,7 +639,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x5C301000, // 0206 MOVE R12 R8 0x7C240600, // 0207 CALL R9 3 0x80041200, // 0208 RET 1 R9 - 0x700201B2, // 0209 JMP #03BD + 0x70020195, // 0209 JMP #03A0 0x5422003B, // 020A LDINT R8 60 0x1C200C08, // 020B EQ R8 R6 R8 0x7822003C, // 020C JMPF R8 #024A @@ -703,7 +703,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x4C300000, // 0246 LDNIL R12 0x7C240600, // 0247 CALL R9 3 0x80041200, // 0248 RET 1 R9 - 0x70020172, // 0249 JMP #03BD + 0x70020155, // 0249 JMP #03A0 0x54220027, // 024A LDINT R8 40 0x1C200C08, // 024B EQ R8 R6 R8 0x782200BA, // 024C JMPF R8 #0308 @@ -893,11 +893,11 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x5834000F, // 0304 LDCONST R13 K15 0x7C240800, // 0305 CALL R9 4 0x80041000, // 0306 RET 1 R8 - 0x700200B4, // 0307 JMP #03BD + 0x70020097, // 0307 JMP #03A0 0x5422003E, // 0308 LDINT R8 63 0x1C200C08, // 0309 EQ R8 R6 R8 0x78220000, // 030A JMPF R8 #030C - 0x700200B0, // 030B JMP #03BD + 0x70020093, // 030B JMP #03A0 0x54220029, // 030C LDINT R8 42 0x1C200C08, // 030D EQ R8 R6 R8 0x7822001D, // 030E JMPF R8 #032D @@ -930,7 +930,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x4C2C0000, // 0329 LDNIL R11 0x7C200600, // 032A CALL R8 3 0x80041000, // 032B RET 1 R8 - 0x7002008F, // 032C JMP #03BD + 0x70020072, // 032C JMP #03A0 0x5422002A, // 032D LDINT R8 43 0x1C200C08, // 032E EQ R8 R6 R8 0x78220016, // 032F JMPF R8 #0347 @@ -956,7 +956,7 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x7C340200, // 0343 CALL R13 1 0x7C240800, // 0344 CALL R9 4 0x80041000, // 0345 RET 1 R8 - 0x70020075, // 0346 JMP #03BD + 0x70020058, // 0346 JMP #03A0 0x5422002B, // 0347 LDINT R8 44 0x1C200C08, // 0348 EQ R8 R6 R8 0x7822001C, // 0349 JMPF R8 #0367 @@ -988,94 +988,73 @@ be_local_closure(Matter_Plugin_Root_read_attribute, /* name */ 0x7C300600, // 0363 CALL R12 3 0x7C240600, // 0364 CALL R9 3 0x80041000, // 0365 RET 1 R8 - 0x70020055, // 0366 JMP #03BD + 0x70020038, // 0366 JMP #03A0 0x54220030, // 0367 LDINT R8 49 0x1C200C08, // 0368 EQ R8 R6 R8 - 0x78220010, // 0369 JMPF R8 #037B + 0x78220007, // 0369 JMPF R8 #0372 0x1C200F0F, // 036A EQ R8 R7 K15 - 0x78220005, // 036B JMPF R8 #0372 + 0x78220004, // 036B JMPF R8 #0371 0x8C200706, // 036C GETMET R8 R3 K6 0x88280B0E, // 036D GETMBR R10 R5 K14 0x542E001D, // 036E LDINT R11 30 0x7C200600, // 036F CALL R8 3 0x80041000, // 0370 RET 1 R8 - 0x70020007, // 0371 JMP #037A - 0x5422FFFB, // 0372 LDINT R8 65532 - 0x1C200E08, // 0373 EQ R8 R7 R8 - 0x78220004, // 0374 JMPF R8 #037A - 0x8C200706, // 0375 GETMET R8 R3 K6 - 0x88280B2A, // 0376 GETMBR R10 R5 K42 - 0x542E0003, // 0377 LDINT R11 4 - 0x7C200600, // 0378 CALL R8 3 - 0x80041000, // 0379 RET 1 R8 - 0x70020041, // 037A JMP #03BD - 0x5422001C, // 037B LDINT R8 29 - 0x1C200C08, // 037C EQ R8 R6 R8 - 0x78220035, // 037D JMPF R8 #03B4 - 0x1C200F0D, // 037E EQ R8 R7 K13 - 0x78220008, // 037F JMPF R8 #0389 - 0x8C200B11, // 0380 GETMET R8 R5 K17 - 0x7C200200, // 0381 CALL R8 1 - 0x8C24110B, // 0382 GETMET R9 R8 K11 - 0x4C2C0000, // 0383 LDNIL R11 - 0x88300B0C, // 0384 GETMBR R12 R5 K12 - 0x5436001E, // 0385 LDINT R13 31 - 0x7C240800, // 0386 CALL R9 4 - 0x80041000, // 0387 RET 1 R8 - 0x70020029, // 0388 JMP #03B3 - 0x1C200F0F, // 0389 EQ R8 R7 K15 - 0x7822001E, // 038A JMPF R8 #03AA - 0x8C200B11, // 038B GETMET R8 R5 K17 - 0x7C200200, // 038C CALL R8 1 - 0x88240136, // 038D GETMBR R9 R0 K54 - 0x8C24135B, // 038E GETMET R9 R9 K91 - 0x502C0200, // 038F LDBOOL R11 1 0 - 0x7C240400, // 0390 CALL R9 2 - 0x88280136, // 0391 GETMBR R10 R0 K54 - 0x8828155C, // 0392 GETMBR R10 R10 K92 - 0x602C0010, // 0393 GETGBL R11 G16 - 0x5C301200, // 0394 MOVE R12 R9 - 0x7C2C0200, // 0395 CALL R11 1 - 0xA802000D, // 0396 EXBLK 0 #03A5 - 0x5C301600, // 0397 MOVE R12 R11 - 0x7C300000, // 0398 CALL R12 0 - 0x5C341400, // 0399 MOVE R13 R10 - 0x78360003, // 039A JMPF R13 #039F - 0xB8360200, // 039B GETNGBL R13 K1 - 0x88341B3D, // 039C GETMBR R13 R13 K61 - 0x2034180D, // 039D NE R13 R12 R13 - 0x78360004, // 039E JMPF R13 #03A4 - 0x8C34110B, // 039F GETMET R13 R8 K11 - 0x4C3C0000, // 03A0 LDNIL R15 - 0x88400B0C, // 03A1 GETMBR R16 R5 K12 - 0x5C441800, // 03A2 MOVE R17 R12 - 0x7C340800, // 03A3 CALL R13 4 - 0x7001FFF1, // 03A4 JMP #0397 - 0x582C003F, // 03A5 LDCONST R11 K63 - 0xAC2C0200, // 03A6 CATCH R11 1 0 - 0xB0080000, // 03A7 RAISE 2 R0 R0 + 0x7002002D, // 0371 JMP #03A0 + 0x5422001C, // 0372 LDINT R8 29 + 0x1C200C08, // 0373 EQ R8 R6 R8 + 0x7822002A, // 0374 JMPF R8 #03A0 + 0x1C200F0D, // 0375 EQ R8 R7 K13 + 0x78220008, // 0376 JMPF R8 #0380 + 0x8C200B11, // 0377 GETMET R8 R5 K17 + 0x7C200200, // 0378 CALL R8 1 + 0x8C24110B, // 0379 GETMET R9 R8 K11 + 0x4C2C0000, // 037A LDNIL R11 + 0x88300B0C, // 037B GETMBR R12 R5 K12 + 0x5436001E, // 037C LDINT R13 31 + 0x7C240800, // 037D CALL R9 4 + 0x80041000, // 037E RET 1 R8 + 0x7002001F, // 037F JMP #03A0 + 0x1C200F0F, // 0380 EQ R8 R7 K15 + 0x7822001D, // 0381 JMPF R8 #03A0 + 0x8C200B11, // 0382 GETMET R8 R5 K17 + 0x7C200200, // 0383 CALL R8 1 + 0x88240136, // 0384 GETMBR R9 R0 K54 + 0x8C24135B, // 0385 GETMET R9 R9 K91 + 0x502C0200, // 0386 LDBOOL R11 1 0 + 0x7C240400, // 0387 CALL R9 2 + 0x88280136, // 0388 GETMBR R10 R0 K54 + 0x8828155C, // 0389 GETMBR R10 R10 K92 + 0x602C0010, // 038A GETGBL R11 G16 + 0x5C301200, // 038B MOVE R12 R9 + 0x7C2C0200, // 038C CALL R11 1 + 0xA802000D, // 038D EXBLK 0 #039C + 0x5C301600, // 038E MOVE R12 R11 + 0x7C300000, // 038F CALL R12 0 + 0x5C341400, // 0390 MOVE R13 R10 + 0x78360003, // 0391 JMPF R13 #0396 + 0xB8360200, // 0392 GETNGBL R13 K1 + 0x88341B3D, // 0393 GETMBR R13 R13 K61 + 0x2034180D, // 0394 NE R13 R12 R13 + 0x78360004, // 0395 JMPF R13 #039B + 0x8C34110B, // 0396 GETMET R13 R8 K11 + 0x4C3C0000, // 0397 LDNIL R15 + 0x88400B0C, // 0398 GETMBR R16 R5 K12 + 0x5C441800, // 0399 MOVE R17 R12 + 0x7C340800, // 039A CALL R13 4 + 0x7001FFF1, // 039B JMP #038E + 0x582C003F, // 039C LDCONST R11 K63 + 0xAC2C0200, // 039D CATCH R11 1 0 + 0xB0080000, // 039E RAISE 2 R0 R0 + 0x80041000, // 039F RET 1 R8 + 0x60200003, // 03A0 GETGBL R8 G3 + 0x5C240000, // 03A1 MOVE R9 R0 + 0x7C200200, // 03A2 CALL R8 1 + 0x8C20115D, // 03A3 GETMET R8 R8 K93 + 0x5C280200, // 03A4 MOVE R10 R1 + 0x5C2C0400, // 03A5 MOVE R11 R2 + 0x5C300600, // 03A6 MOVE R12 R3 + 0x7C200800, // 03A7 CALL R8 4 0x80041000, // 03A8 RET 1 R8 - 0x70020008, // 03A9 JMP #03B3 - 0x60200003, // 03AA GETGBL R8 G3 - 0x5C240000, // 03AB MOVE R9 R0 - 0x7C200200, // 03AC CALL R8 1 - 0x8C20115D, // 03AD GETMET R8 R8 K93 - 0x5C280200, // 03AE MOVE R10 R1 - 0x5C2C0400, // 03AF MOVE R11 R2 - 0x5C300600, // 03B0 MOVE R12 R3 - 0x7C200800, // 03B1 CALL R8 4 - 0x80041000, // 03B2 RET 1 R8 - 0x70020008, // 03B3 JMP #03BD - 0x60200003, // 03B4 GETGBL R8 G3 - 0x5C240000, // 03B5 MOVE R9 R0 - 0x7C200200, // 03B6 CALL R8 1 - 0x8C20115D, // 03B7 GETMET R8 R8 K93 - 0x5C280200, // 03B8 MOVE R10 R1 - 0x5C2C0400, // 03B9 MOVE R11 R2 - 0x5C300600, // 03BA MOVE R12 R3 - 0x7C200800, // 03BB CALL R8 4 - 0x80041000, // 03BC RET 1 R8 - 0x80000000, // 03BD RET 0 }) ) ); @@ -2141,50 +2120,84 @@ be_local_class(Matter_Plugin_Root, be_const_map( * be_nested_map(14, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(56, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(7), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(44, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(31, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(2), be_const_int(3), be_const_int(4), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(60, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(63, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(0, + be_const_list( * be_nested_list(6, ( (struct bvalue*) &(const bvalue[]) { + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(62, 13), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -2192,38 +2205,73 @@ be_local_class(Matter_Plugin_Root, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(49, 5), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(4), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(50, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(0, + be_const_list( * be_nested_list(6, ( (struct bvalue*) &(const bvalue[]) { + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(51, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(8), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(52, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(0, + be_const_list( * be_nested_list(6, ( (struct bvalue*) &(const bvalue[]) { + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(43, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(2, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(40, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(15, + be_const_list( * be_nested_list(21, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -2240,15 +2288,27 @@ be_local_class(Matter_Plugin_Root, be_const_int(17), be_const_int(18), be_const_int(19), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(48, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(11, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), be_const_int(4), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, })) ) } )) }, })), diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h index 418f03eae..01c1452de 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Bridge_HTTP.h @@ -596,14 +596,14 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */ }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[115]) { /* code */ + ( &(const binstruction[103]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0038, // 0004 LDINT R7 57 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0061, // 0006 JMPF R7 #0069 + 0x781E0056, // 0006 JMPF R7 #005E 0xA41E0800, // 0007 IMPORT R7 K4 0x1C200D05, // 0008 EQ R8 R6 K5 0x78220012, // 0009 JMPF R8 #001D @@ -625,7 +625,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */ 0x4C300000, // 0019 LDNIL R12 0x7C240600, // 001A CALL R9 3 0x80041200, // 001B RET 1 R9 - 0x7002004A, // 001C JMP #0068 + 0x70020040, // 001C JMP #005E 0x54220009, // 001D LDINT R8 10 0x1C200C08, // 001E EQ R8 R6 R8 0x7822001B, // 001F JMPF R8 #003C @@ -656,7 +656,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */ 0x4C300000, // 0038 LDNIL R12 0x7C240600, // 0039 CALL R9 3 0x80041200, // 003A RET 1 R9 - 0x7002002B, // 003B JMP #0068 + 0x70020021, // 003B JMP #005E 0x5422000E, // 003C LDINT R8 15 0x1C200C08, // 003D EQ R8 R6 R8 0x74220002, // 003E JMPT R8 #0042 @@ -681,37 +681,25 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */ 0x4C300000, // 0051 LDNIL R12 0x7C240600, // 0052 CALL R9 3 0x80041200, // 0053 RET 1 R9 - 0x70020012, // 0054 JMP #0068 + 0x70020008, // 0054 JMP #005E 0x54220010, // 0055 LDINT R8 17 0x1C200C08, // 0056 EQ R8 R6 R8 - 0x78220006, // 0057 JMPF R8 #005F + 0x78220005, // 0057 JMPF R8 #005E 0x8C20070A, // 0058 GETMET R8 R3 K10 0x88280912, // 0059 GETMBR R10 R4 K18 0x882C0106, // 005A GETMBR R11 R0 K6 0x882C1713, // 005B GETMBR R11 R11 K19 0x7C200600, // 005C CALL R8 3 0x80041000, // 005D RET 1 R8 - 0x70020008, // 005E JMP #0068 - 0x60200003, // 005F GETGBL R8 G3 - 0x5C240000, // 0060 MOVE R9 R0 - 0x7C200200, // 0061 CALL R8 1 - 0x8C201114, // 0062 GETMET R8 R8 K20 - 0x5C280200, // 0063 MOVE R10 R1 - 0x5C2C0400, // 0064 MOVE R11 R2 - 0x5C300600, // 0065 MOVE R12 R3 - 0x7C200800, // 0066 CALL R8 4 - 0x80041000, // 0067 RET 1 R8 - 0x70020008, // 0068 JMP #0072 - 0x601C0003, // 0069 GETGBL R7 G3 - 0x5C200000, // 006A MOVE R8 R0 - 0x7C1C0200, // 006B CALL R7 1 - 0x8C1C0F14, // 006C GETMET R7 R7 K20 - 0x5C240200, // 006D MOVE R9 R1 - 0x5C280400, // 006E MOVE R10 R2 - 0x5C2C0600, // 006F MOVE R11 R3 - 0x7C1C0800, // 0070 CALL R7 4 - 0x80040E00, // 0071 RET 1 R7 - 0x80000000, // 0072 RET 0 + 0x601C0003, // 005E GETGBL R7 G3 + 0x5C200000, // 005F MOVE R8 R0 + 0x7C1C0200, // 0060 CALL R7 1 + 0x8C1C0F14, // 0061 GETMET R7 R7 K20 + 0x5C240200, // 0062 MOVE R9 R1 + 0x5C280400, // 0063 MOVE R10 R2 + 0x5C2C0600, // 0064 MOVE R11 R3 + 0x7C1C0800, // 0065 CALL R7 4 + 0x80040E00, // 0066 RET 1 R7 }) ) ); diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light1.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light1.h index cdbd20304..eb7e8a61b 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light1.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Light1.h @@ -474,7 +474,7 @@ be_local_closure(Matter_Plugin_Light1_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[16]) { /* constants */ + ( &(const bvalue[14]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -484,127 +484,87 @@ be_local_closure(Matter_Plugin_Light1_read_attribute, /* name */ /* K6 */ be_nested_str_weak(set), /* K7 */ be_nested_str_weak(BOOL), /* K8 */ be_nested_str_weak(shadow_onoff), - /* K9 */ be_nested_str_weak(U4), - /* K10 */ be_nested_str_weak(U1), - /* K11 */ be_nested_str_weak(shadow_bri), - /* K12 */ be_const_int(2), - /* K13 */ be_const_int(3), - /* K14 */ be_const_int(1), - /* K15 */ be_nested_str_weak(read_attribute), + /* K9 */ be_nested_str_weak(U1), + /* K10 */ be_nested_str_weak(shadow_bri), + /* K11 */ be_const_int(2), + /* K12 */ be_const_int(3), + /* K13 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[110]) { /* code */ + ( &(const binstruction[72]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0005, // 0004 LDINT R7 6 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E001B, // 0006 JMPF R7 #0023 + 0x781E0009, // 0006 JMPF R7 #0011 0x8C1C0104, // 0007 GETMET R7 R0 K4 0x7C1C0200, // 0008 CALL R7 1 0x1C1C0D05, // 0009 EQ R7 R6 K5 - 0x781E0005, // 000A JMPF R7 #0011 + 0x781E0004, // 000A JMPF R7 #0010 0x8C1C0706, // 000B GETMET R7 R3 K6 0x88240907, // 000C GETMBR R9 R4 K7 0x88280108, // 000D GETMBR R10 R0 K8 0x7C1C0600, // 000E CALL R7 3 0x80040E00, // 000F RET 1 R7 - 0x70020010, // 0010 JMP #0022 - 0x541EFFFB, // 0011 LDINT R7 65532 - 0x1C1C0C07, // 0012 EQ R7 R6 R7 - 0x781E0005, // 0013 JMPF R7 #001A - 0x8C1C0706, // 0014 GETMET R7 R3 K6 - 0x88240909, // 0015 GETMBR R9 R4 K9 - 0x58280005, // 0016 LDCONST R10 K5 - 0x7C1C0600, // 0017 CALL R7 3 - 0x80040E00, // 0018 RET 1 R7 - 0x70020007, // 0019 JMP #0022 - 0x541EFFFC, // 001A LDINT R7 65533 - 0x1C1C0C07, // 001B EQ R7 R6 R7 - 0x781E0004, // 001C JMPF R7 #0022 - 0x8C1C0706, // 001D GETMET R7 R3 K6 - 0x88240909, // 001E GETMBR R9 R4 K9 - 0x542A0003, // 001F LDINT R10 4 - 0x7C1C0600, // 0020 CALL R7 3 - 0x80040E00, // 0021 RET 1 R7 - 0x70020049, // 0022 JMP #006D - 0x541E0007, // 0023 LDINT R7 8 - 0x1C1C0A07, // 0024 EQ R7 R5 R7 - 0x781E003D, // 0025 JMPF R7 #0064 - 0x8C1C0104, // 0026 GETMET R7 R0 K4 - 0x7C1C0200, // 0027 CALL R7 1 - 0x1C1C0D05, // 0028 EQ R7 R6 K5 - 0x781E0005, // 0029 JMPF R7 #0030 - 0x8C1C0706, // 002A GETMET R7 R3 K6 - 0x8824090A, // 002B GETMBR R9 R4 K10 - 0x8828010B, // 002C GETMBR R10 R0 K11 - 0x7C1C0600, // 002D CALL R7 3 - 0x80040E00, // 002E RET 1 R7 - 0x70020032, // 002F JMP #0063 - 0x1C1C0D0C, // 0030 EQ R7 R6 K12 - 0x781E0005, // 0031 JMPF R7 #0038 - 0x8C1C0706, // 0032 GETMET R7 R3 K6 - 0x8824090A, // 0033 GETMBR R9 R4 K10 - 0x58280005, // 0034 LDCONST R10 K5 - 0x7C1C0600, // 0035 CALL R7 3 - 0x80040E00, // 0036 RET 1 R7 - 0x7002002A, // 0037 JMP #0063 - 0x1C1C0D0D, // 0038 EQ R7 R6 K13 - 0x781E0005, // 0039 JMPF R7 #0040 + 0x7002002D, // 0010 JMP #003F + 0x541E0007, // 0011 LDINT R7 8 + 0x1C1C0A07, // 0012 EQ R7 R5 R7 + 0x781E002A, // 0013 JMPF R7 #003F + 0x8C1C0104, // 0014 GETMET R7 R0 K4 + 0x7C1C0200, // 0015 CALL R7 1 + 0x1C1C0D05, // 0016 EQ R7 R6 K5 + 0x781E0005, // 0017 JMPF R7 #001E + 0x8C1C0706, // 0018 GETMET R7 R3 K6 + 0x88240909, // 0019 GETMBR R9 R4 K9 + 0x8828010A, // 001A GETMBR R10 R0 K10 + 0x7C1C0600, // 001B CALL R7 3 + 0x80040E00, // 001C RET 1 R7 + 0x70020020, // 001D JMP #003F + 0x1C1C0D0B, // 001E EQ R7 R6 K11 + 0x781E0005, // 001F JMPF R7 #0026 + 0x8C1C0706, // 0020 GETMET R7 R3 K6 + 0x88240909, // 0021 GETMBR R9 R4 K9 + 0x58280005, // 0022 LDCONST R10 K5 + 0x7C1C0600, // 0023 CALL R7 3 + 0x80040E00, // 0024 RET 1 R7 + 0x70020018, // 0025 JMP #003F + 0x1C1C0D0C, // 0026 EQ R7 R6 K12 + 0x781E0005, // 0027 JMPF R7 #002E + 0x8C1C0706, // 0028 GETMET R7 R3 K6 + 0x88240909, // 0029 GETMBR R9 R4 K9 + 0x542A00FD, // 002A LDINT R10 254 + 0x7C1C0600, // 002B CALL R7 3 + 0x80040E00, // 002C RET 1 R7 + 0x70020010, // 002D JMP #003F + 0x541E000E, // 002E LDINT R7 15 + 0x1C1C0C07, // 002F EQ R7 R6 R7 + 0x781E0005, // 0030 JMPF R7 #0037 + 0x8C1C0706, // 0031 GETMET R7 R3 K6 + 0x88240909, // 0032 GETMBR R9 R4 K9 + 0x58280005, // 0033 LDCONST R10 K5 + 0x7C1C0600, // 0034 CALL R7 3 + 0x80040E00, // 0035 RET 1 R7 + 0x70020007, // 0036 JMP #003F + 0x541E0010, // 0037 LDINT R7 17 + 0x1C1C0C07, // 0038 EQ R7 R6 R7 + 0x781E0004, // 0039 JMPF R7 #003F 0x8C1C0706, // 003A GETMET R7 R3 K6 - 0x8824090A, // 003B GETMBR R9 R4 K10 - 0x542A00FD, // 003C LDINT R10 254 + 0x88240909, // 003B GETMBR R9 R4 K9 + 0x8828010A, // 003C GETMBR R10 R0 K10 0x7C1C0600, // 003D CALL R7 3 0x80040E00, // 003E RET 1 R7 - 0x70020022, // 003F JMP #0063 - 0x541E000E, // 0040 LDINT R7 15 - 0x1C1C0C07, // 0041 EQ R7 R6 R7 - 0x781E0005, // 0042 JMPF R7 #0049 - 0x8C1C0706, // 0043 GETMET R7 R3 K6 - 0x8824090A, // 0044 GETMBR R9 R4 K10 - 0x58280005, // 0045 LDCONST R10 K5 - 0x7C1C0600, // 0046 CALL R7 3 + 0x601C0003, // 003F GETGBL R7 G3 + 0x5C200000, // 0040 MOVE R8 R0 + 0x7C1C0200, // 0041 CALL R7 1 + 0x8C1C0F0D, // 0042 GETMET R7 R7 K13 + 0x5C240200, // 0043 MOVE R9 R1 + 0x5C280400, // 0044 MOVE R10 R2 + 0x5C2C0600, // 0045 MOVE R11 R3 + 0x7C1C0800, // 0046 CALL R7 4 0x80040E00, // 0047 RET 1 R7 - 0x70020019, // 0048 JMP #0063 - 0x541E0010, // 0049 LDINT R7 17 - 0x1C1C0C07, // 004A EQ R7 R6 R7 - 0x781E0005, // 004B JMPF R7 #0052 - 0x8C1C0706, // 004C GETMET R7 R3 K6 - 0x8824090A, // 004D GETMBR R9 R4 K10 - 0x8828010B, // 004E GETMBR R10 R0 K11 - 0x7C1C0600, // 004F CALL R7 3 - 0x80040E00, // 0050 RET 1 R7 - 0x70020010, // 0051 JMP #0063 - 0x541EFFFB, // 0052 LDINT R7 65532 - 0x1C1C0C07, // 0053 EQ R7 R6 R7 - 0x781E0005, // 0054 JMPF R7 #005B - 0x8C1C0706, // 0055 GETMET R7 R3 K6 - 0x88240909, // 0056 GETMBR R9 R4 K9 - 0x5828000E, // 0057 LDCONST R10 K14 - 0x7C1C0600, // 0058 CALL R7 3 - 0x80040E00, // 0059 RET 1 R7 - 0x70020007, // 005A JMP #0063 - 0x541EFFFC, // 005B LDINT R7 65533 - 0x1C1C0C07, // 005C EQ R7 R6 R7 - 0x781E0004, // 005D JMPF R7 #0063 - 0x8C1C0706, // 005E GETMET R7 R3 K6 - 0x88240909, // 005F GETMBR R9 R4 K9 - 0x542A0004, // 0060 LDINT R10 5 - 0x7C1C0600, // 0061 CALL R7 3 - 0x80040E00, // 0062 RET 1 R7 - 0x70020008, // 0063 JMP #006D - 0x601C0003, // 0064 GETGBL R7 G3 - 0x5C200000, // 0065 MOVE R8 R0 - 0x7C1C0200, // 0066 CALL R7 1 - 0x8C1C0F0F, // 0067 GETMET R7 R7 K15 - 0x5C240200, // 0068 MOVE R9 R1 - 0x5C280400, // 0069 MOVE R10 R2 - 0x5C2C0600, // 006A MOVE R11 R3 - 0x7C1C0800, // 006B CALL R7 4 - 0x80040E00, // 006C RET 1 R7 - 0x80000000, // 006D RET 0 }) ) ); @@ -740,28 +700,36 @@ be_local_class(Matter_Plugin_Light1, be_const_map( * be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(29, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(8, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(7, + be_const_list( * be_nested_list(11, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(2), be_const_int(3), be_const_int(15), be_const_int(17), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -769,24 +737,38 @@ be_local_class(Matter_Plugin_Light1, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -794,13 +776,21 @@ be_local_class(Matter_Plugin_Light1, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h index 79973bcd2..968917d0b 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_OnOff.h @@ -107,7 +107,7 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[11]) { /* constants */ + ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -117,57 +117,36 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */ /* K6 */ be_nested_str_weak(set), /* K7 */ be_nested_str_weak(BOOL), /* K8 */ be_nested_str_weak(shadow_onoff), - /* K9 */ be_nested_str_weak(U4), - /* K10 */ be_nested_str_weak(read_attribute), + /* K9 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[45]) { /* code */ + ( &(const binstruction[25]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0005, // 0004 LDINT R7 6 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E001B, // 0006 JMPF R7 #0023 + 0x781E0008, // 0006 JMPF R7 #0010 0x8C1C0104, // 0007 GETMET R7 R0 K4 0x7C1C0200, // 0008 CALL R7 1 0x1C1C0D05, // 0009 EQ R7 R6 K5 - 0x781E0005, // 000A JMPF R7 #0011 + 0x781E0004, // 000A JMPF R7 #0010 0x8C1C0706, // 000B GETMET R7 R3 K6 0x88240907, // 000C GETMBR R9 R4 K7 0x88280108, // 000D GETMBR R10 R0 K8 0x7C1C0600, // 000E CALL R7 3 0x80040E00, // 000F RET 1 R7 - 0x70020010, // 0010 JMP #0022 - 0x541EFFFB, // 0011 LDINT R7 65532 - 0x1C1C0C07, // 0012 EQ R7 R6 R7 - 0x781E0005, // 0013 JMPF R7 #001A - 0x8C1C0706, // 0014 GETMET R7 R3 K6 - 0x88240909, // 0015 GETMBR R9 R4 K9 - 0x58280005, // 0016 LDCONST R10 K5 - 0x7C1C0600, // 0017 CALL R7 3 + 0x601C0003, // 0010 GETGBL R7 G3 + 0x5C200000, // 0011 MOVE R8 R0 + 0x7C1C0200, // 0012 CALL R7 1 + 0x8C1C0F09, // 0013 GETMET R7 R7 K9 + 0x5C240200, // 0014 MOVE R9 R1 + 0x5C280400, // 0015 MOVE R10 R2 + 0x5C2C0600, // 0016 MOVE R11 R3 + 0x7C1C0800, // 0017 CALL R7 4 0x80040E00, // 0018 RET 1 R7 - 0x70020007, // 0019 JMP #0022 - 0x541EFFFC, // 001A LDINT R7 65533 - 0x1C1C0C07, // 001B EQ R7 R6 R7 - 0x781E0004, // 001C JMPF R7 #0022 - 0x8C1C0706, // 001D GETMET R7 R3 K6 - 0x88240909, // 001E GETMBR R9 R4 K9 - 0x542A0003, // 001F LDINT R10 4 - 0x7C1C0600, // 0020 CALL R7 3 - 0x80040E00, // 0021 RET 1 R7 - 0x70020008, // 0022 JMP #002C - 0x601C0003, // 0023 GETGBL R7 G3 - 0x5C200000, // 0024 MOVE R8 R0 - 0x7C1C0200, // 0025 CALL R7 1 - 0x8C1C0F0A, // 0026 GETMET R7 R7 K10 - 0x5C240200, // 0027 MOVE R9 R1 - 0x5C280400, // 0028 MOVE R10 R2 - 0x5C2C0600, // 0029 MOVE R11 R3 - 0x7C1C0800, // 002A CALL R7 4 - 0x80040E00, // 002B RET 1 R7 - 0x80000000, // 002C RET 0 }) ) ); @@ -465,14 +444,18 @@ be_local_class(Matter_Plugin_OnOff, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -480,11 +463,15 @@ be_local_class(Matter_Plugin_OnOff, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -492,29 +479,47 @@ be_local_class(Matter_Plugin_OnOff, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Contact.h index dc4bd4205..8900284a9 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Contact.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Contact.h @@ -205,7 +205,7 @@ be_local_closure(Matter_Plugin_Sensor_Contact_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[12]) { /* constants */ + ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -215,22 +215,20 @@ be_local_closure(Matter_Plugin_Sensor_Contact_read_attribute, /* name */ /* K6 */ be_nested_str_weak(set), /* K7 */ be_nested_str_weak(BOOL), /* K8 */ be_nested_str_weak(NULL), - /* K9 */ be_nested_str_weak(U4), - /* K10 */ be_const_int(1), - /* K11 */ be_nested_str_weak(read_attribute), + /* K9 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[53]) { /* code */ + ( &(const binstruction[33]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0044, // 0004 LDINT R7 69 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0023, // 0006 JMPF R7 #002B + 0x781E0010, // 0006 JMPF R7 #0018 0x1C1C0D04, // 0007 EQ R7 R6 K4 - 0x781E000F, // 0008 JMPF R7 #0019 + 0x781E000E, // 0008 JMPF R7 #0018 0x881C0105, // 0009 GETMBR R7 R0 K5 0x4C200000, // 000A LDNIL R8 0x201C0E08, // 000B NE R7 R7 R8 @@ -246,35 +244,15 @@ be_local_closure(Matter_Plugin_Sensor_Contact_read_attribute, /* name */ 0x4C280000, // 0015 LDNIL R10 0x7C1C0600, // 0016 CALL R7 3 0x80040E00, // 0017 RET 1 R7 - 0x70020010, // 0018 JMP #002A - 0x541EFFFB, // 0019 LDINT R7 65532 - 0x1C1C0C07, // 001A EQ R7 R6 R7 - 0x781E0005, // 001B JMPF R7 #0022 - 0x8C1C0706, // 001C GETMET R7 R3 K6 - 0x88240909, // 001D GETMBR R9 R4 K9 - 0x58280004, // 001E LDCONST R10 K4 - 0x7C1C0600, // 001F CALL R7 3 + 0x601C0003, // 0018 GETGBL R7 G3 + 0x5C200000, // 0019 MOVE R8 R0 + 0x7C1C0200, // 001A CALL R7 1 + 0x8C1C0F09, // 001B GETMET R7 R7 K9 + 0x5C240200, // 001C MOVE R9 R1 + 0x5C280400, // 001D MOVE R10 R2 + 0x5C2C0600, // 001E MOVE R11 R3 + 0x7C1C0800, // 001F CALL R7 4 0x80040E00, // 0020 RET 1 R7 - 0x70020007, // 0021 JMP #002A - 0x541EFFFC, // 0022 LDINT R7 65533 - 0x1C1C0C07, // 0023 EQ R7 R6 R7 - 0x781E0004, // 0024 JMPF R7 #002A - 0x8C1C0706, // 0025 GETMET R7 R3 K6 - 0x88240909, // 0026 GETMBR R9 R4 K9 - 0x5828000A, // 0027 LDCONST R10 K10 - 0x7C1C0600, // 0028 CALL R7 3 - 0x80040E00, // 0029 RET 1 R7 - 0x70020008, // 002A JMP #0034 - 0x601C0003, // 002B GETGBL R7 G3 - 0x5C200000, // 002C MOVE R8 R0 - 0x7C1C0200, // 002D CALL R7 1 - 0x8C1C0F0B, // 002E GETMET R7 R7 K11 - 0x5C240200, // 002F MOVE R9 R1 - 0x5C280400, // 0030 MOVE R10 R2 - 0x5C2C0600, // 0031 MOVE R11 R3 - 0x7C1C0800, // 0032 CALL R7 4 - 0x80040E00, // 0033 RET 1 R7 - 0x80000000, // 0034 RET 0 }) ) ); @@ -369,7 +347,7 @@ be_local_class(Matter_Plugin_Sensor_Contact, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -377,19 +355,27 @@ be_local_class(Matter_Plugin_Sensor_Contact, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -397,28 +383,46 @@ be_local_class(Matter_Plugin_Sensor_Contact, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(69, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Occupancy.h index a26bb32ad..a423b4a6f 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Occupancy.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_Occupancy.h @@ -260,7 +260,7 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -273,19 +273,18 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */ /* K9 */ be_const_int(1), /* K10 */ be_const_int(3), /* K11 */ be_const_int(2), - /* K12 */ be_nested_str_weak(U4), - /* K13 */ be_nested_str_weak(read_attribute), + /* K12 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[69]) { /* code */ + ( &(const binstruction[49]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0405, // 0004 LDINT R7 1030 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0033, // 0006 JMPF R7 #003B + 0x781E0020, // 0006 JMPF R7 #0028 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E000F, // 0008 JMPF R7 #0019 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -303,7 +302,7 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */ 0x4C280000, // 0015 LDNIL R10 0x7C1C0600, // 0016 CALL R7 3 0x80040E00, // 0017 RET 1 R7 - 0x70020020, // 0018 JMP #003A + 0x7002000E, // 0018 JMP #0028 0x1C1C0D09, // 0019 EQ R7 R6 K9 0x781E0005, // 001A JMPF R7 #0021 0x8C1C0706, // 001B GETMET R7 R3 K6 @@ -311,43 +310,23 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */ 0x5828000A, // 001D LDCONST R10 K10 0x7C1C0600, // 001E CALL R7 3 0x80040E00, // 001F RET 1 R7 - 0x70020018, // 0020 JMP #003A + 0x70020006, // 0020 JMP #0028 0x1C1C0D0B, // 0021 EQ R7 R6 K11 - 0x781E0005, // 0022 JMPF R7 #0029 + 0x781E0004, // 0022 JMPF R7 #0028 0x8C1C0706, // 0023 GETMET R7 R3 K6 0x88240907, // 0024 GETMBR R9 R4 K7 0x58280004, // 0025 LDCONST R10 K4 0x7C1C0600, // 0026 CALL R7 3 0x80040E00, // 0027 RET 1 R7 - 0x70020010, // 0028 JMP #003A - 0x541EFFFB, // 0029 LDINT R7 65532 - 0x1C1C0C07, // 002A EQ R7 R6 R7 - 0x781E0005, // 002B JMPF R7 #0032 - 0x8C1C0706, // 002C GETMET R7 R3 K6 - 0x8824090C, // 002D GETMBR R9 R4 K12 - 0x58280004, // 002E LDCONST R10 K4 - 0x7C1C0600, // 002F CALL R7 3 + 0x601C0003, // 0028 GETGBL R7 G3 + 0x5C200000, // 0029 MOVE R8 R0 + 0x7C1C0200, // 002A CALL R7 1 + 0x8C1C0F0C, // 002B GETMET R7 R7 K12 + 0x5C240200, // 002C MOVE R9 R1 + 0x5C280400, // 002D MOVE R10 R2 + 0x5C2C0600, // 002E MOVE R11 R3 + 0x7C1C0800, // 002F CALL R7 4 0x80040E00, // 0030 RET 1 R7 - 0x70020007, // 0031 JMP #003A - 0x541EFFFC, // 0032 LDINT R7 65533 - 0x1C1C0C07, // 0033 EQ R7 R6 R7 - 0x781E0004, // 0034 JMPF R7 #003A - 0x8C1C0706, // 0035 GETMET R7 R3 K6 - 0x8824090C, // 0036 GETMBR R9 R4 K12 - 0x5828000A, // 0037 LDCONST R10 K10 - 0x7C1C0600, // 0038 CALL R7 3 - 0x80040E00, // 0039 RET 1 R7 - 0x70020008, // 003A JMP #0044 - 0x601C0003, // 003B GETGBL R7 G3 - 0x5C200000, // 003C MOVE R8 R0 - 0x7C1C0200, // 003D CALL R7 1 - 0x8C1C0F0D, // 003E GETMET R7 R7 K13 - 0x5C240200, // 003F MOVE R9 R1 - 0x5C280400, // 0040 MOVE R10 R2 - 0x5C2C0600, // 0041 MOVE R11 R3 - 0x7C1C0800, // 0042 CALL R7 4 - 0x80040E00, // 0043 RET 1 R7 - 0x80000000, // 0044 RET 0 }) ) ); @@ -376,7 +355,7 @@ be_local_class(Matter_Plugin_Sensor_Occupancy, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -384,18 +363,26 @@ be_local_class(Matter_Plugin_Sensor_Occupancy, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -403,31 +390,49 @@ be_local_class(Matter_Plugin_Sensor_Occupancy, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(1030, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_OnOff.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_OnOff.h index 3bc3d3148..8f8f8c192 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_OnOff.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Sensor_OnOff.h @@ -168,7 +168,7 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[11]) { /* constants */ + ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -178,57 +178,36 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_read_attribute, /* name */ /* K6 */ be_nested_str_weak(set), /* K7 */ be_nested_str_weak(BOOL), /* K8 */ be_nested_str_weak(shadow_onoff), - /* K9 */ be_nested_str_weak(U4), - /* K10 */ be_nested_str_weak(read_attribute), + /* K9 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[45]) { /* code */ + ( &(const binstruction[25]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0005, // 0004 LDINT R7 6 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E001B, // 0006 JMPF R7 #0023 + 0x781E0008, // 0006 JMPF R7 #0010 0x8C1C0104, // 0007 GETMET R7 R0 K4 0x7C1C0200, // 0008 CALL R7 1 0x1C1C0D05, // 0009 EQ R7 R6 K5 - 0x781E0005, // 000A JMPF R7 #0011 + 0x781E0004, // 000A JMPF R7 #0010 0x8C1C0706, // 000B GETMET R7 R3 K6 0x88240907, // 000C GETMBR R9 R4 K7 0x88280108, // 000D GETMBR R10 R0 K8 0x7C1C0600, // 000E CALL R7 3 0x80040E00, // 000F RET 1 R7 - 0x70020010, // 0010 JMP #0022 - 0x541EFFFB, // 0011 LDINT R7 65532 - 0x1C1C0C07, // 0012 EQ R7 R6 R7 - 0x781E0005, // 0013 JMPF R7 #001A - 0x8C1C0706, // 0014 GETMET R7 R3 K6 - 0x88240909, // 0015 GETMBR R9 R4 K9 - 0x58280005, // 0016 LDCONST R10 K5 - 0x7C1C0600, // 0017 CALL R7 3 + 0x601C0003, // 0010 GETGBL R7 G3 + 0x5C200000, // 0011 MOVE R8 R0 + 0x7C1C0200, // 0012 CALL R7 1 + 0x8C1C0F09, // 0013 GETMET R7 R7 K9 + 0x5C240200, // 0014 MOVE R9 R1 + 0x5C280400, // 0015 MOVE R10 R2 + 0x5C2C0600, // 0016 MOVE R11 R3 + 0x7C1C0800, // 0017 CALL R7 4 0x80040E00, // 0018 RET 1 R7 - 0x70020007, // 0019 JMP #0022 - 0x541EFFFC, // 001A LDINT R7 65533 - 0x1C1C0C07, // 001B EQ R7 R6 R7 - 0x781E0004, // 001C JMPF R7 #0022 - 0x8C1C0706, // 001D GETMET R7 R3 K6 - 0x88240909, // 001E GETMBR R9 R4 K9 - 0x542A0003, // 001F LDINT R10 4 - 0x7C1C0600, // 0020 CALL R7 3 - 0x80040E00, // 0021 RET 1 R7 - 0x70020008, // 0022 JMP #002C - 0x601C0003, // 0023 GETGBL R7 G3 - 0x5C200000, // 0024 MOVE R8 R0 - 0x7C1C0200, // 0025 CALL R7 1 - 0x8C1C0F0A, // 0026 GETMET R7 R7 K10 - 0x5C240200, // 0027 MOVE R9 R1 - 0x5C280400, // 0028 MOVE R10 R2 - 0x5C2C0600, // 0029 MOVE R11 R3 - 0x7C1C0800, // 002A CALL R7 4 - 0x80040E00, // 002B RET 1 R7 - 0x80000000, // 002C RET 0 }) ) ); @@ -281,14 +260,18 @@ be_local_class(Matter_Plugin_Sensor_OnOff, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -296,11 +279,15 @@ be_local_class(Matter_Plugin_Sensor_OnOff, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -308,29 +295,47 @@ be_local_class(Matter_Plugin_Sensor_OnOff, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h index b8d03111b..eb73d03f8 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_2_Shutter.h @@ -224,7 +224,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[18]) { /* constants */ + ( &(const bvalue[17]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -241,12 +241,11 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ /* K13 */ be_nested_str_weak(shadow_shutter_direction), /* K14 */ be_const_int(2), /* K15 */ be_nested_str_weak(shadow_shutter_target), - /* K16 */ be_nested_str_weak(U4), - /* K17 */ be_nested_str_weak(read_attribute), + /* K16 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[152]) { /* code */ + ( &(const binstruction[131]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 @@ -254,7 +253,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0x4C1C0000, // 0004 LDNIL R7 0x54220101, // 0005 LDINT R8 258 0x1C200A08, // 0006 EQ R8 R5 R8 - 0x78220085, // 0007 JMPF R8 #008E + 0x78220071, // 0007 JMPF R8 #007A 0x8C200104, // 0008 GETMET R8 R0 K4 0x7C200200, // 0009 CALL R8 1 0x8C200105, // 000A GETMET R8 R0 K5 @@ -266,7 +265,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0x542E00FE, // 0010 LDINT R11 255 0x7C200600, // 0011 CALL R8 3 0x80041000, // 0012 RET 1 R8 - 0x70020078, // 0013 JMP #008D + 0x70020065, // 0013 JMP #007A 0x54220004, // 0014 LDINT R8 5 0x1C200C08, // 0015 EQ R8 R6 R8 0x78220005, // 0016 JMPF R8 #001D @@ -275,7 +274,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0x582C0006, // 0019 LDCONST R11 K6 0x7C200600, // 001A CALL R8 3 0x80041000, // 001B RET 1 R8 - 0x7002006F, // 001C JMP #008D + 0x7002005C, // 001C JMP #007A 0x54220006, // 001D LDINT R8 7 0x1C200C08, // 001E EQ R8 R6 R8 0x78220006, // 001F JMPF R8 #0027 @@ -285,7 +284,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0x002E140B, // 0023 ADD R11 K10 R11 0x7C200600, // 0024 CALL R8 3 0x80041000, // 0025 RET 1 R8 - 0x70020065, // 0026 JMP #008D + 0x70020052, // 0026 JMP #007A 0x5422000C, // 0027 LDINT R8 13 0x1C200C08, // 0028 EQ R8 R6 R8 0x78220005, // 0029 JMPF R8 #0030 @@ -294,7 +293,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0x542E00FE, // 002C LDINT R11 255 0x7C200600, // 002D CALL R8 3 0x80041000, // 002E RET 1 R8 - 0x7002005C, // 002F JMP #008D + 0x70020049, // 002F JMP #007A 0x5422000D, // 0030 LDINT R8 14 0x1C200C08, // 0031 EQ R8 R6 R8 0x78220013, // 0032 JMPF R8 #0047 @@ -317,7 +316,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0x5C2C0E00, // 0043 MOVE R11 R7 0x7C200600, // 0044 CALL R8 3 0x80041000, // 0045 RET 1 R8 - 0x70020045, // 0046 JMP #008D + 0x70020032, // 0046 JMP #007A 0x54220009, // 0047 LDINT R8 10 0x1C200C08, // 0048 EQ R8 R6 R8 0x78220010, // 0049 JMPF R8 #005B @@ -337,7 +336,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0x5C301000, // 0057 MOVE R12 R8 0x7C240600, // 0058 CALL R9 3 0x80041200, // 0059 RET 1 R9 - 0x70020031, // 005A JMP #008D + 0x7002001E, // 005A JMP #007A 0x5422000A, // 005B LDINT R8 11 0x1C200C08, // 005C EQ R8 R6 R8 0x78220013, // 005D JMPF R8 #0072 @@ -360,45 +359,24 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */ 0x5C2C0E00, // 006E MOVE R11 R7 0x7C200600, // 006F CALL R8 3 0x80041000, // 0070 RET 1 R8 - 0x7002001A, // 0071 JMP #008D + 0x70020007, // 0071 JMP #007A 0x54220016, // 0072 LDINT R8 23 0x1C200C08, // 0073 EQ R8 R6 R8 - 0x78220005, // 0074 JMPF R8 #007B + 0x78220004, // 0074 JMPF R8 #007A 0x8C200707, // 0075 GETMET R8 R3 K7 0x88280908, // 0076 GETMBR R10 R4 K8 0x582C0006, // 0077 LDCONST R11 K6 0x7C200600, // 0078 CALL R8 3 0x80041000, // 0079 RET 1 R8 - 0x70020011, // 007A JMP #008D - 0x5422FFFB, // 007B LDINT R8 65532 - 0x1C200C08, // 007C EQ R8 R6 R8 - 0x78220006, // 007D JMPF R8 #0085 - 0x8C200707, // 007E GETMET R8 R3 K7 - 0x88280910, // 007F GETMBR R10 R4 K16 - 0x542E0003, // 0080 LDINT R11 4 - 0x002E140B, // 0081 ADD R11 K10 R11 - 0x7C200600, // 0082 CALL R8 3 - 0x80041000, // 0083 RET 1 R8 - 0x70020007, // 0084 JMP #008D - 0x5422FFFC, // 0085 LDINT R8 65533 - 0x1C200C08, // 0086 EQ R8 R6 R8 - 0x78220004, // 0087 JMPF R8 #008D - 0x8C200707, // 0088 GETMET R8 R3 K7 - 0x88280910, // 0089 GETMBR R10 R4 K16 - 0x542E0004, // 008A LDINT R11 5 - 0x7C200600, // 008B CALL R8 3 - 0x80041000, // 008C RET 1 R8 - 0x70020008, // 008D JMP #0097 - 0x60200003, // 008E GETGBL R8 G3 - 0x5C240000, // 008F MOVE R9 R0 - 0x7C200200, // 0090 CALL R8 1 - 0x8C201111, // 0091 GETMET R8 R8 K17 - 0x5C280200, // 0092 MOVE R10 R1 - 0x5C2C0400, // 0093 MOVE R11 R2 - 0x5C300600, // 0094 MOVE R12 R3 - 0x7C200800, // 0095 CALL R8 4 - 0x80041000, // 0096 RET 1 R8 - 0x80000000, // 0097 RET 0 + 0x60200003, // 007A GETGBL R8 G3 + 0x5C240000, // 007B MOVE R9 R0 + 0x7C200200, // 007C CALL R8 1 + 0x8C201110, // 007D GETMET R8 R8 K16 + 0x5C280200, // 007E MOVE R10 R1 + 0x5C2C0400, // 007F MOVE R11 R2 + 0x5C300600, // 0080 MOVE R12 R3 + 0x7C200800, // 0081 CALL R8 4 + 0x80041000, // 0082 RET 1 R8 }) ) ); @@ -670,7 +648,7 @@ be_local_class(Matter_Plugin_Shutter, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(258, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(10, + be_const_list( * be_nested_list(14, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(5), @@ -680,11 +658,15 @@ be_local_class(Matter_Plugin_Shutter, be_const_int(13), be_const_int(14), be_const_int(23), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -692,11 +674,15 @@ be_local_class(Matter_Plugin_Shutter, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -704,29 +690,47 @@ be_local_class(Matter_Plugin_Shutter, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h index 4e2bedd20..e4a9b75dd 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Light0.h @@ -120,7 +120,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[11]) { /* constants */ + ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -130,57 +130,36 @@ be_local_closure(Matter_Plugin_Bridge_Light0_read_attribute, /* name */ /* K6 */ be_nested_str_weak(set), /* K7 */ be_nested_str_weak(BOOL), /* K8 */ be_nested_str_weak(shadow_onoff), - /* K9 */ be_nested_str_weak(U4), - /* K10 */ be_nested_str_weak(read_attribute), + /* K9 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[45]) { /* code */ + ( &(const binstruction[25]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0005, // 0004 LDINT R7 6 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E001B, // 0006 JMPF R7 #0023 + 0x781E0008, // 0006 JMPF R7 #0010 0x8C1C0104, // 0007 GETMET R7 R0 K4 0x7C1C0200, // 0008 CALL R7 1 0x1C1C0D05, // 0009 EQ R7 R6 K5 - 0x781E0005, // 000A JMPF R7 #0011 + 0x781E0004, // 000A JMPF R7 #0010 0x8C1C0706, // 000B GETMET R7 R3 K6 0x88240907, // 000C GETMBR R9 R4 K7 0x88280108, // 000D GETMBR R10 R0 K8 0x7C1C0600, // 000E CALL R7 3 0x80040E00, // 000F RET 1 R7 - 0x70020010, // 0010 JMP #0022 - 0x541EFFFB, // 0011 LDINT R7 65532 - 0x1C1C0C07, // 0012 EQ R7 R6 R7 - 0x781E0005, // 0013 JMPF R7 #001A - 0x8C1C0706, // 0014 GETMET R7 R3 K6 - 0x88240909, // 0015 GETMBR R9 R4 K9 - 0x58280005, // 0016 LDCONST R10 K5 - 0x7C1C0600, // 0017 CALL R7 3 + 0x601C0003, // 0010 GETGBL R7 G3 + 0x5C200000, // 0011 MOVE R8 R0 + 0x7C1C0200, // 0012 CALL R7 1 + 0x8C1C0F09, // 0013 GETMET R7 R7 K9 + 0x5C240200, // 0014 MOVE R9 R1 + 0x5C280400, // 0015 MOVE R10 R2 + 0x5C2C0600, // 0016 MOVE R11 R3 + 0x7C1C0800, // 0017 CALL R7 4 0x80040E00, // 0018 RET 1 R7 - 0x70020007, // 0019 JMP #0022 - 0x541EFFFC, // 001A LDINT R7 65533 - 0x1C1C0C07, // 001B EQ R7 R6 R7 - 0x781E0004, // 001C JMPF R7 #0022 - 0x8C1C0706, // 001D GETMET R7 R3 K6 - 0x88240909, // 001E GETMBR R9 R4 K9 - 0x542A0003, // 001F LDINT R10 4 - 0x7C1C0600, // 0020 CALL R7 3 - 0x80040E00, // 0021 RET 1 R7 - 0x70020008, // 0022 JMP #002C - 0x601C0003, // 0023 GETGBL R7 G3 - 0x5C200000, // 0024 MOVE R8 R0 - 0x7C1C0200, // 0025 CALL R7 1 - 0x8C1C0F0A, // 0026 GETMET R7 R7 K10 - 0x5C240200, // 0027 MOVE R9 R1 - 0x5C280400, // 0028 MOVE R10 R2 - 0x5C2C0600, // 0029 MOVE R11 R3 - 0x7C1C0800, // 002A CALL R7 4 - 0x80040E00, // 002B RET 1 R7 - 0x80000000, // 002C RET 0 }) ) ); @@ -494,14 +473,18 @@ be_local_class(Matter_Plugin_Bridge_Light0, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -509,11 +492,15 @@ be_local_class(Matter_Plugin_Bridge_Light0, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -521,29 +508,47 @@ be_local_class(Matter_Plugin_Bridge_Light0, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Contact.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Contact.h index 85a650a73..e39b2ffa0 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Contact.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Contact.h @@ -209,7 +209,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name * 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[12]) { /* constants */ + ( &(const bvalue[10]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -219,22 +219,20 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name * /* K6 */ be_nested_str_weak(set), /* K7 */ be_nested_str_weak(BOOL), /* K8 */ be_nested_str_weak(NULL), - /* K9 */ be_nested_str_weak(U4), - /* K10 */ be_const_int(1), - /* K11 */ be_nested_str_weak(read_attribute), + /* K9 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[53]) { /* code */ + ( &(const binstruction[33]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0044, // 0004 LDINT R7 69 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0023, // 0006 JMPF R7 #002B + 0x781E0010, // 0006 JMPF R7 #0018 0x1C1C0D04, // 0007 EQ R7 R6 K4 - 0x781E000F, // 0008 JMPF R7 #0019 + 0x781E000E, // 0008 JMPF R7 #0018 0x881C0105, // 0009 GETMBR R7 R0 K5 0x4C200000, // 000A LDNIL R8 0x201C0E08, // 000B NE R7 R7 R8 @@ -250,35 +248,15 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name * 0x4C280000, // 0015 LDNIL R10 0x7C1C0600, // 0016 CALL R7 3 0x80040E00, // 0017 RET 1 R7 - 0x70020010, // 0018 JMP #002A - 0x541EFFFB, // 0019 LDINT R7 65532 - 0x1C1C0C07, // 001A EQ R7 R6 R7 - 0x781E0005, // 001B JMPF R7 #0022 - 0x8C1C0706, // 001C GETMET R7 R3 K6 - 0x88240909, // 001D GETMBR R9 R4 K9 - 0x58280004, // 001E LDCONST R10 K4 - 0x7C1C0600, // 001F CALL R7 3 + 0x601C0003, // 0018 GETGBL R7 G3 + 0x5C200000, // 0019 MOVE R8 R0 + 0x7C1C0200, // 001A CALL R7 1 + 0x8C1C0F09, // 001B GETMET R7 R7 K9 + 0x5C240200, // 001C MOVE R9 R1 + 0x5C280400, // 001D MOVE R10 R2 + 0x5C2C0600, // 001E MOVE R11 R3 + 0x7C1C0800, // 001F CALL R7 4 0x80040E00, // 0020 RET 1 R7 - 0x70020007, // 0021 JMP #002A - 0x541EFFFC, // 0022 LDINT R7 65533 - 0x1C1C0C07, // 0023 EQ R7 R6 R7 - 0x781E0004, // 0024 JMPF R7 #002A - 0x8C1C0706, // 0025 GETMET R7 R3 K6 - 0x88240909, // 0026 GETMBR R9 R4 K9 - 0x5828000A, // 0027 LDCONST R10 K10 - 0x7C1C0600, // 0028 CALL R7 3 - 0x80040E00, // 0029 RET 1 R7 - 0x70020008, // 002A JMP #0034 - 0x601C0003, // 002B GETGBL R7 G3 - 0x5C200000, // 002C MOVE R8 R0 - 0x7C1C0200, // 002D CALL R7 1 - 0x8C1C0F0B, // 002E GETMET R7 R7 K11 - 0x5C240200, // 002F MOVE R9 R1 - 0x5C280400, // 0030 MOVE R10 R2 - 0x5C2C0600, // 0031 MOVE R11 R3 - 0x7C1C0800, // 0032 CALL R7 4 - 0x80040E00, // 0033 RET 1 R7 - 0x80000000, // 0034 RET 0 }) ) ); @@ -352,7 +330,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Contact, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -360,19 +338,27 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Contact, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -380,28 +366,46 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Contact, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(69, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Occupancy.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Occupancy.h index 8961d1881..20fbfe3b6 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Occupancy.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Bridge_Sensor_Occupancy.h @@ -209,7 +209,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -222,19 +222,18 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name /* K9 */ be_const_int(1), /* K10 */ be_const_int(3), /* K11 */ be_const_int(2), - /* K12 */ be_nested_str_weak(U4), - /* K13 */ be_nested_str_weak(read_attribute), + /* K12 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[69]) { /* code */ + ( &(const binstruction[49]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0405, // 0004 LDINT R7 1030 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0033, // 0006 JMPF R7 #003B + 0x781E0020, // 0006 JMPF R7 #0028 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E000F, // 0008 JMPF R7 #0019 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -252,7 +251,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name 0x4C280000, // 0015 LDNIL R10 0x7C1C0600, // 0016 CALL R7 3 0x80040E00, // 0017 RET 1 R7 - 0x70020020, // 0018 JMP #003A + 0x7002000E, // 0018 JMP #0028 0x1C1C0D09, // 0019 EQ R7 R6 K9 0x781E0005, // 001A JMPF R7 #0021 0x8C1C0706, // 001B GETMET R7 R3 K6 @@ -260,43 +259,23 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name 0x5828000A, // 001D LDCONST R10 K10 0x7C1C0600, // 001E CALL R7 3 0x80040E00, // 001F RET 1 R7 - 0x70020018, // 0020 JMP #003A + 0x70020006, // 0020 JMP #0028 0x1C1C0D0B, // 0021 EQ R7 R6 K11 - 0x781E0005, // 0022 JMPF R7 #0029 + 0x781E0004, // 0022 JMPF R7 #0028 0x8C1C0706, // 0023 GETMET R7 R3 K6 0x88240907, // 0024 GETMBR R9 R4 K7 0x58280004, // 0025 LDCONST R10 K4 0x7C1C0600, // 0026 CALL R7 3 0x80040E00, // 0027 RET 1 R7 - 0x70020010, // 0028 JMP #003A - 0x541EFFFB, // 0029 LDINT R7 65532 - 0x1C1C0C07, // 002A EQ R7 R6 R7 - 0x781E0005, // 002B JMPF R7 #0032 - 0x8C1C0706, // 002C GETMET R7 R3 K6 - 0x8824090C, // 002D GETMBR R9 R4 K12 - 0x58280004, // 002E LDCONST R10 K4 - 0x7C1C0600, // 002F CALL R7 3 + 0x601C0003, // 0028 GETGBL R7 G3 + 0x5C200000, // 0029 MOVE R8 R0 + 0x7C1C0200, // 002A CALL R7 1 + 0x8C1C0F0C, // 002B GETMET R7 R7 K12 + 0x5C240200, // 002C MOVE R9 R1 + 0x5C280400, // 002D MOVE R10 R2 + 0x5C2C0600, // 002E MOVE R11 R3 + 0x7C1C0800, // 002F CALL R7 4 0x80040E00, // 0030 RET 1 R7 - 0x70020007, // 0031 JMP #003A - 0x541EFFFC, // 0032 LDINT R7 65533 - 0x1C1C0C07, // 0033 EQ R7 R6 R7 - 0x781E0004, // 0034 JMPF R7 #003A - 0x8C1C0706, // 0035 GETMET R7 R3 K6 - 0x8824090C, // 0036 GETMBR R9 R4 K12 - 0x5828000A, // 0037 LDCONST R10 K10 - 0x7C1C0600, // 0038 CALL R7 3 - 0x80040E00, // 0039 RET 1 R7 - 0x70020008, // 003A JMP #0044 - 0x601C0003, // 003B GETGBL R7 G3 - 0x5C200000, // 003C MOVE R8 R0 - 0x7C1C0200, // 003D CALL R7 1 - 0x8C1C0F0D, // 003E GETMET R7 R7 K13 - 0x5C240200, // 003F MOVE R9 R1 - 0x5C280400, // 0040 MOVE R10 R2 - 0x5C2C0600, // 0041 MOVE R11 R3 - 0x7C1C0800, // 0042 CALL R7 4 - 0x80040E00, // 0043 RET 1 R7 - 0x80000000, // 0044 RET 0 }) ) ); @@ -373,7 +352,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -381,18 +360,26 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -400,31 +387,49 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(1030, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light2.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light2.h index 78bad5ab1..f52fc8830 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light2.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light2.h @@ -352,14 +352,14 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */ }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[82]) { /* code */ + ( &(const binstruction[71]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E02FF, // 0004 LDINT R7 768 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0040, // 0006 JMPF R7 #0048 + 0x781E0036, // 0006 JMPF R7 #003E 0x8C1C0104, // 0007 GETMET R7 R0 K4 0x7C1C0200, // 0008 CALL R7 1 0x541E0006, // 0009 LDINT R7 7 @@ -370,7 +370,7 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */ 0x88280107, // 000E GETMBR R10 R0 K7 0x7C1C0600, // 000F CALL R7 3 0x80040E00, // 0010 RET 1 R7 - 0x70020034, // 0011 JMP #0047 + 0x7002002B, // 0011 JMP #003E 0x541E0007, // 0012 LDINT R7 8 0x1C1C0C07, // 0013 EQ R7 R6 R7 0x781E0005, // 0014 JMPF R7 #001B @@ -379,7 +379,7 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */ 0x58280008, // 0017 LDCONST R10 K8 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x7002002B, // 001A JMP #0047 + 0x70020022, // 001A JMP #003E 0x541E000E, // 001B LDINT R7 15 0x1C1C0C07, // 001C EQ R7 R6 R7 0x781E0005, // 001D JMPF R7 #0024 @@ -388,7 +388,7 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */ 0x58280009, // 0020 LDCONST R10 K9 0x7C1C0600, // 0021 CALL R7 3 0x80040E00, // 0022 RET 1 R7 - 0x70020022, // 0023 JMP #0047 + 0x70020019, // 0023 JMP #003E 0x541E400A, // 0024 LDINT R7 16395 0x1C1C0C07, // 0025 EQ R7 R6 R7 0x781E0005, // 0026 JMPF R7 #002D @@ -397,7 +397,7 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */ 0x8828010A, // 0029 GETMBR R10 R0 K10 0x7C1C0600, // 002A CALL R7 3 0x80040E00, // 002B RET 1 R7 - 0x70020019, // 002C JMP #0047 + 0x70020010, // 002C JMP #003E 0x541E400B, // 002D LDINT R7 16396 0x1C1C0C07, // 002E EQ R7 R6 R7 0x781E0005, // 002F JMPF R7 #0036 @@ -406,35 +406,24 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */ 0x8828010B, // 0032 GETMBR R10 R0 K11 0x7C1C0600, // 0033 CALL R7 3 0x80040E00, // 0034 RET 1 R7 - 0x70020010, // 0035 JMP #0047 + 0x70020007, // 0035 JMP #003E 0x541EFFFB, // 0036 LDINT R7 65532 0x1C1C0C07, // 0037 EQ R7 R6 R7 - 0x781E0005, // 0038 JMPF R7 #003F + 0x781E0004, // 0038 JMPF R7 #003E 0x8C1C0705, // 0039 GETMET R7 R3 K5 0x8824090C, // 003A GETMBR R9 R4 K12 0x542A000F, // 003B LDINT R10 16 0x7C1C0600, // 003C CALL R7 3 0x80040E00, // 003D RET 1 R7 - 0x70020007, // 003E JMP #0047 - 0x541EFFFC, // 003F LDINT R7 65533 - 0x1C1C0C07, // 0040 EQ R7 R6 R7 - 0x781E0004, // 0041 JMPF R7 #0047 - 0x8C1C0705, // 0042 GETMET R7 R3 K5 - 0x8824090C, // 0043 GETMBR R9 R4 K12 - 0x542A0004, // 0044 LDINT R10 5 - 0x7C1C0600, // 0045 CALL R7 3 + 0x601C0003, // 003E GETGBL R7 G3 + 0x5C200000, // 003F MOVE R8 R0 + 0x7C1C0200, // 0040 CALL R7 1 + 0x8C1C0F0D, // 0041 GETMET R7 R7 K13 + 0x5C240200, // 0042 MOVE R9 R1 + 0x5C280400, // 0043 MOVE R10 R2 + 0x5C2C0600, // 0044 MOVE R11 R3 + 0x7C1C0800, // 0045 CALL R7 4 0x80040E00, // 0046 RET 1 R7 - 0x70020008, // 0047 JMP #0051 - 0x601C0003, // 0048 GETGBL R7 G3 - 0x5C200000, // 0049 MOVE R8 R0 - 0x7C1C0200, // 004A CALL R7 1 - 0x8C1C0F0D, // 004B GETMET R7 R7 K13 - 0x5C240200, // 004C MOVE R9 R1 - 0x5C280400, // 004D MOVE R10 R2 - 0x5C2C0600, // 004E MOVE R11 R3 - 0x7C1C0800, // 004F CALL R7 4 - 0x80040E00, // 0050 RET 1 R7 - 0x80000000, // 0051 RET 0 }) ) ); @@ -517,18 +506,22 @@ be_local_class(Matter_Plugin_Light2, be_const_map( * be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(8, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(7, + be_const_list( * be_nested_list(11, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(2), be_const_int(3), be_const_int(15), be_const_int(17), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -536,34 +529,52 @@ be_local_class(Matter_Plugin_Light2, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(29, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -571,24 +582,36 @@ be_local_class(Matter_Plugin_Light2, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(768, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(7, + be_const_list( * be_nested_list(11, ( (struct bvalue*) &(const bvalue[]) { be_const_int(7), be_const_int(8), be_const_int(15), be_const_int(16395), be_const_int(16396), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light3.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light3.h index 1a0b7a981..db81f7d67 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light3.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Light3.h @@ -542,14 +542,14 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[107]) { /* code */ + ( &(const binstruction[96]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E02FF, // 0004 LDINT R7 768 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0059, // 0006 JMPF R7 #0061 + 0x781E004F, // 0006 JMPF R7 #0057 0x8C1C0104, // 0007 GETMET R7 R0 K4 0x7C1C0200, // 0008 CALL R7 1 0x1C1C0D05, // 0009 EQ R7 R6 K5 @@ -559,7 +559,7 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ 0x88280108, // 000D GETMBR R10 R0 K8 0x7C1C0600, // 000E CALL R7 3 0x80040E00, // 000F RET 1 R7 - 0x7002004E, // 0010 JMP #0060 + 0x70020045, // 0010 JMP #0057 0x1C1C0D09, // 0011 EQ R7 R6 K9 0x781E0005, // 0012 JMPF R7 #0019 0x8C1C0706, // 0013 GETMET R7 R3 K6 @@ -567,7 +567,7 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ 0x8828010A, // 0015 GETMBR R10 R0 K10 0x7C1C0600, // 0016 CALL R7 3 0x80040E00, // 0017 RET 1 R7 - 0x70020046, // 0018 JMP #0060 + 0x7002003D, // 0018 JMP #0057 0x541E0006, // 0019 LDINT R7 7 0x1C1C0C07, // 001A EQ R7 R6 R7 0x781E0005, // 001B JMPF R7 #0022 @@ -576,7 +576,7 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ 0x58280005, // 001E LDCONST R10 K5 0x7C1C0600, // 001F CALL R7 3 0x80040E00, // 0020 RET 1 R7 - 0x7002003D, // 0021 JMP #0060 + 0x70020034, // 0021 JMP #0057 0x541E0007, // 0022 LDINT R7 8 0x1C1C0C07, // 0023 EQ R7 R6 R7 0x781E0005, // 0024 JMPF R7 #002B @@ -585,7 +585,7 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ 0x58280005, // 0027 LDCONST R10 K5 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x70020034, // 002A JMP #0060 + 0x7002002B, // 002A JMP #0057 0x541E000E, // 002B LDINT R7 15 0x1C1C0C07, // 002C EQ R7 R6 R7 0x781E0005, // 002D JMPF R7 #0034 @@ -594,7 +594,7 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ 0x58280005, // 0030 LDCONST R10 K5 0x7C1C0600, // 0031 CALL R7 3 0x80040E00, // 0032 RET 1 R7 - 0x7002002B, // 0033 JMP #0060 + 0x70020022, // 0033 JMP #0057 0x541E4000, // 0034 LDINT R7 16385 0x1C1C0C07, // 0035 EQ R7 R6 R7 0x781E0005, // 0036 JMPF R7 #003D @@ -603,7 +603,7 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ 0x58280005, // 0039 LDCONST R10 K5 0x7C1C0600, // 003A CALL R7 3 0x80040E00, // 003B RET 1 R7 - 0x70020022, // 003C JMP #0060 + 0x70020019, // 003C JMP #0057 0x541E4009, // 003D LDINT R7 16394 0x1C1C0C07, // 003E EQ R7 R6 R7 0x781E0005, // 003F JMPF R7 #0046 @@ -612,7 +612,7 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ 0x58280009, // 0042 LDCONST R10 K9 0x7C1C0600, // 0043 CALL R7 3 0x80040E00, // 0044 RET 1 R7 - 0x70020019, // 0045 JMP #0060 + 0x70020010, // 0045 JMP #0057 0x541E000F, // 0046 LDINT R7 16 0x1C1C0C07, // 0047 EQ R7 R6 R7 0x781E0005, // 0048 JMPF R7 #004F @@ -621,35 +621,24 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */ 0x58280005, // 004B LDCONST R10 K5 0x7C1C0600, // 004C CALL R7 3 0x80040E00, // 004D RET 1 R7 - 0x70020010, // 004E JMP #0060 + 0x70020007, // 004E JMP #0057 0x541EFFFB, // 004F LDINT R7 65532 0x1C1C0C07, // 0050 EQ R7 R6 R7 - 0x781E0005, // 0051 JMPF R7 #0058 + 0x781E0004, // 0051 JMPF R7 #0057 0x8C1C0706, // 0052 GETMET R7 R3 K6 0x8824090B, // 0053 GETMBR R9 R4 K11 0x58280009, // 0054 LDCONST R10 K9 0x7C1C0600, // 0055 CALL R7 3 0x80040E00, // 0056 RET 1 R7 - 0x70020007, // 0057 JMP #0060 - 0x541EFFFC, // 0058 LDINT R7 65533 - 0x1C1C0C07, // 0059 EQ R7 R6 R7 - 0x781E0004, // 005A JMPF R7 #0060 - 0x8C1C0706, // 005B GETMET R7 R3 K6 - 0x8824090B, // 005C GETMBR R9 R4 K11 - 0x542A0004, // 005D LDINT R10 5 - 0x7C1C0600, // 005E CALL R7 3 + 0x601C0003, // 0057 GETGBL R7 G3 + 0x5C200000, // 0058 MOVE R8 R0 + 0x7C1C0200, // 0059 CALL R7 1 + 0x8C1C0F0C, // 005A GETMET R7 R7 K12 + 0x5C240200, // 005B MOVE R9 R1 + 0x5C280400, // 005C MOVE R10 R2 + 0x5C2C0600, // 005D MOVE R11 R3 + 0x7C1C0800, // 005E CALL R7 4 0x80040E00, // 005F RET 1 R7 - 0x70020008, // 0060 JMP #006A - 0x601C0003, // 0061 GETGBL R7 G3 - 0x5C200000, // 0062 MOVE R8 R0 - 0x7C1C0200, // 0063 CALL R7 1 - 0x8C1C0F0C, // 0064 GETMET R7 R7 K12 - 0x5C240200, // 0065 MOVE R9 R1 - 0x5C280400, // 0066 MOVE R10 R2 - 0x5C2C0600, // 0067 MOVE R11 R3 - 0x7C1C0800, // 0068 CALL R7 4 - 0x80040E00, // 0069 RET 1 R7 - 0x80000000, // 006A RET 0 }) ) ); @@ -679,18 +668,22 @@ be_local_class(Matter_Plugin_Light3, be_const_map( * be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(8, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(7, + be_const_list( * be_nested_list(11, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(2), be_const_int(3), be_const_int(15), be_const_int(17), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -698,34 +691,52 @@ be_local_class(Matter_Plugin_Light3, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(29, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -733,18 +744,26 @@ be_local_class(Matter_Plugin_Light3, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(768, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(9, + be_const_list( * be_nested_list(13, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -753,6 +772,10 @@ be_local_class(Matter_Plugin_Light3, be_const_int(15), be_const_int(16385), be_const_int(16394), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Flow.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Flow.h index 8510fa70f..77de122bf 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Flow.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Flow.h @@ -50,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Flow_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -62,20 +62,18 @@ be_local_closure(Matter_Plugin_Sensor_Flow_read_attribute, /* name */ /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_const_int(3), - /* K13 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[71]) { /* code */ + ( &(const binstruction[51]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0403, // 0004 LDINT R7 1028 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0035, // 0006 JMPF R7 #003D + 0x781E0022, // 0006 JMPF R7 #002A 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E0011, // 0008 JMPF R7 #001B 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -95,7 +93,7 @@ be_local_closure(Matter_Plugin_Sensor_Flow_read_attribute, /* name */ 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x70020020, // 001A JMP #003C + 0x7002000E, // 001A JMP #002A 0x1C1C0D09, // 001B EQ R7 R6 K9 0x781E0005, // 001C JMPF R7 #0023 0x8C1C0706, // 001D GETMET R7 R3 K6 @@ -103,43 +101,23 @@ be_local_closure(Matter_Plugin_Sensor_Flow_read_attribute, /* name */ 0x58280004, // 001F LDCONST R10 K4 0x7C1C0600, // 0020 CALL R7 3 0x80040E00, // 0021 RET 1 R7 - 0x70020018, // 0022 JMP #003C + 0x70020006, // 0022 JMP #002A 0x1C1C0D0A, // 0023 EQ R7 R6 K10 - 0x781E0005, // 0024 JMPF R7 #002B + 0x781E0004, // 0024 JMPF R7 #002A 0x8C1C0706, // 0025 GETMET R7 R3 K6 0x88240907, // 0026 GETMBR R9 R4 K7 0x542AFFFD, // 0027 LDINT R10 65534 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x70020010, // 002A JMP #003C - 0x541EFFFB, // 002B LDINT R7 65532 - 0x1C1C0C07, // 002C EQ R7 R6 R7 - 0x781E0005, // 002D JMPF R7 #0034 - 0x8C1C0706, // 002E GETMET R7 R3 K6 - 0x8824090B, // 002F GETMBR R9 R4 K11 - 0x58280004, // 0030 LDCONST R10 K4 - 0x7C1C0600, // 0031 CALL R7 3 + 0x601C0003, // 002A GETGBL R7 G3 + 0x5C200000, // 002B MOVE R8 R0 + 0x7C1C0200, // 002C CALL R7 1 + 0x8C1C0F0B, // 002D GETMET R7 R7 K11 + 0x5C240200, // 002E MOVE R9 R1 + 0x5C280400, // 002F MOVE R10 R2 + 0x5C2C0600, // 0030 MOVE R11 R3 + 0x7C1C0800, // 0031 CALL R7 4 0x80040E00, // 0032 RET 1 R7 - 0x70020007, // 0033 JMP #003C - 0x541EFFFC, // 0034 LDINT R7 65533 - 0x1C1C0C07, // 0035 EQ R7 R6 R7 - 0x781E0004, // 0036 JMPF R7 #003C - 0x8C1C0706, // 0037 GETMET R7 R3 K6 - 0x8824090B, // 0038 GETMBR R9 R4 K11 - 0x5828000C, // 0039 LDCONST R10 K12 - 0x7C1C0600, // 003A CALL R7 3 - 0x80040E00, // 003B RET 1 R7 - 0x70020008, // 003C JMP #0046 - 0x601C0003, // 003D GETGBL R7 G3 - 0x5C200000, // 003E MOVE R8 R0 - 0x7C1C0200, // 003F CALL R7 1 - 0x8C1C0F0D, // 0040 GETMET R7 R7 K13 - 0x5C240200, // 0041 MOVE R9 R1 - 0x5C280400, // 0042 MOVE R10 R2 - 0x5C2C0600, // 0043 MOVE R11 R3 - 0x7C1C0800, // 0044 CALL R7 4 - 0x80040E00, // 0045 RET 1 R7 - 0x80000000, // 0046 RET 0 }) ) ); @@ -207,7 +185,7 @@ be_local_class(Matter_Plugin_Sensor_Flow, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -215,11 +193,15 @@ be_local_class(Matter_Plugin_Sensor_Flow, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -227,38 +209,60 @@ be_local_class(Matter_Plugin_Sensor_Flow, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(1028, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h index 4a8ad5775..c0472c631 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Humidity.h @@ -50,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -62,20 +62,18 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */ /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_const_int(3), - /* K13 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[71]) { /* code */ + ( &(const binstruction[51]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0404, // 0004 LDINT R7 1029 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0035, // 0006 JMPF R7 #003D + 0x781E0022, // 0006 JMPF R7 #002A 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E0011, // 0008 JMPF R7 #001B 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -95,7 +93,7 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */ 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x70020020, // 001A JMP #003C + 0x7002000E, // 001A JMP #002A 0x1C1C0D09, // 001B EQ R7 R6 K9 0x781E0005, // 001C JMPF R7 #0023 0x8C1C0706, // 001D GETMET R7 R3 K6 @@ -103,43 +101,23 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */ 0x542A01F3, // 001F LDINT R10 500 0x7C1C0600, // 0020 CALL R7 3 0x80040E00, // 0021 RET 1 R7 - 0x70020018, // 0022 JMP #003C + 0x70020006, // 0022 JMP #002A 0x1C1C0D0A, // 0023 EQ R7 R6 K10 - 0x781E0005, // 0024 JMPF R7 #002B + 0x781E0004, // 0024 JMPF R7 #002A 0x8C1C0706, // 0025 GETMET R7 R3 K6 0x88240907, // 0026 GETMBR R9 R4 K7 0x542A270F, // 0027 LDINT R10 10000 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x70020010, // 002A JMP #003C - 0x541EFFFB, // 002B LDINT R7 65532 - 0x1C1C0C07, // 002C EQ R7 R6 R7 - 0x781E0005, // 002D JMPF R7 #0034 - 0x8C1C0706, // 002E GETMET R7 R3 K6 - 0x8824090B, // 002F GETMBR R9 R4 K11 - 0x58280004, // 0030 LDCONST R10 K4 - 0x7C1C0600, // 0031 CALL R7 3 + 0x601C0003, // 002A GETGBL R7 G3 + 0x5C200000, // 002B MOVE R8 R0 + 0x7C1C0200, // 002C CALL R7 1 + 0x8C1C0F0B, // 002D GETMET R7 R7 K11 + 0x5C240200, // 002E MOVE R9 R1 + 0x5C280400, // 002F MOVE R10 R2 + 0x5C2C0600, // 0030 MOVE R11 R3 + 0x7C1C0800, // 0031 CALL R7 4 0x80040E00, // 0032 RET 1 R7 - 0x70020007, // 0033 JMP #003C - 0x541EFFFC, // 0034 LDINT R7 65533 - 0x1C1C0C07, // 0035 EQ R7 R6 R7 - 0x781E0004, // 0036 JMPF R7 #003C - 0x8C1C0706, // 0037 GETMET R7 R3 K6 - 0x8824090B, // 0038 GETMBR R9 R4 K11 - 0x5828000C, // 0039 LDCONST R10 K12 - 0x7C1C0600, // 003A CALL R7 3 - 0x80040E00, // 003B RET 1 R7 - 0x70020008, // 003C JMP #0046 - 0x601C0003, // 003D GETGBL R7 G3 - 0x5C200000, // 003E MOVE R8 R0 - 0x7C1C0200, // 003F CALL R7 1 - 0x8C1C0F0D, // 0040 GETMET R7 R7 K13 - 0x5C240200, // 0041 MOVE R9 R1 - 0x5C280400, // 0042 MOVE R10 R2 - 0x5C2C0600, // 0043 MOVE R11 R3 - 0x7C1C0800, // 0044 CALL R7 4 - 0x80040E00, // 0045 RET 1 R7 - 0x80000000, // 0046 RET 0 }) ) ); @@ -207,7 +185,7 @@ be_local_class(Matter_Plugin_Sensor_Humidity, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -215,19 +193,27 @@ be_local_class(Matter_Plugin_Sensor_Humidity, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -235,30 +221,48 @@ be_local_class(Matter_Plugin_Sensor_Humidity, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(1029, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h index 81d05c19f..eef1f845b 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Illuminance.h @@ -50,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -62,20 +62,18 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */ /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_const_int(3), - /* K13 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[71]) { /* code */ + ( &(const binstruction[51]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E03FF, // 0004 LDINT R7 1024 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0035, // 0006 JMPF R7 #003D + 0x781E0022, // 0006 JMPF R7 #002A 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E0011, // 0008 JMPF R7 #001B 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -95,7 +93,7 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */ 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x70020020, // 001A JMP #003C + 0x7002000E, // 001A JMP #002A 0x1C1C0D09, // 001B EQ R7 R6 K9 0x781E0005, // 001C JMPF R7 #0023 0x8C1C0706, // 001D GETMET R7 R3 K6 @@ -103,43 +101,23 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */ 0x58280009, // 001F LDCONST R10 K9 0x7C1C0600, // 0020 CALL R7 3 0x80040E00, // 0021 RET 1 R7 - 0x70020018, // 0022 JMP #003C + 0x70020006, // 0022 JMP #002A 0x1C1C0D0A, // 0023 EQ R7 R6 K10 - 0x781E0005, // 0024 JMPF R7 #002B + 0x781E0004, // 0024 JMPF R7 #002A 0x8C1C0706, // 0025 GETMET R7 R3 K6 0x88240907, // 0026 GETMBR R9 R4 K7 0x542AFFFD, // 0027 LDINT R10 65534 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x70020010, // 002A JMP #003C - 0x541EFFFB, // 002B LDINT R7 65532 - 0x1C1C0C07, // 002C EQ R7 R6 R7 - 0x781E0005, // 002D JMPF R7 #0034 - 0x8C1C0706, // 002E GETMET R7 R3 K6 - 0x8824090B, // 002F GETMBR R9 R4 K11 - 0x58280004, // 0030 LDCONST R10 K4 - 0x7C1C0600, // 0031 CALL R7 3 + 0x601C0003, // 002A GETGBL R7 G3 + 0x5C200000, // 002B MOVE R8 R0 + 0x7C1C0200, // 002C CALL R7 1 + 0x8C1C0F0B, // 002D GETMET R7 R7 K11 + 0x5C240200, // 002E MOVE R9 R1 + 0x5C280400, // 002F MOVE R10 R2 + 0x5C2C0600, // 0030 MOVE R11 R3 + 0x7C1C0800, // 0031 CALL R7 4 0x80040E00, // 0032 RET 1 R7 - 0x70020007, // 0033 JMP #003C - 0x541EFFFC, // 0034 LDINT R7 65533 - 0x1C1C0C07, // 0035 EQ R7 R6 R7 - 0x781E0004, // 0036 JMPF R7 #003C - 0x8C1C0706, // 0037 GETMET R7 R3 K6 - 0x8824090B, // 0038 GETMBR R9 R4 K11 - 0x5828000C, // 0039 LDCONST R10 K12 - 0x7C1C0600, // 003A CALL R7 3 - 0x80040E00, // 003B RET 1 R7 - 0x70020008, // 003C JMP #0046 - 0x601C0003, // 003D GETGBL R7 G3 - 0x5C200000, // 003E MOVE R8 R0 - 0x7C1C0200, // 003F CALL R7 1 - 0x8C1C0F0D, // 0040 GETMET R7 R7 K13 - 0x5C240200, // 0041 MOVE R9 R1 - 0x5C280400, // 0042 MOVE R10 R2 - 0x5C2C0600, // 0043 MOVE R11 R3 - 0x7C1C0800, // 0044 CALL R7 4 - 0x80040E00, // 0045 RET 1 R7 - 0x80000000, // 0046 RET 0 }) ) ); @@ -219,7 +197,7 @@ be_local_class(Matter_Plugin_Sensor_Illuminance, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -227,18 +205,26 @@ be_local_class(Matter_Plugin_Sensor_Illuminance, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -246,31 +232,49 @@ be_local_class(Matter_Plugin_Sensor_Illuminance, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(1024, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h index 56dcdbd6e..b64f251ac 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Pressure.h @@ -50,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -62,20 +62,18 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */ /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_const_int(3), - /* K13 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[71]) { /* code */ + ( &(const binstruction[51]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0402, // 0004 LDINT R7 1027 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0035, // 0006 JMPF R7 #003D + 0x781E0022, // 0006 JMPF R7 #002A 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E0011, // 0008 JMPF R7 #001B 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -95,7 +93,7 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */ 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x70020020, // 001A JMP #003C + 0x7002000E, // 001A JMP #002A 0x1C1C0D09, // 001B EQ R7 R6 K9 0x781E0005, // 001C JMPF R7 #0023 0x8C1C0706, // 001D GETMET R7 R3 K6 @@ -103,43 +101,23 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */ 0x542A01F3, // 001F LDINT R10 500 0x7C1C0600, // 0020 CALL R7 3 0x80040E00, // 0021 RET 1 R7 - 0x70020018, // 0022 JMP #003C + 0x70020006, // 0022 JMP #002A 0x1C1C0D0A, // 0023 EQ R7 R6 K10 - 0x781E0005, // 0024 JMPF R7 #002B + 0x781E0004, // 0024 JMPF R7 #002A 0x8C1C0706, // 0025 GETMET R7 R3 K6 0x88240907, // 0026 GETMBR R9 R4 K7 0x542A05DB, // 0027 LDINT R10 1500 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x70020010, // 002A JMP #003C - 0x541EFFFB, // 002B LDINT R7 65532 - 0x1C1C0C07, // 002C EQ R7 R6 R7 - 0x781E0005, // 002D JMPF R7 #0034 - 0x8C1C0706, // 002E GETMET R7 R3 K6 - 0x8824090B, // 002F GETMBR R9 R4 K11 - 0x58280004, // 0030 LDCONST R10 K4 - 0x7C1C0600, // 0031 CALL R7 3 + 0x601C0003, // 002A GETGBL R7 G3 + 0x5C200000, // 002B MOVE R8 R0 + 0x7C1C0200, // 002C CALL R7 1 + 0x8C1C0F0B, // 002D GETMET R7 R7 K11 + 0x5C240200, // 002E MOVE R9 R1 + 0x5C280400, // 002F MOVE R10 R2 + 0x5C2C0600, // 0030 MOVE R11 R3 + 0x7C1C0800, // 0031 CALL R7 4 0x80040E00, // 0032 RET 1 R7 - 0x70020007, // 0033 JMP #003C - 0x541EFFFC, // 0034 LDINT R7 65533 - 0x1C1C0C07, // 0035 EQ R7 R6 R7 - 0x781E0004, // 0036 JMPF R7 #003C - 0x8C1C0706, // 0037 GETMET R7 R3 K6 - 0x8824090B, // 0038 GETMBR R9 R4 K11 - 0x5828000C, // 0039 LDCONST R10 K12 - 0x7C1C0600, // 003A CALL R7 3 - 0x80040E00, // 003B RET 1 R7 - 0x70020008, // 003C JMP #0046 - 0x601C0003, // 003D GETGBL R7 G3 - 0x5C200000, // 003E MOVE R8 R0 - 0x7C1C0200, // 003F CALL R7 1 - 0x8C1C0F0D, // 0040 GETMET R7 R7 K13 - 0x5C240200, // 0041 MOVE R9 R1 - 0x5C280400, // 0042 MOVE R10 R2 - 0x5C2C0600, // 0043 MOVE R11 R3 - 0x7C1C0800, // 0044 CALL R7 4 - 0x80040E00, // 0045 RET 1 R7 - 0x80000000, // 0046 RET 0 }) ) ); @@ -206,7 +184,7 @@ be_local_class(Matter_Plugin_Sensor_Pressure, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -214,20 +192,28 @@ be_local_class(Matter_Plugin_Sensor_Pressure, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(1027, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -235,29 +221,47 @@ be_local_class(Matter_Plugin_Sensor_Pressure, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h index 1b22cb9d1..7294dfc88 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_Sensor_Temp.h @@ -50,7 +50,7 @@ be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[13]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -62,19 +62,18 @@ be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */ /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[69]) { /* code */ + ( &(const binstruction[49]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0401, // 0004 LDINT R7 1026 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0033, // 0006 JMPF R7 #003B + 0x781E0020, // 0006 JMPF R7 #0028 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E000F, // 0008 JMPF R7 #0019 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -92,7 +91,7 @@ be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */ 0x4C280000, // 0015 LDNIL R10 0x7C1C0600, // 0016 CALL R7 3 0x80040E00, // 0017 RET 1 R7 - 0x70020020, // 0018 JMP #003A + 0x7002000E, // 0018 JMP #0028 0x1C1C0D09, // 0019 EQ R7 R6 K9 0x781E0005, // 001A JMPF R7 #0021 0x8C1C0706, // 001B GETMET R7 R3 K6 @@ -100,43 +99,23 @@ be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */ 0x5429EC77, // 001D LDINT R10 -5000 0x7C1C0600, // 001E CALL R7 3 0x80040E00, // 001F RET 1 R7 - 0x70020018, // 0020 JMP #003A + 0x70020006, // 0020 JMP #0028 0x1C1C0D0A, // 0021 EQ R7 R6 K10 - 0x781E0005, // 0022 JMPF R7 #0029 + 0x781E0004, // 0022 JMPF R7 #0028 0x8C1C0706, // 0023 GETMET R7 R3 K6 0x88240907, // 0024 GETMBR R9 R4 K7 0x542A3A97, // 0025 LDINT R10 15000 0x7C1C0600, // 0026 CALL R7 3 0x80040E00, // 0027 RET 1 R7 - 0x70020010, // 0028 JMP #003A - 0x541EFFFB, // 0029 LDINT R7 65532 - 0x1C1C0C07, // 002A EQ R7 R6 R7 - 0x781E0005, // 002B JMPF R7 #0032 - 0x8C1C0706, // 002C GETMET R7 R3 K6 - 0x8824090B, // 002D GETMBR R9 R4 K11 - 0x58280004, // 002E LDCONST R10 K4 - 0x7C1C0600, // 002F CALL R7 3 + 0x601C0003, // 0028 GETGBL R7 G3 + 0x5C200000, // 0029 MOVE R8 R0 + 0x7C1C0200, // 002A CALL R7 1 + 0x8C1C0F0B, // 002B GETMET R7 R7 K11 + 0x5C240200, // 002C MOVE R9 R1 + 0x5C280400, // 002D MOVE R10 R2 + 0x5C2C0600, // 002E MOVE R11 R3 + 0x7C1C0800, // 002F CALL R7 4 0x80040E00, // 0030 RET 1 R7 - 0x70020007, // 0031 JMP #003A - 0x541EFFFC, // 0032 LDINT R7 65533 - 0x1C1C0C07, // 0033 EQ R7 R6 R7 - 0x781E0004, // 0034 JMPF R7 #003A - 0x8C1C0706, // 0035 GETMET R7 R3 K6 - 0x8824090B, // 0036 GETMBR R9 R4 K11 - 0x542A0003, // 0037 LDINT R10 4 - 0x7C1C0600, // 0038 CALL R7 3 - 0x80040E00, // 0039 RET 1 R7 - 0x70020008, // 003A JMP #0044 - 0x601C0003, // 003B GETGBL R7 G3 - 0x5C200000, // 003C MOVE R8 R0 - 0x7C1C0200, // 003D CALL R7 1 - 0x8C1C0F0C, // 003E GETMET R7 R7 K12 - 0x5C240200, // 003F MOVE R9 R1 - 0x5C280400, // 0040 MOVE R10 R2 - 0x5C2C0600, // 0041 MOVE R11 R3 - 0x7C1C0800, // 0042 CALL R7 4 - 0x80040E00, // 0043 RET 1 R7 - 0x80000000, // 0044 RET 0 }) ) ); @@ -219,16 +198,20 @@ be_local_class(Matter_Plugin_Sensor_Temp, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(1026, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -236,11 +219,15 @@ be_local_class(Matter_Plugin_Sensor_Temp, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -248,29 +235,47 @@ be_local_class(Matter_Plugin_Sensor_Temp, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h index 9b6b6eea4..3914bb053 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_3_ShutterTilt.h @@ -440,7 +440,7 @@ be_local_class(Matter_Plugin_ShutterTilt, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(258, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(14, + be_const_list( * be_nested_list(17, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(5), @@ -450,15 +450,18 @@ be_local_class(Matter_Plugin_ShutterTilt, be_const_int(13), be_const_int(14), be_const_int(23), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), be_const_int(7), be_const_int(12), be_const_int(15), - be_const_int(65532), })) ) } )) }, { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -466,11 +469,15 @@ be_local_class(Matter_Plugin_ShutterTilt, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -478,29 +485,47 @@ be_local_class(Matter_Plugin_ShutterTilt, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h index 09091811a..2c40875ff 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Light1.h @@ -195,7 +195,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[15]) { /* constants */ + ( &(const bvalue[13]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -208,20 +208,18 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ /* K9 */ be_nested_str_weak(NULL), /* K10 */ be_const_int(2), /* K11 */ be_const_int(3), - /* K12 */ be_nested_str_weak(U4), - /* K13 */ be_const_int(1), - /* K14 */ be_nested_str_weak(read_attribute), + /* K12 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[99]) { /* code */ + ( &(const binstruction[79]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0007, // 0004 LDINT R7 8 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0051, // 0006 JMPF R7 #0059 + 0x781E003E, // 0006 JMPF R7 #0046 0x8C1C0104, // 0007 GETMET R7 R0 K4 0x7C1C0200, // 0008 CALL R7 1 0x1C1C0D05, // 0009 EQ R7 R6 K5 @@ -241,7 +239,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x7002003C, // 001A JMP #0058 + 0x7002002A, // 001A JMP #0046 0x1C1C0D0A, // 001B EQ R7 R6 K10 0x781E0005, // 001C JMPF R7 #0023 0x8C1C0707, // 001D GETMET R7 R3 K7 @@ -249,7 +247,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ 0x58280005, // 001F LDCONST R10 K5 0x7C1C0600, // 0020 CALL R7 3 0x80040E00, // 0021 RET 1 R7 - 0x70020034, // 0022 JMP #0058 + 0x70020022, // 0022 JMP #0046 0x1C1C0D0B, // 0023 EQ R7 R6 K11 0x781E0005, // 0024 JMPF R7 #002B 0x8C1C0707, // 0025 GETMET R7 R3 K7 @@ -257,7 +255,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ 0x542A00FD, // 0027 LDINT R10 254 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x7002002C, // 002A JMP #0058 + 0x7002001A, // 002A JMP #0046 0x541E000E, // 002B LDINT R7 15 0x1C1C0C07, // 002C EQ R7 R6 R7 0x781E0005, // 002D JMPF R7 #0034 @@ -266,10 +264,10 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ 0x58280005, // 0030 LDCONST R10 K5 0x7C1C0600, // 0031 CALL R7 3 0x80040E00, // 0032 RET 1 R7 - 0x70020023, // 0033 JMP #0058 + 0x70020011, // 0033 JMP #0046 0x541E0010, // 0034 LDINT R7 17 0x1C1C0C07, // 0035 EQ R7 R6 R7 - 0x781E000F, // 0036 JMPF R7 #0047 + 0x781E000E, // 0036 JMPF R7 #0046 0x881C0106, // 0037 GETMBR R7 R0 K6 0x4C200000, // 0038 LDNIL R8 0x201C0E08, // 0039 NE R7 R7 R8 @@ -285,35 +283,15 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */ 0x4C280000, // 0043 LDNIL R10 0x7C1C0600, // 0044 CALL R7 3 0x80040E00, // 0045 RET 1 R7 - 0x70020010, // 0046 JMP #0058 - 0x541EFFFB, // 0047 LDINT R7 65532 - 0x1C1C0C07, // 0048 EQ R7 R6 R7 - 0x781E0005, // 0049 JMPF R7 #0050 - 0x8C1C0707, // 004A GETMET R7 R3 K7 - 0x8824090C, // 004B GETMBR R9 R4 K12 - 0x5828000D, // 004C LDCONST R10 K13 - 0x7C1C0600, // 004D CALL R7 3 + 0x601C0003, // 0046 GETGBL R7 G3 + 0x5C200000, // 0047 MOVE R8 R0 + 0x7C1C0200, // 0048 CALL R7 1 + 0x8C1C0F0C, // 0049 GETMET R7 R7 K12 + 0x5C240200, // 004A MOVE R9 R1 + 0x5C280400, // 004B MOVE R10 R2 + 0x5C2C0600, // 004C MOVE R11 R3 + 0x7C1C0800, // 004D CALL R7 4 0x80040E00, // 004E RET 1 R7 - 0x70020007, // 004F JMP #0058 - 0x541EFFFC, // 0050 LDINT R7 65533 - 0x1C1C0C07, // 0051 EQ R7 R6 R7 - 0x781E0004, // 0052 JMPF R7 #0058 - 0x8C1C0707, // 0053 GETMET R7 R3 K7 - 0x8824090C, // 0054 GETMBR R9 R4 K12 - 0x542A0004, // 0055 LDINT R10 5 - 0x7C1C0600, // 0056 CALL R7 3 - 0x80040E00, // 0057 RET 1 R7 - 0x70020008, // 0058 JMP #0062 - 0x601C0003, // 0059 GETGBL R7 G3 - 0x5C200000, // 005A MOVE R8 R0 - 0x7C1C0200, // 005B CALL R7 1 - 0x8C1C0F0E, // 005C GETMET R7 R7 K14 - 0x5C240200, // 005D MOVE R9 R1 - 0x5C280400, // 005E MOVE R10 R2 - 0x5C2C0600, // 005F MOVE R11 R3 - 0x7C1C0800, // 0060 CALL R7 4 - 0x80040E00, // 0061 RET 1 R7 - 0x80000000, // 0062 RET 0 }) ) ); @@ -558,28 +536,36 @@ be_local_class(Matter_Plugin_Bridge_Light1, be_const_map( * be_nested_map(7, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(29, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(8, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(7, + be_const_list( * be_nested_list(11, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(2), be_const_int(3), be_const_int(15), be_const_int(17), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -587,24 +573,38 @@ be_local_class(Matter_Plugin_Bridge_Light1, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -612,13 +612,21 @@ be_local_class(Matter_Plugin_Bridge_Light1, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Flow.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Flow.h index bc0401c1a..538581fca 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Flow.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Flow.h @@ -83,7 +83,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -95,20 +95,18 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_read_attribute, /* name */ /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_const_int(3), - /* K13 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[71]) { /* code */ + ( &(const binstruction[51]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0403, // 0004 LDINT R7 1028 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0035, // 0006 JMPF R7 #003D + 0x781E0022, // 0006 JMPF R7 #002A 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E0011, // 0008 JMPF R7 #001B 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -128,7 +126,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_read_attribute, /* name */ 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x70020020, // 001A JMP #003C + 0x7002000E, // 001A JMP #002A 0x1C1C0D09, // 001B EQ R7 R6 K9 0x781E0005, // 001C JMPF R7 #0023 0x8C1C0706, // 001D GETMET R7 R3 K6 @@ -136,43 +134,23 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Flow_read_attribute, /* name */ 0x58280004, // 001F LDCONST R10 K4 0x7C1C0600, // 0020 CALL R7 3 0x80040E00, // 0021 RET 1 R7 - 0x70020018, // 0022 JMP #003C + 0x70020006, // 0022 JMP #002A 0x1C1C0D0A, // 0023 EQ R7 R6 K10 - 0x781E0005, // 0024 JMPF R7 #002B + 0x781E0004, // 0024 JMPF R7 #002A 0x8C1C0706, // 0025 GETMET R7 R3 K6 0x88240907, // 0026 GETMBR R9 R4 K7 0x542AFFFD, // 0027 LDINT R10 65534 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x70020010, // 002A JMP #003C - 0x541EFFFB, // 002B LDINT R7 65532 - 0x1C1C0C07, // 002C EQ R7 R6 R7 - 0x781E0005, // 002D JMPF R7 #0034 - 0x8C1C0706, // 002E GETMET R7 R3 K6 - 0x8824090B, // 002F GETMBR R9 R4 K11 - 0x58280004, // 0030 LDCONST R10 K4 - 0x7C1C0600, // 0031 CALL R7 3 + 0x601C0003, // 002A GETGBL R7 G3 + 0x5C200000, // 002B MOVE R8 R0 + 0x7C1C0200, // 002C CALL R7 1 + 0x8C1C0F0B, // 002D GETMET R7 R7 K11 + 0x5C240200, // 002E MOVE R9 R1 + 0x5C280400, // 002F MOVE R10 R2 + 0x5C2C0600, // 0030 MOVE R11 R3 + 0x7C1C0800, // 0031 CALL R7 4 0x80040E00, // 0032 RET 1 R7 - 0x70020007, // 0033 JMP #003C - 0x541EFFFC, // 0034 LDINT R7 65533 - 0x1C1C0C07, // 0035 EQ R7 R6 R7 - 0x781E0004, // 0036 JMPF R7 #003C - 0x8C1C0706, // 0037 GETMET R7 R3 K6 - 0x8824090B, // 0038 GETMBR R9 R4 K11 - 0x5828000C, // 0039 LDCONST R10 K12 - 0x7C1C0600, // 003A CALL R7 3 - 0x80040E00, // 003B RET 1 R7 - 0x70020008, // 003C JMP #0046 - 0x601C0003, // 003D GETGBL R7 G3 - 0x5C200000, // 003E MOVE R8 R0 - 0x7C1C0200, // 003F CALL R7 1 - 0x8C1C0F0D, // 0040 GETMET R7 R7 K13 - 0x5C240200, // 0041 MOVE R9 R1 - 0x5C280400, // 0042 MOVE R10 R2 - 0x5C2C0600, // 0043 MOVE R11 R3 - 0x7C1C0800, // 0044 CALL R7 4 - 0x80040E00, // 0045 RET 1 R7 - 0x80000000, // 0046 RET 0 }) ) ); @@ -244,7 +222,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Flow, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -252,11 +230,15 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Flow, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -264,38 +246,60 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Flow, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(1028, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h index fc8e54655..32bfb71ad 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Humidity.h @@ -83,7 +83,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -95,20 +95,18 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_const_int(3), - /* K13 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[71]) { /* code */ + ( &(const binstruction[51]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0404, // 0004 LDINT R7 1029 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0035, // 0006 JMPF R7 #003D + 0x781E0022, // 0006 JMPF R7 #002A 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E0011, // 0008 JMPF R7 #001B 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -128,7 +126,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x70020020, // 001A JMP #003C + 0x7002000E, // 001A JMP #002A 0x1C1C0D09, // 001B EQ R7 R6 K9 0x781E0005, // 001C JMPF R7 #0023 0x8C1C0706, // 001D GETMET R7 R3 K6 @@ -136,43 +134,23 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name 0x542A01F3, // 001F LDINT R10 500 0x7C1C0600, // 0020 CALL R7 3 0x80040E00, // 0021 RET 1 R7 - 0x70020018, // 0022 JMP #003C + 0x70020006, // 0022 JMP #002A 0x1C1C0D0A, // 0023 EQ R7 R6 K10 - 0x781E0005, // 0024 JMPF R7 #002B + 0x781E0004, // 0024 JMPF R7 #002A 0x8C1C0706, // 0025 GETMET R7 R3 K6 0x88240907, // 0026 GETMBR R9 R4 K7 0x542A270F, // 0027 LDINT R10 10000 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x70020010, // 002A JMP #003C - 0x541EFFFB, // 002B LDINT R7 65532 - 0x1C1C0C07, // 002C EQ R7 R6 R7 - 0x781E0005, // 002D JMPF R7 #0034 - 0x8C1C0706, // 002E GETMET R7 R3 K6 - 0x8824090B, // 002F GETMBR R9 R4 K11 - 0x58280004, // 0030 LDCONST R10 K4 - 0x7C1C0600, // 0031 CALL R7 3 + 0x601C0003, // 002A GETGBL R7 G3 + 0x5C200000, // 002B MOVE R8 R0 + 0x7C1C0200, // 002C CALL R7 1 + 0x8C1C0F0B, // 002D GETMET R7 R7 K11 + 0x5C240200, // 002E MOVE R9 R1 + 0x5C280400, // 002F MOVE R10 R2 + 0x5C2C0600, // 0030 MOVE R11 R3 + 0x7C1C0800, // 0031 CALL R7 4 0x80040E00, // 0032 RET 1 R7 - 0x70020007, // 0033 JMP #003C - 0x541EFFFC, // 0034 LDINT R7 65533 - 0x1C1C0C07, // 0035 EQ R7 R6 R7 - 0x781E0004, // 0036 JMPF R7 #003C - 0x8C1C0706, // 0037 GETMET R7 R3 K6 - 0x8824090B, // 0038 GETMBR R9 R4 K11 - 0x5828000C, // 0039 LDCONST R10 K12 - 0x7C1C0600, // 003A CALL R7 3 - 0x80040E00, // 003B RET 1 R7 - 0x70020008, // 003C JMP #0046 - 0x601C0003, // 003D GETGBL R7 G3 - 0x5C200000, // 003E MOVE R8 R0 - 0x7C1C0200, // 003F CALL R7 1 - 0x8C1C0F0D, // 0040 GETMET R7 R7 K13 - 0x5C240200, // 0041 MOVE R9 R1 - 0x5C280400, // 0042 MOVE R10 R2 - 0x5C2C0600, // 0043 MOVE R11 R3 - 0x7C1C0800, // 0044 CALL R7 4 - 0x80040E00, // 0045 RET 1 R7 - 0x80000000, // 0046 RET 0 }) ) ); @@ -252,7 +230,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Humidity, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -260,19 +238,27 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Humidity, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -280,30 +266,48 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Humidity, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(1029, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h index 8bd28e910..563e3eb59 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Illuminance.h @@ -95,7 +95,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* na 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -107,20 +107,18 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* na /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_const_int(3), - /* K13 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[71]) { /* code */ + ( &(const binstruction[51]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E03FF, // 0004 LDINT R7 1024 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0035, // 0006 JMPF R7 #003D + 0x781E0022, // 0006 JMPF R7 #002A 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E0011, // 0008 JMPF R7 #001B 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -140,7 +138,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* na 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x70020020, // 001A JMP #003C + 0x7002000E, // 001A JMP #002A 0x1C1C0D09, // 001B EQ R7 R6 K9 0x781E0005, // 001C JMPF R7 #0023 0x8C1C0706, // 001D GETMET R7 R3 K6 @@ -148,43 +146,23 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* na 0x58280009, // 001F LDCONST R10 K9 0x7C1C0600, // 0020 CALL R7 3 0x80040E00, // 0021 RET 1 R7 - 0x70020018, // 0022 JMP #003C + 0x70020006, // 0022 JMP #002A 0x1C1C0D0A, // 0023 EQ R7 R6 K10 - 0x781E0005, // 0024 JMPF R7 #002B + 0x781E0004, // 0024 JMPF R7 #002A 0x8C1C0706, // 0025 GETMET R7 R3 K6 0x88240907, // 0026 GETMBR R9 R4 K7 0x542AFFFD, // 0027 LDINT R10 65534 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x70020010, // 002A JMP #003C - 0x541EFFFB, // 002B LDINT R7 65532 - 0x1C1C0C07, // 002C EQ R7 R6 R7 - 0x781E0005, // 002D JMPF R7 #0034 - 0x8C1C0706, // 002E GETMET R7 R3 K6 - 0x8824090B, // 002F GETMBR R9 R4 K11 - 0x58280004, // 0030 LDCONST R10 K4 - 0x7C1C0600, // 0031 CALL R7 3 + 0x601C0003, // 002A GETGBL R7 G3 + 0x5C200000, // 002B MOVE R8 R0 + 0x7C1C0200, // 002C CALL R7 1 + 0x8C1C0F0B, // 002D GETMET R7 R7 K11 + 0x5C240200, // 002E MOVE R9 R1 + 0x5C280400, // 002F MOVE R10 R2 + 0x5C2C0600, // 0030 MOVE R11 R3 + 0x7C1C0800, // 0031 CALL R7 4 0x80040E00, // 0032 RET 1 R7 - 0x70020007, // 0033 JMP #003C - 0x541EFFFC, // 0034 LDINT R7 65533 - 0x1C1C0C07, // 0035 EQ R7 R6 R7 - 0x781E0004, // 0036 JMPF R7 #003C - 0x8C1C0706, // 0037 GETMET R7 R3 K6 - 0x8824090B, // 0038 GETMBR R9 R4 K11 - 0x5828000C, // 0039 LDCONST R10 K12 - 0x7C1C0600, // 003A CALL R7 3 - 0x80040E00, // 003B RET 1 R7 - 0x70020008, // 003C JMP #0046 - 0x601C0003, // 003D GETGBL R7 G3 - 0x5C200000, // 003E MOVE R8 R0 - 0x7C1C0200, // 003F CALL R7 1 - 0x8C1C0F0D, // 0040 GETMET R7 R7 K13 - 0x5C240200, // 0041 MOVE R9 R1 - 0x5C280400, // 0042 MOVE R10 R2 - 0x5C2C0600, // 0043 MOVE R11 R3 - 0x7C1C0800, // 0044 CALL R7 4 - 0x80040E00, // 0045 RET 1 R7 - 0x80000000, // 0046 RET 0 }) ) ); @@ -256,7 +234,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Illuminance, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -264,18 +242,26 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Illuminance, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -283,31 +269,49 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Illuminance, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(1024, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h index 4edf27096..6632731e9 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Pressure.h @@ -82,7 +82,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[14]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -94,20 +94,18 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_const_int(3), - /* K13 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[71]) { /* code */ + ( &(const binstruction[51]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0402, // 0004 LDINT R7 1027 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0035, // 0006 JMPF R7 #003D + 0x781E0022, // 0006 JMPF R7 #002A 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E0011, // 0008 JMPF R7 #001B 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -127,7 +125,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x70020020, // 001A JMP #003C + 0x7002000E, // 001A JMP #002A 0x1C1C0D09, // 001B EQ R7 R6 K9 0x781E0005, // 001C JMPF R7 #0023 0x8C1C0706, // 001D GETMET R7 R3 K6 @@ -135,43 +133,23 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name 0x542A01F3, // 001F LDINT R10 500 0x7C1C0600, // 0020 CALL R7 3 0x80040E00, // 0021 RET 1 R7 - 0x70020018, // 0022 JMP #003C + 0x70020006, // 0022 JMP #002A 0x1C1C0D0A, // 0023 EQ R7 R6 K10 - 0x781E0005, // 0024 JMPF R7 #002B + 0x781E0004, // 0024 JMPF R7 #002A 0x8C1C0706, // 0025 GETMET R7 R3 K6 0x88240907, // 0026 GETMBR R9 R4 K7 0x542A05DB, // 0027 LDINT R10 1500 0x7C1C0600, // 0028 CALL R7 3 0x80040E00, // 0029 RET 1 R7 - 0x70020010, // 002A JMP #003C - 0x541EFFFB, // 002B LDINT R7 65532 - 0x1C1C0C07, // 002C EQ R7 R6 R7 - 0x781E0005, // 002D JMPF R7 #0034 - 0x8C1C0706, // 002E GETMET R7 R3 K6 - 0x8824090B, // 002F GETMBR R9 R4 K11 - 0x58280004, // 0030 LDCONST R10 K4 - 0x7C1C0600, // 0031 CALL R7 3 + 0x601C0003, // 002A GETGBL R7 G3 + 0x5C200000, // 002B MOVE R8 R0 + 0x7C1C0200, // 002C CALL R7 1 + 0x8C1C0F0B, // 002D GETMET R7 R7 K11 + 0x5C240200, // 002E MOVE R9 R1 + 0x5C280400, // 002F MOVE R10 R2 + 0x5C2C0600, // 0030 MOVE R11 R3 + 0x7C1C0800, // 0031 CALL R7 4 0x80040E00, // 0032 RET 1 R7 - 0x70020007, // 0033 JMP #003C - 0x541EFFFC, // 0034 LDINT R7 65533 - 0x1C1C0C07, // 0035 EQ R7 R6 R7 - 0x781E0004, // 0036 JMPF R7 #003C - 0x8C1C0706, // 0037 GETMET R7 R3 K6 - 0x8824090B, // 0038 GETMBR R9 R4 K11 - 0x5828000C, // 0039 LDCONST R10 K12 - 0x7C1C0600, // 003A CALL R7 3 - 0x80040E00, // 003B RET 1 R7 - 0x70020008, // 003C JMP #0046 - 0x601C0003, // 003D GETGBL R7 G3 - 0x5C200000, // 003E MOVE R8 R0 - 0x7C1C0200, // 003F CALL R7 1 - 0x8C1C0F0D, // 0040 GETMET R7 R7 K13 - 0x5C240200, // 0041 MOVE R9 R1 - 0x5C280400, // 0042 MOVE R10 R2 - 0x5C2C0600, // 0043 MOVE R11 R3 - 0x7C1C0800, // 0044 CALL R7 4 - 0x80040E00, // 0045 RET 1 R7 - 0x80000000, // 0046 RET 0 }) ) ); @@ -243,7 +221,7 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Pressure, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -251,20 +229,28 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Pressure, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(1027, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -272,29 +258,47 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Pressure, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h index cd3d6572a..d257139a0 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_4_Bridge_Sensor_Temp.h @@ -95,7 +95,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */ 0, /* has sup protos */ NULL, /* no sub protos */ 1, /* has constants */ - ( &(const bvalue[13]) { /* constants */ + ( &(const bvalue[12]) { /* constants */ /* K0 */ be_nested_str_weak(matter), /* K1 */ be_nested_str_weak(TLV), /* K2 */ be_nested_str_weak(cluster), @@ -107,19 +107,18 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */ /* K8 */ be_nested_str_weak(NULL), /* K9 */ be_const_int(1), /* K10 */ be_const_int(2), - /* K11 */ be_nested_str_weak(U4), - /* K12 */ be_nested_str_weak(read_attribute), + /* K11 */ be_nested_str_weak(read_attribute), }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[69]) { /* code */ + ( &(const binstruction[49]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E0401, // 0004 LDINT R7 1026 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0033, // 0006 JMPF R7 #003B + 0x781E0020, // 0006 JMPF R7 #0028 0x1C1C0D04, // 0007 EQ R7 R6 K4 0x781E000F, // 0008 JMPF R7 #0019 0x881C0105, // 0009 GETMBR R7 R0 K5 @@ -137,7 +136,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */ 0x4C280000, // 0015 LDNIL R10 0x7C1C0600, // 0016 CALL R7 3 0x80040E00, // 0017 RET 1 R7 - 0x70020020, // 0018 JMP #003A + 0x7002000E, // 0018 JMP #0028 0x1C1C0D09, // 0019 EQ R7 R6 K9 0x781E0005, // 001A JMPF R7 #0021 0x8C1C0706, // 001B GETMET R7 R3 K6 @@ -145,43 +144,23 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */ 0x5429EC77, // 001D LDINT R10 -5000 0x7C1C0600, // 001E CALL R7 3 0x80040E00, // 001F RET 1 R7 - 0x70020018, // 0020 JMP #003A + 0x70020006, // 0020 JMP #0028 0x1C1C0D0A, // 0021 EQ R7 R6 K10 - 0x781E0005, // 0022 JMPF R7 #0029 + 0x781E0004, // 0022 JMPF R7 #0028 0x8C1C0706, // 0023 GETMET R7 R3 K6 0x88240907, // 0024 GETMBR R9 R4 K7 0x542A3A97, // 0025 LDINT R10 15000 0x7C1C0600, // 0026 CALL R7 3 0x80040E00, // 0027 RET 1 R7 - 0x70020010, // 0028 JMP #003A - 0x541EFFFB, // 0029 LDINT R7 65532 - 0x1C1C0C07, // 002A EQ R7 R6 R7 - 0x781E0005, // 002B JMPF R7 #0032 - 0x8C1C0706, // 002C GETMET R7 R3 K6 - 0x8824090B, // 002D GETMBR R9 R4 K11 - 0x58280004, // 002E LDCONST R10 K4 - 0x7C1C0600, // 002F CALL R7 3 + 0x601C0003, // 0028 GETGBL R7 G3 + 0x5C200000, // 0029 MOVE R8 R0 + 0x7C1C0200, // 002A CALL R7 1 + 0x8C1C0F0B, // 002B GETMET R7 R7 K11 + 0x5C240200, // 002C MOVE R9 R1 + 0x5C280400, // 002D MOVE R10 R2 + 0x5C2C0600, // 002E MOVE R11 R3 + 0x7C1C0800, // 002F CALL R7 4 0x80040E00, // 0030 RET 1 R7 - 0x70020007, // 0031 JMP #003A - 0x541EFFFC, // 0032 LDINT R7 65533 - 0x1C1C0C07, // 0033 EQ R7 R6 R7 - 0x781E0004, // 0034 JMPF R7 #003A - 0x8C1C0706, // 0035 GETMET R7 R3 K6 - 0x8824090B, // 0036 GETMBR R9 R4 K11 - 0x542A0003, // 0037 LDINT R10 4 - 0x7C1C0600, // 0038 CALL R7 3 - 0x80040E00, // 0039 RET 1 R7 - 0x70020008, // 003A JMP #0044 - 0x601C0003, // 003B GETGBL R7 G3 - 0x5C200000, // 003C MOVE R8 R0 - 0x7C1C0200, // 003D CALL R7 1 - 0x8C1C0F0C, // 003E GETMET R7 R7 K12 - 0x5C240200, // 003F MOVE R9 R1 - 0x5C280400, // 0040 MOVE R10 R2 - 0x5C2C0600, // 0041 MOVE R11 R3 - 0x7C1C0800, // 0042 CALL R7 4 - 0x80040E00, // 0043 RET 1 R7 - 0x80000000, // 0044 RET 0 }) ) ); @@ -261,16 +240,20 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Temp, be_const_map( * be_nested_map(6, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(1026, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(5, + be_const_list( * be_nested_list(9, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -278,11 +261,15 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Temp, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -290,29 +277,47 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Temp, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(3, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(29, 1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h index c832d9323..4e7688159 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light2.h @@ -381,14 +381,14 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */ }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[101]) { /* code */ + ( &(const binstruction[81]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E02FF, // 0004 LDINT R7 768 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E0053, // 0006 JMPF R7 #005B + 0x781E0040, // 0006 JMPF R7 #0048 0x8C1C0104, // 0007 GETMET R7 R0 K4 0x7C1C0200, // 0008 CALL R7 1 0x541E0006, // 0009 LDINT R7 7 @@ -409,7 +409,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */ 0x4C280000, // 0018 LDNIL R10 0x7C1C0600, // 0019 CALL R7 3 0x80040E00, // 001A RET 1 R7 - 0x7002003D, // 001B JMP #005A + 0x7002002B, // 001B JMP #0048 0x541E0007, // 001C LDINT R7 8 0x1C1C0C07, // 001D EQ R7 R6 R7 0x781E0005, // 001E JMPF R7 #0025 @@ -418,7 +418,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */ 0x58280009, // 0021 LDCONST R10 K9 0x7C1C0600, // 0022 CALL R7 3 0x80040E00, // 0023 RET 1 R7 - 0x70020034, // 0024 JMP #005A + 0x70020022, // 0024 JMP #0048 0x541E000E, // 0025 LDINT R7 15 0x1C1C0C07, // 0026 EQ R7 R6 R7 0x781E0005, // 0027 JMPF R7 #002E @@ -427,7 +427,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */ 0x5828000A, // 002A LDCONST R10 K10 0x7C1C0600, // 002B CALL R7 3 0x80040E00, // 002C RET 1 R7 - 0x7002002B, // 002D JMP #005A + 0x70020019, // 002D JMP #0048 0x541E400A, // 002E LDINT R7 16395 0x1C1C0C07, // 002F EQ R7 R6 R7 0x781E0005, // 0030 JMPF R7 #0037 @@ -436,7 +436,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */ 0x8828010B, // 0033 GETMBR R10 R0 K11 0x7C1C0600, // 0034 CALL R7 3 0x80040E00, // 0035 RET 1 R7 - 0x70020022, // 0036 JMP #005A + 0x70020010, // 0036 JMP #0048 0x541E400B, // 0037 LDINT R7 16396 0x1C1C0C07, // 0038 EQ R7 R6 R7 0x781E0005, // 0039 JMPF R7 #0040 @@ -445,44 +445,24 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */ 0x8828010C, // 003C GETMBR R10 R0 K12 0x7C1C0600, // 003D CALL R7 3 0x80040E00, // 003E RET 1 R7 - 0x70020019, // 003F JMP #005A + 0x70020007, // 003F JMP #0048 0x541E4009, // 0040 LDINT R7 16394 0x1C1C0C07, // 0041 EQ R7 R6 R7 - 0x781E0005, // 0042 JMPF R7 #0049 + 0x781E0004, // 0042 JMPF R7 #0048 0x8C1C0706, // 0043 GETMET R7 R3 K6 0x8824090D, // 0044 GETMBR R9 R4 K13 0x542A000F, // 0045 LDINT R10 16 0x7C1C0600, // 0046 CALL R7 3 0x80040E00, // 0047 RET 1 R7 - 0x70020010, // 0048 JMP #005A - 0x541EFFFB, // 0049 LDINT R7 65532 - 0x1C1C0C07, // 004A EQ R7 R6 R7 - 0x781E0005, // 004B JMPF R7 #0052 - 0x8C1C0706, // 004C GETMET R7 R3 K6 - 0x8824090D, // 004D GETMBR R9 R4 K13 - 0x542A000F, // 004E LDINT R10 16 - 0x7C1C0600, // 004F CALL R7 3 + 0x601C0003, // 0048 GETGBL R7 G3 + 0x5C200000, // 0049 MOVE R8 R0 + 0x7C1C0200, // 004A CALL R7 1 + 0x8C1C0F0E, // 004B GETMET R7 R7 K14 + 0x5C240200, // 004C MOVE R9 R1 + 0x5C280400, // 004D MOVE R10 R2 + 0x5C2C0600, // 004E MOVE R11 R3 + 0x7C1C0800, // 004F CALL R7 4 0x80040E00, // 0050 RET 1 R7 - 0x70020007, // 0051 JMP #005A - 0x541EFFFC, // 0052 LDINT R7 65533 - 0x1C1C0C07, // 0053 EQ R7 R6 R7 - 0x781E0004, // 0054 JMPF R7 #005A - 0x8C1C0706, // 0055 GETMET R7 R3 K6 - 0x8824090D, // 0056 GETMBR R9 R4 K13 - 0x542A0004, // 0057 LDINT R10 5 - 0x7C1C0600, // 0058 CALL R7 3 - 0x80040E00, // 0059 RET 1 R7 - 0x70020008, // 005A JMP #0064 - 0x601C0003, // 005B GETGBL R7 G3 - 0x5C200000, // 005C MOVE R8 R0 - 0x7C1C0200, // 005D CALL R7 1 - 0x8C1C0F0E, // 005E GETMET R7 R7 K14 - 0x5C240200, // 005F MOVE R9 R1 - 0x5C280400, // 0060 MOVE R10 R2 - 0x5C2C0600, // 0061 MOVE R11 R3 - 0x7C1C0800, // 0062 CALL R7 4 - 0x80040E00, // 0063 RET 1 R7 - 0x80000000, // 0064 RET 0 }) ) ); @@ -549,18 +529,22 @@ be_local_class(Matter_Plugin_Bridge_Light2, be_const_map( * be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(8, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(7, + be_const_list( * be_nested_list(11, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(2), be_const_int(3), be_const_int(15), be_const_int(17), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -568,34 +552,52 @@ be_local_class(Matter_Plugin_Bridge_Light2, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(29, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -603,18 +605,26 @@ be_local_class(Matter_Plugin_Bridge_Light2, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(768, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(7), be_const_int(8), @@ -622,6 +632,10 @@ be_local_class(Matter_Plugin_Bridge_Light2, be_const_int(16394), be_const_int(16395), be_const_int(16396), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, diff --git a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h index 30d57117a..bed876797 100644 --- a/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h +++ b/lib/libesp32/berry_matter/src/solidify/solidified_Matter_Plugin_5_Bridge_Light3.h @@ -326,14 +326,14 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ }), be_str_weak(read_attribute), &be_const_str_solidified, - ( &(const binstruction[127]) { /* code */ + ( &(const binstruction[107]) { /* code */ 0xB8120000, // 0000 GETNGBL R4 K0 0x88100901, // 0001 GETMBR R4 R4 K1 0x88140502, // 0002 GETMBR R5 R2 K2 0x88180503, // 0003 GETMBR R6 R2 K3 0x541E02FF, // 0004 LDINT R7 768 0x1C1C0A07, // 0005 EQ R7 R5 R7 - 0x781E006D, // 0006 JMPF R7 #0075 + 0x781E005A, // 0006 JMPF R7 #0062 0x8C1C0104, // 0007 GETMET R7 R0 K4 0x7C1C0200, // 0008 CALL R7 1 0x1C1C0D05, // 0009 EQ R7 R6 K5 @@ -353,7 +353,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ 0x4C280000, // 0017 LDNIL R10 0x7C1C0600, // 0018 CALL R7 3 0x80040E00, // 0019 RET 1 R7 - 0x70020058, // 001A JMP #0074 + 0x70020046, // 001A JMP #0062 0x1C1C0D0A, // 001B EQ R7 R6 K10 0x781E000F, // 001C JMPF R7 #002D 0x881C010B, // 001D GETMBR R7 R0 K11 @@ -371,7 +371,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ 0x4C280000, // 0029 LDNIL R10 0x7C1C0600, // 002A CALL R7 3 0x80040E00, // 002B RET 1 R7 - 0x70020046, // 002C JMP #0074 + 0x70020034, // 002C JMP #0062 0x541E0006, // 002D LDINT R7 7 0x1C1C0C07, // 002E EQ R7 R6 R7 0x781E0005, // 002F JMPF R7 #0036 @@ -380,7 +380,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ 0x58280005, // 0032 LDCONST R10 K5 0x7C1C0600, // 0033 CALL R7 3 0x80040E00, // 0034 RET 1 R7 - 0x7002003D, // 0035 JMP #0074 + 0x7002002B, // 0035 JMP #0062 0x541E0007, // 0036 LDINT R7 8 0x1C1C0C07, // 0037 EQ R7 R6 R7 0x781E0005, // 0038 JMPF R7 #003F @@ -389,7 +389,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ 0x58280005, // 003B LDCONST R10 K5 0x7C1C0600, // 003C CALL R7 3 0x80040E00, // 003D RET 1 R7 - 0x70020034, // 003E JMP #0074 + 0x70020022, // 003E JMP #0062 0x541E000E, // 003F LDINT R7 15 0x1C1C0C07, // 0040 EQ R7 R6 R7 0x781E0005, // 0041 JMPF R7 #0048 @@ -398,7 +398,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ 0x58280005, // 0044 LDCONST R10 K5 0x7C1C0600, // 0045 CALL R7 3 0x80040E00, // 0046 RET 1 R7 - 0x7002002B, // 0047 JMP #0074 + 0x70020019, // 0047 JMP #0062 0x541E4000, // 0048 LDINT R7 16385 0x1C1C0C07, // 0049 EQ R7 R6 R7 0x781E0005, // 004A JMPF R7 #0051 @@ -407,7 +407,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ 0x58280005, // 004D LDCONST R10 K5 0x7C1C0600, // 004E CALL R7 3 0x80040E00, // 004F RET 1 R7 - 0x70020022, // 0050 JMP #0074 + 0x70020010, // 0050 JMP #0062 0x541E4009, // 0051 LDINT R7 16394 0x1C1C0C07, // 0052 EQ R7 R6 R7 0x781E0005, // 0053 JMPF R7 #005A @@ -416,44 +416,24 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */ 0x5828000A, // 0056 LDCONST R10 K10 0x7C1C0600, // 0057 CALL R7 3 0x80040E00, // 0058 RET 1 R7 - 0x70020019, // 0059 JMP #0074 + 0x70020007, // 0059 JMP #0062 0x541E000F, // 005A LDINT R7 16 0x1C1C0C07, // 005B EQ R7 R6 R7 - 0x781E0005, // 005C JMPF R7 #0063 + 0x781E0004, // 005C JMPF R7 #0062 0x8C1C0707, // 005D GETMET R7 R3 K7 0x88240908, // 005E GETMBR R9 R4 K8 0x58280005, // 005F LDCONST R10 K5 0x7C1C0600, // 0060 CALL R7 3 0x80040E00, // 0061 RET 1 R7 - 0x70020010, // 0062 JMP #0074 - 0x541EFFFB, // 0063 LDINT R7 65532 - 0x1C1C0C07, // 0064 EQ R7 R6 R7 - 0x781E0005, // 0065 JMPF R7 #006C - 0x8C1C0707, // 0066 GETMET R7 R3 K7 - 0x8824090C, // 0067 GETMBR R9 R4 K12 - 0x5828000A, // 0068 LDCONST R10 K10 - 0x7C1C0600, // 0069 CALL R7 3 + 0x601C0003, // 0062 GETGBL R7 G3 + 0x5C200000, // 0063 MOVE R8 R0 + 0x7C1C0200, // 0064 CALL R7 1 + 0x8C1C0F0D, // 0065 GETMET R7 R7 K13 + 0x5C240200, // 0066 MOVE R9 R1 + 0x5C280400, // 0067 MOVE R10 R2 + 0x5C2C0600, // 0068 MOVE R11 R3 + 0x7C1C0800, // 0069 CALL R7 4 0x80040E00, // 006A RET 1 R7 - 0x70020007, // 006B JMP #0074 - 0x541EFFFC, // 006C LDINT R7 65533 - 0x1C1C0C07, // 006D EQ R7 R6 R7 - 0x781E0004, // 006E JMPF R7 #0074 - 0x8C1C0707, // 006F GETMET R7 R3 K7 - 0x8824090C, // 0070 GETMBR R9 R4 K12 - 0x542A0004, // 0071 LDINT R10 5 - 0x7C1C0600, // 0072 CALL R7 3 - 0x80040E00, // 0073 RET 1 R7 - 0x70020008, // 0074 JMP #007E - 0x601C0003, // 0075 GETGBL R7 G3 - 0x5C200000, // 0076 MOVE R8 R0 - 0x7C1C0200, // 0077 CALL R7 1 - 0x8C1C0F0D, // 0078 GETMET R7 R7 K13 - 0x5C240200, // 0079 MOVE R9 R1 - 0x5C280400, // 007A MOVE R10 R2 - 0x5C2C0600, // 007B MOVE R11 R3 - 0x7C1C0800, // 007C CALL R7 4 - 0x80040E00, // 007D RET 1 R7 - 0x80000000, // 007E RET 0 }) ) ); @@ -725,18 +705,22 @@ be_local_class(Matter_Plugin_Bridge_Light3, be_const_map( * be_nested_map(8, ( (struct bmapnode*) &(const bmapnode[]) { { be_const_key_int(8, 7), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(7, + be_const_list( * be_nested_list(11, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(2), be_const_int(3), be_const_int(15), be_const_int(17), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(57, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(3), be_const_int(5), @@ -744,34 +728,52 @@ be_local_class(Matter_Plugin_Bridge_Light3, be_const_int(15), be_const_int(17), be_const_int(18), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), + be_const_int(65532), + be_const_int(65533), })) ) } )) }, { be_const_key_int(29, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(6, + be_const_list( * be_nested_list(10, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), be_const_int(2), be_const_int(3), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(3, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(4, + be_const_list( * be_nested_list(8, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(4, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(5, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(8, + be_const_list( * be_nested_list(12, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -779,18 +781,26 @@ be_local_class(Matter_Plugin_Bridge_Light3, be_const_int(3), be_const_int(4), be_const_int(5), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(3, + be_const_list( * be_nested_list(7, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) }, { be_const_key_int(768, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, { - be_const_list( * be_nested_list(9, + be_const_list( * be_nested_list(13, ( (struct bvalue*) &(const bvalue[]) { be_const_int(0), be_const_int(1), @@ -799,6 +809,10 @@ be_local_class(Matter_Plugin_Bridge_Light3, be_const_int(15), be_const_int(16385), be_const_int(16394), + be_const_int(65528), + be_const_int(65529), + be_const_int(65530), + be_const_int(65531), be_const_int(65532), be_const_int(65533), })) ) } )) },